1 2 3var youmax_global_options = {}; 4 5 6(function ($) { 7 8 9 var secondsToTime = function(duration) { 10 if(null==duration||duration==""||duration=="undefined") 11 return "?"; 12 13 var minutes = Math.floor(duration/60); 14 //alert(minutes); 15 16 var seconds = duration%60; 17 18 if(seconds<10) 19 seconds = "0"+seconds; 20 21 var time = minutes+":"+seconds; 22 return time; 23 //alert() 24 25 }, 26 27 //utility function to display time 28 convertDuration = function(videoDuration) { 29 var duration,returnDuration; 30 videoDuration = videoDuration.replace('PT','').replace('S','').replace('M',':').replace('H',':'); 31 32 //TODO: fix some duration settings 33 //console.log('videoDuration-'+videoDuration); 34 35 var videoDurationSplit = videoDuration.split(':'); 36 returnDuration = videoDurationSplit[0]; 37 for(var i=1; i<videoDurationSplit.length; i++) { 38 duration = videoDurationSplit[i]; 39 ////console.log('duration-'+duration); 40 if(duration=="") { 41 returnDuration+=":00"; 42 } else { 43 duration = parseInt(duration,10); 44 ////console.log('duration else -'+duration) 45 if(duration<10) { 46 returnDuration+=":0"+duration; 47 } else { 48 returnDuration+=":"+duration; 49 } 50 } 51 } 52 if(videoDurationSplit.length==1) { 53 returnDuration="0:"+returnDuration; 54 } 55 return returnDuration; 56 57 }, 58 59 60 getDateDiff = function(timestamp) { 61 if(null==timestamp||timestamp==""||timestamp=="undefined") 62 return "?"; 63 //alert(timestamp); 64 var splitDate=((timestamp.toString().split('T'))[0]).split('-'); 65 var d1 = new Date(); 66 67 var d1Y = d1.getFullYear(); 68 var d2Y = parseInt(splitDate[0],10); 69 var d1M = d1.getMonth(); 70 var d2M = parseInt(splitDate[1],10); 71 72 var diffInMonths = (d1M+12*d1Y)-(d2M+12*d2Y); 73 /*alert(d1Y); 74 alert(d2Y); 75 alert(d1M); 76 alert(d2M); 77 alert(diffInMonths); 78 */ 79 if(diffInMonths<=1) 80 return "1 mois"; 81 else if(diffInMonths<12) 82 return diffInMonths+" mois"; 83 84 var diffInYears = Math.floor(diffInMonths/12); 85 86 if(diffInYears<=1) 87 return "1 année"; 88 else if(diffInYears<12) 89 return diffInYears+" années"; 90 91 }, 92 93 getReadableNumber = function(number) { 94 if(null==number||number==""||number=="undefined") 95 return "?"; 96 97 number=number.toString(); 98 var readableNumber = ''; 99 var count=0; 100 for(var k=number.length; k>=0;k--) { 101 readableNumber+=number.charAt(k); 102 if(count==3&&k>0) { 103 count=1; 104 readableNumber+=','; 105 } else { 106 count++; 107 } 108 } 109 return readableNumber.split("").reverse().join(""); 110 }, 111 112 113 loadYoumax = function() { 114 115 youmaxWidgetWidth = $('#youmax').width(); 116 117 $('#youmax').append('<div id="youmax-header"><div id="youmax-tabs"><!-- <span id="featured_" class="youmax-tab">Featured</span> --><span id="uploads_" class="youmax-tab"><a class="tabs-playlists" style="color:#323232; text-decoration:none" href="#">Les vidéos les plus récentes</a></span><span id="playlists_" class="youmax-tab"><a id="focus" style="color:#323232; text-decoration:none" href="#">Toutes nos vidéos</a></span></div><!-- <div id="youmax-stat-holder"></div> --></div>'); 118 119 //$('#youmax').append('<div id="youmax-tabs"></div>'); 120 121 //$('#youmax').append('<div id="youmax-tabs"><!-- <span id="featured_" class="youmax-tab">Featured</span> --><span id="uploads_" class="youmax-tab">Les vidéos les plus récentes</span><span id="playlists_" class="youmax-tab">Nos playlists</span></div>'); 122 123 124 $('#youmax').append('<div id="youmax-encloser"><iframe id="youmax-video" width="'+(youmaxWidgetWidth-2)+'" height="'+(youmaxWidgetWidth/youmax_global_options.youtubeVideoAspectRatio)+'" src="" frameborder="0" allowfullscreen></iframe><div id="youmax-video-list-div"></div><!-- <div id="youmax-load-more-div">en voir plus</div> --></div>'); 125 126 $('#youmax-video').hide(); 127 128 $('#youmax').append('<div id="youmax-lightbox"><a href="#"> X </a><div style="width:100%; position:absolute; top:20%;"><iframe id="youmax-video-lightbox" width="800" height="600" src="" frameborder="0" allowfullscreen></iframe></div></div>'); 129 130 $('#youmax-lightbox').hide(); 131 }, 132 133 //get channel Id if channel URL is of the form ....../user/Adele 134 getChannelId = function(apiUrl) { 135 //console.log('inside getChannelId'); 136 //console.log('apiUrl-'+apiUrl); 137 //showLoader(); 138 139 $.ajax({ 140 url: apiUrl, 141 type: "GET", 142 async: true, 143 cache: true, 144 dataType: 'jsonp', 145 success: function(response) { 146 youmaxChannelId = response.items[0].id 147 getChannelDetails(youmaxChannelId); 148 }, 149 error: function(html) { alert(html); }, 150 beforeSend: setHeader 151 }); 152 }, 153 154
155 getChannelDetails = function(channelId) { 156 157 //var apiProfileURL = "http://gdata.youtube.com/feeds/api/users/"+youmaxUser+"?v=2&alt=json"; 158 var apiProfileURL = "https://www.googleapis.com/youtube/v3/channels?part=brandingSettings%2Csnippet%2Cstatistics%2CcontentDetails&id="+channelId+"&key="+youmax_global_options.apiKey; 159 160 $.ajax({ 161 url: apiProfileURL, 162 type: "GET", 163 async: true, 164 cache: true, 165 dataType: 'jsonp', 166 success: function(response) { showInfo(response);}, 167 error: function(html) { alert(html); }, 168 beforeSend: setHeader 169 }); 170 171 }, 172 173 174 setHeader = function(xhr) { 175 if(xhr && xhr.overrideMimeType) { 176 xhr.overrideMimeType("application/j-son;charset=UTF-8"); 177 } 178 }, 179 180 showLoader = function() { 181 youmax_global_options.youmaxItemCount = 0; 182 $('#youmax-video-list-div').empty(); 183 $('#youmax-video').hide(); 184 $('#youmax-video').attr('src',''); 185 $('#youmax-video-list-div').append('<div class="sk-cube-grid"><div class="sk-cube sk-cube1"></div><div class="sk-cube sk-cube2"></div><div class="sk-cube sk-cube3"></div><div class="sk-cube sk-cube4"></div><div class="sk-cube sk-cube5"></div><div class="sk-cube sk-cube6"></div><div class="sk-cube sk-cube7"></div><div class="sk-cube sk-cube8"></div><div class="sk-cube sk-cube9"></div></div>'); 186 }, 187 188 initFeaturedVideos = function () { 189 youTubePlaylistURL = youmax_global_options.youTubePlaylistURL; 190 console.log('inside init featured - '+youTubePlaylistURL); 191 if(null!=youTubePlaylistURL&&youTubePlaylistURL.indexOf("youtube.com/playlist?list=")!=-1) { 192 youmaxFeaturedPlaylistId = youTubePlaylistURL.substring(youTubePlaylistURL.indexOf("?list=")+15); 193 youmax_global_options.youmaxFeaturedPlaylistId = youmaxFeaturedPlaylistId; 194 } 195 }, 196 197 198 199 showInfo = function(response) { 200 console.log('showInfo'); 201 console.log(response); 202 203 var channelData = response.items[0]; 204 var channelId = channelData.id; 205 var channelName = channelData.snippet.title; 206 var channelPic = channelData.snippet.thumbnails.default.url; 207 var channelSubscribers = channelData.statistics.subscriberCount; 208 var channelViews = channelData.statistics.viewCount; 209 var channelDesc = ""; 210 var channelUploadsPlaylistId = channelData.contentDetails.relatedPlaylists.uploads; 211 212 213 214 //LOGO et NOM DE LA CHAINE 215 //$('#youmax-header').append('<img id="youmax-header-logo" src="'+channelPic+'"/>'+channelName); 216 217 218 //BOUTON S'ABONNER 219 //$('#youmax-header').append(' <div class="youmax-subscribe"><div class="g-ytsubscribe" data-channelid="'+channelId+'" data-layout="default" data-count="default"></div></div>'); 220 221 //$('#youmax-stat-holder').append('<div class="youmax-stat">'+channelSubscribers+'<br/> abonnés </div><div class="youmax-stat">'+channelViews+'<br/>vues</div>'); 222 223 //$('#youmax-stat-holder').append('<div class="youmax-stat"><span class="youmax-stat-count">'+getReadableNumber(channelViews)+'</span><br/> video views </div><div class="youmax-stat"><span class="youmax-stat-count">'+getReadableNumber(channelSubscribers)+'</span><br/>subscribers</div>'); 224 225 //$('#youmax-channel-desc').append('About '+channelName+'<br/>'+channelDesc); 226 227 renderSubscribeButton(); 228 229 $('#youmax-tabs').find('span[id^=uploads_]').attr('id','uploads_'+channelUploadsPlaylistId); 230 231 youmaxDefaultTab = youmax_global_options.youmaxDefaultTab; 232 233 if(typeof youmaxDefaultTab === 'undefined'||null==youmaxDefaultTab||youmaxDefaultTab==""||youmaxDefaultTab=="undefined") { 234 $("#youmax-tabs span[id^=featured_]").click(); 235 } else if(youmaxDefaultTab.toUpperCase()=='UPLOADS'||youmaxDefaultTab.toUpperCase()=='UPLOAD') { 236 $("#youmax-tabs span[id^=uploads_]").click(); 237 } else if(youmaxDefaultTab.toUpperCase()=='PLAYLISTS'||youmaxDefaultTab.toUpperCase()=='PLAYLIST') { 238 $("#youmax-tabs span[id^=playlists_]").click(); 239 } else if(youmaxDefaultTab.toUpperCase()=='FEATURED'||youmaxDefaultTab.toUpperCase()=='FEATURED') { 240 $("#youmax-tabs span[id^=featured_]").click(); 241 } 242 243 244 }, 245 246 renderSubscribeButton = function() { 247 $.ajaxSetup({ 248 cache: true 249 }); 250 251 $.getScript("https://apis.google.com/js/platform.js") 252 .done(function( script, textStatus ) { 253 //alert( textStatus ); 254 }) 255 .fail(function( jqxhr, settings, exception ) { 256 //alert( "Triggered ajaxError handler." ); 257 }); 258 }, 259 260 261 showPlaylists = function(response,loadMoreFlag) { 262 console.log(response); 263
264 if(!loadMoreFlag) { 265 $('#youmax-video-list-div').empty(); 266 } 267 268 var nextPageToken = response.nextPageToken; 269 var $youmaxLoadMoreDiv = $('#youmax-load-more-div'); 270 //console.log('nextPageToken-'+nextPageToken); 271 272 if(null!=nextPageToken && nextPageToken!="undefined" && nextPageToken!="") { 273 $youmaxLoadMoreDiv.data('nextpagetoken',nextPageToken); 274 } else { 275 $youmaxLoadMoreDiv.data('nextpagetoken',''); 276 } 277 278 youmaxColumns = youmax_global_options.youmaxColumns; 279 280 var playlistArray = response.items; 281 var playlistIdArray = []; 282 var zeroPlaylistCompensation = 0; 283 for(var i=0; i<playlistArray.length; i++) { 284 playListId = playlistArray[i].id; 285 playlistSize = playlistArray[i].contentDetails.itemCount; 286 if(playlistSize<=0){ 287 zeroPlaylistCompensation++; 288 continue; 289 } 290 playlistIdArray.push(playListId); 291 playlistTitle = playlistArray[i].snippet.title; 292 playlistUploaded = playlistArray[i].snippet.publishedAt; 293 playlistThumbnail = playlistArray[i].snippet.thumbnails.medium.url; 294 //playlistThumbnail = playlistThumbnail.replace("hqdefault","mqdefault"); 295 playlistDescription = playlistArray[i].snippet.description; 296 if((i+youmax_global_options.youmaxItemCount-zeroPlaylistCompensation)%youmaxColumns!=0) 297 $('#youmax-video-list-div').append('<div class="youmax-video-tnail-box" id="'+playListId+'"><div title="Tout regarder." class="youmax-video-tnail" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src=\''+playlistThumbnail+'\', sizingMethod=\'scale\'); background-image:url(\''+playlistThumbnail+'\')"><div class="youmax-playlist-sidebar" id="youmax-playlist-sidebar-'+playListId+'"><span class="youmax-playlist-video-count"><b>'+playlistSize+'</b><br/>VIDÉOS</span><span class="yt-pl-icon yt-pl-icon-reg yt-sprite"></span></div></div><span class="youmax-video-list-title">'+playlistTitle+'</span><br/><span class="youmax-video-list-description">'+playlistDescription+'</span><br/><span class="youmax-video-list-views">Vidéo ajoutée depuis '+getDateDiff(playlistUploaded)+'</span></div>'); 298 else 299 $('#youmax-video-list-div').append('<div class="youmax-video-tnail-box" clear:both;" id="'+playListId+'"><div title="Tout regarder." class="youmax-video-tnail" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src=\''+playlistThumbnail+'\', sizingMethod=\'scale\'); background-image:url(\''+playlistThumbnail+'\')"><div class="youmax-playlist-sidebar" id="youmax-playlist-sidebar-'+playListId+'"><span class="youmax-playlist-video-count"><b>'+playlistSize+'</b><br/>VIDÉOS</span><span class="yt-pl-icon yt-pl-icon-reg yt-sprite"></span></div></div><span class="youmax-video-list-title">'+playlistTitle+'</span><br/><span class="youmax-video-list-description">'+playlistDescription+'</span><br/><span class="youmax-video-list-views">Vidéo ajoutée depuis '+getDateDiff(playlistUploaded)+'</span></div>'); 300 301 } 302 303 youmax_global_options.youmaxItemCount+=playlistArray.length-zeroPlaylistCompensation; 304 //console.log(playlistIdArray); 305 306 $('.youmax-video-tnail-box').click(function() { 307 //alert(this.id); 308 showLoader(); 309 playlistTitle = $(this).find(".youmax-video-list-title").text(); 310 getUploads("play_"+this.id,playlistTitle); 311 //getPlaylistVideos(this.id); 312 }); 313 314 /* not sure why this is needed 315 var youmaxTnailWidth = $('.youmax-video-tnail').css('width'); 316 youmaxTnailWidth=youmaxTnailWidth.substring(0,youmaxTnailWidth.indexOf("px")); 317 var youmaxTnailHeight = youmaxTnailWidth/youtubeMqdefaultAspectRatio; 318 //$('html > head').append('<style>.youmax-video-tnail{height:'+youmaxTnailHeight+'px;}</style>');
319 $('div.youmax-video-tnail').css({'height':youmaxTnailHeight+'px'}); 320 */ 321 322 323 /* 324 if(youmaxTnailHeight<130) { 325 maxTopVideos = 3; 326 $('html > head').append('<style>.youmax-playlist-video-count{margin: 10%;margin-top: 15%;}.youmax-playlist-sidebar-video{margin: 8% auto;}</style>'); 327 //$('div.youmax-playlist-video-count').css({'margin':'10%','margin-top':'15%'}); 328 //$('div.youmax-playlist-sidebar-video').css({'margin':'8% auto'}); 329 } else { 330 maxTopVideos = 4; 331 }*/ 332 333 resetLoadMoreButton(); 334 335 //console.log(youmaxTnailWidth); 336 //console.log(youmaxTnailHeight); 337 338 //getTopVideosFromPlaylist(playlistIdArray,maxTopVideos); 339 }, 340 341 showUploads = function(response,playlistTitle,loadMoreFlag) { 342 console.log(response); 343 344 if(!loadMoreFlag) { 345 $('#youmax-video-list-div').empty(); 346 347 if(playlistTitle) { 348 $('.youmax-tab-hover').removeClass('youmax-tab-hover'); 349 $('#youmax-video-list-div').append('<span class="youmax-showing-title youmax-tab-hover" id="uploads_'+response.items[0].snippet.playlistId+'" style="max-width:100%;"><span class="youmax-showing"></span>"'+playlistTitle+'"</span><br/>'); 350 } 351 } 352 353 var nextPageToken = response.nextPageToken; 354 var $youmaxLoadMoreDiv = $('#youmax-load-more-div'); 355 //console.log('nextPageToken-'+nextPageToken); 356 357 youmaxColumns = youmax_global_options.youmaxColumns; 358 359 if(null!=nextPageToken && nextPageToken!="undefined" && nextPageToken!="") { 360 $youmaxLoadMoreDiv.data('nextpagetoken',nextPageToken); 361 } else { 362 $youmaxLoadMoreDiv.data('nextpagetoken',''); 363 } 364 365 var uploadsArray = response.items; 366 var videoIdArray = []; 367 368 for(var i=0; i<uploadsArray.length; i++) { 369 videoId = uploadsArray[i].snippet.resourceId.videoId; 370 videoTitle = uploadsArray[i].snippet.title; 371 videoDescription = uploadsArray[i].snippet.description; 372 //videoViewCount = uploadsArray[i].snippet.viewCount; 373 //videoDuration = uploadsArray[i].snippet.duration; 374 videoUploaded = uploadsArray[i].snippet.publishedAt; 375 videoThumbnail = uploadsArray[i].snippet.thumbnails.medium.url; 376 //videoThumbnail = videoThumbnail.replace("hqdefault","mqdefault"); 377 378 videoIdArray.push(videoId); 379 380 //$('#youmax-video-list-div').append('<div class="youmax-video-tnail-box" style="width:'+((100/youmaxColumns)-4)+'%;" id="'+videoId+'"><div class="youmax-video-tnail" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src=\''+videoThumbnail+'\', sizingMethod=\'scale\'); background-image:url(\''+videoThumbnail+'\')"><div class="youmax-duration">'+secondsToTime(videoDuration)+'</div></div><span class="youmax-video-list-title">'+videoTitle+'</span><br/><span class="youmax-video-list-views">'+getReadableNumber(videoViewCount)+' views | '+getDateDiff(videoUploaded)+' ago</span></div>'); 381 382 383 if((i+youmax_global_options.youmaxItemCount)%youmaxColumns!=0) 384 $('#youmax-video-list-div').append('<div class="youmax-video-tnail-box" id="'+videoId+'"><div class="youmax-video-tnail" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src=\''+videoThumbnail+'\', sizingMethod=\'scale\'); background-image:url(\''+videoThumbnail+'\')"><div class="youmax-duration"></div></div><span class="youmax-video-list-title">'+videoTitle+'</span><br/><span class="youmax-video-list-description">'+videoDescription+'</span><br/><span class="youmax-video-list-views">Vidéo ajoutée depuis '+getDateDiff(videoUploaded)+'</span></div>'); 385 else 386 $('#youmax-video-list-div').append('<div class="youmax-video-tnail-box" style="clear:both;" id="'+videoId+'"><div class="youmax-video-tnail" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src=\''+videoThumbnail+'\', sizingMethod=\'scale\'); background-image:url(\''+videoThumbnail+'\')"><div class="youmax-duration"></div></div><span class="youmax-video-list-title">'+videoTitle+'</span><br/><span class="youmax-video-list-description">'+videoDescription+'</span><br/><span class="youmax-video-list-views">Vidéo ajoutée depuis '+getDateDiff(videoUploaded)+'</span></div>'); 387 388 } 389 390 youmax_global_options.youmaxItemCount+=uploadsArray.length; 391 392 $('.youmax-video-tnail-box').click(function(){
393 //alert(this.id); 394 //alert(showVideoInLightbox); 395 if(youmax_global_options.showVideoInLightbox){ 396 showVideoLightbox(this.id); 397 } else { 398 $('#youmax-video').attr('src','http://www.youtube.com/embed/'+this.id); 399 $('#youmax-video').show(); 400 $('html,body').animate({scrollTop: $("#youmax-header").offset().top},'slow'); 401 } 402 }); 403 404 // not sure why this is needed 405 /*var youmaxTnailWidth = $('.youmax-video-tnail').css('width'); 406 youmaxTnailWidth=youmaxTnailWidth.substring(0,youmaxTnailWidth.indexOf("px")); 407 var youmaxTnailHeight = youmaxTnailWidth/youmax_global_options.youtubeMqdefaultAspectRatio; 408 //$('html > head').append('<style>.youmax-video-tnail{height:'+youmaxTnailHeight+'px;}</style>'); 409 $('div.youmax-video-tnail').css({'height':youmaxTnailHeight+'px'});*/ 410 411 412 getVideoStats(videoIdArray); 413 resetLoadMoreButton(); 414 415 }, 416 417 418 //get video stats using Youtube API 419 getVideoStats = function(videoIdList) { 420 //console.log('inside getVideoStats'); 421 //console.log(videoIdList); 422 //showLoader(); 423 424 apiVideoStatURL = "https://www.googleapis.com/youtube/v3/videos?part=statistics%2CcontentDetails&id="+videoIdList+"&key="+youmax_global_options.apiKey; 425 $.ajax({ 426 url: apiVideoStatURL, 427 type: "GET", 428 async: true, 429 cache: true, 430 dataType: 'jsonp', 431 success: function(response) { displayVideoStats(response);}, 432 error: function(html) { alert(html); }, 433 beforeSend: setHeader 434 }); 435 }, 436 437 //display video statistics 438 displayVideoStats = function(response) { 439 //console.log(response); 440 441 var videoArray = response.items; 442 var $videoThumbnail; 443 444 for(var i=0; i<videoArray.length; i++) { 445 videoId = videoArray[i].id; 446 videoViewCount = videoArray[i].statistics.viewCount; 447 videoViewCount = getReadableNumber(videoViewCount); 448 videoDuration = videoArray[i].contentDetails.duration; 449 //console.log('videoDuration-'+videoDuration); 450 451 videoDuration = convertDuration(videoDuration); 452 videoDefinition = videoArray[i].contentDetails.definition.toUpperCase(); 453 $videoThumbnail = $('#youmax-video-list-div #'+videoId); 454 $videoThumbnail.find('.youmax-video-list-views').prepend(videoViewCount+' vues | '); 455 $videoThumbnail.find('.youmax-duration').append(videoDuration); 456 //$videoThumbnail.append('<div class="youmax-definition">'+videoDefinition+'</div>'); 457 458 } 459 }, 460 461 462 getUploads = function(youmaxTabId,playlistTitle,nextPageToken) { 463 //showLoader(); 464 //var apiUploadURL = "http://gdata.youtube.com/feeds/api/users/"+youmaxUser+"/uploads/?v=2&alt=jsonc&max-results=50"; 465 466 var pageTokenUrl = ""; 467 var loadMoreFlag = false; 468 469 if(null!=nextPageToken) { 470 pageTokenUrl = "&pageToken="+nextPageToken; 471 loadMoreFlag = true; 472 } 473 474 var uploadsPlaylistId = youmaxTabId.substring(youmaxTabId.indexOf('_')+1); 475 var apiUploadURL = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId="+uploadsPlaylistId+"&maxResults="+youmax_global_options.maxResults+pageTokenUrl+"&key="+youmax_global_options.apiKey; 476 //var apiUploadURL = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId="+uploadsPlaylistId+"&max-results=10&key="+youmax_global_options.apiKey; 477 console.log('apiUploadURL-'+apiUploadURL); 478 479 $.ajax({ 480 url: apiUploadURL, 481 type: "GET", 482 async: true, 483 cache: true, 484 dataType: 'jsonp', 485 success: function(response) { showUploads(response,playlistTitle,loadMoreFlag);}, 486 error: function(html) { alert(html); }, 487 beforeSend: setHeader 488 }); 489 }, 490 491 492 493 getPlaylists = function(nextPageToken) { 494 495 var pageTokenUrl = ""; 496 var loadMoreFlag = false; 497 498 if(null!=nextPageToken) { 499 pageTokenUrl = "&pageToken="+nextPageToken; 500 loadMoreFlag = true; 501 } 502 503 //var apiChannelPlaylistsURL = "https://www.googleapis.com/youtube/v3/playlists?part=contentDetails,snippet&channelId="+youmaxChannelId+"&maxResults=6&key="+youmax_global_options.apiKey; 504 var apiChannelPlaylistsURL = "https://www.googleapis.com/youtube/v3/playlists?part=contentDetails,snippet&channelId="+youmaxChannelId+"&maxResults="+youmax_global_options.maxResults+pageTokenUrl+"&key="+youmax_global_options.apiKey; 505 //var apiPlaylistURL = "https://gdata.youtube.com/feeds/api/users/"+youmaxUser+"/playlists?v=2&alt=jsonc&max-results=50"; 506 $.ajax({ 507 url: apiChannelPlaylistsURL, 508 type: "GET", 509 async: true, 510 cache: true, 511 dataType: 'jsonp', 512 success: function(response) { showPlaylists(response,loadMoreFlag);}, 513 error: function(html) { alert(html); }, 514 beforeSend: setHeader 515 }); 516 }, 517 518 showVideoLightbox = function(videoId) { 519 $('#youmax-lightbox').show(); 520 $('#youmax-video-lightbox').attr('src','http://www.youtube.com/embed/'+videoId+'?autoplay=1'); 521 522 $('#youmax-lightbox').click(function(){ 523 $('#youmax-video-lightbox').attr('src',''); 524 $('#youmax-lightbox').hide(); 525 }); 526 }, 527 528 resetLoadMoreButton = function() { 529 var $youmaxLoadMoreDiv = $('#youmax-load-more-div'); 530 $youmaxLoadMoreDiv.removeClass('youmax-load-more-div-click'); 531 $youmaxLoadMoreDiv.text('en voir plus'); 532 }, 533 534 prepareYoumax = function() { 535 $('#youmax').empty(); 536 /* 537 if(youTubeChannelURL.indexOf("youtube.com/user/")!=-1) { 538 if(null!=youTubeChannelURL&&youTubeChannelURL.indexOf("?feature")!=-1) 539 youmaxUser = youTubeChannelURL.substring(youTubeChannelURL.indexOf("youtube.com/user/")+17,youTubeChannelURL.indexOf("?feature")); 540 else 541 youmaxUser = youTubeChannelURL.substring(youTubeChannelURL.indexOf("youtube.com/user/")+17); 542 } 543 544 console.log('youTubeChannelURL-'+youTubeChannelURL); 545 console.log('youmaxUser-'+youmaxUser); 546 //youmaxUser = 'UCVUZWBzxM7w8ug87qYwkBLg'; 547 //youmaxUser = 'AdeleVEVO'; 548 */ 549 550 loadYoumax(); 551 showLoader(); 552 553 $('.youmax-tab').click(function(){ 554 $('.youmax-tab-hover').removeClass('youmax-tab-hover'); 555 $(this).addClass('youmax-tab-hover'); 556 //$('.youmax-tab').css('color','#666'); 557 //$('.youmax-tab').css('background-color','rgb(230,230,230)'); 558 //$('.youmax-tab').css('text-shadow','0 1px 0 #fff'); 559 560 //$(this).css('color','#eee'); 561 //$(this).css('background-color','#999'); 562 //$(this).css('text-shadow','0 0'); 563 564 youmaxTabId = this.id; 565 566 showLoader(); 567 568 if(youmaxTabId.indexOf("featured_")!=-1) { 569 getUploads('featured_'+youmax_global_options.youmaxFeaturedPlaylistId,null,null); 570 } else if(youmaxTabId.indexOf("uploads_")!=-1) { 571 getUploads(youmaxTabId); 572 } else if(youmaxTabId.indexOf("playlists_")!=-1) { 573 getPlaylists(); 574 } 575 }); 576 577 $('#youmax-load-more-div').click(function(){ 578 579 var $youmaxLoadMoreDiv = $('#youmax-load-more-div'); 580 $youmaxLoadMoreDiv.html('<div class="sk-cube-grid"><div class="sk-cube sk-cube1"></div><div class="sk-cube sk-cube2"></div><div class="sk-cube sk-cube3"></div><div class="sk-cube sk-cube4"></div><div class="sk-cube sk-cube5"></div><div class="sk-cube sk-cube6"></div><div class="sk-cube sk-cube7"></div><div class="sk-cube sk-cube8"></div><div class="sk-cube sk-cube9"></div></div>'); 581 $youmaxLoadMoreDiv.addClass('youmax-load-more-div-click'); 582 583 var youmaxTabId = $('.youmax-tab-hover').attr('id'); 584 var nextPageToken = $youmaxLoadMoreDiv.data('nextpagetoken'); 585 console.log('load more clicked : nextPageToken-'+nextPageToken); 586 587 if(null!=nextPageToken && nextPageToken!="undefined" && nextPageToken!="") { 588 if(youmaxTabId.indexOf("featured_")!=-1) { 589 getUploads('featured_'+youmax_global_options.youmaxFeaturedPlaylistId,null,nextPageToken); 590 } else if(youmaxTabId.indexOf("uploads_")!=-1) { 591 getUploads(youmaxTabId,null,nextPageToken); 592 } else if(youmaxTabId=="playlists_") { 593 getPlaylists(nextPageToken); 594 } 595 } else { 596 $youmaxLoadMoreDiv.html('tout est chargé'); 597 } 598 599 }); 600 601 youTubeChannelURL = youmax_global_options.youTubeChannelURL; 602 603 //Get Channel header and details 604 if(youTubeChannelURL!=null) { 605 s=youTubeChannelURL.indexOf("/user/"); 606 ////console.log('s-'+s); 607 if(s!=-1) { 608 userId = youTubeChannelURL.substring(s+6); 609 //console.log('userId-'+userId);
610 apiUrl = "https://www.googleapis.com/youtube/v3/channels?part=id&forUsername="+userId+"&key="+youmax_global_options.apiKey; 611 getChannelId(apiUrl); 612 } else { 613 s=youTubeChannelURL.indexOf("/channel/"); 614 if(s!=-1) { 615 youmaxChannelId = youTubeChannelURL.substring(s+9); 616 youmax_global_options.youmaxChannelId = youmaxChannelId; 617 //console.log('channelId-'+channelId); 618 getChannelDetails(youmaxChannelId); 619 } else { 620 alert("Could Not Find Channel.."); 621 } 622 } 623 } 624 625 } 626 627 628 $.fn.youmax = function(options) { 629 630 631 //set local options 632 youmax_global_options.apiKey = options.apiKey; 633 youmax_global_options.youTubeChannelURL = options.youTubeChannelURL||''; 634 youmax_global_options.youTubePlaylistURL = options.youTubePlaylistURL||''; 635 youmax_global_options.youmaxDefaultTab = options.youmaxDefaultTab||'FEATURED'; 636 youmax_global_options.youmaxColumns = options.youmaxColumns||3; 637 youmax_global_options.showVideoInLightbox = options.showVideoInLightbox||false; 638 youmax_global_options.youmaxChannelId = ''; 639 youmax_global_options.maxResults = options.maxResults||45; 640 youmax_global_options.youmaxItemCount = 10; 641 youmax_global_options.youtubeVideoAspectRatio = 800/600; 642 643 //youmax_global_options.youmaxWidgetWidth = options.youmaxWidgetWidth||800; 644 //youmax_global_options.showFeaturedVideoOnLoad = options.showFeaturedVideoOnLoad||false; 645 youmax_global_options.youtubeMqdefaultAspectRatio = 800/600; 646 647 initFeaturedVideos(); 648 prepareYoumax(); 649 650 }; 651 652 653}( 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.