mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Fixed issues with window-history and soundcloud.load function
This commit is contained in:
		| @@ -17,11 +17,12 @@ function frontpage_lists(msg, socket) { | ||||
|     }); | ||||
| } | ||||
|  | ||||
| function update_frontpage(coll, id, title, callback) { | ||||
| function update_frontpage(coll, id, title, thumbnail, callback) { | ||||
|     coll = coll.replace(/ /g,''); | ||||
|     db.collection("frontpage_lists").update({_id: coll}, {$set: { | ||||
|         id: id, | ||||
|         title: title, | ||||
|         thumbnail: thumbnail, | ||||
|         accessed: Functions.get_time()} | ||||
|     },{upsert: true}, function(err, returnDocs){ | ||||
|         if(typeof(callback) == "function") callback(); | ||||
|   | ||||
| @@ -471,6 +471,7 @@ module.exports = function() { | ||||
|         socket.on('change_channel', function(obj) | ||||
|         { | ||||
|             if(obj == undefined && coll != undefined) { | ||||
|                 obj = {}; | ||||
|                 obj.channel = coll; | ||||
|             } else if(obj.hasOwnProperty("channel") && obj.channel.indexOf("?") > -1){ | ||||
|                  var _list = obj.channel.substring(0, obj.channel.indexOf("?")); | ||||
|   | ||||
| @@ -382,7 +382,7 @@ function change_song_post(coll, next_song, callback, socket) { | ||||
|                             List.send_play(coll, socket, true); | ||||
|                             callback(); | ||||
|                         } | ||||
|                         Frontpage.update_frontpage(coll, docs[0].id, docs[0].title); | ||||
|                         Frontpage.update_frontpage(coll, docs[0].id, docs[0].title, docs[0].thumbnail); | ||||
|                     }); | ||||
|                 }); | ||||
|             }); | ||||
| @@ -440,7 +440,7 @@ function send_list(coll, socket, send, list_send, configs, shuffled) | ||||
|                                                 skips:[] | ||||
|                                             } | ||||
|                                         }, function(err, returnDocs){ | ||||
|                                             Frontpage.update_frontpage(coll, now_playing_doc[0].id, now_playing_doc[0].title); | ||||
|                                             Frontpage.update_frontpage(coll, now_playing_doc[0].id, now_playing_doc[0].title, now_playing_doc[0].thumbnail); | ||||
|                                             List.send_list(coll, socket, send, list_send, configs, shuffled); | ||||
|                                         }); | ||||
|                                     }); | ||||
|   | ||||
| @@ -88,6 +88,7 @@ function addFromOtherList(arr, guid, offline, socket) { | ||||
|                                                                 db.collection(channel).find({now_playing: true}, function(e, np_docs) { | ||||
|                                                                     to_change.id = np_docs[0].id; | ||||
|                                                                     to_change.title = np_docs[0].title; | ||||
|                                                                     to_change.thumbnail = np_docs[0].thumbnail; | ||||
|                                                                     db.collection("frontpage_lists").update({_id: channel}, {$set: to_change}, function(e, d) { | ||||
|                                                                         List.send_list(channel, undefined, false, true, false); | ||||
|                                                                         List.send_play(channel, undefined); | ||||
| @@ -218,6 +219,7 @@ function addPlaylist(arr, guid, offline, socket) { | ||||
|                                                     db.collection(channel).find({now_playing: true}, function(e, np_docs) { | ||||
|                                                         to_change.id = np_docs[0].id; | ||||
|                                                         to_change.title = np_docs[0].title; | ||||
|                                                         to_change.thumbnail = np_docs[0].thumbnail; | ||||
|                                                         db.collection("frontpage_lists").update({_id: channel}, {$set: to_change}, function(e, d) { | ||||
|                                                             List.send_list(channel, undefined, false, true, false); | ||||
|                                                             List.send_play(channel, undefined); | ||||
| @@ -387,7 +389,8 @@ function add_function(arr, coll, guid, offline, socket) { | ||||
|                                                 List.send_list(coll, undefined, false, true, false); | ||||
|                                                 db.collection(coll + "_settings").update({ id: "config" }, {$set:{startTime: Functions.get_time()}}); | ||||
|                                                 List.send_play(coll, undefined); | ||||
|                                                 Frontpage.update_frontpage(coll, id, title); | ||||
|                                                 var thumbnail = arr.thumbnail != undefined ? arr.thumbnail : undefined; | ||||
|                                                 Frontpage.update_frontpage(coll, id, title, thumbnail); | ||||
|                                                 if(source != "soundcloud") Search.get_correct_info(new_song, coll, false); | ||||
|                                             } else { | ||||
|                                                 io.to(coll).emit("channel", {type: "added", value: new_song}); | ||||
|   | ||||
| @@ -8,6 +8,7 @@ var startTime = 0; | ||||
| var socket_connected = false; | ||||
| var dynamicListeners = {}; | ||||
| var player_ready = false; | ||||
| var soundcloud_loading = false; | ||||
| var firstLoad = ""; | ||||
| var list_html = document.getElementById("list-song-html").innerHTML; | ||||
| var w_p		= true; | ||||
|   | ||||
| @@ -80,7 +80,7 @@ var Frontpage = { | ||||
|                 var description = lists[x].description; | ||||
|                 var img; | ||||
|                 if(id.indexOf("soundcloud.com") > -1) { | ||||
|                     img = "background-image:url('http://icons.iconarchive.com/icons/uiconstock/socialmedia/128/Soundcloud-icon.png');"; | ||||
|                     img = "background-image:url('" + lists[x].thumbnail + "');"; | ||||
|                 } else { | ||||
|                     img = "background-image:url('https://img.youtube.com/vi/"+id+"/hqdefault.jpg');"; | ||||
|                     if(lists[x].thumbnail) { | ||||
|   | ||||
| @@ -12,6 +12,7 @@ var videoSource; | ||||
| var dynamicListeners = {}; | ||||
| var socket_connected = false; | ||||
| var hasadmin = 0; | ||||
| var soundcloud_loading = false; | ||||
| var list_html = document.querySelectorAll("#list-song-html").length > 0 ? document.querySelector("#list-song-html").innerHTML : undefined; | ||||
| var unseen 			   	  		= false; | ||||
| var searching 		   	  		= false; | ||||
|   | ||||
| @@ -446,34 +446,35 @@ var Player = { | ||||
|                 console.log(Player.soundcloud_player.src.indexOf(id), seekTo); | ||||
|                 Player.stopVideo(); | ||||
|                 Helper.removeClass(document.getElementById("player_overlay"), "hide"); | ||||
|                 document.getElementById("player_overlay_text").innerText = "Loading SoundCloud"; | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); | ||||
|                 if(Player.soundcloud_player.src.indexOf(id) > -1) { | ||||
|                     console.log("seekto " + seekTo + " start " + start); | ||||
|                     if(start == undefined) start = 0; | ||||
|                     if(seekTo == undefined) seekTo = 0; | ||||
|                     SC.Widget(Player.soundcloud_player).seekTo((start + seekTo) * 1000); | ||||
|                     SC.Widget(Player.soundcloud_player).seekTo((seekTo) * 1000); | ||||
|                 } else { | ||||
|                     SC.Widget(Player.soundcloud_player).load(id, { | ||||
|                         auto_play: true, | ||||
|                         buying:false, | ||||
|                         sharing:false, | ||||
|                         download:false, | ||||
|                         show_user:false, | ||||
|                         callback: function() { | ||||
|                             Player.stopVideo(); | ||||
|                             SC.Widget(Player.soundcloud_player).setVolume(embed ? 100 : Crypt.get_volume()); | ||||
|                             console.log(start, seekTo); | ||||
|                             if(start == undefined) start = 0; | ||||
|                             if(seekTo == undefined) seekTo = 0; | ||||
|                             SC.Widget(Player.soundcloud_player).seekTo((start + seekTo) * 1000); | ||||
|                             Helper.css(document.getElementById("player_overlay"), "background",  "url('" + full_playlist[full_playlist.length - 1].thumbnail + "')"); | ||||
|                             Helper.css(document.getElementById("player_overlay"), "background-size", "auto"); | ||||
|                             Helper.css(document.getElementById("player_overlay"), "background-position", "20%"); | ||||
|                             Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); | ||||
|                             Helper.addClass("#player_overlay_text", "hide"); | ||||
|                         } | ||||
|                     }); | ||||
|                     console.log("loaded here"); | ||||
|                     document.querySelector("#soundcloud_container").innerHTML = '<iframe width="100%" id="soundcloud_player" height="166" scrolling="no" frameborder="no" style="visibility: hidden;z-index: -999;" \ | ||||
|                       src="https://w.soundcloud.com/player/?url=' + id + '&auto_play=true&buying=false&sharing=false&download=false&show_user=false"> \ | ||||
|                     </iframe>'; | ||||
|                     Player.soundcloud_player = document.querySelector("#soundcloud_player"); | ||||
|                     soundcloud_loading = true; | ||||
|                     SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.FINISH, Player.soundcloudFinish); | ||||
|                     SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.PAUSE, Player.soundcloudPause); | ||||
|                     SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.PLAY, Player.soundcloudPlay); | ||||
|                     SC.Widget(Player.soundcloud_player).setVolume(embed ? 100 : Crypt.get_volume()); | ||||
|                     console.log(start, seekTo); | ||||
|                     if(start == undefined) start = 0; | ||||
|                     if(seekTo == undefined) seekTo = 0; | ||||
|  | ||||
|                     SC.Widget(Player.soundcloud_player).seekTo((seekTo) * 1000); | ||||
|                 } | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background",  "url('" + full_playlist[full_playlist.length - 1].thumbnail + "')"); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-size", "auto"); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-position", "20%"); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); | ||||
|                 Helper.addClass("#player_overlay_text", "hide"); | ||||
|                 //SC.Widget(Player.soundcloud_player).play(); | ||||
|             } else { | ||||
|             //window.player = Player.player; | ||||
| @@ -498,27 +499,46 @@ var Player = { | ||||
|         else e = Player.np.end; | ||||
|  | ||||
|         if(videoSource == "soundcloud") { | ||||
|             Helper.removeClass(document.getElementById("player_overlay"), "hide"); | ||||
|             Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); | ||||
|             SC.Widget(Player.soundcloud_player).load(id, { | ||||
|                 auto_play: false, | ||||
|                 buying:false, | ||||
|                 sharing:false, | ||||
|                 download:false, | ||||
|                 show_user:false, | ||||
|                 callback: function() { | ||||
|             if(videoSource == "soundcloud") { | ||||
|                 console.log(Player.soundcloud_player.src.indexOf(id), seekTo); | ||||
|                 Player.stopVideo(); | ||||
|                 Helper.removeClass(document.getElementById("player_overlay"), "hide"); | ||||
|                 document.getElementById("player_overlay_text").innerText = "Loading SoundCloud"; | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); | ||||
|                 if(Player.soundcloud_player.src.indexOf(id) > -1) { | ||||
|                     console.log("seekto " + seekTo + " start " + start); | ||||
|                     if(start == undefined) start = 0; | ||||
|                     if(seekTo == undefined) seekTo = 0; | ||||
|                     SC.Widget(Player.soundcloud_player).seekTo((seekTo) * 1000); | ||||
|                 } else { | ||||
|                     console.log("loaded here"); | ||||
|                     document.querySelector("#soundcloud_container").innerHTML = '<iframe width="100%" id="soundcloud_player" height="166" scrolling="no" frameborder="no" style="visibility: hidden;z-index: -999;" \ | ||||
|                       src="https://w.soundcloud.com/player/?url=' + id + '&auto_play=false&buying=false&sharing=false&download=false&show_user=false"> \ | ||||
|                     </iframe>'; | ||||
|                     Player.soundcloud_player = document.querySelector("#soundcloud_player"); | ||||
|                     soundcloud_loading = true; | ||||
|                     SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.FINISH, Player.soundcloudFinish); | ||||
|                     SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.PAUSE, Player.soundcloudPause); | ||||
|                     SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.PLAY, Player.soundcloudPlay); | ||||
|                     SC.Widget(Player.soundcloud_player).setVolume(embed ? 100 : Crypt.get_volume()); | ||||
|                     console.log(start, seekTo); | ||||
|                     if(start == undefined) start = 0; | ||||
|                     if(seekTo == undefined) seekTo = 0; | ||||
|                     SC.Widget(Player.soundcloud_player).seekTo((start + seekTo) * 1000); | ||||
|                     Helper.css(document.getElementById("player_overlay"), "background",  "url('" + full_playlist[full_playlist.length - 1].thumbnail + "')"); | ||||
|                     Helper.css(document.getElementById("player_overlay"), "background-size", "cover"); | ||||
|                     Helper.css(document.getElementById("player_overlay"), "background-position", "20%"); | ||||
|                     Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); | ||||
|                     Helper.addClass("#player_overlay_text", "hide"); | ||||
|                     SC.Widget(Player.soundcloud_player).seekTo((seekTo) * 1000); | ||||
|                 } | ||||
|             }); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background",  "url('" + full_playlist[full_playlist.length - 1].thumbnail + "')"); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-size", "auto"); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-position", "20%"); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); | ||||
|                 Helper.addClass("#player_overlay_text", "hide"); | ||||
|                 //SC.Widget(Player.soundcloud_player).play(); | ||||
|             } else { | ||||
|             //window.player = Player.player; | ||||
|                 Helper.addClass(document.getElementById("player_overlay"), "hide"); | ||||
|                 Helper.css(document.getElementById("player_overlay"), "background",  "none"); | ||||
|                 Helper.removeClass("#player_overlay_text", "hide"); | ||||
|                 Player.player.loadVideoById({'videoId': id, 'startSeconds': s, 'endSeconds': e}); | ||||
|             } | ||||
|         } else { | ||||
|             Player.player.cueVideoById({'videoId': id, 'startSeconds': s, 'endSeconds': e}); | ||||
|         } | ||||
| @@ -708,8 +728,13 @@ var Player = { | ||||
|  | ||||
|     soundcloudPlay: function() { | ||||
|         console.log("playing"); | ||||
|         console.log(videoSource, soundcloud_loading); | ||||
|         if(videoSource == "youtube") { | ||||
|             SC.Widget(Player.soundcloud_player).pause(); | ||||
|         } else if(soundcloud_loading){ | ||||
|             SC.Widget(Player.soundcloud_player).seekTo((seekTo) * 1000); | ||||
|             console.log("We need to skip !", Player.np.start, seekTo) | ||||
|             soundcloud_loading = false; | ||||
|         } | ||||
|         if(embed) { | ||||
|             Helper.css("#player", "visibility", "visible"); | ||||
| @@ -931,6 +956,7 @@ var Player = { | ||||
|                 } else { | ||||
|                     currDurr = Player.player.getCurrentTime() !== undefined ? Math.floor(Player.player.getCurrentTime()) : seekTo; | ||||
|                 } | ||||
|                 console.log(Player.np.start, currDurr, Player.np.end); | ||||
|                 if(currDurr - Player.np.start > duration && !offline) { | ||||
|                     currDurr = duration - Player.np.start; | ||||
|                 } | ||||
|   | ||||
| @@ -12,9 +12,11 @@ | ||||
|         <div id="player"></div> | ||||
|         <div id="player_overlay" class="hide valign-wrapper"> | ||||
|         </div> | ||||
|         <iframe width="100%" id="soundcloud_player" height="166" scrolling="no" frameborder="no" style="top: 0px; left:0px; visibility: hidden;z-index: -999;position: absolute;pointer-events: none;" | ||||
|           src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/undefined&{ auto_play: false, buying:false, sharing:false, download:false, show_user:false, }"> | ||||
|         </iframe> | ||||
|         <div id="soundcloud_container"> | ||||
|             <iframe width="100%" id="soundcloud_player" height="166" scrolling="no" frameborder="no" style="top: 0px; left:0px; visibility: hidden;z-index: -999;position: absolute;pointer-events: none;" | ||||
|               src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/undefined&{ auto_play: false, buying:false, sharing:false, download:false, show_user:false, }"> | ||||
|             </iframe> | ||||
|         </div> | ||||
|         <div id="zoffbutton" title="Visit the channel!"></div> | ||||
|         <div id="controls" class="noselect"> | ||||
|             <div id="playpause"> | ||||
|   | ||||
| @@ -3,9 +3,11 @@ | ||||
|         <div id="fireplace_player" class="ytplayer"></div> | ||||
|     {{/unless}} | ||||
|     <div id="player" class="ytplayer"></div> | ||||
|     <iframe width="100%" id="soundcloud_player" height="166" scrolling="no" frameborder="no" style="visibility: hidden;z-index: -999;" | ||||
|       src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/undefined&{ auto_play: false, buying:false, sharing:false, download:false, show_user:false, }"> | ||||
|     </iframe> | ||||
|     <div id="soundcloud_container"> | ||||
|         <iframe width="100%" id="soundcloud_player" height="166" scrolling="no" frameborder="no" style="visibility: hidden;z-index: -999;" | ||||
|           src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/undefined&{ auto_play: false, buying:false, sharing:false, download:false, show_user:false, }"> | ||||
|         </iframe> | ||||
|     </div> | ||||
|     <div id="main_components"> | ||||
|         <div id="player_overlay" class="hide valign-wrapper"> | ||||
|             <div id="playing_on"> | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
|         <div class="row"> | ||||
|             <div class="col s12 m6 center"> | ||||
|                 <div class="col s12 center"> | ||||
|                     <img src="https://en.bitcoin.it/w/images/en/c/cb/BC_Logotype.png" alt="bitcoin-image" class="col s6 center"/> | ||||
|                     <img src="/assets/images/btcdonate.png" alt="bitcoin-image" class="col s6 center"/> | ||||
|                     <input type="text" id="bitcoin-address" readonly value="18DxBV9ij9t1eSLC3rTrugJbzGtMVPEyNB" /> | ||||
|                 </div> | ||||
|                 <div class="col s12 center"> | ||||
|   | ||||
| @@ -751,7 +751,8 @@ router.route('/api/list/:channel_name/:video_id').post(function(req,res) { | ||||
|                                                             postEnd(channel_name, configs, new_song, guid, res, authenticated, authorized); | ||||
|                                                         }); | ||||
|                                                     } else if(set_np) { | ||||
|                                                         Frontpage.update_frontpage(channel_name, video_id, title, function() { | ||||
|                                                         var thumbnail = req.body.thumbnail != undefined ? req.body.thumbnail : undefined; | ||||
|                                                         Frontpage.update_frontpage(channel_name, video_id, title, thumbnail, function() { | ||||
|                                                             io.to(channel_name).emit("np", {np: [new_song], conf: [conf]}); | ||||
|                                                             postEnd(channel_name, configs, new_song, guid, res, authenticated, authorized); | ||||
|                                                         }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user