mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Moved oauth callback to /api/oauth and embed to /api/embed, with utilizing the search in url
This commit is contained in:
		| @@ -1,6 +1,6 @@ | ||||
| window.addEventListener("load", function() { | ||||
|     var query = getQueryHash(window.location.hash); | ||||
|     var redirect  = window.location.protocol + "//" + window.location.hostname + "/o_callback"; | ||||
|     var redirect  = window.location.protocol + "//" + window.location.hostname + "/api/oauth"; | ||||
|     var client_id; | ||||
|     var response; | ||||
|     var scope; | ||||
|   | ||||
| @@ -52,10 +52,12 @@ var began = false; | ||||
| var seekTo; | ||||
| var socket; | ||||
| var video_id; | ||||
| var hash = window.location.hash.substring(1).split("&"); | ||||
| var chan = Helper.decodeChannelName(hash[0]); | ||||
| var autoplay = false; | ||||
| var color = "#808080"; | ||||
| var embedOptions = getSearch(window.location.search); | ||||
| var chan = Helper.decodeChannelName(embedOptions["channel"]); | ||||
| var autoplay = embedOptions["autoplay"]; | ||||
| var videoonly = embedOptions["videoonly"]; | ||||
| var color = "#" + embedOptions["color"]; | ||||
| var localmode = embedOptions["localmode"]; | ||||
| var dragging = false; | ||||
| var user_auth_started = false; | ||||
| var user_auth_avoid = false; | ||||
| @@ -98,14 +100,26 @@ window.addEventListener("message", receiveMessage, false); | ||||
| window.addEventListener("DOMContentLoaded", function() { | ||||
|  | ||||
| }); | ||||
| window.addEventListener("load", function() { | ||||
|     if(hash.length >= 2 && hash.indexOf("autoplay") > 0){ | ||||
|         autoplay = true; | ||||
|         Helper.css("#player", "visibility", "hidden"); | ||||
|     } else { | ||||
|         //paused = true; | ||||
|  | ||||
| function getSearch(elem) { | ||||
|     var result = {}; | ||||
|     var search = window.location.search.split("&"); | ||||
|     for(var i = 0; i < search.length; i++) { | ||||
|         var currElement = search[i].split("="); | ||||
|         var key = currElement[0].replace("?", ""); | ||||
|         var value = currElement[1]; | ||||
|         if(value == "true") value = true; | ||||
|         else if(value == "false") value = false; | ||||
|         result[key] = value; | ||||
|     } | ||||
|     if(hash.indexOf("videoonly") > -1) { | ||||
|     return result; | ||||
| } | ||||
|  | ||||
| window.addEventListener("load", function() { | ||||
|     if(autoplay){ | ||||
|         Helper.css("#player", "visibility", "hidden"); | ||||
|     } | ||||
|     if(videoonly) { | ||||
|         Helper.addClass("#wrapper", "hide"); | ||||
|         Helper.addClass("#controls", "hide"); | ||||
|         Helper.addClass("#player", "video_only"); | ||||
| @@ -116,13 +130,13 @@ window.addEventListener("load", function() { | ||||
|     M.Modal.init(document.getElementById("locked_channel"), { | ||||
|         dismissible: false | ||||
|     }); | ||||
|     color = "#" + hash[1]; | ||||
|  | ||||
|     add = "https://zoff.me"; | ||||
|     //if(window.location.hostname == "localhost") add = "localhost"; | ||||
|     //add = "localhost"; | ||||
|     socket = io.connect(''+add+':8080', connection_options); | ||||
|  | ||||
|     if(hash.indexOf("localmode") > 1) { | ||||
|     if(localmode) { | ||||
|         change_offline(true, false); | ||||
|     } | ||||
|  | ||||
| @@ -170,7 +184,7 @@ window.addEventListener("load", function() { | ||||
|     //Helper.css("#controls", "background-color", color); | ||||
|  | ||||
|     document.querySelector("body").style.backgroundColor = color; | ||||
|     if(hash.indexOf("controll") > -1) { | ||||
|     if(embedOptions.hasOwnProperty("control") && embedOptions.control) { | ||||
|         Hostcontroller.change_enabled(true); | ||||
|     } else { | ||||
|         Hostcontroller.change_enabled(false); | ||||
|   | ||||
| @@ -797,7 +797,7 @@ function disable_debug(){ | ||||
| function embed_code(autoplay, width, height, color, embed_videoonly, embed_localmode){ | ||||
|     var autoplay_add = ""; | ||||
|     if(autoplay == "&autoplay") autoplay_add = 'allow="autoplay"'; | ||||
|     return '<iframe src="https://zoff.me/_embed#' + chan.toLowerCase() + '&' + color + autoplay + embed_videoonly + embed_localmode + '" width="' + width + 'px" height="' + height + 'px" ' + autoplay_add + '></iframe>'; | ||||
|     return '<iframe src="https://zoff.me/api/embed/?channel=' + chan.toLowerCase() + color + autoplay + embed_videoonly + embed_localmode + '" width="' + width + 'px" height="' + height + 'px" ' + autoplay_add + '></iframe>'; | ||||
| } | ||||
|  | ||||
| function change_offline(enabled, already_offline){ | ||||
|   | ||||
| @@ -88,14 +88,14 @@ var not_import_html = ""; | ||||
| var not_export_html = ""; | ||||
| var embed_height = 300; | ||||
| var embed_width = 600; | ||||
| var embed_videoonly = ""; | ||||
| var embed_localmode = ""; | ||||
| var embed_autoplay = "&autoplay"; | ||||
| var embed_videoonly = "&videoonly=false"; | ||||
| var embed_localmode = "&localmode=false"; | ||||
| var embed_autoplay = "&autoplay=true"; | ||||
| var connect_error = false; | ||||
| var access_token_data_youtube = {}; | ||||
| var youtube_authenticated = false; | ||||
| var chromecastAvailable = false; | ||||
| var color = "2d2d2d"; | ||||
| var color = "&color=2d2d2d"; | ||||
| var find_start = false; | ||||
| var durationTimeout; | ||||
| var find_started = false; | ||||
| @@ -859,7 +859,7 @@ function addDynamicListeners() { | ||||
|  | ||||
|     addListener("input", '#color_embed', function(e){ | ||||
|         var that = e; | ||||
|         color = that.value.substring(1); | ||||
|         color = "&color=" + that.value.substring(1); | ||||
|         document.getElementById("embed-area").value = embed_code(embed_autoplay, embed_width, embed_height, color, embed_videoonly, embed_localmode); | ||||
|     }); | ||||
|  | ||||
| @@ -944,7 +944,7 @@ function addDynamicListeners() { | ||||
|                 youtube_window.close(); | ||||
|                 window.callback = ""; | ||||
|             }; | ||||
|             youtube_window = window.open("/o_callback#youtube=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|             youtube_window = window.open("/api/oauth#youtube=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|         } else { | ||||
|             List.exportToYoutube(); | ||||
|         } | ||||
| @@ -972,7 +972,7 @@ function addDynamicListeners() { | ||||
|             spotify_window.close(); | ||||
|             window.callback = ""; | ||||
|         }; | ||||
|         spotify_window = window.open("/o_callback#spotify=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|         spotify_window = window.open("/api/oauth#spotify=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|     }); | ||||
|  | ||||
|     addListener("submit", "#listImport", function(event){ | ||||
| @@ -1103,28 +1103,45 @@ function addDynamicListeners() { | ||||
|  | ||||
|                 Search.importSpotifyPlaylist('https://api.spotify.com/v1/users/' + user + '/playlists/' + playlist_id + '/tracks'); | ||||
|             } else { | ||||
|                 before_toast(); | ||||
|                 M.toast({html: "It seems you've entered a invalid url.", displayLength: 4000}); | ||||
|                 var url = document.getElementById("import_spotify").value.split("https://open.spotify.com/playlist/"); | ||||
|  | ||||
|                 if(url.length == 2) { | ||||
|                     /*url = url[1].split("/"); | ||||
|                     var user = url[0];*/ | ||||
|                     var playlist_id = url[1]; | ||||
|                     playlist_id = playlist_id.replace("?", ""); | ||||
|  | ||||
|                     document.getElementById("import_spotify").disabled = true; | ||||
|                     Helper.addClass("#import_spotify", "hide"); | ||||
|                     Helper.removeClass("#playlist_loader_spotify", "hide"); | ||||
|  | ||||
|                     ga('send', 'event', "import", "spotify"); | ||||
|  | ||||
|                     Search.importSpotifyPlaylist('https://api.spotify.com/v1/playlists/' + playlist_id + '/tracks'); | ||||
|                 } else { | ||||
|                     before_toast(); | ||||
|                     M.toast({html: "It seems you've entered a invalid url.", displayLength: 4000}); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         document.getElementById("import_spotify").value = ""; | ||||
|     }); | ||||
|  | ||||
|     addListener("change", "#autoplay", function(e) { | ||||
|         if(e.checked) embed_autoplay = "&autoplay"; | ||||
|         else embed_autoplay = ""; | ||||
|         if(e.checked) embed_autoplay = "&autoplay=true"; | ||||
|         else embed_autoplay = "&autoplay=false"; | ||||
|         document.getElementById("embed-area").value = embed_code(embed_autoplay, embed_width, embed_height, color, embed_videoonly, embed_localmode); | ||||
|     }); | ||||
|  | ||||
|     addListener("change", "#videoonly", function(e) { | ||||
|         if(e.checked) embed_videoonly = "&videoonly"; | ||||
|         else embed_videoonly = ""; | ||||
|         if(e.checked) embed_videoonly = "&videoonly=true"; | ||||
|         else embed_videoonly = "&videoonly=false"; | ||||
|         document.getElementById("embed-area").value = embed_code(embed_autoplay, embed_width, embed_height, color, embed_videoonly, embed_localmode); | ||||
|     }); | ||||
|  | ||||
|     addListener("change", "#localmode", function(e) { | ||||
|         if(e.checked) embed_localmode = "&localmode"; | ||||
|         else embed_localmode = ""; | ||||
|         if(e.checked) embed_localmode = "&localmode=true"; | ||||
|         else embed_localmode = "&localmode=false"; | ||||
|         document.getElementById("embed-area").value = embed_code(embed_autoplay, embed_width, embed_height, color, embed_videoonly, embed_localmode); | ||||
|     }); | ||||
|  | ||||
| @@ -1262,7 +1279,7 @@ function addDynamicListeners() { | ||||
|             spotify_window.close(); | ||||
|             window.callback = ""; | ||||
|         }; | ||||
|         spotify_window = window.open("/o_callback#spotify=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|         spotify_window = window.open("/api/oauth#spotify=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|     }); | ||||
|  | ||||
|     addListener("click", ".import-youtube", function(event){ | ||||
|   | ||||
| @@ -498,7 +498,7 @@ importPlaylist: function(pId,pageToken){ | ||||
|                         youtube_window.close(); | ||||
|                         window.callback = ""; | ||||
|                     }; | ||||
|                     youtube_window = window.open("/o_callback#youtube=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|                     youtube_window = window.open("/api/oauth#youtube=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|                 } else { | ||||
|                     Helper.log([ | ||||
|                         "import list error: ", | ||||
| @@ -555,7 +555,7 @@ importPlaylist: function(pId,pageToken){ | ||||
|                     youtube_window.close(); | ||||
|                     window.callback = ""; | ||||
|                 }; | ||||
|                 youtube_window = window.open("/o_callback#youtube=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|                 youtube_window = window.open("/api/oauth#youtube=true&nonce=" + nonce, "", "width=600, height=600"); | ||||
|             } else { | ||||
|                 Helper.log([ | ||||
|                     "import list error: ", | ||||
|   | ||||
| @@ -57,6 +57,23 @@ router.route('/').post(function(req, res, next){ | ||||
|     root(req, res, next); | ||||
| }); | ||||
|  | ||||
| router.route('/api/embed').get(function(req, res, next) { | ||||
|     var data = { | ||||
|         year: year, | ||||
|         javascript_file: "embed.min.js", | ||||
|         captcha: res.recaptcha, | ||||
|         analytics: analytics, | ||||
|         stylesheet: "embed.css", | ||||
|         embed: true, | ||||
|         og_image: "https://zoff.me/assets/images/small-square.jpg", | ||||
|     } | ||||
|     res.render('layouts/client/embed', data); | ||||
| }); | ||||
|  | ||||
| router.route('/api/oauth').get(function(req, res, next) { | ||||
|     res.sendFile(path.join(pathThumbnails, '/public/assets/html/callback.html')); | ||||
| }); | ||||
|  | ||||
| router.route('/api/apply').get(function(req, res, next) { | ||||
|     var data = { | ||||
|         year: year, | ||||
| @@ -196,20 +213,9 @@ function channel(req, res, next) { | ||||
|         } else if(subdomain.length >= 2 && subdomain[0] == "www") { | ||||
|             res.redirect("https://zoff.me"); | ||||
|         } else { | ||||
|             if(req.params.channel_name == "_embed") { | ||||
|                 //res.sendFile(path.join(pathThumbnails, '/public/assets/html/embed.html')); | ||||
|                 var data = { | ||||
|                     year: year, | ||||
|                     javascript_file: "embed.min.js", | ||||
|                     captcha: res.recaptcha, | ||||
|                     analytics: analytics, | ||||
|                     stylesheet: "embed.css", | ||||
|                     embed: true, | ||||
|                     og_image: "https://zoff.me/assets/images/small-square.jpg", | ||||
|                 } | ||||
|                 res.render('layouts/client/embed', data); | ||||
|             } else if(req.params.channel_name == "o_callback") { | ||||
|                 res.sendFile(path.join(pathThumbnails, '/public/assets/html/callback.html')); | ||||
|             if(req.params.channel_name == "o_callback") { | ||||
|                 res.redirect("/api/oauth"); | ||||
|                 //res.sendFile(path.join(pathThumbnails, '/public/assets/html/callback.html')); | ||||
|             } else { | ||||
|                 /*db.collection("frontpage_lists").find({"_id": Functions.encodeChannelName(req.params.channel_name)}, function(err, docs) { | ||||
|                     console.log(docs); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user