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