Initial commit - Typo3 11.5.41
This commit is contained in:
BIN
typo3conf/ext/youtubevideo/Resources/Public/Icons/Extension.png
Normal file
BIN
typo3conf/ext/youtubevideo/Resources/Public/Icons/Extension.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="94px" height="94px" viewBox="0 0 94 94" enable-background="new 0 0 94 94" xml:space="preserve">
|
||||
<path fill="#FFFFFF" d="M5.875,5.875h82.25v82.25H5.875V5.875z"/>
|
||||
<path fill="#CC181E" d="M0,0v93.5h93.5V0H0z"/>
|
||||
<polyline fill="#FFFFFF" points="30.723,26.455 66.277,47.002 30.723,67.545 "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 662 B |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="94px" height="94px" viewBox="0 0 94 94" enable-background="new 0 0 94 94" xml:space="preserve">
|
||||
<path fill="#FFFFFF" d="M5.875,5.875h82.25v82.25H5.875V5.875z"/>
|
||||
<path fill="#999999" d="M5.875,5.875v82.25h82.25V5.875H5.875z M11.75,11.75h70.5v70.5h-70.5V11.75z"/>
|
||||
<polyline fill="#CC181E" points="30.723,26.455 66.277,47.002 30.723,67.545 "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 716 B |
@@ -0,0 +1,130 @@
|
||||
// THIS FILE IS NO USED DIRECTLY
|
||||
// Minified and copied into Private/Resources/Templates/Youtubevideo.html
|
||||
|
||||
youTubeApiIsLoaded = 0;
|
||||
gdprAgreedOnce = 0;
|
||||
|
||||
// Read cookies
|
||||
function getCookie(name) {
|
||||
var value = "; " + document.cookie;
|
||||
var parts = value.split("; " + name + "=");
|
||||
if (parts.length == 2) return parts.pop().split(";").shift();
|
||||
else return null;
|
||||
}
|
||||
|
||||
// Cancel without playing the video
|
||||
function gdprCancel() {
|
||||
var el = (event.target || event.srcElement);
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display='none';
|
||||
}
|
||||
// Agree and remember by setting cookie
|
||||
function gdprAgree() {
|
||||
document.cookie = "youtubevideo-consent=1; path=/;";
|
||||
var el = (event.target || event.srcElement);
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display='none';
|
||||
document.getElementById('coverimage-' + dataYtUid).click();
|
||||
}
|
||||
|
||||
// Agree once but ask again next time
|
||||
function gdprAgreeOnce() {
|
||||
var el = (event.target || event.srcElement);
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
gdprAgreedOnce = dataYtUid;
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display='none';
|
||||
document.getElementById('coverimage-' + dataYtUid).click();
|
||||
}
|
||||
// What happens on clicking the cover image
|
||||
function coverimageClick(event) {
|
||||
if (!event) {
|
||||
event = window.event;
|
||||
};
|
||||
var el = (event.target || event.srcElement);
|
||||
playerId = 0;
|
||||
playerId = el.getAttribute('data-yt-id');
|
||||
dataYtCode = 0;
|
||||
dataYtCode = el.getAttribute('data-yt-code');
|
||||
dataYtVars = 0;
|
||||
dataYtVars = JSON.parse('{' + el.getAttribute('data-yt-vars').replace(/,\s*$/, "") + '}');
|
||||
dataYtHost = 0;
|
||||
dataYtHost = el.getAttribute('data-yt-host');
|
||||
dataYtUid = 0;
|
||||
dataYtUid = el.getAttribute('data-yt-uid');
|
||||
if (getCookie('youtubevideo-consent') || (gdprAgreedOnce == dataYtUid) || disableGdpr) {
|
||||
if (youTubeApiIsLoaded) {
|
||||
loadPlayer();
|
||||
} else {
|
||||
loadYouTubeApi();
|
||||
}
|
||||
el.classList.add('play');
|
||||
} else {
|
||||
document.getElementById('gdpr-' + dataYtUid).style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
// Load YouTube API
|
||||
function loadYouTubeApi() {
|
||||
var tag = document.createElement('script');
|
||||
tag.src = "https://www.youtube.com/iframe_api";
|
||||
var firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
youTubeApiIsLoaded = 1;
|
||||
}
|
||||
|
||||
// Load YouTube player with video settings
|
||||
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(event) {
|
||||
player.setPlaybackRate(1);
|
||||
player.playVideo();
|
||||
}
|
||||
|
||||
function onPlayerStateChange(event) {}
|
||||
|
||||
function stopVideo() {
|
||||
player.stopVideo();
|
||||
}
|
||||
|
||||
// Set video window breakpoint classes for 'small' and 'tiny'
|
||||
function youtubevideoDetectWidth(a) {
|
||||
var container = document.getElementsByClassName(a);
|
||||
for (var i = 0; i < container.length; ++i) {
|
||||
var item = container[i];
|
||||
var width = container[i].clientWidth;
|
||||
if (width < containerBreakpointSmall) {
|
||||
item.classList.add('small');
|
||||
} else {
|
||||
item.classList.remove('small');
|
||||
}
|
||||
if (width < containerBreakpointTiny) {
|
||||
item.classList.add('tiny');
|
||||
} else {
|
||||
item.classList.remove('tiny');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
youtubevideoDetectWidth('youtubevideo');
|
||||
window.addEventListener("resize", function() {
|
||||
youtubevideoDetectWidth('youtubevideo');
|
||||
});
|
||||
@@ -0,0 +1,45 @@
|
||||
.youtubevideo-container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||||
grid-gap: 8px;
|
||||
}
|
||||
|
||||
.youtubevideo-item {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.youtubevideo-item b.title {
|
||||
display: inline-block;
|
||||
padding-top: 0.5em;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
|
||||
.youtubevideo-wrapper {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%;
|
||||
}
|
||||
|
||||
.youtubevideo-wrapper iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.youtubevideo-item ul {
|
||||
padding: 0.3em 0 0 1.5em;
|
||||
margin: 0;
|
||||
line-height: 1.3em;
|
||||
color: #666
|
||||
}
|
||||
|
||||
.youtubevideo-item ul li {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.settings {
|
||||
clear: both;
|
||||
width: 100%;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@@ -0,0 +1,241 @@
|
||||
.youtubevideo {
|
||||
position: relative;
|
||||
font-size: 21px;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage.play {
|
||||
display: none
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>iframe {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-overlay {
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
background: rgba(255, 255, 255, 0.93);
|
||||
color: #000;
|
||||
font-size: 1rem;
|
||||
line-height: 1.3em;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 2rem;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-text {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translateY(-50%) translateX(-50%);
|
||||
padding: 1em;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-note {
|
||||
max-width: 80%;
|
||||
margin: auto;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-button {
|
||||
text-transform: uppercase;
|
||||
border: 1px solid black;
|
||||
line-height: 1em;
|
||||
padding: 0.5em 1em;
|
||||
display: inline-block;
|
||||
font-size: 0.75em;
|
||||
margin-right: 0.3em;
|
||||
margin-bottom: 0.3em;
|
||||
color: #000;
|
||||
transition: all .3s;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-button:hover {
|
||||
background: #000;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-cancel {
|
||||
padding: 0.5em;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
font-size: 2em;
|
||||
font-weight: normal;
|
||||
color: #000;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-cancel:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.small .youtubevideo-gdpr-overlay {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.tiny .youtubevideo-gdpr-overlay {
|
||||
font-size: 0.65em;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage>.covertext {
|
||||
position: absolute;
|
||||
text-align: left;
|
||||
box-sizing: border-box;
|
||||
font-size: 0.8em;
|
||||
line-height: 1.5em;
|
||||
background-color: rgba(0, 0, 0, 0.8);
|
||||
padding: 0.8rem 1.2rem;
|
||||
margin-left: 1.5rem;
|
||||
margin-right: 1.5rem;
|
||||
bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.youtubevideo.small>.videoWrapper>.coverimage>.covertext {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
padding: 0.5rem 0.9rem;
|
||||
}
|
||||
|
||||
.youtubevideo.tiny>.videoWrapper>.coverimage>.covertext {
|
||||
padding: 0.3rem 0.5rem;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage>.covertext h2 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage>.covertext h2,
|
||||
.youtubevideo>.videoWrapper>.coverimage>.covertext p {
|
||||
display: inline-block;
|
||||
color: #fff;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.youtubevideo.small>.videoWrapper>.coverimage>.covertext h2 {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.youtubevideo.tiny>.videoWrapper>.coverimage>.covertext h2 {
|
||||
font-size: 0.9em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.youtubevideo.small>.videoWrapper>.coverimage>.covertext p {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage-click {
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent;
|
||||
z-index: 10;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage-click:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage-click.play {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.youtubevideo>.videoWrapper>.coverimage-click.play+.coverimage {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* play button colors */
|
||||
.youtubevideo .playbutton {
|
||||
position: absolute;
|
||||
width: 15%;
|
||||
height: auto;
|
||||
min-width: 40px;
|
||||
max-width: 80px;
|
||||
top: 50%;
|
||||
right: 50%;
|
||||
transform: translateY(-50%) translateX(50%);
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
.youtubevideo:hover .playbutton .ytp-large-play-button-bg {
|
||||
fill: #f00;
|
||||
transition: all .3s;
|
||||
}
|
||||
|
||||
/* if .youtubevideo width is under set px, breakpoint is set */
|
||||
.youtubevideogallery>.item, .youtubevideogallery>.space {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* column layouts */
|
||||
.youtubevideogallery.colcount-0 .space,
|
||||
.youtubevideogallery.colcount-3 .space:nth-child(3n),
|
||||
.youtubevideogallery.colcount-2 .space:nth-child(4n),
|
||||
.youtubevideogallery.colcount-4 .space:nth-child(8n),
|
||||
.youtubevideogallery.colcount-5 .space:nth-child(10n),
|
||||
.youtubevideogallery.colcount-6 .space:nth-child(12n),
|
||||
.youtubevideogallery.colcount-7 .space:nth-child(14n),
|
||||
.youtubevideogallery.colcount-8 .space:nth-child(16n) {
|
||||
float: none;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.youtubevideo-gdpr-overlay {
|
||||
background: rgba(0, 0, 0, 0.93);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-button {
|
||||
color: #fff;
|
||||
background: #000;
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-button:hover {
|
||||
background: #fff;
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.youtubevideo-gdpr-cancel {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user