mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			122 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			5.3 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");
 | 
						|
        }
 | 
						|
    },
 | 
						|
};
 |