mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
168 lines
5.2 KiB
JavaScript
Executable File
168 lines
5.2 KiB
JavaScript
Executable File
var Suggestions = {
|
|
catchUserSuggests: function(params, single) {
|
|
if (single) {
|
|
number_suggested = number_suggested + 1;
|
|
} else {
|
|
number_suggested = number_suggested + params.length;
|
|
}
|
|
for (var i = 0; i < params.length; i++) {
|
|
if (document.querySelectorAll("#suggested-" + params[i].id).length > 0) {
|
|
number_suggested -= 1;
|
|
}
|
|
}
|
|
var to_display = number_suggested > 9 ? "9+" : number_suggested;
|
|
if (number_suggested > 0 && Admin.logged_in) {
|
|
Helper.removeClass(
|
|
document.querySelector(".suggested-link span.badge.new.white"),
|
|
"hide"
|
|
);
|
|
}
|
|
document.querySelector(
|
|
".suggested-link span.badge.new.white"
|
|
).innerText = to_display;
|
|
if (single) {
|
|
Suggestions.createSuggested(params);
|
|
} else {
|
|
for (var x in params) {
|
|
Suggestions.createSuggested(params[x]);
|
|
}
|
|
}
|
|
Suggestions.checkUserEmpty();
|
|
},
|
|
|
|
createSuggested: function(params) {
|
|
var duration = Helper.secondsToOther(params.duration);
|
|
var video_id = params.id;
|
|
var video_title = params.title;
|
|
var date = new Date(params.added * 1000);
|
|
var addedTime =
|
|
Helper.pad(date.getHours()) +
|
|
":" +
|
|
Helper.pad(date.getMinutes()) +
|
|
" - " +
|
|
Helper.pad(date.getDate()) +
|
|
"." +
|
|
Helper.pad(date.getMonth()) +
|
|
"." +
|
|
Helper.pad(date.getYear() - 100);
|
|
var toSend = {
|
|
id: video_id,
|
|
title: video_title,
|
|
length: params.duration,
|
|
duration: duration,
|
|
votes: addedTime,
|
|
extra: "Added"
|
|
};
|
|
if (params.source) toSend.source = params.source;
|
|
else {
|
|
toSend.source = "youtube";
|
|
}
|
|
if (params.thumbnail) toSend.thumbnail = params.thumbnail;
|
|
var song = List.generateSong(toSend, false, false, false, true);
|
|
var testingElem;
|
|
try {
|
|
testingElem = document.getElementById(video_id);
|
|
} catch (e) {}
|
|
|
|
if (
|
|
!testingElem &&
|
|
document.querySelectorAll("#suggested-" + video_id).length == 0
|
|
) {
|
|
document
|
|
.getElementById("user-suggest-html")
|
|
.insertAdjacentHTML("beforeend", song);
|
|
}
|
|
},
|
|
|
|
fetchYoutubeSuggests: function(id) {
|
|
if (videoSource == "soundcloud") {
|
|
Helper.addClass(document.querySelector(".suggest-title-info"), "hide");
|
|
Helper.addClass("#suggest-song-html", "hide");
|
|
return;
|
|
} else {
|
|
Helper.removeClass(document.querySelector(".suggest-title-info"), "hide");
|
|
Helper.removeClass("#suggest-song-html", "hide");
|
|
}
|
|
var get_url =
|
|
"https://www.googleapis.com/youtube/v3/search?part=snippet&relatedToVideoId=" +
|
|
id +
|
|
"&type=video&key=" +
|
|
api_key.youtube;
|
|
var video_urls =
|
|
"https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id,statistics&fields=pageInfo,items(id,contentDetails,snippet(categoryId,channelTitle,publishedAt,title,description,thumbnails))&key=" +
|
|
api_key.youtube +
|
|
"&id=";
|
|
|
|
Helper.ajax({
|
|
type: "GET",
|
|
url: get_url,
|
|
dataType: "jsonp",
|
|
success: function(response) {
|
|
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 + ",";
|
|
}
|
|
|
|
Helper.ajax({
|
|
type: "GET",
|
|
url: video_urls,
|
|
dataType: "jsonp",
|
|
success: function(response) {
|
|
response = JSON.parse(response);
|
|
Helper.setHtml("#suggest-song-html", "");
|
|
for (var i = 0; i < response.items.length; i++) {
|
|
var song = response.items[i];
|
|
var duration = song.contentDetails.duration;
|
|
var length = Search.durationToSeconds(duration);
|
|
duration = Helper.secondsToOther(
|
|
Search.durationToSeconds(duration)
|
|
);
|
|
var video_id = song.id;
|
|
var video_title = song.snippet.title;
|
|
var viewCount = 0;
|
|
try {
|
|
viewCount = song.statistics.viewCount
|
|
.toString()
|
|
.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
} catch (e) {}
|
|
|
|
try {
|
|
document
|
|
.getElementById("suggest-song-html")
|
|
.insertAdjacentHTML(
|
|
"beforeend",
|
|
List.generateSong(
|
|
{
|
|
id: video_id,
|
|
title: video_title,
|
|
length: length,
|
|
duration: duration,
|
|
votes: viewCount,
|
|
extra: "Views",
|
|
source: "youtube"
|
|
},
|
|
false,
|
|
false,
|
|
false
|
|
)
|
|
);
|
|
} catch (e) {}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
},
|
|
|
|
checkUserEmpty: function() {
|
|
var length = document.getElementById("user-suggest-html").children.length;
|
|
if (length === 0) {
|
|
Helper.addClass("#user_suggests", "hide");
|
|
} else if (Admin.logged_in) {
|
|
Helper.removeClass("#user_suggests", "hide");
|
|
}
|
|
}
|
|
};
|