Initial commit - Typo3 11.5.41
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" target-language="de" datatype="plaintext" original="messages" date="2021-11-04T17:54:12Z" product-name="paginatedprocessors">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="gdpr-text">
|
||||
<target state="translated">Wenn Sie das Video abspielen, sendet YouTube Ihnen einige Cookies!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-consent">
|
||||
<target>Accept & Play</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-consentall">
|
||||
<target>Accept for All Videos & Play</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-cancel">
|
||||
<target>Cancel</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" target-language="et" datatype="plaintext" original="messages" date="2021-11-04T17:54:12Z" product-name="paginatedprocessors">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="gdpr-text">
|
||||
<target state="translated">Video käivitamisel laetakse väline meedia ja YouTube teile küpsiseid!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-consent">
|
||||
<target>Nõustu ja vaata</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-consentall">
|
||||
<target>Nõustu ka edaspidi ja vaata</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-cancel">
|
||||
<target>Loobu</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2020-02-23T18:12:17Z"
|
||||
product-name="content_slug">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="gdpr-text">
|
||||
<source>On 'Play' external media is loaded and YouTube sends you some cookies!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-consent">
|
||||
<source>Accept & Play</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-consentall">
|
||||
<source>Accept for All Videos & Play</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="gdpr-cancel">
|
||||
<source>Cancel</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2020-02-23T18:12:17Z"
|
||||
product-name="content_slug">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="tt_content.tx_content_slug_fragment">
|
||||
<source>Human-readable URL #anchor</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo.title">
|
||||
<source>YouTube Video</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo.settings">
|
||||
<source>Settings</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo.layout">
|
||||
<source>Layout</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo.cover">
|
||||
<source>Video Cover</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_caption.title">
|
||||
<source>Description (Caption)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_caption.description">
|
||||
<source>Usually the description of the video content in few words.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_ratio.title">
|
||||
<source>Aspect Ratio</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_ratio.description">
|
||||
<source>Changes video width and height ratio.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_autoplay.title">
|
||||
<source>Autoplay</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_autoplay.description">
|
||||
<source>Starts video playback automatically on page load.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_showinfo.title">
|
||||
<source>Video Info</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_showinfo.description">
|
||||
<source>Shows information (title, etc.) from YouTube.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_rel.title">
|
||||
<source>Related Videos</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_rel.description">
|
||||
<source>Shows related videos from YouTube at the end of the video.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_starttime.title">
|
||||
<source>Start Time (hh:mm:ss)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_starttime.description">
|
||||
<source>Starts video at this minute.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_endtime.title">
|
||||
<source>End Time (hh:mm:ss)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_endtime.description">
|
||||
<source>Starts video at this minute.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_fullscreen.title">
|
||||
<source>Fullscreen</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_fullscreen.description">
|
||||
<source>Disables and enables fullscreen option.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_mute.title">
|
||||
<source>Mute</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_mute.description">
|
||||
<source>Video starts playing with the sound turned off.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_loop.title">
|
||||
<source>Loop</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_loop.description">
|
||||
<source>Sets looping on and off.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo.enable">
|
||||
<source>Enable</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo.disable">
|
||||
<source>Disable</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_covertitle.title">
|
||||
<source>Cover Title</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_covertitle.description">
|
||||
<source>Title shown over cover image.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_covertext.title">
|
||||
<source>Cover Text</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_covertext.description">
|
||||
<source>Text shown over cover image under the title.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_youtubevideo_cover.image">
|
||||
<source>Custom Cover</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,17 @@
|
||||
<div class="youtubevideo {f:if(condition: data.tx_youtubevideo_colcount, then: 'item')}" style="{f:if(condition: data.tx_youtubevideo_colcount, then: 'width: {itemWidth}%')}">
|
||||
<div class="videoWrapper v{data.uid}" style="padding-bottom:<f:if condition="{item.settings.ratio} == 0">{ratioDefault}%</f:if><f:if condition="{item.settings.ratio} == 1">{ratio1}%</f:if>;">
|
||||
<iframe
|
||||
src="https://www.youtube.com/embed/
|
||||
{item.video.contents}
|
||||
{f:if(condition: item.settings.fullscreen, then: '?fs=1', else:'?fs=0')}
|
||||
{f:if(condition: item.settings.loop, then: '&loop=1')}
|
||||
{f:if(condition: item.settings.loop, then: '&playlist={item.video.contents}')}
|
||||
{f:if(condition: item.settings.start, then: '&start={item.settings.start}')}
|
||||
{f:if(condition: item.settings.end, then: '&end={item.settings.end}')}
|
||||
{f:if(condition: item.settings.rel, then: '&rel=1', else: '&rel=0')}
|
||||
{f:if(condition: item.settings.mute, then: '&mute=1', else: '&mute=0')}
|
||||
{f:if(condition: hl, then: '&hl={hl}')}
|
||||
{f:if(condition: modestbranding, then: '&modestbranding={modestbranding}')}">
|
||||
</iframe>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,78 @@
|
||||
<div class="youtubevideo {f:if(condition: data.tx_youtubevideo_colcount, then: 'item')}" style="{f:if(condition: data.tx_youtubevideo_colcount, then: 'width: {itemWidth}%')}">
|
||||
<div class="videoWrapper v{data.uid} <f:if condition="{item.coverimages.0}">coverimaged autoplay{item.video.autoplay}</f:if>"
|
||||
style="padding-bottom:<f:if condition="{item.settings.ratio} == 0">{ratioDefault}%</f:if><f:if condition="{item.settings.ratio} == 1">{ratio1}%</f:if>;
|
||||
">
|
||||
<div id="player-{item.video.uid}"></div>
|
||||
<a
|
||||
id="coverimage-{item.video.uid}"
|
||||
class="coverimage-click"
|
||||
data-yt-code="{item.video.contents}"
|
||||
data-yt-host="{f:if(condition: nocookiehost, then: 'https://www.youtube-nocookie.com', else: 'https://www.youtube.com')}"
|
||||
data-yt-id="player-{item.video.uid}"
|
||||
data-yt-uid="{item.video.uid}"
|
||||
data-yt-vars="
|
||||
"playsinline": 1,
|
||||
{f:if(condition: item.settings.fullscreen, then: '"fs": 1,', else:'"fs": 0,')}
|
||||
{f:if(condition: item.settings.loop, then: '"loop": 1,')}
|
||||
{f:if(condition: item.settings.loop, then: '"playlist": "{item.video.contents}",')}
|
||||
{f:if(condition: item.settings.start, then: '"start": {item.settings.start},')}
|
||||
{f:if(condition: item.settings.end, then: '"end": {item.settings.end},')}
|
||||
{f:if(condition: item.settings.rel, then: '"rel": 1,', else: '"rel": 0,')}
|
||||
{f:if(condition: item.settings.mute, then: '"mute": 1,', else: '"mute": 0,')}
|
||||
{f:if(condition: hl, then: '"hl": "{hl}",')}
|
||||
{f:if(condition: modestbranding, then: '"modestbranding": {modestbranding},')}
|
||||
"
|
||||
onclick="coverimageClick();
|
||||
"></a>
|
||||
<div
|
||||
class="coverimage"
|
||||
style="background:url(
|
||||
<f:if condition="{item.coverimages.0}">
|
||||
<f:then>
|
||||
<f:uri.image
|
||||
src="{item.coverimages.0.uid}"
|
||||
treatIdAsReference="1"
|
||||
width="{coverImageWidth_x2}"
|
||||
cropVariant="{f:if(condition: item.settings.ratio, then: 'tv', else: 'widescreen')}"
|
||||
/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:uri.image src="{item.original.preview}" width="{coverImageWidth_x2}" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
) center center no-repeat; background-size: cover;">
|
||||
<f:if condition="{item.video.title} && !{data.tx_youtubevideo_titles} || {item.video.description} && {data.tx_youtubevideo_descriptions}">
|
||||
<div class="covertext">
|
||||
<f:if condition="{item.video.title} && !{data.tx_youtubevideo_titles} "><h2>{item.video.title}</h2><br /></f:if>
|
||||
<f:if condition="{item.video.description} && {data.tx_youtubevideo_descriptions}"><p>{item.video.description}</p></f:if>
|
||||
</div>
|
||||
</f:if>
|
||||
<f:render section="playbutton" />
|
||||
</div>
|
||||
</div>
|
||||
<f:render section="GdprOverlay" arguments="{_all}" />
|
||||
</div>
|
||||
|
||||
<f:section name="playbutton">
|
||||
<svg class="playbutton" height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="rgba(0,0,0,0.75)"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>
|
||||
</f:section>
|
||||
|
||||
<f:section name="GdprOverlay">
|
||||
<div class="youtubevideo-gdpr-overlay " id="gdpr-{item.video.uid}">
|
||||
<div class="youtubevideo-gdpr-text">
|
||||
<div class="youtubevideo-gdpr-note">
|
||||
<f:if condition="{gdprtextoverride}">
|
||||
<f:then>
|
||||
{gdprtextoverride}
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:translate key="gdpr-text" extensionName="youtubevideo" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<a class="youtubevideo-gdpr-button" data-yt-uid="{item.video.uid}" href="javascript:void(0)" onclick="gdprAgreeOnce();"><f:translate key="gdpr-consent" extensionName="youtubevideo" /></a>
|
||||
<a class="youtubevideo-gdpr-button" data-yt-uid="{item.video.uid}" href="javascript:void(0)" onclick="gdprAgree();"><f:translate key="gdpr-consentall" extensionName="youtubevideo" /></a><br />
|
||||
</div>
|
||||
<a class="youtubevideo-gdpr-cancel" data-yt-uid="{item.video.uid}" href="javascript:void(0)" onclick="gdprCancel();">×</a>
|
||||
</div>
|
||||
</f:section>
|
||||
@@ -0,0 +1,48 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:section name="HeaderAssets">
|
||||
<link rel="preconnect" href="https://www.youtube-nocookie.com">
|
||||
<link rel="preconnect" href="https://www.youtube.com">
|
||||
<link rel="preconnect" href="https://i.ytimg.com">
|
||||
<link rel="preconnect" href="https://i9.ytimg.com">
|
||||
<link rel="preconnect" href="https://s.ytimg.com">
|
||||
</f:section>
|
||||
<f:layout name="Default" />
|
||||
<f:section name="Main">
|
||||
<f:if condition="{youtubevideos -> f:count()} < {data.tx_youtubevideo_colcount}">
|
||||
<f:then><f:variable name="colCount">{youtubevideos -> f:count()}</f:variable></f:then>
|
||||
<f:else><f:variable name="colCount">{data.tx_youtubevideo_colcount}</f:variable></f:else>
|
||||
</f:if>
|
||||
|
||||
<f:variable name="spaceWidthTotal">{colCount - 1 * settings.colspacewidth}</f:variable>
|
||||
<f:variable name="itemWidth">{100 - spaceWidthTotal / colCount}</f:variable>
|
||||
<f:variable name="spaceInPx">{colCount - 1 * settings.colspacewidth / 100 * settings.coverimagewidth}</f:variable>
|
||||
<f:variable name="coverImageWidth">{settings.coverimagewidth - spaceInPx / colCount}</f:variable>
|
||||
<f:variable name="coverImageWidth_x2">{coverImageWidth * 2}</f:variable>
|
||||
|
||||
<f:if condition="{youtubevideos -> f:count()} > 1">
|
||||
<div id="youtubevideogallery-{data.uid}" class="youtubevideogallery colcount-{colCount}">
|
||||
</f:if>
|
||||
<f:for each="{youtubevideos}" as="item" iteration="iterator">
|
||||
<f:render partial="Item" arguments="{_all}" />
|
||||
<f:if condition="{iterator.isLast} != 1"><div class="space" style="width: {settings.colspacewidth}%; padding-bottom: {settings.colspacewidth}%;"></div></f:if>
|
||||
</f:for>
|
||||
<f:if condition="{youtubevideos -> f:count()} > 1">
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{pagination.numberOfPages} > 1">
|
||||
<f:render partial="Pagination" arguments="{pagination:pagination}" />
|
||||
</f:if>
|
||||
<f:if condition="!{gdprnote}">
|
||||
<f:then><script>disableGdpr = 1;</script></f:then>
|
||||
<f:else><script>disableGdpr = 0;</script></f:else>
|
||||
</f:if>
|
||||
</f:section>
|
||||
<f:section name="FooterAssets">
|
||||
<script>
|
||||
function getCookie(t){var e=("; "+document.cookie).split("; "+t+"=");return 2==e.length?e.pop().split(";").shift():null}function gdprCancel(){var t=event.target||event.srcElement;dataYtUid=0,dataYtUid=t.getAttribute("data-yt-uid"),document.getElementById("gdpr-"+dataYtUid).style.display="none"}function gdprAgree(){document.cookie="youtubevideo-consent=1; path=/;";var t=event.target||event.srcElement;dataYtUid=0,dataYtUid=t.getAttribute("data-yt-uid"),document.getElementById("gdpr-"+dataYtUid).style.display="none",document.getElementById("coverimage-"+dataYtUid).click()}function gdprAgreeOnce(){var t=event.target||event.srcElement;dataYtUid=0,dataYtUid=t.getAttribute("data-yt-uid"),gdprAgreedOnce=dataYtUid,document.getElementById("gdpr-"+dataYtUid).style.display="none",document.getElementById("coverimage-"+dataYtUid).click()}function coverimageClick(t){t||(t=window.event);var e=t.target||t.srcElement;playerId=0,playerId=e.getAttribute("data-yt-id"),dataYtCode=0,dataYtCode=e.getAttribute("data-yt-code"),dataYtVars=0,dataYtVars=JSON.parse("{"+e.getAttribute("data-yt-vars").replace(/,\s*$/,"")+"}"),dataYtHost=0,dataYtHost=e.getAttribute("data-yt-host"),dataYtUid=0,dataYtUid=e.getAttribute("data-yt-uid"),getCookie("youtubevideo-consent")||gdprAgreedOnce==dataYtUid||disableGdpr?(youTubeApiIsLoaded?loadPlayer():loadYouTubeApi(),e.classList.add("play")):document.getElementById("gdpr-"+dataYtUid).style.display="block"}function loadYouTubeApi(){var t=document.createElement("script");t.src="https://www.youtube.com/iframe_api";var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(t,e),youTubeApiIsLoaded=1}function loadPlayer(){player=new YT.Player(playerId,{height:"390",width:"640",videoId:dataYtCode,host:dataYtHost,playerVars:dataYtVars,events:{onReady:onPlayerReady,onStateChange:onPlayerStateChange}})}function onYouTubeIframeAPIReady(){loadPlayer()}function onPlayerReady(t){player.setPlaybackRate(1),player.playVideo()}function onPlayerStateChange(t){}function stopVideo(){player.stopVideo()}function youtubevideoDetectWidth(t){for(var e=document.getElementsByClassName(t),a=0;a<e.length;++a){var d=e[a],o=e[a].clientWidth;o<containerBreakpointSmall?d.classList.add("small"):d.classList.remove("small"),o<containerBreakpointTiny?d.classList.add("tiny"):d.classList.remove("tiny")}}youTubeApiIsLoaded=0,gdprAgreedOnce=0,youtubevideoDetectWidth("youtubevideo"),window.addEventListener("resize",function(){youtubevideoDetectWidth("youtubevideo")});
|
||||
</script>
|
||||
<f:comment>
|
||||
<script type="text/javascript" src="{f:uri.resource(path: 'JavaScript/youtubevideo.js', extensionName: 'Youtubevideo')}"></script>
|
||||
</f:comment>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:section name="HeaderAssets">
|
||||
<link rel="preconnect" href="https://www.youtube-nocookie.com">
|
||||
<link rel="preconnect" href="https://www.youtube.com">
|
||||
<link rel="preconnect" href="https://i.ytimg.com">
|
||||
<link rel="preconnect" href="https://i9.ytimg.com">
|
||||
<link rel="preconnect" href="https://s.ytimg.com">
|
||||
</f:section>
|
||||
<f:layout name="Default" />
|
||||
<f:section name="Main">
|
||||
<f:if condition="{youtubevideos -> f:count()} < {data.tx_youtubevideo_colcount}">
|
||||
<f:then><f:variable name="colCount">{youtubevideos -> f:count()}</f:variable></f:then>
|
||||
<f:else><f:variable name="colCount">{data.tx_youtubevideo_colcount}</f:variable></f:else>
|
||||
</f:if>
|
||||
<f:variable name="spaceWidthTotal">{colCount - 1 * settings.colspacewidth}</f:variable>
|
||||
<f:variable name="itemWidth">{100 - spaceWidthTotal / colCount}</f:variable>
|
||||
<f:variable name="spaceInPx">{colCount - 1 * settings.colspacewidth / 100 * settings.coverimagewidth}</f:variable>
|
||||
<f:variable name="coverImageWidth">{settings.coverimagewidth - spaceInPx / colCount}</f:variable>
|
||||
<f:variable name="coverImageWidth_x2">{coverImageWidth * 2}</f:variable>
|
||||
|
||||
<f:if condition="{youtubevideos -> f:count()} > 1">
|
||||
<div id="youtubevideogallery-{data.uid}" class="youtubevideogallery colcount-{colCount}">
|
||||
</f:if>
|
||||
<f:for each="{youtubevideos}" as="item" iteration="iterator">
|
||||
<f:render partial="Iframe" arguments="{_all}" />
|
||||
<f:if condition="{iterator.isLast} != 1"><div class="space" style="width: {settings.colspacewidth}%; padding-bottom: {settings.colspacewidth}%;"></div></f:if>
|
||||
</f:for>
|
||||
<f:if condition="{youtubevideos -> f:count()} > 1">
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{pagination.numberOfPages} > 1">
|
||||
<f:render partial="Pagination" arguments="{pagination:pagination}" />
|
||||
</f:if>
|
||||
</f:section>
|
||||
</html>
|
||||
Reference in New Issue
Block a user