This commit is contained in:
Kasper Rynning-Tønnesen
2014-08-08 17:57:57 +02:00
parent b610406d5a
commit 5b02294f38
4 changed files with 165 additions and 162 deletions

View File

@@ -1,8 +1,8 @@
<?php <?php
if(isset($_POST['thisUrl'])) if(isset($_POST['thisUrl']))
{ {
$string = $_POST['thisUrl']; $string = $_POST['thisUrl'];
$file = file_get_contents('videos.json'); $file = file_get_contents('videos.json');
$data = json_decode($file); $data = json_decode($file);
unset($file);//prevent memory leaks for large json. unset($file);//prevent memory leaks for large json.

216
index.php
View File

@@ -1,126 +1,134 @@
<?php require("main.php"); ?> <?php
/*$host = 'http://'.$_SERVER['HTTP_HOST'].'/+';
$short = $_SERVER['QUERY_STRING'];*/
$video = htmlspecialchars($_GET['v']);
$name = htmlspecialchars($_GET['n']);
$list = json_decode(file_get_contents('videos.json'));
if(isset($_GET['v'])){
$file = file_get_contents('videos.json');
$data = json_decode($file);
unset($file);//prevent memory leaks for large json.
}
?>
<html> <html>
<head> <head>
<title>Zöff</title> <title>Zöff</title>
<link rel="stylesheet" type="text/css" href="static/style.css" title="Default" /> <link rel="stylesheet" type="text/css" href="style.css" title="Default" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head> </head>
<body> <body>
<div class="top vcent centered"> <div class="top vcent centered">
<div id="change" class="small"> <div id="change" class="small">
<div class="big noselect">Zöff</div> <div class="big">Zöff</div>
Zöff Zöff
<form name="ufo" action="" class="daform" id="base" method="get" onsubmit="return submitform();"> <form name="ufo" action="" class="daform" id="base" method="get" onsubmit="return submitform();">
<input id="longurl" name="v" type="text" class="innbox" /> <input id="longurl" name="v" type="text" class="innbox" />
</form> </form>
</div> </div>
<script type="text/javascript" src="swfobject.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<div id="ytapiplayer"> <script>
You need Flash player 8+ and JavaScript enabled to view this video :( /**
</div> TODO:
<script type="text/javascript" src="static/swfobject.js"></script> -legge til timer når man trykker pause for at når man "unpauser", går den dit den ville vært, hvis videoen ville blitt ferdig, load en ny video men ha den på pause
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> -legge til tid når en video ble påbegynt, for at hvis folk joiner midt i en video, hopper den dit
<script> */
/** /**
TODO:
-legge til timer når man trykker pause for at når man "unpauser", går den dit den ville vært, hvis videoen ville blitt ferdig, load en ny video men ha den på pause
-legge til tid når en video ble påbegynt, for at hvis folk joiner midt i en video, hopper den dit
*/
/** Fetcher sangen som spilles fra JSON filen
Fetcher sangen som spilles fra JSON filen */
*/ var response = $.ajax({ type: "GET",
url: "videos.json",
async: false
}).responseText;
var response = $.ajax({ type: "GET", var url = $.parseJSON(response);
url: "videos.json", response = url[0];
async: false
}).responseText;
var url = $.parseJSON(response); /**
response = url[0];
/** Legger sangen inn i <div>en, via swfobject
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);
*/ /**
var params = { allowScriptAccess: "always"}; eventlistener for når playeren endres
var atts = { id: "myytplayer" }; */
swfobject.embedSWF("http://www.youtube.com/v/"+response+"?enablejsapi=1&playerapiid=ytplayer&version=3&controls=1&iv_load_policy=3", function onytplayerStateChange(newState) {
"ytapiplayer", "825", "462", "8", null, null, params, atts); if(newState == 0) //newState = 0 når videoen er ferdig
{
$.ajax({ //snutt for å kjøre save.php som lagrer til jsonfilen neste sang og denne sangen. Endrer rekkefølge altså.
type: "POST",
url: "save.php",
data: "thisUrl="+response,
/** success: function() {
eventlistener for når playeren endres console.log("saved");
*/ }
});
function onytplayerStateChange(newState) { setTimeout(function(){ //har en timeout for at den skal klare å fetche hva den neste sangen er etter at save.php har endret på ting
if(newState == 0) //newState = 0 når videoen er ferdig response = $.ajax({ type: "GET",
{ url: "videos.json",
$.ajax({ //snutt for å kjøre save.php som lagrer til jsonfilen neste sang og denne sangen. Endrer rekkefølge altså. async: false
type: "POST", }).responseText;
url: "save.php", var url = $.parseJSON(response);
data: "thisUrl="+response, response = url[0];
success: function() { ytplayer.loadVideoById(response);
console.log("saved"); },500);
console.log(response); }
} }
});
setTimeout(function(){ //har en timeout for at den skal klare å fetche hva den neste sangen er etter at save.php har endret på ting function errorHandler(newState) //errorhandler. Fjerner urlen til en "dårlig" video og går til neste
response = $.ajax({ type: "GET", {
url: "videos.json", $.ajax({
async: false type: "POST",
}).responseText; url: "delete.php",
var url = $.parseJSON(response); data: "thisUrl="+response,
console.log(url[0]);
response = url[0];
ytplayer.loadVideoById(response); success: function() {
},100); console.log("deleted");
} }
} });
function errorHandler(newState) //errorhandler. Fjerner urlen til en "dårlig" video og går til neste setTimeout(function(){
{ response = $.ajax({ type: "GET",
$.ajax({ url: "videos.json",
type: "POST", async: false
url: "delete.php", }).responseText;
data: "thisUrl="+response, var url = $.parseJSON(response);
response = url[0];
success: function() { ytplayer.loadVideoById(response);
console.log("deleted"); },100);
} }
}); function onYouTubePlayerReady(playerId) { //funksjon som kjøres når playeren er klar
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); //eventlistenere
ytplayer.addEventListener("onError", "errorHandler");
//ytplayer.seekTo(ytplayer.getDuration()-10);
ytplayer.setVolume(100);
ytplayer.playVideo();
}
setTimeout(function(){ </script>
response = $.ajax({ type: "GET", <br>
url: "videos.json", <?php print_r($list); ?>
async: false </div>
}).responseText;
var url = $.parseJSON(response);
response = url[0];
ytplayer.loadVideoById(response); </body>
},100);
}
function onYouTubePlayerReady(playerId) { //funksjon som kjøres når playeren er klar
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); //eventlistenere
ytplayer.addEventListener("onError", "errorHandler");
//ytplayer.seekTo(ytplayer.getDuration()-10);
ytplayer.setVolume(100);
ytplayer.playVideo();
}
</script>
<br>
<?php print_r($data); ?>
</div>
</body>
</html> </html>

View File

@@ -1,26 +1,21 @@
<?php <?php
if(isset($_POST['thisUrl'])) if(isset($_POST['thisUrl']))
{ {
$string = $_POST['thisUrl']; $string = $_POST['thisUrl'];
$file = file_get_contents('videos.json'); $file = file_get_contents('videos.json');
$data = json_decode($file); $data = json_decode($file);
unset($file);//prevent memory leaks for large json. unset($file);//prevent memory leaks for large json.
//insert data here //insert data here
if($data[0] == $string) if($data[0] == $string)
{ {
array_push($data, $string); array_push($data, $string);
array_shift($data); array_shift($data);
} }
file_put_contents("videos.json", json_encode($data)); file_put_contents("videos.json", json_encode($data));
unset($data); unset($data);
}else }else
{ {
echo "You're a bad boy"; echo "You're a bad boy";
} }
?> ?>

View File

@@ -1 +1 @@
["XU_9yi6xvRs", "mG6pm1WZ2uc"] ["A8P01EjBQxY","dMrmfub2TBw","BSAUJIRqAF4","mG6pm1WZ2uc","to23klIOhkU","fkLEljSKY30","y6DHE_5drbM"]