1/* 2 Name: YouTubePopUp | Video PopUp - Premium Extension 3 Description: jQuery plugin to display YouTube or Vimeo video in PopUp, responsive and retina, easy to use. 4 Version: 1.0.8 5 Plugin URL: https://wp-time.com/youtube-popup-jquery-plugin/ 6 Written By: Qassim Hassan 7 Twitter: @QQQHZ 8 Websites: wp-time.com | qass.im | wp-plugins.in 9 Dual licensed under the MIT and GPL licenses: 10 http://www.opensource.org/licenses/mit-license.php 11 http://www.gnu.org/licenses/gpl.html 12 Copyright (c) 2018 - Qassim Hassan 13*/ 14 15(function ( $ ) { 16 17 $.fn.YouTubePopUp = function(options) { 18 19 var YouTubePopUpOptions = $.extend({ 20 autoplay: 1 21 }, options ); 22 23 24 function vpConvertHextToRGBA(hex,opacity){ 25 hex = hex.replace('#',''); 26 r = parseInt(hex.substring(0,2), 16); 27 g = parseInt(hex.substring(2,4), 16); 28 b = parseInt(hex.substring(4,6), 16); 29 30 result = 'rgba('+r+','+g+','+b+','+opacity/100+')'; 31 return result; 32 } 33 34 35 $(this).on('click', function (e) { 36 37 var youtubeLink = $(this).attr("href"); 38 39 var startingTime = $(this).attr('data-time'); 40 41 var endingTime = $(this).attr('data-endtime'); 42 43 var disIV = $(this).attr('data-iv'); 44 45 var widthSize = $(this).attr('data-width'); 46 47 var heightSize = $(this).attr('data-height'); 48 49 var overlayColor = $(this).attr('data-overlay'); 50 51 var relVideos = $(this).attr('data-relvid'); 52 53 var disControls = $(this).attr('data-controls'); 54 55 var disWrap = $(this).attr('data-dwrap'); 56 57 var dataSoundCloud = $(this).attr('data-soundcloud'); 58 59 var videoType = ' vp-vt-youtube'; 60 61 var yt_rel_exten = $(this).attr("wpt-video-p"); 62 63 if( overlayColor ){ 64 var get_overlay_color = vpConvertHextToRGBA(overlayColor, 80); 65 var set_overlay_style = ' background-color: '+get_overlay_color+' !important;'; 66 if( overlayColor == '#ffffff' ){ 67 var vpDarkIcon = ' vp-dark-ci'; 68 var vpDarkBG = ' vp-dark-bg'; 69 }else{ 70 var vpDarkIcon = ''; 71 var vpDarkBG = ''; 72 } 73 }else{ 74 if( video_popup_general_settings.o_color ){ 75 if( video_popup_general_settings.o_color == '#ffffff' ){ 76 var vpDarkIcon = ' vp-dark-ci'; 77 var vpDarkBG = ' vp-dark-bg'; 78 }else{ 79 var vpDarkIcon = ''; 80 var vpDarkBG = ''; 81 } 82 var get_overlay_color = vpConvertHextToRGBA(video_popup_general_settings.o_color, 80); 83 var set_overlay_style = ' background-color: '+get_overlay_color+' !important;'; 84 }else{ 85 var set_overlay_style = null; 86 var vpDarkIcon = ''; 87 var vpDarkBG = ''; 88 } 89 } 90 91 if( relVideos || $(this).hasClass('vp-dr') || yt_rel_exten == 1 ){ 92 var relVidParam = '&rel=0'; 93 }else{ 94 var relVidParam = '&rel=1'; 95 } 96 97 if( disControls ){ 98 var disControlsParam = '&controls=0'; 99 }else{ 100 var disControlsParam = '&controls=1'; 101 } 102 103 if( disIV ){ 104 var disIVParam = '&iv_load_policy=3'; 105 }else{ 106 var disIVParam = '&iv_load_policy=1'; 107 } 108 109 if ( youtubeLink.match(/(youtube.com)/) || youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(vimeo.com)/) ) { 110 111 if( youtubeLink.match(/(youtube.com)/) ){ 112 var split_c = "v="; 113 var split_n = 1; 114 } 115 116 if( youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(vimeo.com\/)+[0-9]/) ){ 117 var split_c = "/"; 118 var split_n = 3; 119 } 120 121 if( youtubeLink.match(/(vimeo.com\/)+[a-zA-Z]/) ){ 122 var split_c = "/"; 123 var split_n = 5; 124 } 125 126 var getYouTubeVideoID = youtubeLink.split(split_c)[split_n]; 127 128 var cleanVideoID = getYouTubeVideoID.replace(/(&)+(.*)/, ""); 129 130 if( youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(youtube.com)/) ){ 131 if( startingTime ){ 132 var getTime = '&start='+startingTime+''; 133 }else{ 134 var getTime = '&start=0'; 135 } 136 137 if( endingTime ){ 138 var getEndTime = '&end='+endingTime+''; 139 }else{ 140 var getEndTime = ''; 141 } 142 var videoEmbedLink = "https://www.youtube.com/embed/"+cleanVideoID+"?autoplay="
142+YouTubePopUpOptions.autoplay+relVidParam+getTime+disControlsParam+getEndTime+disIVParam+""; 143 var iframe_element = '<iframe src="'+videoEmbedLink+'" allow="autoplay" allowfullscreen></iframe>'; 144 } 145 146 if( youtubeLink.match(/(vimeo.com\/)+[0-9]/) || youtubeLink.match(/(vimeo.com\/)+[a-zA-Z]/) ){ 147 var videoEmbedLink = "https://player.vimeo.com/video/"+cleanVideoID+"?autoplay="+YouTubePopUpOptions.autoplay+""; 148 var iframe_element = '<iframe src="'+videoEmbedLink+'" allow="autoplay" allowfullscreen></iframe>'; 149 var videoType = ' vp-vt-vimeo'; 150 } 151 152 }else{ 153 if( dataSoundCloud ){ 154 var data_embed_sc = $(this).attr('data-embedsc'); 155 var iframe_element = '<iframe src="'+data_embed_sc+'" allow="autoplay" allowfullscreen></iframe>'; 156 var videoType = ' vp-vt-soundcloud'; 157 }else{ 158 if( YouTubePopUpOptions.autoplay == 1 ){ 159 var locally_options = 'controls autoplay controlsList="nodownload"'; 160 }else{ 161 var locally_options = 'controls controlsList="nodownload"'; 162 } 163 var iframe_element = '<video '+locally_options+'><source src="'+youtubeLink+'" type="video/mp4"></video>'; 164 var videoType = ' vp-vt-locally'; 165 } 166 } 167 168 if( widthSize ){ 169 var getWidthSize = widthSize; 170 }else{ 171 if( video_popup_general_settings.width_s ){ 172 var getWidthSize = video_popup_general_settings.width_s; 173 }else{ 174 var getWidthSize = '880'; 175 } 176 } 177 178 if( heightSize ){ 179 var getHeightSize = heightSize; 180 }else{ 181 if( video_popup_general_settings.height_s ){ 182 var getHeightSize = video_popup_general_settings.height_s; 183 }else{ 184 var getHeightSize = '440'; 185 } 186 } 187 188 if( disWrap || $(this).hasClass('vp-dw') || video_popup_general_settings.r_border ){ 189 var disWrapClass = ' vp-flex-no-border'; 190 }else{ 191 var disWrapClass = ''; 192 } 193 194 $("body").append('<div style="display:none;'+set_overlay_style+'" class="YouTubePopUp-Wrap VideoPopUpWrap"></div>'); 195 196 $(".VideoPopUpWrap").fadeIn(300); 197 198 $(".VideoPopUpWrap").append('<div class="Video-PopUp-Content"><div style="max-width:'+getWidthSize+'px; height:'+getHeightSize+'px;" class="vp-flex'+vpDarkBG+disWrapClass+videoType+'"><span class="YouTubePopUp-Close'+vpDarkIcon+'"></span>'+iframe_element+'</div></div>'); 199 200 201 $(".YouTubePopUp-Wrap, .YouTubePopUp-Close").click(function(){ 202 $(".YouTubePopUp-Wrap").fadeOut(300).delay(325).queue(function() { $(this).remove(); }); 203 }); 204 205 $('.vp-flex, .vp-flex *').click(function(e){ 206 e.stopPropagation(); 207 }); 208 209 e.preventDefault(); 210 211 }); 212 213 $(document).keyup(function(e) { 214 215 if ( e.keyCode == 27 ){ 216 $('.YouTubePopUp-Close').click(); 217 } 218 219 }); 220 221 }; 222 223}( jQuery ));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.