mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Reorganized files and added script to convert old lists
This commit is contained in:
2006
js/iscroll.js
Executable file
2006
js/iscroll.js
Executable file
File diff suppressed because it is too large
Load Diff
114
js/list.js
Executable file
114
js/list.js
Executable file
@@ -0,0 +1,114 @@
|
||||
var list;
|
||||
var toSend = "";
|
||||
var sendURL;
|
||||
var myScroll;
|
||||
var scroller = false;
|
||||
var showToggle =true;
|
||||
var chan = $("#chan").html();
|
||||
|
||||
function updateList()
|
||||
{
|
||||
console.log("updating list");
|
||||
list = $.ajax({ type: "GET",
|
||||
url: "php/change.php",
|
||||
async: false
|
||||
}).responseText;
|
||||
list = $.parseJSON(list);
|
||||
list[0].shift();
|
||||
list[3].shift();
|
||||
list[2].shift();
|
||||
|
||||
setTimeout(function()
|
||||
{
|
||||
|
||||
$("#wrapper").empty();
|
||||
|
||||
$.each(list[0], function(j, listeID){
|
||||
|
||||
var video_title=list[3][j].replace(/\\\'/, "'");
|
||||
var video_id = list[0][j];
|
||||
var video_thumb = "http://i.ytimg.com/vi/"+video_id+"/default.jpg";
|
||||
var odd = ""; if(j%2==0)odd=" oddlist";
|
||||
var finalhtml="<div id='result' class='result lresult"+odd+"'>"+
|
||||
"<img src='"+video_thumb+"' class='thumb lthumb'>"+
|
||||
"<div class='ltitle'>"+video_title+"</div>"+
|
||||
"<div class='votes'>"+list[2][j]+"<a onclick=\"vote('"+video_id+"','pos');\" id='plus'>+</a><a onclick=\"vote('"+video_id+"','neg');\" id='minus'>-</a></div>"+
|
||||
"</div>";
|
||||
$("#wrapper").append(finalhtml);
|
||||
});
|
||||
if($("#playlist").height() > $("#player").height())
|
||||
{
|
||||
if(!window.mobilecheck())
|
||||
{
|
||||
$("#playlist").css({height: $("#player").height() - $("#buttons").height()-4});
|
||||
$("#playlist").css({overflow: "hidden"});
|
||||
if(scroller == false)
|
||||
{
|
||||
myScroll = new IScroll('#playlist', {
|
||||
mouseWheel: true,
|
||||
scrollbars: false,
|
||||
scrollY: true,
|
||||
interactiveScrollbars: false
|
||||
});
|
||||
scroller = true;
|
||||
}else
|
||||
{
|
||||
myScroll.refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
if(window.mobilecheck())
|
||||
{
|
||||
document.getElementById("player").style.display="none";
|
||||
ytplayer.pauseVideo();
|
||||
}
|
||||
}, 2500);
|
||||
}
|
||||
|
||||
function vote(id, vote){
|
||||
console.log($.ajax({
|
||||
type: "GET",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "vote="+vote+"&id="+id,
|
||||
success: function() {
|
||||
console.log("voted "+vote+" on "+id);
|
||||
if(vote=="pos"){ $("#playlist").addClass("success");}
|
||||
else{ $("#playlist").addClass("error");}
|
||||
},
|
||||
}).responseText);
|
||||
setTimeout(function(){
|
||||
$("#playlist").removeClass("success");
|
||||
$("#playlist").removeClass("error");
|
||||
},1500);
|
||||
}
|
||||
|
||||
function skip(){
|
||||
console.log($.ajax({
|
||||
type: "GET",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "skip",
|
||||
success: function() {
|
||||
console.log("voted to skip song");
|
||||
$("#buttons").addClass("success");
|
||||
},
|
||||
}).responseText);
|
||||
setTimeout(function(){
|
||||
$("#playlist").removeClass("success");
|
||||
},1500);
|
||||
}
|
||||
|
||||
function show(){
|
||||
if(showToggle){
|
||||
showToggle=false;
|
||||
$("#toptitle").empty();
|
||||
$("#chan").addClass("bigChan");
|
||||
$("#chan").html("zoff.no/"+chan);
|
||||
}else{
|
||||
showToggle=true;
|
||||
$("#toptitle").html("Zöff");
|
||||
$("#chan").removeClass("bigChan");
|
||||
$("#chan").html(chan);
|
||||
}
|
||||
}
|
||||
95
js/search.js
Executable file
95
js/search.js
Executable file
@@ -0,0 +1,95 @@
|
||||
$(document).ready(function()
|
||||
{
|
||||
|
||||
$("#search").focus();
|
||||
|
||||
$('#base').bind("keyup keypress", function(e) {
|
||||
var code = e.keyCode || e.which;
|
||||
if (code == 13) {
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
var old_input="";
|
||||
$(".search_input").focus();
|
||||
setTimeout(function(){
|
||||
$(".search_input").keyup(function()
|
||||
{
|
||||
var search_input = $(this).val();
|
||||
if(search_input != old_input){
|
||||
old_input=search_input;
|
||||
$("#results").html('');
|
||||
if(search_input != ""){
|
||||
var keyword= encodeURIComponent(search_input);
|
||||
|
||||
var yt_url='http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&max-results=25&v=2&alt=jsonc';
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: yt_url,
|
||||
dataType:"jsonp",
|
||||
success: function(response)
|
||||
{
|
||||
if(response.data.items)
|
||||
{
|
||||
$.each(response.data.items, function(i,data)
|
||||
{
|
||||
if(data.duration > 720){return;}
|
||||
var video_title=encodeURIComponent(data.title).replace(/'/g, "\\\'");
|
||||
var views=data.viewCount;
|
||||
var video_thumb = "http://i.ytimg.com/vi/"+data.id+"/default.jpg";
|
||||
var length = Math.floor(data.duration/60)+":"+(data.duration-Math.floor(data.duration / 60)*60);
|
||||
var finalhtml="<div id='result' class='result' onclick=\"submit('"+data.id+"','"+video_title+"');\">"+
|
||||
"<img src='"+video_thumb+"' class='thumb'>"+
|
||||
"<div id='title'>"+data.title+""+
|
||||
"<span class='result_info'>"+data.uploader+" • "+views+" views • "+length+"</span></div></div>";
|
||||
|
||||
$("#results").append(finalhtml);
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#video").html("<div id='no'>No Video</div>");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}, 300);
|
||||
});
|
||||
|
||||
function submit(id,title){
|
||||
console.log($.ajax({
|
||||
type: "GET",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "v="+id+"&n="+title,
|
||||
success: function() {
|
||||
console.log("added "+id);
|
||||
document.getElementById("search").value = "";
|
||||
$("#search").addClass("success");
|
||||
$("#results").html('');
|
||||
},
|
||||
error: function(){
|
||||
console.log("error in adding");
|
||||
document.getElementById("search").value = "";
|
||||
$("#search").addClass("error");
|
||||
$("#results").html('');
|
||||
}
|
||||
}).responseText);
|
||||
|
||||
$("#search").focus();
|
||||
|
||||
setTimeout(function(){
|
||||
$("#search").removeClass("success");
|
||||
$("#search").removeClass("error");
|
||||
},1500);
|
||||
}
|
||||
|
||||
// if(reply=="added"){$("#search").removeClass('success'); $("#search").addClass('success');}
|
||||
5
js/visualize.js
Executable file
5
js/visualize.js
Executable file
@@ -0,0 +1,5 @@
|
||||
/*$(document).ready(function()
|
||||
{
|
||||
context = new AudioContext();
|
||||
src = context.createMediaElementSource($('#player video'));
|
||||
}*/
|
||||
292
js/youtube.js
Executable file
292
js/youtube.js
Executable file
@@ -0,0 +1,292 @@
|
||||
/*
|
||||
This is the youtube player sync and control file.
|
||||
|
||||
Fetcher sangen som spilles fra JSON filen
|
||||
|
||||
*/
|
||||
|
||||
var timeDifference;
|
||||
var wasPaused;
|
||||
var beginning;
|
||||
var diffVideo;
|
||||
var serverTime;
|
||||
var url;
|
||||
var response;
|
||||
var url
|
||||
var tag
|
||||
var firstScriptTag;
|
||||
var ytplayer;
|
||||
var syncInterval;
|
||||
var title;
|
||||
var interval;
|
||||
var viewers;
|
||||
var changed = false;
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
window.mobilecheck = function() {
|
||||
var check = false;
|
||||
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
|
||||
return check; }
|
||||
|
||||
updateList();
|
||||
timeDifference;
|
||||
wasPaused = false;
|
||||
beginning = true;
|
||||
diffVideo = false;
|
||||
interval = false;
|
||||
response = $.ajax({ type: "GET",
|
||||
url: "php/change.php",
|
||||
async: false
|
||||
}).responseText;
|
||||
|
||||
url = $.parseJSON(response);
|
||||
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
url: 'php/timedifference.php',
|
||||
data: "abcde",
|
||||
async: false,
|
||||
success: function(data) {
|
||||
timeDifference = $.parseJSON(data);
|
||||
}
|
||||
});
|
||||
console.log("timediff:"+timeDifference[0]);
|
||||
|
||||
response = url[0][0];
|
||||
|
||||
tag = document.createElement('script');
|
||||
tag.src = "https://www.youtube.com/iframe_api";
|
||||
firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
if(window.mobilecheck()){
|
||||
syncInterval = setInterval(getTime, 50000);
|
||||
listInterval = setInterval(updateList, 50000);
|
||||
document.getElementById("search").blur();
|
||||
}else{
|
||||
syncInterval = setInterval(getTime, 5000);
|
||||
listInterval = setInterval(updateList, 10000);
|
||||
}
|
||||
});
|
||||
|
||||
function onYouTubeIframeAPIReady() {
|
||||
ytplayer = new YT.Player('player', {
|
||||
height: window.height*0.75,
|
||||
width: window.width*0.6,
|
||||
videoId: response,
|
||||
playerVars: { controls: "1" , iv_load_policy: "3", theme:"light", rel:"0", color:"white" },
|
||||
events: {
|
||||
'onReady': onPlayerReady,
|
||||
'onStateChange': onPlayerStateChange,
|
||||
'onError': errorHandler
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Legger sangen inn i <div>en, via swfobject
|
||||
|
||||
|
||||
var params = { allowScriptAccess: "always"};
|
||||
var atts = { id: "myytplayer" };
|
||||
swfobject.embedSWF("http://www.youtube.com/v/"+response+"?enablejsapi=1&playerapiid=ytplayer&version=3&controls=1&iv_load_policy=3",
|
||||
"ytapiplayer", "825", "462", "8", null, null, params, atts);
|
||||
|
||||
|
||||
eventlistener for når playeren endres
|
||||
*/
|
||||
function onPlayerStateChange(newState) {
|
||||
console.log("new state: "+newState.data);
|
||||
console.log("beginning: "+beginning);
|
||||
//ytplayer.seekTo(15);
|
||||
if((newState.data == 0 && checkEnd()) || (newState.data == 1 && checkEnd()))
|
||||
{
|
||||
console.log("nummer 1");
|
||||
startNextSong();
|
||||
ytplayer.pauseVideo();
|
||||
wasPaused = false;
|
||||
}else if(newState.data == 1 && (wasPaused && !beginning))
|
||||
{
|
||||
console.log("unpaused");
|
||||
beginning = false;
|
||||
wasPaused = false;
|
||||
syncInterval = setInterval(getTime, 5000);
|
||||
getTime();
|
||||
}else if(newState.data == 2)
|
||||
{
|
||||
clearInterval(syncInterval);
|
||||
interval = true;
|
||||
wasPaused = true;
|
||||
beginning = false;
|
||||
}
|
||||
}
|
||||
|
||||
function checkEnd()
|
||||
{
|
||||
console.log("sjekker om brukeren spolte");
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
url: 'php/timedifference.php',
|
||||
data: "abcde",
|
||||
async: false,
|
||||
success: function(data) {
|
||||
timeDifference = $.parseJSON(data);
|
||||
}
|
||||
});
|
||||
if(parseInt(timeDifference[0]) > ytplayer.getDuration())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function startNextSong()
|
||||
{
|
||||
|
||||
//console.log(getTime());
|
||||
if(checkEnd() && !changed)
|
||||
{
|
||||
setTimeout(function(){
|
||||
response = $.ajax({
|
||||
type: "POST",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "thisUrl="+response+"&act=save",
|
||||
|
||||
success: function() {
|
||||
console.log("saved song-switch - "+response);
|
||||
}
|
||||
}).responseText;
|
||||
|
||||
console.log("next video: "+response);
|
||||
getTitle(response);
|
||||
ytplayer.loadVideoById(response);
|
||||
beginning = true;
|
||||
|
||||
},2500);
|
||||
updateList();
|
||||
changed = true
|
||||
setTimeout(function() {
|
||||
changed = false;
|
||||
syncInterval = setInterval(getTime, 5000);
|
||||
interval = true;
|
||||
console.log("starter intervallen. Interval: " + interval);
|
||||
}, 2500);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getTime()
|
||||
{
|
||||
console.log("utenfor if test" + wasPaused);
|
||||
if(!wasPaused)
|
||||
{
|
||||
console.log("sjekker om brukeren spolte");
|
||||
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
url: 'php/timedifference.php',
|
||||
data: "abcde",
|
||||
async: false,
|
||||
success: function(data) {
|
||||
timeDifference = $.parseJSON(data);
|
||||
}
|
||||
});
|
||||
console.log("current song: "+response);
|
||||
console.log("song in database: "+timeDifference[1]);
|
||||
if(parseInt(timeDifference[2]) + 1> ytplayer.getCurrentTime() + parseInt(timeDifference[3]) && ytplayer.getPlayerState() == 0)
|
||||
{
|
||||
return true;
|
||||
}else if(ytplayer.getCurrentTime() + parseInt(timeDifference[3]) > parseInt(timeDifference[2]) + 5 || (ytplayer.getCurrentTime() + parseInt(timeDifference[3]) < parseInt(timeDifference[2]) - 5 && ytplayer.getPlayerState() != 0 && ytplayer.getPlayerState() != 3))
|
||||
{
|
||||
if(parseInt(timeDifference[0]) > ytplayer.getDuration())
|
||||
{
|
||||
console.log("burde ikke søke, men hoppe til neste sang");
|
||||
}
|
||||
ytplayer.seekTo(timeDifference[0]);
|
||||
ytplayer.pauseVideo();
|
||||
ytplayer.playVideo();
|
||||
getTitle();
|
||||
return false;
|
||||
}
|
||||
//if(interval){syncInterval = setInterval(getTime, 5000);interval = false;}
|
||||
|
||||
if(response != timeDifference[1])
|
||||
{
|
||||
clearInterval(syncInterval);
|
||||
console.log("forskjellige videoer!!");
|
||||
ytplayer.pauseVideo();
|
||||
ytplayer.loadVideoById(timeDifference[1]);
|
||||
setTimeout(function(){
|
||||
//console.log(response);
|
||||
diffVideo = true;
|
||||
beginning = true;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "thisUrl=123abcprompeprompe&act=save",
|
||||
success: function(data)
|
||||
{
|
||||
response = timeDifference[1];
|
||||
getTitle();
|
||||
}
|
||||
});
|
||||
syncInterval = setInterval(getTime, 5000);
|
||||
},2500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getTitle()
|
||||
{
|
||||
$.ajax({ type: "GET",
|
||||
url: "php/timedifference.php",
|
||||
async: false,
|
||||
success: function(data) {
|
||||
viewers = $.parseJSON(data);
|
||||
var outPutWord = viewers[5] > 1 ? "viewers" : "viewer";
|
||||
var title= viewers[4].replace(/\\\'/, "'");
|
||||
document.title = viewers[4] + " • Zöff";
|
||||
document.getElementsByName('v')[0].placeholder = viewers[4] + " • " + viewers[5] + " " + outPutWord;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function errorHandler(newState)
|
||||
{
|
||||
setTimeout(function(){
|
||||
response = $.ajax({
|
||||
type: "POST",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "thisUrl="+response+"&act=delete",
|
||||
|
||||
success: function() {
|
||||
console.log("error! deleted video");
|
||||
}
|
||||
}).responseText;
|
||||
ytplayer.loadVideoById(response);
|
||||
},2500);
|
||||
/*
|
||||
setTimeout(function(){
|
||||
response = $.ajax({ type: "GET",
|
||||
url: "change.php",
|
||||
async: false
|
||||
}).responseText;
|
||||
var url = $.parseJSON(response);
|
||||
response = url[0][0];
|
||||
|
||||
ytplayer.loadVideoById(response);
|
||||
},2500);*/
|
||||
}
|
||||
function onPlayerReady(event) {
|
||||
//ytplayer = document.getElementById("myytplayer");
|
||||
// ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
|
||||
//ytplayer.addEventListener("onError", "errorHandler");
|
||||
getTime();
|
||||
ytplayer.playVideo();
|
||||
getTitle();
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
[["GMoud3dub6U","tenz01ic1D8","byp94CCWKSI","87JabMupbB8","iMP4BwvJSwo","_ovdm2yX4MA","2CGF_Z3yZAo","fIMz0nTp2sA","kHue-HaXXzg","cN-ZjkDBaX8","J_DV9b0x7v4","nI_MVldpxDQ","-N6O0xI3A2o","MXXRHpVed3M","Eo-KmOd3i7s","w15oWDh02K4","aZg2pEokcFw","bLLMPnPK0fU","afOH2SGDiK0","bESGLojNYSo","kTHNpusq654","LOZuxwVk7TU","CduA0TULnow","4fndeDfaWCg","ZyhrYis509A","ZKuOB1HGWMY","O1OTWCd40bc","cNvjKkXFBvU","Z7YrFLIyYIw","smwj7ISnwXM","cjEwjDvh_2c","7x3CCKaOlfU","qQ31INpjXX0","EpbjEttizy8","JjgU4EypX0w","Id7e-9WaxMc","5LILChvqUo4","TssyfiAWOrA","a_426RiwST8","si81bIoZRJQ","yzC4hFK5P3g","QzEwx4BoYI0","jRx5PrAlUdY","N6xoFhkthls","51Bpx63wkbA","rVeMiVU77wo","2A85xBaLYWc","mllXxyHTzfg","aHjpOzsQ9YI","4kjpZ_sPxzc","Qc9c12q3mrc","YlUKcNNmywk","6Cp6mKbRTQY","6_TtYYiKi_0","Pmv8aQKO6k0","ETfiUYij5UE","mpaPBCBjSVc","3O1_3zBUKM8","6l7J1i1OkKs","_t2TzJOyops","S8jhXmfdRFY","ChzbYiYHOUU","NRWUoDpo2fo","41WtJps5XqQ","lrsNeqANI3k","s8Qa2t71aFE","pt3PcA4UvPA","rQu6_Iv_-H0","HVVUXv1WaGE","-1jPUB7gRyg","llyiQ4I-mcQ"],[1412934952],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],["\u00c5ge Aleksandersen - Levva Livet","Avicii - Levels","Jason Derulo - \\"The Other Side\\" (Official HD Music Video)","Bodybangers Inc. - Kompani Linge 2012","LMFAO - Sexy And I Know It (Mord Fustang Remix)","Avicii - Levels","Jason Derulo - Don\\'t Wanna Go Home (Official Video)","E-Type ft. Na Na - Life","Demi Lovato - Let It Go (from \\"Frozen\\") [Official]","\u00c5ge Aleksandersen - Fire Pils og en Pizza - Rockefeller, 03.2009. HQ.","CaramellDansen (Full Version + Lyrics)","Daddy DJ","Guy Sebastian - Like a Drum","Vengaboys - We\\'re Going to Ibiza!","\\'N Sync - Bye Bye Bye","Gigi D\\'Agostino - L\\'Amour Toujours ( Official Video )","H\u00f8vlerivisa","D.D.E. - Bondekn\u00f8l","dde vi ska f\u00e6st","Lady Gaga - Poker Face","Katy Perry - Hot N Cold","Britney Spears - Toxic","Britney Spears - Oops!...I Did It Again","Backstreet Boys - I Want It That Way","Aqua - Barbie Girl","Robert er du neger?","The Weeknd - Wicked Games (Explicit)","WEKEED - Wild Child","Tuuli - Do It Like A Dru [[WoW Parody]]","tribalistas ja sei namorar","Pelle Politibil Intro Sang","Peaches - Rosa Helikopter","Albatraoz - Albatraoz","David Guetta - Lovers On The Sun (Official Audio) ft Sam Martin","Ludacris - Move Bitch [Dirty]","Ellie Goulding - High For This (The Weeknd Cover)","Porter Robinson - Language (Official Video)","Maroon 5 - It Was Always You (Audio) SPEEDED UP VERSION","The Black Keys - Lonely Boy [Official Music Video]","Porter Robinson - Divinity ft. Amy Millan","\u304d\u3083\u308a\u30fc\u3071\u307f\u3085\u3071\u307f\u3085 - PONPONPON , Kyary Pamyu Pamyu - PONPONPON","Kyla La Grange - Cut Your Teeth (Kygo Remix)","O-Zone - Dragostea Din Tei (Ultra Music)","Datarock - Fa Fa Fa [Official Music Video]","R\u00f6yksopp - Happy Up Here [Official Music Video]","alt-J (\u2206) Breezeblocks","The Weeknd - Wicked Games (LYRICS)","The Hobbit: The Desolation of Smaug - Ed Sheeran \\"I See Fire\\" [HD]","Crystallize - Lindsey Stirling (Dubstep Violin Original Song)","Lemaitre - Cut to Black (Official)","Avicii - Addicted To You","Red Hot Chili Peppers - Californication [Official Music Video]","Avicii - Hey Brother","Lemaitre - Fiction (Official Video)","twenty one pilots: Guns For Hands [OFFICIAL VIDEO]","Biggie Smalls feat. Thomas the Tank Engine","The Black Keys - Tighten Up [Official Music Video]","Naughty Boy - La La La ft. Sam Smith","YG - My Nigga (Remix) (Explicit) ft. Lil Wayne, Rich Homie Quan, Meek Mill, Nicki Minaj","Skrillex - Ruffneck - FULL Flex [Music Video]","Otto Knows - Million Voices","Tim Berg - Bromance (Aviciis Arena Mix) (Official Video HD)","alt-J - Left Hand Free (Official Video) 1","Ms Mr - Hurricane (CHVRCHES Remix)","Hermione Mix | Pogo & Jeesh","Zedd - Shave It (Original Mix)","GTA 5 Official Trailer Song\/Music - \\"Sleepwalking\\" by The Chain Gang of 1974 (Full GTA V Song)","Zedd - Dovregubben (Original Mix)","Hedegaard - Happy Home (Matoma Official Remix)","Aqua - Doctor Jones","Vengaboys - Boom, Boom, Boom, Boom!!"],[1],[]]
|
||||
[["87JabMupbB8","iMP4BwvJSwo","_ovdm2yX4MA","2CGF_Z3yZAo","fIMz0nTp2sA","kHue-HaXXzg","cN-ZjkDBaX8","J_DV9b0x7v4","nI_MVldpxDQ","-N6O0xI3A2o","MXXRHpVed3M","Eo-KmOd3i7s","w15oWDh02K4","aZg2pEokcFw","bLLMPnPK0fU","afOH2SGDiK0","bESGLojNYSo","kTHNpusq654","LOZuxwVk7TU","CduA0TULnow","4fndeDfaWCg","ZyhrYis509A","ZKuOB1HGWMY","O1OTWCd40bc","cNvjKkXFBvU","Z7YrFLIyYIw","smwj7ISnwXM","cjEwjDvh_2c","7x3CCKaOlfU","qQ31INpjXX0","EpbjEttizy8","JjgU4EypX0w","Id7e-9WaxMc","5LILChvqUo4","TssyfiAWOrA","a_426RiwST8","si81bIoZRJQ","yzC4hFK5P3g","QzEwx4BoYI0","jRx5PrAlUdY","N6xoFhkthls","51Bpx63wkbA","rVeMiVU77wo","2A85xBaLYWc","mllXxyHTzfg","aHjpOzsQ9YI","4kjpZ_sPxzc","Qc9c12q3mrc","YlUKcNNmywk","6Cp6mKbRTQY","6_TtYYiKi_0","Pmv8aQKO6k0","ETfiUYij5UE","mpaPBCBjSVc","3O1_3zBUKM8","6l7J1i1OkKs","_t2TzJOyops","S8jhXmfdRFY","ChzbYiYHOUU","NRWUoDpo2fo","41WtJps5XqQ","lrsNeqANI3k","s8Qa2t71aFE","pt3PcA4UvPA","rQu6_Iv_-H0","HVVUXv1WaGE","-1jPUB7gRyg","llyiQ4I-mcQ","GMoud3dub6U","tenz01ic1D8","byp94CCWKSI"],[1412936400],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],["Bodybangers Inc. - Kompani Linge 2012","LMFAO - Sexy And I Know It (Mord Fustang Remix)","Avicii - Levels","Jason Derulo - Don\\'t Wanna Go Home (Official Video)","E-Type ft. Na Na - Life","Demi Lovato - Let It Go (from \\"Frozen\\") [Official]","\u00c5ge Aleksandersen - Fire Pils og en Pizza - Rockefeller, 03.2009. HQ.","CaramellDansen (Full Version + Lyrics)","Daddy DJ","Guy Sebastian - Like a Drum","Vengaboys - We\\'re Going to Ibiza!","\\'N Sync - Bye Bye Bye","Gigi D\\'Agostino - L\\'Amour Toujours ( Official Video )","H\u00f8vlerivisa","D.D.E. - Bondekn\u00f8l","dde vi ska f\u00e6st","Lady Gaga - Poker Face","Katy Perry - Hot N Cold","Britney Spears - Toxic","Britney Spears - Oops!...I Did It Again","Backstreet Boys - I Want It That Way","Aqua - Barbie Girl","Robert er du neger?","The Weeknd - Wicked Games (Explicit)","WEKEED - Wild Child","Tuuli - Do It Like A Dru [[WoW Parody]]","tribalistas ja sei namorar","Pelle Politibil Intro Sang","Peaches - Rosa Helikopter","Albatraoz - Albatraoz","David Guetta - Lovers On The Sun (Official Audio) ft Sam Martin","Ludacris - Move Bitch [Dirty]","Ellie Goulding - High For This (The Weeknd Cover)","Porter Robinson - Language (Official Video)","Maroon 5 - It Was Always You (Audio) SPEEDED UP VERSION","The Black Keys - Lonely Boy [Official Music Video]","Porter Robinson - Divinity ft. Amy Millan","\u304d\u3083\u308a\u30fc\u3071\u307f\u3085\u3071\u307f\u3085 - PONPONPON , Kyary Pamyu Pamyu - PONPONPON","Kyla La Grange - Cut Your Teeth (Kygo Remix)","O-Zone - Dragostea Din Tei (Ultra Music)","Datarock - Fa Fa Fa [Official Music Video]","R\u00f6yksopp - Happy Up Here [Official Music Video]","alt-J (\u2206) Breezeblocks","The Weeknd - Wicked Games (LYRICS)","The Hobbit: The Desolation of Smaug - Ed Sheeran \\"I See Fire\\" [HD]","Crystallize - Lindsey Stirling (Dubstep Violin Original Song)","Lemaitre - Cut to Black (Official)","Avicii - Addicted To You","Red Hot Chili Peppers - Californication [Official Music Video]","Avicii - Hey Brother","Lemaitre - Fiction (Official Video)","twenty one pilots: Guns For Hands [OFFICIAL VIDEO]","Biggie Smalls feat. Thomas the Tank Engine","The Black Keys - Tighten Up [Official Music Video]","Naughty Boy - La La La ft. Sam Smith","YG - My Nigga (Remix) (Explicit) ft. Lil Wayne, Rich Homie Quan, Meek Mill, Nicki Minaj","Skrillex - Ruffneck - FULL Flex [Music Video]","Otto Knows - Million Voices","Tim Berg - Bromance (Aviciis Arena Mix) (Official Video HD)","alt-J - Left Hand Free (Official Video) 1","Ms Mr - Hurricane (CHVRCHES Remix)","Hermione Mix | Pogo & Jeesh","Zedd - Shave It (Original Mix)","GTA 5 Official Trailer Song\/Music - \\"Sleepwalking\\" by The Chain Gang of 1974 (Full GTA V Song)","Zedd - Dovregubben (Original Mix)","Hedegaard - Happy Home (Matoma Official Remix)","Aqua - Doctor Jones","Vengaboys - Boom, Boom, Boom, Boom!!","\u00c5ge Aleksandersen - Levva Livet","Avicii - Levels","Jason Derulo - \\"The Other Side\\" (Official HD Music Video)"],[2],[]]
|
||||
42
php/admin.php
Normal file
42
php/admin.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<html>
|
||||
<head>
|
||||
<?php include("header.php"); ?>
|
||||
</head>
|
||||
<body>
|
||||
<div class="top vcent centered">
|
||||
<div id="change" class="small">
|
||||
|
||||
<div class="main"></div>
|
||||
|
||||
<h1>Admin Settingspanel</h1>
|
||||
|
||||
<form name="ufo" action="" class="daform nomargin" id="base" method="get" onsubmit="null;" >
|
||||
<label>Anyone can vote:
|
||||
<label> <input type="radio" name="vote" value="yes">yes</input></label>
|
||||
<label> <input type="radio" name="vote" value="no">no</input></label>
|
||||
</label><br>
|
||||
<label>Anyone can add songs:
|
||||
<label><input type="radio" name="addSongs" value="yes">yes</input></label>
|
||||
<label><input type="radio" name="addSongs" value="no">no</input></label>
|
||||
</label><br>
|
||||
<label>Allow long songs:
|
||||
<label><input type="radio" name="longSongs" value="yes">yes</input></label>
|
||||
<label><input type="radio" name="longSongs" value="no">no</input></label>
|
||||
</label><br>
|
||||
<label>Allow only music:
|
||||
<label><input type="radio" name="onlyMusic" value="yes">yes</input></label>
|
||||
<label><input type="radio" name="onlyMusic" value="no">no</input></label>
|
||||
</label><br>
|
||||
<label>Paste playlist here: <input type="text" name="playlist"></label><br>
|
||||
<input type="button" value="Save Settings">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer small centered top anim bottom">© 2014 <a class="anim" href="//nixo.no">Nixo</a> & <a class="anim" href="//kasperrt.no">KasperRT</a> </div>
|
||||
</body>
|
||||
</html>
|
||||
124
php/change.php
Executable file
124
php/change.php
Executable file
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
$guid=substr(base64_encode(crc32($_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_ACCEPT_LANGUAGE'])), 0, 8);
|
||||
|
||||
if(isset($_REQUEST['test'])){
|
||||
echo($guid);
|
||||
exit;
|
||||
}
|
||||
|
||||
//save or del
|
||||
$list = explode("/", htmlspecialchars(strtolower($_SERVER["REQUEST_URI"])));
|
||||
if($list[1]==""||!isset($list[1])||count($list)<=1)$list="videos";
|
||||
else $list=$list[1];
|
||||
$list="../lists/".$list.".json";
|
||||
|
||||
$f = @fopen($list,"x");
|
||||
if($f){ fwrite($f,"[[],[".time()."],[],[],[],[]]"); fclose($f); }
|
||||
$file = file_get_contents($list);
|
||||
$data = json_decode($file);
|
||||
$save = false;
|
||||
|
||||
if(isset($_REQUEST['thisUrl'])){
|
||||
$string = $_REQUEST['thisUrl'];
|
||||
$action = isset($_REQUEST['act']);
|
||||
|
||||
if($data[0][0] == $string)
|
||||
{
|
||||
if($action=="save"){ //next song
|
||||
$save = true;
|
||||
nextSong();
|
||||
}
|
||||
else if($action=="delete"){
|
||||
array_shift($data[0]);
|
||||
array_shift($data[3]);
|
||||
array_shift($data[2]);
|
||||
}
|
||||
file_put_contents($list, json_encode($data));
|
||||
}
|
||||
if($action == "save" && !$save) //count views
|
||||
{
|
||||
$data[4][0] = $data[4][0] + 1;
|
||||
file_put_contents($list, json_encode($data));
|
||||
}
|
||||
echo $data[0][0];
|
||||
}
|
||||
else if(isset($_GET['v'])){ //add
|
||||
$video = htmlspecialchars($_GET['v']);
|
||||
$name = htmlspecialchars($_GET['n']);
|
||||
if(!in_array($video, $data[0]))
|
||||
{
|
||||
//array_push($data[0], $video);
|
||||
$i = array_search(0, $data[2]);
|
||||
if($i == 0)$i=1;
|
||||
else if($i == false)$i=count($data[2]);
|
||||
array_splice($data[3], $i, 0, array($name));
|
||||
array_splice($data[2], $i, 0, array(1));
|
||||
array_splice($data[0], $i, 0, array($video));
|
||||
file_put_contents($list, json_encode($data));
|
||||
print("added");
|
||||
}
|
||||
|
||||
}
|
||||
else if(isset($_GET['vote'])){ //add vote
|
||||
$vote=$_GET['vote'];
|
||||
$id=$_GET['id'];
|
||||
$i = array_search($id, $data[0]);
|
||||
if($vote == 'neg'){$voteAdd = -1;}
|
||||
else if($vote == 'pos'){$voteAdd = 1;}
|
||||
$name = $data[3][$i];
|
||||
$votes = $data[2][$i] + $voteAdd;
|
||||
if($i == true && $votes >= 0){
|
||||
|
||||
//print_r($i);
|
||||
// echo "IIII: ",$i;
|
||||
unset($data[3][$i]);
|
||||
unset($data[0][$i]);
|
||||
unset($data[2][$i]);
|
||||
$underVote = array_search($votes-1, $data[2]); #nenennenenen feiiiiiiiiiiiiiiiiil
|
||||
|
||||
if($underVote == 0)$underVote=1;
|
||||
else if($underVote == false)$underVote=count($data[2]);
|
||||
array_splice($data[3], $underVote, 0, array($name));
|
||||
array_splice($data[2], $underVote, 0, array($votes));
|
||||
array_splice($data[0], $underVote, 0, array($id));
|
||||
file_put_contents($list, json_encode($data));
|
||||
echo "Vote registrated. I hope";
|
||||
}
|
||||
}
|
||||
else if(isset($_GET['skip'])){ //skip song request
|
||||
$viewers=$data[4][0];
|
||||
$skips=count($data[5]);
|
||||
if(!in_array($guid, $data[5])){
|
||||
array_push($data[5], $guid);
|
||||
$skips+=1;
|
||||
$data[5][0]=$skips;
|
||||
if($skips>=$viewers/2){
|
||||
nextSong();
|
||||
echo("skipped!");
|
||||
}
|
||||
file_put_contents($list, json_encode($data));
|
||||
}
|
||||
echo($skips."/".$viewers);
|
||||
|
||||
}
|
||||
else{ print($file); }
|
||||
|
||||
function nextSong(){
|
||||
global $data;
|
||||
array_push($data[0], $data[0][0]);
|
||||
array_shift($data[0]);
|
||||
|
||||
array_push($data[2], 0); //reset votes
|
||||
array_shift($data[2]);
|
||||
|
||||
array_push($data[3], $data[3][0]);
|
||||
array_shift($data[3]);
|
||||
|
||||
array_shift($data[4]);
|
||||
array_push($data[4], 1);
|
||||
|
||||
$data[5]=array();
|
||||
$data[1][0] = time();
|
||||
}
|
||||
?>
|
||||
30
php/convert_lists.php
Normal file
30
php/convert_lists.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
if(isset($_GET["pass"]) && $_GET["pass"]=="bæsj"){
|
||||
|
||||
include("change.php");
|
||||
|
||||
$dir = scandir('../lists');
|
||||
$channels = array();
|
||||
foreach($dir as $file){
|
||||
if(strpos($file, '.json') !== FALSE){
|
||||
$name='./lists/'.$file;
|
||||
$data = json_decode(file_get_contents($name));
|
||||
unlink($name);
|
||||
checkFile($name); //should create a new file with correct stuff, in change
|
||||
processList($data);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
echo("kek");
|
||||
}
|
||||
|
||||
function processList($list, $name){
|
||||
foreach($list as $item){
|
||||
//get id and title
|
||||
addSong($name, $id, $title); //in change
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
6
php/header.php
Normal file
6
php/header.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<title>Zöff</title>
|
||||
<meta name="author" content="Nicolas 'Nixo' Almagro Tonne & Kasper 'KasperRT' Rynning-Tønnesen">
|
||||
<link rel="stylesheet" type="text/css" href="/static/style.css" title="Default" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link rel="icon" type="image/png" href="/static/favicon.png"/>
|
||||
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>
|
||||
0
php/index.html
Normal file
0
php/index.html
Normal file
38
php/nochan.php
Executable file
38
php/nochan.php
Executable file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
if(isset($_GET['chan'])){
|
||||
header('Location: '.$_GET['chan']);
|
||||
}
|
||||
|
||||
$dir = scandir('./lists');
|
||||
$channels = array();
|
||||
$time = 60*60*24*7*1; //1 uke
|
||||
foreach($dir as $files){
|
||||
if(strpos($files, '.json') !== FALSE){
|
||||
if(time() - filemtime('./lists/'.$files) < $time){
|
||||
array_push($channels, ucfirst(str_replace(".json", "", $files)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class="bigchan nomargin">Zöff</div>
|
||||
<form name="ufo" action="" class="daform nomargin" id="base" method="get" onsubmit="null;" >
|
||||
<input list="searches" id="search" name="chan" type="text" class="search_input innbox" spellcheck="false" placeholder="Type Channel Name" autofocus/>
|
||||
<datalist id="searches">
|
||||
<?php foreach($channels as $channel){echo "<option value='".urldecode($channel)."'> ";} ?>
|
||||
</datalist>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<center>
|
||||
<div class="channels" id="channels">Active Channels<br>
|
||||
<?php foreach($channels as $channel){echo "<a class='channel' href='/".$channel."'>".urldecode($channel)."</a>";} ?>
|
||||
</div>
|
||||
</center>
|
||||
</div>
|
||||
|
||||
<div class="footer small centered top anim bottom">© 2014 <a class="anim" href="//nixo.no">Nixo</a> & <a class="anim" href="//kasperrt.no">KasperRT</a> </div>
|
||||
</body>
|
||||
</html>
|
||||
13
php/timedifference.php
Executable file
13
php/timedifference.php
Executable file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
$list = explode("/", htmlspecialchars(strtolower($_SERVER["REQUEST_URI"])));
|
||||
if($list[1]==""||!isset($list[1])||count($list)<=1)$list="videos";
|
||||
else $list=$list[1];
|
||||
$list="../lists/".$list.".json";
|
||||
$data = json_decode(file_get_contents($list));
|
||||
$diff = (time() - $data[1][0]);
|
||||
|
||||
$returnArray = array($diff, $data[0][0], time(), $data[1][0], $data[3][0], $data[4][0]);
|
||||
$returnArray = json_encode($returnArray);
|
||||
|
||||
echo $returnArray;
|
||||
?>
|
||||
8
php/videos.php
Executable file
8
php/videos.php
Executable file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
$list = htmlspecialchars($_REQUEST['list']);
|
||||
if(!isset($_REQUEST['list']))$list="videos";
|
||||
$filename = "../lists/".$list.'.json';
|
||||
if(!file_exists($filename)){ $f=fopen($filename, "a+"); fwrite($f,"[]"); fclose($f);}
|
||||
$file = file_get_contents($filename);
|
||||
print($file);
|
||||
?>
|
||||
BIN
static/favicon.ico
Executable file
BIN
static/favicon.ico
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
84
static/style.css
Executable file
84
static/style.css
Executable file
@@ -0,0 +1,84 @@
|
||||
body{background:#FFF; margin:0;}
|
||||
.top{
|
||||
font-family: 'Open Sans', sans-serif; font-weight: 300; text-align: center;
|
||||
animation: fadein .5s; -moz-animation: fadein .5s; -webkit-animation: fadein .5s; -o-animation: fadein .5s;
|
||||
}
|
||||
.top, .top a{color:#ed207f; text-decoration: none;}
|
||||
.vcent{position: relative; top: 50%; -webkit-transform: translateY(-50%);}
|
||||
|
||||
|
||||
.innbox, .innbox a{
|
||||
width:90%; height: 50px; border-radius:7px; border:none; font-family: 'Open Sans', sans-serif; font-size: 25px; margin-bottom: 20px;
|
||||
color:#f15; text-align: center;-webkit-transition:background 1s;-moz-transition:background 1s;-o-transition:background 1s; transition:background 1s;
|
||||
}
|
||||
.success{animation: fadecol 1.5s; -moz-animation: fadecol 1.5s; -webkit-animation: fadecol 1.5s; -o-animation: fadecol 1.5s;}
|
||||
.error{animation: fadewrong 1.5s; -moz-animation: fadewrong 1.5s; -webkit-animation: fadewrong 1.5s; -o-animation: fadewrong 1.5s;}
|
||||
.small{font-size: 5vw; color:#E2E2E2; display:block !important; text-decoration: none; }
|
||||
/*.small:hover{color: #CCC;}*/
|
||||
.big{font-size:180vh; position:absolute; top:-50%; color:#330A00 !important; z-index:-1; width: 100%; overflow: hidden; display: none;}
|
||||
.footer a{color:#696969; text-decoration: none;}.footer a:hover {color:#ed207f;}
|
||||
.footer{font-size: 15px; position:absolute; width:99%;color:#c0c0c0 !important; margin-top: 0; word-spacing: 2px;}
|
||||
.bottom{bottom:10px;}
|
||||
#channels{width:40%; min-width: 300px; padding-top: 4%; font-size: 25px;}
|
||||
.channel{padding: 7px; display: inline-block; font-weight: bold; color: #646464 !important;font-size: 18px;}
|
||||
.channel:hover{color:#ed207f !important;}
|
||||
|
||||
|
||||
.anim{transition: all .20s ease-in-out; -moz-transition: all .20s ease-in-out; -webkit-transition: all .20s ease-in-out;}
|
||||
.chan{color:#CCC; cursor:pointer; display: inline;}
|
||||
.bigchan{color: #ed207f; font-size: 10vw; padding-top: 25%;}
|
||||
|
||||
#buttons{cursor: default; text-align: right;}
|
||||
.skip{cursor: pointer; height: 25px; padding:8px 21px 0 0;}
|
||||
|
||||
#results{position:absolute; background-color: white; font-size: 14px; width:90%; margin-left: 5%; margin-top:-5px; z-index: 1; font-family: sans-serif;}
|
||||
.result{border-bottom:none; padding: 3px 0 3px 10%; text-align: left; height: 55px; cursor: pointer;}
|
||||
.result:hover{background-color: #DDD;}
|
||||
#title{ padding-left: 20%; padding-top:10px; max-width: 76%; color:#ed207f; height: 36px;}
|
||||
.result_info{color:#888; font-size: 12px; float:right;}
|
||||
.thumb{height: 40px; width:80px; float: left;}
|
||||
|
||||
|
||||
.main{width:90%; margin: 0 auto 0 auto;}
|
||||
.playlist{background-color: #DADADA; width:20%; margin-left: 0px; display: inline-block; font-size: 14px; border-radius: 3px; vertical-align: top; /*overflow: hidden;*/ height: calc(87% - 183px); border-bottom:solid #c9c9c9 4px;}
|
||||
.lresult{padding:0; height: 60px; border-top: none; cursor: default; background-color: #DADADA;}
|
||||
.lthumb{height: 60px; margin-right: 10px; display: inline;}
|
||||
.ltitle{ color:#ed207f; overflow: hidden; height: 60px; }
|
||||
.oddlist{background-color: #EEE;}
|
||||
|
||||
.votes{float: right; position: relative; margin-top: -1.4em; padding:0 3 0 4; background-color: rgba(50,50,50,0.45); color:#000; border-radius: 1px;}
|
||||
#plus, #minus {text-decoration: none; color:white; margin-left: 2px; padding-left: 3px; padding-right: 3px; }
|
||||
#plus:hover,#minus:hover{background-color: #111;}
|
||||
|
||||
#player{height: 68%; height: calc(87% - 183px); width: 78%; border-radius: 3px; border-bottom:solid #c9c9c9 4px;}
|
||||
#playlist{}
|
||||
.nomargin{padding: 0;margin:0;}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
#player{width: 100%; height:45%; margin-bottom: 20px;}
|
||||
.playlist{width: 100%;}
|
||||
.lresult{font-size: 40px; height: 90px; font-size: 50px;}
|
||||
.votes{font-size: 42px; padding-right: 8px; height: 89px; line-height: 89px; padding-left: 20px; border-radius: 1px;}
|
||||
.lthumb{height: 90px;}
|
||||
#plus,#minus{padding-left: 24px; margin-left: 0; padding-right: 24px;}
|
||||
#plus{border-right:solid 3px rgb(172, 172, 172);}
|
||||
#search{text-align: left; height: 100px; font-size: 40px; border: solid 2px #ccc;}
|
||||
#buttons{text-align: center; height: 80px;}
|
||||
.skip{height: 50px;}
|
||||
.vcent{
|
||||
top: inherit;
|
||||
-webkit-transform: translateY(0%);
|
||||
}
|
||||
#title{
|
||||
font-size: 30px;
|
||||
font-weight: bold;
|
||||
overflow: hidden;
|
||||
padding-left: 2%;
|
||||
padding-top: 0;
|
||||
}
|
||||
.footer{font-size: 40px; margin-top: 150px;}
|
||||
}
|
||||
|
||||
@-webkit-keyframes fadein{from {opacity:0;}to{opacity:1;}}@keyframes fadein{from{opacity:0;}to{opacity:1;}}@-moz-keyframes fadein{from{opacity:0;}to{opacity:1;}}@-o-keyframes fadein{from{opacity:0;}to{opacity:1;}}
|
||||
@-webkit-keyframes fadecol{from {background-color:#00FF00;}to{background-color: #FFF;}}@keyframes fadecol{background-color: #00FF00;}to{background-color: #FFF;}}@-moz-keyframes fadecol{from{background-color: #00FF00;}to{background-color: #FFF;}}@-o-keyframes fadecol{background-color: #00FF00;}to{background-color: #FFF;}}
|
||||
@-webkit-keyframes fadewrong{from {background-color:#FF0000;}to{background-color: #FFF;}}@keyframes fadewrong{background-color: #FF0000;}to{background-color: #FFF;}}@-moz-keyframes fadewrong{from{background-color: #FF0000;}to{background-color: #FFF;}}@-o-keyframes fadewrong{background-color: #FF0000;}to{background-color: #FFF;}}
|
||||
Reference in New Issue
Block a user