This commit is contained in:
Nixo
2014-08-08 16:13:31 +02:00
parent e4c41cdf3f
commit 93463ecd38
9 changed files with 200 additions and 66 deletions

93
control.js Normal file
View File

@@ -0,0 +1,93 @@
/**
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
*/
var response = $.ajax({ type: "GET",
url: "videos.json",
async: false
}).responseText;
var url = $.parseJSON(response);
response = url[0];
/**
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 onytplayerStateChange(newState) {
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() {
console.log("saved");
}
});
setTimeout(function(){ //har en timeout for at den skal klare å fetche hva den neste sangen er etter at save.php har endret på ting
response = $.ajax({ type: "GET",
url: "videos.json",
async: false
}).responseText;
var url = $.parseJSON(response);
response = url[0];
ytplayer.loadVideoById(response);
},100);
}
}
function errorHandler(newState) //errorhandler. Fjerner urlen til en "dårlig" video og går til neste
{
$.ajax({
type: "POST",
url: "delete.php",
data: "thisUrl="+response,
success: function() {
console.log("deleted");
}
});
setTimeout(function(){
response = $.ajax({ type: "GET",
url: "videos.json",
async: false
}).responseText;
var url = $.parseJSON(response);
response = url[0];
ytplayer.loadVideoById(response);
},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();
}

20
delete.php Normal file
View File

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

View File

@@ -1,49 +1,33 @@
<?php
/*$host = 'http://'.$_SERVER['HTTP_HOST'].'/+';
$short = $_SERVER['QUERY_STRING'];*/
$video = $_GET['v'];
$name = $_GET['n'];
$list = file_get_contents('video.json');
if(isset($video)){
file_put_contents("video.json", $video);
}
?>
<?php require("main.php"); ?>
<html>
<head>
<head>
<title>Zöff</title>
<link rel="stylesheet" type="text/css" href="static/style.css" title="Default" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
</head>
<body>
<div class="top vcent centered">
<div id="change" class="small">
<div class="big">Zöff</div>
<div class="big noselect">Zöff</div>
Zöff
<form name="ufo" action="" class="daform" id="base" method="get" onsubmit="return submitform();">
<input id="longurl" name="v" type="text" class="innbox" />
</form>
</div>
<script type="text/javascript" src="static/swfobject.js"></script>
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
You need Flash player 8+ and JavaScript enabled to view this video :(
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
var response = $.ajax({type: "GET", url: "/r/video.json", async: false }).responseText;
var params = { allowScriptAccess: "always", controls:0, autoplay:1};
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/"+response+
"?enablejsapi=1&playerapiid=ytplayer&version=3&controls=1&iv_load_policy=3&autohide=1", //&autoplay=1
"ytapiplayer", "825", "462", "8", null, null, params, atts);
</script>
<br>
<?php print_r($list); ?>
<?php print_r($data); ?>
</div>
</body>
<script type="text/javascript" src="static/swfobject.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" scr="main.js"></script>
<script>
$(document).ready(function(){ })
</script>
</body>
</html>

15
main.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
/*$host = 'http://'.$_SERVER['HTTP_HOST'].'/+';
$short = $_SERVER['QUERY_STRING'];*/
$video = htmlspecialchars($_POST['v']);
$name = htmlspecialchars($_POST['n']);
$file = file_get_contents('videos.json');
$data = json_decode($file);
unset($file);
if(isset($_GET['v'])){
array_push($data, $video);
file_put_contents('videos.json', json_encode($data));
}
?>

21
save.php Normal file
View File

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

View File

@@ -11,5 +11,6 @@ body{background:#444; overflow: hidden;}
.small a:hover{color:#ed207f;}
.daform{margin-bottom: 20px;}
.big{font-size:180vh; position:absolute; top:-100%; color:#000 !important; z-index:-1;}
.noselect{-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
@-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;}}

View File

@@ -1 +0,0 @@
2fngvQS_PmQ

1
videos.json Normal file
View File

@@ -0,0 +1 @@
["eTwQ4kACymM","bh2McrMVN14","to23klIOhkU","fkLEljSKY30","y6DHE_5drbM","A8P01EjBQxY","dMrmfub2TBw","BSAUJIRqAF4","mG6pm1WZ2uc"]