mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Started migration from jquery
This commit is contained in:
		| @@ -9,8 +9,8 @@ var Admin = { | |||||||
|         w_p = false; |         w_p = false; | ||||||
|  |  | ||||||
|         if(Admin.logged_in) { |         if(Admin.logged_in) { | ||||||
|             $("#thumbnail_form").css("display", "inline-block"); |             Helper.css("#thumbnail_form", "display", "inline-block"); | ||||||
|             $("#description_form").css("display", "inline-block"); |             Helper.css("#description_form", "display", "inline-block"); | ||||||
|             $("#user_suggests").removeClass("hide"); |             $("#user_suggests").removeClass("hide"); | ||||||
|             $("#user-suggest-html").removeClass("hide"); |             $("#user-suggest-html").removeClass("hide"); | ||||||
|             if($(".suggested-badge").text() != "0" && $(".suggested-badge").text() != "") { |             if($(".suggested-badge").text() != "0" && $(".suggested-badge").text() != "") { | ||||||
|   | |||||||
| @@ -571,8 +571,9 @@ var Channel = { | |||||||
|             socket.removeEventListener("suggested"); |             socket.removeEventListener("suggested"); | ||||||
|             socket.removeEventListener("color"); |             socket.removeEventListener("color"); | ||||||
|             socket.removeEventListener("chat_history"); |             socket.removeEventListener("chat_history"); | ||||||
|             $.ajax({ |             Helper.ajax({ | ||||||
|                 url: "/", |                 url: "/", | ||||||
|  |                 method: "GET", | ||||||
|                 success: function(e){ |                 success: function(e){ | ||||||
|  |  | ||||||
|                     if(!client) { |                     if(!client) { | ||||||
|   | |||||||
| @@ -215,7 +215,7 @@ var Frontpage = { | |||||||
|                 if(window.location.hostname == "fb.zoff.me") { |                 if(window.location.hostname == "fb.zoff.me") { | ||||||
|                     add = "https://zoff.me"; |                     add = "https://zoff.me"; | ||||||
|                 } |                 } | ||||||
|                 $.ajax({ |                 Helper.ajax({ | ||||||
|                     type: "POST", |                     type: "POST", | ||||||
|                     data: {id:id}, |                     data: {id:id}, | ||||||
|                     url: add + "/api/imageblob", |                     url: add + "/api/imageblob", | ||||||
| @@ -259,10 +259,11 @@ var Frontpage = { | |||||||
|         if(window.location.hostname == "fb.zoff.me") { |         if(window.location.hostname == "fb.zoff.me") { | ||||||
|             add = "https://zoff.me"; |             add = "https://zoff.me"; | ||||||
|         } |         } | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             url: add + "/api/frontpages", |             url: add + "/api/frontpages", | ||||||
|             method: "get", |             method: "get", | ||||||
|             success: function(response){ |             success: function(response){ | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 Frontpage.frontpage_function(response.results); |                 Frontpage.frontpage_function(response.results); | ||||||
|             }, |             }, | ||||||
|             error: function() { |             error: function() { | ||||||
| @@ -327,7 +328,7 @@ var Frontpage = { | |||||||
|         } |         } | ||||||
|         currently_showing_channels = 1; |         currently_showing_channels = 1; | ||||||
|         clearTimeout(retry_frontpage); |         clearTimeout(retry_frontpage); | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             url: "/" + new_channel, |             url: "/" + new_channel, | ||||||
|             method: "get", |             method: "get", | ||||||
|             data: {channel: new_channel}, |             data: {channel: new_channel}, | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ function removeAllListeners() { | |||||||
| } | } | ||||||
|  |  | ||||||
| function getColor(id) { | function getColor(id) { | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "POST", |         type: "POST", | ||||||
|         url: "/api/color", |         url: "/api/color", | ||||||
|         async: true, |         async: true, | ||||||
| @@ -30,6 +30,7 @@ function getColor(id) { | |||||||
|             id: id |             id: id | ||||||
|         }, |         }, | ||||||
|         success: function(c) { |         success: function(c) { | ||||||
|  |             c = JSON.parse(c); | ||||||
|             if(typeof(c) == "object") { |             if(typeof(c) == "object") { | ||||||
|                 Player.setBGimage({color:c, only:true}); |                 Player.setBGimage({color:c, only:true}); | ||||||
|             } |             } | ||||||
| @@ -185,7 +186,7 @@ function emit_list() { | |||||||
|  |  | ||||||
| function get_list_ajax() { | function get_list_ajax() { | ||||||
|     //var c = Crypt.get_userpass(chan.toLowerCase()); |     //var c = Crypt.get_userpass(chan.toLowerCase()); | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "POST", |         type: "POST", | ||||||
|         data: { |         data: { | ||||||
|             userpass: "", |             userpass: "", | ||||||
| @@ -193,6 +194,7 @@ function get_list_ajax() { | |||||||
|         }, |         }, | ||||||
|         url: "/api/list/" + chan.toLowerCase(), |         url: "/api/list/" + chan.toLowerCase(), | ||||||
|         success: function(response) { |         success: function(response) { | ||||||
|  |             response = JSON.parse(response); | ||||||
|             if(response.results.length > 0) { |             if(response.results.length > 0) { | ||||||
|                 if(response.status == 403) { |                 if(response.status == 403) { | ||||||
|                     start_auth(); |                     start_auth(); | ||||||
| @@ -203,13 +205,14 @@ function get_list_ajax() { | |||||||
|                 List.populate_list(response.results); |                 List.populate_list(response.results); | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         error: function(response) { |         error: function(response, xmlhttp) { | ||||||
|             if(response.responseJSON.status == 403) { |             response = JSON.parse(response); | ||||||
|  |             if(response.status == 403) { | ||||||
|                 start_auth(); |                 start_auth(); | ||||||
|             } else if(response.responseJSON.status == 429) { |             } else if(response.status == 429) { | ||||||
|                 setTimeout(function() { |                 setTimeout(function() { | ||||||
|                     get_list_ajax(); |                     get_list_ajax(); | ||||||
|                 }, response.getResponseHeader("Retry-After") * 1000) |                 }, xmlhttp.getResponseHeader("Retry-After") * 1000) | ||||||
|             } |             } | ||||||
|             if(client) { |             if(client) { | ||||||
|                 $("#channel-load").remove(); |                 $("#channel-load").remove(); | ||||||
| @@ -260,7 +263,7 @@ function mouseContext(left, top) { | |||||||
| function get_np_ajax() { | function get_np_ajax() { | ||||||
|     /*var c = Crypt.get_userpass(chan.toLowerCase()); |     /*var c = Crypt.get_userpass(chan.toLowerCase()); | ||||||
|     if(c == undefined) c = "";*/ |     if(c == undefined) c = "";*/ | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "POST", |         type: "POST", | ||||||
|         data: { |         data: { | ||||||
|             userpass: "", |             userpass: "", | ||||||
| @@ -269,15 +272,17 @@ function get_np_ajax() { | |||||||
|         }, |         }, | ||||||
|         url: "/api/list/" + chan.toLowerCase() + "/__np__", |         url: "/api/list/" + chan.toLowerCase() + "/__np__", | ||||||
|         success: function(response) { |         success: function(response) { | ||||||
|  |             response = JSON.parse(response); | ||||||
|             Player.getTitle(response.results[0].title, 1); |             Player.getTitle(response.results[0].title, 1); | ||||||
|         }, |         }, | ||||||
|         error: function(response) { |         error: function(response, xmlhttp) { | ||||||
|             if(response.responseJSON.status == 403) { |             response = JSON.parse(response); | ||||||
|  |             if(response.status == 403) { | ||||||
|                 start_auth(); |                 start_auth(); | ||||||
|             } else if(response.responseJSON.status == 429) { |             } else if(response.status == 429) { | ||||||
|                 setTimeout(function() { |                 setTimeout(function() { | ||||||
|                     get_np_ajax(); |                     get_np_ajax(); | ||||||
|                 }, response.getResponseHeader("Retry-After") * 1000) |                 }, xmlhttp.getResponseHeader("Retry-After") * 1000) | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     }) |     }) | ||||||
| @@ -288,7 +293,7 @@ function del_ajax(id) { | |||||||
|     var u = Crypt.get_userpass(chan.toLowerCase()); |     var u = Crypt.get_userpass(chan.toLowerCase()); | ||||||
|     if(a == undefined) a = ""; |     if(a == undefined) a = ""; | ||||||
|     if(u == undefined) u = "";*/ |     if(u == undefined) u = "";*/ | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "DELETE", |         type: "DELETE", | ||||||
|         data: { |         data: { | ||||||
|             adminpass: "", |             adminpass: "", | ||||||
| @@ -300,13 +305,14 @@ function del_ajax(id) { | |||||||
|             toast("deletesong"); |             toast("deletesong"); | ||||||
|             get_list_ajax(); |             get_list_ajax(); | ||||||
|         }, |         }, | ||||||
|         error: function(response) { |         error: function(response, xmlhttp) { | ||||||
|             if(response.responseJSON.status == 403) { |             response = JSON.parse(response); | ||||||
|  |             if(response.status == 403) { | ||||||
|                 toast("listhaspass"); |                 toast("listhaspass"); | ||||||
|             } else if(response.responseJSON.status == 429) { |             } else if(response.status == 429) { | ||||||
|                 setTimeout(function() { |                 setTimeout(function() { | ||||||
|                     del_ajax(id); |                     del_ajax(id); | ||||||
|                 }, response.getResponseHeader("Retry-After") * 1000); |                 }, xmlhttp.getResponseHeader("Retry-After") * 1000); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     }) |     }) | ||||||
| @@ -317,7 +323,7 @@ function add_ajax(id, title, duration, playlist, num, full_num, start, end) { | |||||||
|     var u = Crypt.get_userpass(chan.toLowerCase()); |     var u = Crypt.get_userpass(chan.toLowerCase()); | ||||||
|     if(a == undefined) a = ""; |     if(a == undefined) a = ""; | ||||||
|     if(u == undefined) u = "";*/ |     if(u == undefined) u = "";*/ | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "POST", |         type: "POST", | ||||||
|         data: { |         data: { | ||||||
|             adminpass: "", |             adminpass: "", | ||||||
| @@ -333,15 +339,16 @@ function add_ajax(id, title, duration, playlist, num, full_num, start, end) { | |||||||
|             toast("addedsong"); |             toast("addedsong"); | ||||||
|             get_list_ajax(); |             get_list_ajax(); | ||||||
|         }, |         }, | ||||||
|         error: function(response) { |         error: function(response, xmlhttp) { | ||||||
|             if(response.responseJSON.status == 403) { |             response = JSON.parse(response); | ||||||
|  |             if(response.status == 403) { | ||||||
|                 toast("listhaspass"); |                 toast("listhaspass"); | ||||||
|             } else if(response.responseJSON.status == 409) { |             } else if(response.status == 409) { | ||||||
|                 vote_ajax(id); |                 vote_ajax(id); | ||||||
|             } else if(response.responseJSON.status == 429) { |             } else if(response.status == 429) { | ||||||
|                 setTimeout(function() { |                 setTimeout(function() { | ||||||
|                     add_ajax(id, title, duration, playlist, num, full_num, start, end); |                     add_ajax(id, title, duration, playlist, num, full_num, start, end); | ||||||
|                 }, response.getResponseHeader("Retry-After") * 1000); |                 }, xmlhttp.getResponseHeader("Retry-After") * 1000); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| @@ -352,7 +359,7 @@ function vote_ajax(id) { | |||||||
|     var u = Crypt.get_userpass(chan.toLowerCase()); |     var u = Crypt.get_userpass(chan.toLowerCase()); | ||||||
|     if(a == undefined) a = ""; |     if(a == undefined) a = ""; | ||||||
|     if(u == undefined) u = "";*/ |     if(u == undefined) u = "";*/ | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "PUT", |         type: "PUT", | ||||||
|         data: { |         data: { | ||||||
|             adminpass: "", |             adminpass: "", | ||||||
| @@ -364,13 +371,14 @@ function vote_ajax(id) { | |||||||
|             toast("voted"); |             toast("voted"); | ||||||
|             get_list_ajax(); |             get_list_ajax(); | ||||||
|         }, |         }, | ||||||
|         error: function(response) { |         error: function(response, xmlhttp) { | ||||||
|             if(response.responseJSON.status == 403) { |             response = JSON.parse(response); | ||||||
|  |             if(response.status == 403) { | ||||||
|                 toast("listhaspass"); |                 toast("listhaspass"); | ||||||
|             } else if(response.responseJSON.status == 429) { |             } else if(response.status == 429) { | ||||||
|                 setTimeout(function() { |                 setTimeout(function() { | ||||||
|                     vote_ajax(id); |                     vote_ajax(id); | ||||||
|                 }, response.getResponseHeader("Retry-After") * 1000); |                 }, xmlhttp.getResponseHeader("Retry-After") * 1000); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     }) |     }) | ||||||
|   | |||||||
| @@ -18,6 +18,81 @@ var Helper = { | |||||||
|         return arr[Math.floor(Math.random() * arr.length)]; |         return arr[Math.floor(Math.random() * arr.length)]; | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  |     css: function(element, attribute, value) { | ||||||
|  |         try { | ||||||
|  |             if(element.substring(0,1) == "#") { | ||||||
|  |                 document.getElementById(element.substring(1)).style[attribute] = value; | ||||||
|  |             } else { | ||||||
|  |                 var elements = documents.getElementsByClassName(element.substring(1)); | ||||||
|  |                 for(var i = 0; i < elements.length; i++) { | ||||||
|  |                     elements[i].style[attribute] = value; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } catch(e) { | ||||||
|  |             console.log(e); | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     removeClass: function(element, className) { | ||||||
|  |         try { | ||||||
|  |             if(element.substring(0,1) == "#") { | ||||||
|  |                 document.getElementById(element.substring(1)).classList.remove(className); | ||||||
|  |             } else { | ||||||
|  |                 var elements = documents.getElementsByClassName(element.substring(1)); | ||||||
|  |                 for(var i = 0; i < elements.length; i++) { | ||||||
|  |                     elements[i].classList.remove(className); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } catch(e) { | ||||||
|  |             console.log(e); | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     addClass: function(element, className) { | ||||||
|  |         if(element.substring(0,1) == "#") { | ||||||
|  |             var elem = document.getElementById(element.substring(1)); | ||||||
|  |             if(elem.className.indexOf(className) == -1) { | ||||||
|  |                 elem.className += " " + className; | ||||||
|  |             } | ||||||
|  |         } else { | ||||||
|  |             var elements = documents.getElementsByClassName(element.substring(1)); | ||||||
|  |             for(var i = 0; i < elements.length; i++) { | ||||||
|  |                 if(elements[i].className.indexOf(className) == -1) { | ||||||
|  |                     elements[i].className += " " + className; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     ajax: function(obj) { | ||||||
|  |         var _async = true; | ||||||
|  |         if(obj.async) _async = obj.async; | ||||||
|  |         if(obj.method == undefined) obj.method = "GET"; | ||||||
|  |         var xmlhttp = new XMLHttpRequest(); | ||||||
|  |         if(obj.headers) { | ||||||
|  |             for(header in obj.headers) { | ||||||
|  |                 xmlhttp.setRequestHeader(header, obj.headers[header]); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         xmlhttp.onreadystatechange = function() { | ||||||
|  |             if (xmlhttp.readyState == XMLHttpRequest.DONE) {   // XMLHttpRequest.DONE == 4 | ||||||
|  |                if (xmlhttp.status == 200) { | ||||||
|  |                    obj.success(xmlhttp.responseText, xmlhttp); | ||||||
|  |                } | ||||||
|  |                else { | ||||||
|  |                   obj.error(xmlhttp); | ||||||
|  |                } | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |  | ||||||
|  |         xmlhttp.open(obj.method, obj.url, _async); | ||||||
|  |         if(obj.data) { | ||||||
|  |             if(typeof(obj.data) == "object") obj.data = JSON.stringify(obj.data); | ||||||
|  |             xmlhttp.send(obj.data); | ||||||
|  |         } | ||||||
|  |         else xmlhttp.send(); | ||||||
|  |     }, | ||||||
|  |  | ||||||
|     randomString: function(length){ |     randomString: function(length){ | ||||||
|         var text = ""; |         var text = ""; | ||||||
|         var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_"; |         var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_"; | ||||||
| @@ -262,12 +337,6 @@ var Helper = { | |||||||
|         return string.substring(0,1).toUpperCase()+string.substring(1).toLowerCase(); |         return string.substring(0,1).toUpperCase()+string.substring(1).toLowerCase(); | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     addClass: function(object, toAdd){ |  | ||||||
|         if(!Helper.contains($(object).attr("class").split(" "), toAdd)){ |  | ||||||
|             $(object).addClass(toAdd); |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     send_mail: function(from, message){ |     send_mail: function(from, message){ | ||||||
|         if(from !== "" && message !== ""){ |         if(from !== "" && message !== ""){ | ||||||
|  |  | ||||||
| @@ -276,7 +345,7 @@ var Helper = { | |||||||
|             $("#contact-form-from").attr("disabled", "true"); |             $("#contact-form-from").attr("disabled", "true"); | ||||||
|             $("#contact-form-message").attr("disabled", "true"); |             $("#contact-form-message").attr("disabled", "true"); | ||||||
|             var captcha_response = grecaptcha.getResponse(); |             var captcha_response = grecaptcha.getResponse(); | ||||||
|             $.ajax({ |             Helper.ajax({ | ||||||
|                 type: "POST", |                 type: "POST", | ||||||
|                 data: { |                 data: { | ||||||
|                     from: from, |                     from: from, | ||||||
|   | |||||||
| @@ -187,14 +187,15 @@ var List = { | |||||||
|             full_playlist |             full_playlist | ||||||
|         ]); |         ]); | ||||||
|         if(full_playlist.length > 1){ |         if(full_playlist.length > 1){ | ||||||
|             $.each(full_playlist, function(j, _current_song){ |             for(var j = 0; j < full_playlist.length; j++) { | ||||||
|  |                 var _current_song = full_playlist[j]; | ||||||
|                 if(!_current_song.hasOwnProperty("start")) full_playlist[j].start = 0; |                 if(!_current_song.hasOwnProperty("start")) full_playlist[j].start = 0; | ||||||
|                 if(!_current_song.hasOwnProperty("end")) full_playlist[j].end = full_playlist[j].duration; |                 if(!_current_song.hasOwnProperty("end")) full_playlist[j].end = full_playlist[j].duration; | ||||||
|                 if(!_current_song.now_playing && _current_song.type != "suggested"){ //check that the song isnt playing |                 if(!_current_song.now_playing && _current_song.type != "suggested"){ //check that the song isnt playing | ||||||
|                     var generated = List.generateSong(_current_song, false, lazy_load, true, false, "", true) |                     var generated = List.generateSong(_current_song, false, lazy_load, true, false, "", true) | ||||||
|                     $("#wrapper").append(generated); |                     $("#wrapper").append(generated); | ||||||
|                 } |                 } | ||||||
|             }); |             } | ||||||
|             if($("#wrapper").children().length > List.can_fit && !$("#pageButtons").length){ |             if($("#wrapper").children().length > List.can_fit && !$("#pageButtons").length){ | ||||||
|                 $(".prev_page").css("display", "none"); |                 $(".prev_page").css("display", "none"); | ||||||
|                 $(".first_page").css("display", "none"); |                 $(".first_page").css("display", "none"); | ||||||
| @@ -593,17 +594,18 @@ var List = { | |||||||
|     exportToSpotify: function() { |     exportToSpotify: function() { | ||||||
|         ga('send', 'event', "export", "spotify"); |         ga('send', 'event', "export", "spotify"); | ||||||
|  |  | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "GET", |             type: "GET", | ||||||
|             url: "https://api.spotify.com/v1/me", |             url: "https://api.spotify.com/v1/me", | ||||||
|             headers: { |             headers: { | ||||||
|                 'Authorization': 'Bearer ' + access_token_data.access_token |                 'Authorization': 'Bearer ' + access_token_data.access_token | ||||||
|             }, |             }, | ||||||
|             success: function(response){ |             success: function(response){ | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 var user_id = response.id; |                 var user_id = response.id; | ||||||
|                 $("#playlist_loader_export").removeClass("hide"); |                 $("#playlist_loader_export").removeClass("hide"); | ||||||
|                 $(".exported-list-container").removeClass("hide"); |                 $(".exported-list-container").removeClass("hide"); | ||||||
|                 $.ajax({ |                 Helper.ajax({ | ||||||
|                     type: "POST", |                     type: "POST", | ||||||
|                     url: "https://api.spotify.com/v1/users/" + user_id + "/playlists", |                     url: "https://api.spotify.com/v1/users/" + user_id + "/playlists", | ||||||
|                     headers: { |                     headers: { | ||||||
| @@ -616,13 +618,14 @@ var List = { | |||||||
|                         public: true |                         public: true | ||||||
|                     }), |                     }), | ||||||
|                     success: function(response){ |                     success: function(response){ | ||||||
|  |                         response = JSON.parse(response); | ||||||
|                         var playlist_id = response.id; |                         var playlist_id = response.id; | ||||||
|                         $.ajax({ |                         Helper.ajax({ | ||||||
|                             type: "GET", |                             type: "GET", | ||||||
|                             url: window.location.protocol + "//" + window.location.hostname + "/assets/images/small-square.base64.txt", |                             url: window.location.protocol + "//" + window.location.hostname + "/assets/images/small-square.base64.txt", | ||||||
|                             success: function(base64image) { |                             success: function(base64image) { | ||||||
|                                 var image = base64image.substring(0, base64image.length - 1); |                                 var image = base64image.substring(0, base64image.length - 1); | ||||||
|                                 $.ajax({ |                                 Helper.ajax({ | ||||||
|                                     type: "PUT", |                                     type: "PUT", | ||||||
|                                     url: "https://api.spotify.com/v1/users/" + user_id + "/playlists/" + playlist_id + "/images", |                                     url: "https://api.spotify.com/v1/users/" + user_id + "/playlists/" + playlist_id + "/images", | ||||||
|                                     headers: { |                                     headers: { | ||||||
| @@ -656,7 +659,7 @@ var List = { | |||||||
|  |  | ||||||
|         $(".current_number").removeClass("hide"); |         $(".current_number").removeClass("hide"); | ||||||
|         $(".current_number").text((current_element + 1) + " of " + (full_playlist.length)); |         $(".current_number").text((current_element + 1) + " of " + (full_playlist.length)); | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "GET", |             type: "GET", | ||||||
|             url: "https://api.spotify.com/v1/search?q=" + track + "&type=track", |             url: "https://api.spotify.com/v1/search?q=" + track + "&type=track", | ||||||
|             headers: { |             headers: { | ||||||
| @@ -677,8 +680,10 @@ var List = { | |||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             success: function(response){ |             success: function(response){ | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 var found = false; |                 var found = false; | ||||||
|                 $.each(response.tracks.items, function(i, data){ |                 for(var i = 0; i < response.tracks.items.length; i++) { | ||||||
|  |                     var data = response.tracks.items[i]; | ||||||
|                     data.name = Helper.replaceForFind(data.name); |                     data.name = Helper.replaceForFind(data.name); | ||||||
|                     data.artists[0].name = Helper.replaceForFind(data.artists[0].name); |                     data.artists[0].name = Helper.replaceForFind(data.artists[0].name); | ||||||
|                     if(data.name.substring(data.name.length-1) == " ") data.name = data.name.substring(0,data.name.length-1); |                     if(data.name.substring(data.name.length-1) == " ") data.name = data.name.substring(0,data.name.length-1); | ||||||
| @@ -693,7 +698,7 @@ var List = { | |||||||
|                             track |                             track | ||||||
|                         ]); |                         ]); | ||||||
|                         //List.num_songs = List.num_songs + 1; |                         //List.num_songs = List.num_songs + 1; | ||||||
|                         return false; |                         break; | ||||||
|                     } else if(decodeURIComponent(track).indexOf(data.artists[0].name.toLowerCase()) >= 0 && decodeURIComponent(track).indexOf(data.name.toLowerCase()) >= 0){ |                     } else if(decodeURIComponent(track).indexOf(data.artists[0].name.toLowerCase()) >= 0 && decodeURIComponent(track).indexOf(data.name.toLowerCase()) >= 0){ | ||||||
|                         found = true; |                         found = true; | ||||||
|                         List.uris.push(data.uri); |                         List.uris.push(data.uri); | ||||||
| @@ -702,16 +707,19 @@ var List = { | |||||||
|                             track |                             track | ||||||
|                         ]); |                         ]); | ||||||
|                         //List.num_songs = List.num_songs + 1; |                         //List.num_songs = List.num_songs + 1; | ||||||
|                         return false; |                         break; | ||||||
|                     } else { |                     } else { | ||||||
|                         var splitted = data.name.split(" "); |                         var splitted = data.name.split(" "); | ||||||
|                         for(var i = 0; i < splitted.length; i++){ |                         var toBreak = false; | ||||||
|  |                         for(var i = 0; i < splitted.length; i++) { | ||||||
|                             if((splitted[i] == "and" && track.indexOf("&") >= 0) || (splitted[i] == "&" && track.indexOf("and") >= 0)){ |                             if((splitted[i] == "and" && track.indexOf("&") >= 0) || (splitted[i] == "&" && track.indexOf("and") >= 0)){ | ||||||
|                                 continue; |                                 continue; | ||||||
|                             } else if(track.indexOf(splitted[i]) < 0){ |                             } else if(track.indexOf(splitted[i]) < 0){ | ||||||
|                                 return true; |                                 toBreak = true; | ||||||
|  |                                 break; | ||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|  |                         if(toBreak) break; | ||||||
|                         found = true; |                         found = true; | ||||||
|                         List.uris.push(data.uri); |                         List.uris.push(data.uri); | ||||||
|                         Helper.log([ |                         Helper.log([ | ||||||
| @@ -719,9 +727,9 @@ var List = { | |||||||
|                             track |                             track | ||||||
|                         ]); |                         ]); | ||||||
|                         //List.num_songs = List.num_songs + 1; |                         //List.num_songs = List.num_songs + 1; | ||||||
|                         return false; |                         break; | ||||||
|                     } |                     } | ||||||
|                 }); |                 } | ||||||
|                 if(!found){ |                 if(!found){ | ||||||
|                     List.not_found.push(original_track); |                     List.not_found.push(original_track); | ||||||
|                     List.num_songs = List.num_songs + 1; |                     List.num_songs = List.num_songs + 1; | ||||||
| @@ -745,12 +753,14 @@ var List = { | |||||||
|                     if($(".exported-spotify-list").length == 0) { |                     if($(".exported-spotify-list").length == 0) { | ||||||
|                         $(".exported-list").append("<a target='_blank' class='btn light exported-playlist exported-spotify-list' href='https://open.spotify.com/user/" + user_id + "/playlist/"+ playlist_id + "'>" + chan + "</a>"); |                         $(".exported-list").append("<a target='_blank' class='btn light exported-playlist exported-spotify-list' href='https://open.spotify.com/user/" + user_id + "/playlist/"+ playlist_id + "'>" + chan + "</a>"); | ||||||
|                     } |                     } | ||||||
|                     $.each(List.not_found, function(i, data){ |                     for(var i = 0; i < List.not_found.length; i++) { | ||||||
|  |                         var data = List.not_found[i]; | ||||||
|  |  | ||||||
|                         var not_added_song = $("<div>" + not_export_html + "</div>"); |                         var not_added_song = $("<div>" + not_export_html + "</div>"); | ||||||
|                         not_added_song.find(".extra-add-text").attr("value", data); |                         not_added_song.find(".extra-add-text").attr("value", data); | ||||||
|                         not_added_song.find(".extra-add-text").attr("title", data); |                         not_added_song.find(".extra-add-text").attr("title", data); | ||||||
|                         $(".not-exported-container").append(not_added_song.html()); |                         $(".not-exported-container").append(not_added_song.html()); | ||||||
|                     }) |                     } | ||||||
|                     $(".current_number").addClass("hide"); |                     $(".current_number").addClass("hide"); | ||||||
|                     $(".not-exported").removeClass("hide"); |                     $(".not-exported").removeClass("hide"); | ||||||
|                     $(".spotify_export_button").css("display", "block"); |                     $(".spotify_export_button").css("display", "block"); | ||||||
| @@ -762,7 +772,7 @@ var List = { | |||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     addToSpotifyPlaylist: function(uris, playlist_id, user_id) { |     addToSpotifyPlaylist: function(uris, playlist_id, user_id) { | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "POST", |             type: "POST", | ||||||
|             url: "https://api.spotify.com/v1/users/" + user_id + "/playlists/" + playlist_id + "/tracks", |             url: "https://api.spotify.com/v1/users/" + user_id + "/playlists/" + playlist_id + "/tracks", | ||||||
|             headers: { |             headers: { | ||||||
| @@ -792,7 +802,7 @@ var List = { | |||||||
|         var request_url = "https://www.googleapis.com/youtube/v3/playlists?part=snippet"; |         var request_url = "https://www.googleapis.com/youtube/v3/playlists?part=snippet"; | ||||||
|         $(".exported-list-container").removeClass("hide"); |         $(".exported-list-container").removeClass("hide"); | ||||||
|         $("#playlist_loader_export").removeClass("hide"); |         $("#playlist_loader_export").removeClass("hide"); | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "POST", |             type: "POST", | ||||||
|             url: request_url, |             url: request_url, | ||||||
|             headers: { |             headers: { | ||||||
| @@ -806,12 +816,14 @@ var List = { | |||||||
|                 } |                 } | ||||||
|             }), |             }), | ||||||
|             success: function(response){ |             success: function(response){ | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 var number_added = 0; |                 var number_added = 0; | ||||||
|                 var playlist_id = response.id; |                 var playlist_id = response.id; | ||||||
|                 var request_url = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet"; |                 var request_url = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet"; | ||||||
|                 List.addToYoutubePlaylist(playlist_id, full_playlist, number_added, request_url) |                 List.addToYoutubePlaylist(playlist_id, full_playlist, number_added, request_url) | ||||||
|             }, |             }, | ||||||
|             error: function(response){ |             error: function(response){ | ||||||
|  |                 response = response.responseText; | ||||||
|                 Helper.log([ |                 Helper.log([ | ||||||
|                     "export to youtube response", |                     "export to youtube response", | ||||||
|                     response |                     response | ||||||
| @@ -830,7 +842,7 @@ var List = { | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "POST", |             type: "POST", | ||||||
|             url: request_url, |             url: request_url, | ||||||
|             headers: { |             headers: { | ||||||
| @@ -839,6 +851,7 @@ var List = { | |||||||
|             }, |             }, | ||||||
|             data: _data, |             data: _data, | ||||||
|             success: function(response){ |             success: function(response){ | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 Helper.log(["Added video: " + full_playlist[num].id + " to playlist id " + playlist_id]); |                 Helper.log(["Added video: " + full_playlist[num].id + " to playlist id " + playlist_id]); | ||||||
|                 if(num == full_playlist.length - 1){ |                 if(num == full_playlist.length - 1){ | ||||||
|                     Helper.log(["All videoes added!"]); |                     Helper.log(["All videoes added!"]); | ||||||
|   | |||||||
| @@ -141,9 +141,10 @@ try{ | |||||||
|  |  | ||||||
| } catch(e) {} | } catch(e) {} | ||||||
|  |  | ||||||
|  | /* | ||||||
| $.ajaxPrefilter(function( options, original_Options, jqXHR ) { | $.ajaxPrefilter(function( options, original_Options, jqXHR ) { | ||||||
|     options.async = true; |     options.async = true; | ||||||
| }); | });*/ | ||||||
|  |  | ||||||
| window.zoff = { | window.zoff = { | ||||||
|     enable_debug: enable_debug, |     enable_debug: enable_debug, | ||||||
| @@ -1226,7 +1227,7 @@ $(document).on('submit', "#error-report-form", function(e) { | |||||||
|     e.preventDefault(); |     e.preventDefault(); | ||||||
|     var captcha_response = grecaptcha.getResponse(); |     var captcha_response = grecaptcha.getResponse(); | ||||||
|     $("#send-loader").removeClass("hide"); |     $("#send-loader").removeClass("hide"); | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "POST", |         type: "POST", | ||||||
|         data: { |         data: { | ||||||
|             from: "no-reply@zoff.me", |             from: "no-reply@zoff.me", | ||||||
| @@ -1358,7 +1359,7 @@ $(document).on("click", "#player_bottom_overlay", function(e){ | |||||||
|  |  | ||||||
| $(document).on("click", ".generate-channel-name", function(e) { | $(document).on("click", ".generate-channel-name", function(e) { | ||||||
|     e.preventDefault(); |     e.preventDefault(); | ||||||
|     $.ajax({ |     Helper.ajax({ | ||||||
|         type: "GET", |         type: "GET", | ||||||
|         url: "/api/generate_name", |         url: "/api/generate_name", | ||||||
|         success: function(response) { |         success: function(response) { | ||||||
|   | |||||||
| @@ -295,6 +295,8 @@ var Player = { | |||||||
|                         }*/ |                         }*/ | ||||||
|                     //} |                     //} | ||||||
|                 } |                 } | ||||||
|  |                 $("#playpause").css("visibility", "visible"); | ||||||
|  |                 $("#playpause").css("pointer-events", "all"); | ||||||
|                 playing = true; |                 playing = true; | ||||||
|                 if(beginning && Helper.mobilecheck() && !chromecastAvailable){ |                 if(beginning && Helper.mobilecheck() && !chromecastAvailable){ | ||||||
|                     //Player.pauseVideo(); |                     //Player.pauseVideo(); | ||||||
|   | |||||||
| @@ -58,11 +58,12 @@ var Search = { | |||||||
|             if(Helper.contains($("#results").attr("class").split(" "), "hide")) |             if(Helper.contains($("#results").attr("class").split(" "), "hide")) | ||||||
|             $("#results").removeClass("hide"); |             $("#results").removeClass("hide"); | ||||||
|  |  | ||||||
|             $.ajax({ |             Helper.ajax({ | ||||||
|                 type: "GET", |                 type: "GET", | ||||||
|                 url: yt_url, |                 url: yt_url, | ||||||
|                 dataType:"jsonp", |                 dataType: "jsonp", | ||||||
|                 success: function(response){ |                 success: function(response){ | ||||||
|  |                     response = JSON.parse(response); | ||||||
|                     var nextPageToken = response.nextPageToken; |                     var nextPageToken = response.nextPageToken; | ||||||
|                     var prevPageToken = response.prevPageToken; |                     var prevPageToken = response.prevPageToken; | ||||||
|                     if(response.items.length === 0) { |                     if(response.items.length === 0) { | ||||||
| @@ -73,23 +74,23 @@ var Search = { | |||||||
|                         $(".search_loader_spinner").removeClass("active"); |                         $(".search_loader_spinner").removeClass("active"); | ||||||
|  |  | ||||||
|                     } else if(response.items){ |                     } else if(response.items){ | ||||||
|                         $.each(response.items, function(i,data) { |                         for(var i = 0; i < response.items.length; i++) { | ||||||
|                             vid_url += data.id.videoId+","; |                             vid_url += response.items[i].id.videoId+","; | ||||||
|                         }); |                         } | ||||||
|  |  | ||||||
|                         $.ajax({ |                         Helper.ajax({ | ||||||
|                             type: "GET", |                             type: "GET", | ||||||
|                             url: vid_url, |                             url: vid_url, | ||||||
|                             dataType:"jsonp", |                             dataType:"jsonp", | ||||||
|                             success: function(response){ |                             success: function(response){ | ||||||
|  |                                 response = JSON.parse(response); | ||||||
|                                 var output = ""; |                                 var output = ""; | ||||||
|                                 var pre_result = $(result_html); |                                 var pre_result = $(result_html); | ||||||
|  |  | ||||||
|                                 //$("#results").append(result_html); |                                 //$("#results").append(result_html); | ||||||
|  |  | ||||||
|                                 $.each(response.items, function(i,song) |                                 for(var i = 0; i < response.items.length; i++) { | ||||||
|                                 { |                                     var song = response.items[i]; | ||||||
|                                     var duration=song.contentDetails.duration; |                                     var duration=song.contentDetails.duration; | ||||||
|                                     secs=Search.durationToSeconds(duration); |                                     secs=Search.durationToSeconds(duration); | ||||||
|                                     var _temp_duration = Helper.secondsToOther(secs); |                                     var _temp_duration = Helper.secondsToOther(secs); | ||||||
| @@ -121,7 +122,7 @@ var Search = { | |||||||
|                                             output += songs.html(); |                                             output += songs.html(); | ||||||
|                                         } |                                         } | ||||||
|                                     } |                                     } | ||||||
|                                 }); |                                 } | ||||||
|                                 var fresh = false; |                                 var fresh = false; | ||||||
|                                 if($("#inner-results").length == 0) { |                                 if($("#inner-results").length == 0) { | ||||||
|                                     fresh = true; |                                     fresh = true; | ||||||
| @@ -189,11 +190,12 @@ var Search = { | |||||||
|         artist = artist.split(" "); |         artist = artist.split(" "); | ||||||
|         var temptitle = title.split("-"); |         var temptitle = title.split("-"); | ||||||
|         temptitle = temptitle.join(" ").split(" "); |         temptitle = temptitle.join(" ").split(" "); | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "GET", |             type: "GET", | ||||||
|             url: yt_url, |             url: yt_url, | ||||||
|             dataType:"jsonp", |             dataType:"jsonp", | ||||||
|             success: function(response){ |             success: function(response){ | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 //Helper.log(response); |                 //Helper.log(response); | ||||||
|                 if(response.items.length === 0){ |                 if(response.items.length === 0){ | ||||||
|                     Search.readySubmit(false, {totalLength: totalNumber - 1}); |                     Search.readySubmit(false, {totalLength: totalNumber - 1}); | ||||||
| @@ -209,19 +211,21 @@ var Search = { | |||||||
|                     $(".not-imported-container").append(not_added_song.html()); |                     $(".not-imported-container").append(not_added_song.html()); | ||||||
|                     $(".not-imported").removeClass("hide"); |                     $(".not-imported").removeClass("hide"); | ||||||
|                 } else if(response.items.length > 0) { |                 } else if(response.items.length > 0) { | ||||||
|                     $.each(response.items, function(i,data) |                     for(var i = 0; i < response.items; i++) { | ||||||
|                     { |                         var data = response.items[i]; | ||||||
|                         vid_url += data.id.videoId+","; |                         vid_url += data.id.videoId+","; | ||||||
|                     }); |                     } | ||||||
|  |  | ||||||
|                     $.ajax({ |                     Helper.ajax({ | ||||||
|                         type: "GET", |                         type: "GET", | ||||||
|                         url: vid_url, |                         url: vid_url, | ||||||
|                         dataType:"jsonp", |                         dataType:"jsonp", | ||||||
|                         success: function(response){ |                         success: function(response){ | ||||||
|  |                             response = JSON.parse(response); | ||||||
|                             if(response.items.length > 0) { |                             if(response.items.length > 0) { | ||||||
|                                 var matched = false; |                                 var matched = false; | ||||||
|                                 $.each(response.items, function(i, data){ |                                 for(var i = 0; i < response.items.length; i++) { | ||||||
|  |                                     var data = response.items[i]; | ||||||
|                                     //Helper.log(data); |                                     //Helper.log(data); | ||||||
|                                     //var title = data.snippet.title; |                                     //var title = data.snippet.title; | ||||||
|                                     var duration = Search.durationToSeconds(data.contentDetails.duration); |                                     var duration = Search.durationToSeconds(data.contentDetails.duration); | ||||||
| @@ -229,7 +233,9 @@ var Search = { | |||||||
|                                     if(similarity(data.snippet.title, artist + " - " + title) > 0.75) { |                                     if(similarity(data.snippet.title, artist + " - " + title) > 0.75) { | ||||||
|                                         not_matched = false; |                                         not_matched = false; | ||||||
|                                     } else { |                                     } else { | ||||||
|                                         $.each(temptitle, function(i, data_title){ |                                         for(var i = 0; i < temptitle.length; i++) { | ||||||
|  |                                             var data_title = temptitle[i]; | ||||||
|  |  | ||||||
|                                             if(data.snippet.title.toLowerCase().indexOf(data_title.toLowerCase()) == -1 || !( |                                             if(data.snippet.title.toLowerCase().indexOf(data_title.toLowerCase()) == -1 || !( | ||||||
|                                                 data.snippet.title.toLowerCase().indexOf("cover") == -1 && |                                                 data.snippet.title.toLowerCase().indexOf("cover") == -1 && | ||||||
|                                                 title.toLowerCase().indexOf("cover") == -1 && |                                                 title.toLowerCase().indexOf("cover") == -1 && | ||||||
| @@ -243,16 +249,16 @@ var Search = { | |||||||
|                                             not_matched = true; |                                             not_matched = true; | ||||||
|                                             else if(duration > 1800) not_matched = true; |                                             else if(duration > 1800) not_matched = true; | ||||||
|  |  | ||||||
|                                             return false; |  | ||||||
|                                         }); |                                         } | ||||||
|                                     } |                                     } | ||||||
|  |  | ||||||
|                                     if((!not_matched)){ |                                     if((!not_matched)){ | ||||||
|                                         matched = true; |                                         matched = true; | ||||||
|                                         Search.readySubmit(true, { id: data.id, title: data.snippet.title, duration: duration, totalLength: totalNumber - 1}); |                                         Search.readySubmit(true, { id: data.id, title: data.snippet.title, duration: duration, totalLength: totalNumber - 1}); | ||||||
|                                         return false; |                                         break; | ||||||
|                                     } |                                     } | ||||||
|                                 }); |                                 } | ||||||
|                                 if(!matched){ |                                 if(!matched){ | ||||||
|                                     Search.readySubmit(false, {totalLength: totalNumber - 1}); |                                     Search.readySubmit(false, {totalLength: totalNumber - 1}); | ||||||
|                                     Helper.log([ |                                     Helper.log([ | ||||||
| @@ -327,13 +333,14 @@ var Search = { | |||||||
|             headers = {};//'Content-Type': 'application/json'}; |             headers = {};//'Content-Type': 'application/json'}; | ||||||
|             datatype = "jsonp"; |             datatype = "jsonp"; | ||||||
|         } |         } | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "GET", |             type: "GET", | ||||||
|             url: playlist_url, |             url: playlist_url, | ||||||
|             dataType: datatype, |             dataType: datatype, | ||||||
|             //dataType:"jsonp", |             //dataType:"jsonp", | ||||||
|             headers: headers, |             headers: headers, | ||||||
|             success: function(response) { |             success: function(response) { | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 if(response.error){ |                 if(response.error){ | ||||||
|                     if(response.error.errors[0].reason == "playlistItemsNotAccessible"){ |                     if(response.error.errors[0].reason == "playlistItemsNotAccessible"){ | ||||||
|                         var nonce = Helper.randomString(29); |                         var nonce = Helper.randomString(29); | ||||||
| @@ -372,12 +379,13 @@ var Search = { | |||||||
|                     if(typeof(response) == "string") response = $.parseJSON(response); |                     if(typeof(response) == "string") response = $.parseJSON(response); | ||||||
|                     //Search.addVideos(response.items[0].contentDetails.videoId); |                     //Search.addVideos(response.items[0].contentDetails.videoId); | ||||||
|                     //response.items.shift(); |                     //response.items.shift(); | ||||||
|                     $.each(response.items, function(i,data) { |                     for(var i = 0; i < response.items.length; i++) { | ||||||
|  |                         var data = response.items[i]; | ||||||
|                         ids+=data.contentDetails.videoId+","; |                         ids+=data.contentDetails.videoId+","; | ||||||
|                         Search.submitYouTubeArrayIds.push(data.contentDetails.videoId); |                         Search.submitYouTubeArrayIds.push(data.contentDetails.videoId); | ||||||
|                         this_length += 1; |                         this_length += 1; | ||||||
|                         Search.submitYouTubeExpected += 1; |                         Search.submitYouTubeExpected += 1; | ||||||
|                     }); |                     } | ||||||
|  |  | ||||||
|                     if(response.nextPageToken) { |                     if(response.nextPageToken) { | ||||||
|                         //Search.addVideos(ids, true, 0, false, this_length); |                         //Search.addVideos(ids, true, 0, false, this_length); | ||||||
| @@ -394,18 +402,19 @@ var Search = { | |||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     importSpotifyPlaylist: function(url){ |     importSpotifyPlaylist: function(url){ | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             url: url, |             url: url, | ||||||
|             headers: { |             headers: { | ||||||
|                 'Authorization': 'Bearer ' + access_token_data.access_token |                 'Authorization': 'Bearer ' + access_token_data.access_token | ||||||
|             }, |             }, | ||||||
|             success: function(response) { |             success: function(response) { | ||||||
|                 $.each(response.items, function(i,data) |                 response = JSON.parse(response); | ||||||
|                 { |                 for(var i = 0; i < response.items.length; i++) { | ||||||
|  |                     var data = response.items[i]; | ||||||
|                     //ids+=data.contentDetails.videoId+","; |                     //ids+=data.contentDetails.videoId+","; | ||||||
|                     Search.backgroundSearch(data.track.name, data.track.artists.map(function(elem){return elem.name;}).join(" "), Math.floor(data.track.duration_ms/1000), response.total, i + response.offset); |                     Search.backgroundSearch(data.track.name, data.track.artists.map(function(elem){return elem.name;}).join(" "), Math.floor(data.track.duration_ms/1000), response.total, i + response.offset); | ||||||
|  |  | ||||||
|                 }); |                 } | ||||||
|                 if(response.next){ |                 if(response.next){ | ||||||
|                     Search.importSpotifyPlaylist(response.next); |                     Search.importSpotifyPlaylist(response.next); | ||||||
|                 } |                 } | ||||||
| @@ -433,16 +442,18 @@ var Search = { | |||||||
|             request_url += ids[i] + ","; |             request_url += ids[i] + ","; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "POST", |             type: "POST", | ||||||
|             url: request_url, |             url: request_url, | ||||||
|             dataType:"jsonp", |             dataType:"jsonp", | ||||||
|             success: function(response){ |             success: function(response){ | ||||||
|  |                 response = JSON.parse(response); | ||||||
|                 var x = 0; |                 var x = 0; | ||||||
|                 if(response.error) { |                 if(response.error) { | ||||||
|                     Search.submitYouTubeError = true; |                     Search.submitYouTubeError = true; | ||||||
|                 } |                 } | ||||||
|                 $.each(response.items, function(i,song) { |                 for(var i = 0; i < response.items.length; i++) { | ||||||
|  |                     var song = response.items[i]; | ||||||
|                     var duration=Search.durationToSeconds(song.contentDetails.duration); |                     var duration=Search.durationToSeconds(song.contentDetails.duration); | ||||||
|                     if(!longsongs || duration<720){ |                     if(!longsongs || duration<720){ | ||||||
|                         enc_title= song.snippet.title;//encodeURIComponent(song.snippet.title); |                         enc_title= song.snippet.title;//encodeURIComponent(song.snippet.title); | ||||||
| @@ -450,7 +461,7 @@ var Search = { | |||||||
|                         x += 1; |                         x += 1; | ||||||
|                         Search.submitYouTubeArray.push({id: song.id, title: enc_title, duration: duration}); |                         Search.submitYouTubeArray.push({id: song.id, title: enc_title, duration: duration}); | ||||||
|                     } |                     } | ||||||
|                 }); |                 } | ||||||
|                 if(more) Search.addVideos(next_ids); |                 if(more) Search.addVideos(next_ids); | ||||||
|                 else { |                 else { | ||||||
|                     socket.emit("addPlaylist", {channel: chan.toLowerCase(), songs: Search.submitYouTubeArray}); |                     socket.emit("addPlaylist", {channel: chan.toLowerCase(), songs: Search.submitYouTubeArray}); | ||||||
|   | |||||||
| @@ -40,26 +40,29 @@ var Suggestions = { | |||||||
|         var get_url 	= "https://www.googleapis.com/youtube/v3/search?part=snippet&relatedToVideoId="+id+"&type=video&key="+api_key; |         var get_url 	= "https://www.googleapis.com/youtube/v3/search?part=snippet&relatedToVideoId="+id+"&type=video&key="+api_key; | ||||||
|         var video_urls	= "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+api_key+"&id="; |         var video_urls	= "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+api_key+"&id="; | ||||||
|  |  | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "GET", |             type: "GET", | ||||||
|             url: get_url, |             url: get_url, | ||||||
|             dataType:"jsonp", |             dataType:"jsonp", | ||||||
|             success: function(response) |             success: function(response) | ||||||
|             { |             { | ||||||
|                 $.each(response.items.slice(0,5), function(i,data){ |                 response = JSON.parse(response); | ||||||
|  |                 var this_resp = response.items.slice(0,5); | ||||||
|  |                 for(var i = 0; i < this_resp.length; i++) { | ||||||
|  |                     var data = this_resp[i]; | ||||||
|                     video_urls += data.id.videoId+","; |                     video_urls += data.id.videoId+","; | ||||||
|                 }); |                 } | ||||||
|  |  | ||||||
|                 $.ajax({ |                 Helper.ajax({ | ||||||
|                     type: "GET", |                     type: "GET", | ||||||
|                     url: video_urls, |                     url: video_urls, | ||||||
|                     dataType: "jsonp", |                     dataType: "jsonp", | ||||||
|                     success: function(response) |                     success: function(response) | ||||||
|                     { |                     { | ||||||
|  |                         response = JSON.parse(response); | ||||||
|                         $("#suggest-song-html").empty(); |                         $("#suggest-song-html").empty(); | ||||||
|  |                         for(var i = 0; i < response.items.length; i++) { | ||||||
|                         $.each(response.items, function(i,song) |                             var song = response.items[i]; | ||||||
|                         { |  | ||||||
|                             var duration 	= song.contentDetails.duration; |                             var duration 	= song.contentDetails.duration; | ||||||
|                             var length 		= Search.durationToSeconds(duration); |                             var length 		= Search.durationToSeconds(duration); | ||||||
|                             duration 		= Helper.secondsToOther(Search.durationToSeconds(duration)); |                             duration 		= Helper.secondsToOther(Search.durationToSeconds(duration)); | ||||||
| @@ -67,7 +70,7 @@ var Suggestions = { | |||||||
|                             var video_title = song.snippet.title; |                             var video_title = song.snippet.title; | ||||||
|  |  | ||||||
|                             $("#suggest-song-html").append(List.generateSong({id: video_id, title: video_title, length: length, duration: duration}, false, false, false)); |                             $("#suggest-song-html").append(List.generateSong({id: video_id, title: video_title, length: length, duration: duration}, false, false, false)); | ||||||
|                         }); |                         } | ||||||
|                     } |                     } | ||||||
|                 }); |                 }); | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ $(document).ready(function() { | |||||||
|         $(".submit").toggleClass("disabled"); |         $(".submit").toggleClass("disabled"); | ||||||
|         $(".full-form-token").removeClass("hide"); |         $(".full-form-token").removeClass("hide"); | ||||||
|         var captcha_response = grecaptcha.getResponse(); |         var captcha_response = grecaptcha.getResponse(); | ||||||
|         $.ajax({ |         Helper.ajax({ | ||||||
|             type: "POST", |             type: "POST", | ||||||
|             url: "/api/apply", |             url: "/api/apply", | ||||||
|             data: { |             data: { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user