Fixed faulty redirect, conflicts

This commit is contained in:
Nicolas A. Tonne
2015-02-13 12:12:49 +01:00
8 changed files with 70 additions and 28 deletions

View File

@@ -1,12 +1,10 @@
<?php <?php
if(isset($_GET['chan'])) {header('Location: '.$_GET['chan']); exit;} if(isset($_GET['chan'])) {header('Location: '.$_GET['chan']); exit;}
$list = explode("/", htmlspecialchars(strtolower($_SERVER["REQUEST_URI"]))); $list = explode("/", htmlspecialchars(strtolower($_SERVER["REQUEST_URI"])));
if($list[1]==""||!isset($list[1])||count($list)<=1){$list="";include('php/nochan.php');die();} if($list[1]==""||!isset($list[1])||count($list)<=1){$list="";include('php/nochan.php');die();}
else if ($list[1] != preg_replace('/[^\da-z]/i', '', urldecode($list[1]))){
header('Location: ../'.preg_replace('/[^\da-z?=]/i', '', urldecode($list[1])));
exit;
}
else $list=$list[1]; else $list=$list[1];
?> ?>
<html xmlns="http://www.w3.org/1999/xhtml" <html xmlns="http://www.w3.org/1999/xhtml"

View File

@@ -33,6 +33,7 @@ var adminpass = "";
$(document).ready(function() $(document).ready(function()
{ {
$("#change").css("opacity", "0");
window.mobilecheck = function() { window.mobilecheck = function() {
var check = false; 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|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); (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|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);
@@ -61,7 +62,7 @@ $(document).ready(function()
response = "1"; response = "1";
} }
/*
$.ajax({ $.ajax({
type: 'get', type: 'get',
url: 'php/timedifference.php', url: 'php/timedifference.php',
@@ -72,7 +73,7 @@ $(document).ready(function()
} }
}); });
console.log("timediff:"+timeDifference[0]); console.log("timediff:"+timeDifference[0]);
*/
if(window.mobilecheck()){ if(window.mobilecheck()){
//syncInterval = setInterval(getTime, 50000); //syncInterval = setInterval(getTime, 50000);
@@ -94,6 +95,8 @@ $(document).ready(function()
}); });
function onYouTubeIframeAPIReady() { function onYouTubeIframeAPIReady() {
$("#change").css("-webkit-transition", "opacity 1s");
$("#change").css("opacity", "1");
ytplayer = new YT.Player('player', { ytplayer = new YT.Player('player', {
height: window.height*0.75, height: window.height*0.75,
width: window.width*0.6, width: window.width*0.6,
@@ -106,6 +109,8 @@ function onYouTubeIframeAPIReady() {
'onPlaybackQualityChange': logQ 'onPlaybackQualityChange': logQ
} }
}); });
$("#player").css("opacity", "0");
initYoutubeControls(ytplayer);
} }
function onPlayerStateChange(newState) { function onPlayerStateChange(newState) {
@@ -248,10 +253,7 @@ function getTime()
} }
ytplayer.seekTo(timeDifference[0]); ytplayer.seekTo(timeDifference[0]);
ytplayer.pauseVideo(); ytplayer.pauseVideo();
if(!window.mobilecheck()) ytplayer.playVideo();
{
ytplayer.playVideo();
}
getTitle(); getTitle();
return false; return false;
} }
@@ -347,9 +349,12 @@ function onPlayerReady(event) {
getTime(); getTime();
if(!window.mobilecheck()) if(!window.mobilecheck())
{ {
$("#player").css("opacity", "1");
$("#controls").css("opacity", "1");
$(".playlist").css("opacity", "1");
//$("#player").fadeIn();
ytplayer.playVideo(); ytplayer.playVideo();
} }
initYoutubeControls(ytplayer);
readyLooks(); readyLooks();
initSlider(); initSlider();
//durationFixer = setInterval(durationSetter, 1000); //durationFixer = setInterval(durationSetter, 1000);
@@ -366,11 +371,17 @@ function setBGimage(id){
{ {
$("#bgimage").css("background-image", "url(bg4.jpg);"); $("#bgimage").css("background-image", "url(bg4.jpg);");
}else if(window.mozInnerScreenX == null && !window.mobilecheck()){ }else if(window.mozInnerScreenX == null && !window.mobilecheck()){
var bg = new Image();
bg.src = "http://img.youtube.com/vi/"+id+"/0.jpg";
$("#bgimage").addClass("noopacity"); $("#bgimage").addClass("noopacity");
setTimeout(function(){ console.log(bg);
$("#bgimage").css("background-image", "url(http://img.youtube.com/vi/"+id+"/0.jpg)"); bg.addEventListener("load", function(){
$("#bgimage").removeClass("noopacity"); setTimeout(function(){
}, 1000); $("#bgimage").css("background-image", "url("+bg.src+")");
//document.getElementById("bgimage").backgroundImage.src = bg.src;
$("#bgimage").removeClass("noopacity");
}, 1000);
});
}else if(window.mobilecheck()){ }else if(window.mobilecheck()){
$("#mobile-banner").css("background-image", "url(http://img.youtube.com/vi/"+id+"/hqdefault.jpg)"); $("#mobile-banner").css("background-image", "url(http://img.youtube.com/vi/"+id+"/hqdefault.jpg)");
$("#mobile-banner").css("width",$(window).width()); $("#mobile-banner").css("width",$(window).width());

View File

@@ -5,7 +5,7 @@
--> -->
<?php <?php
$bg = array('bg1.jpg', 'bg2.jpg', 'bg3.jpg', 'bg4.jpg', 'bg5.jpg' ); // array of filenames $bg = array('bg3.jpg', 'bg4.jpg'); // array of filenames
$i = rand(0, count($bg)-1); // generate random number size of the array $i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen $selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen

View File

@@ -31,17 +31,13 @@ foreach($fil as $files){
if($time_lasted < $time){ if($time_lasted < $time){
$file = file_get_contents($files); //Checking if the channel has the setting for showing on the frontpage set to true. $file = file_get_contents($files); //Checking if the channel has the setting for showing on the frontpage set to true.
$data = json_decode($file, TRUE); $data = json_decode($file, TRUE);
if(!array_key_exists("frontpage", $data['conf']) || $data['conf']['frontpage'] == "true"){ //If it is true, the channelname will be shown on the frontpage if(!array_key_exists("frontpage", $data['conf']) || $data['conf']['frontpage'] == "true" && $i <= 8){ //If it is true, the channelname will be shown on the frontpage
array_push($channels, ucfirst(str_replace(".json", "", $files))); array_push($channels, ucfirst(str_replace(".json", "", $files)));
} }
} }
$i++; $i++;
array_push($all_channels, ucfirst(str_replace(".json", "", $files))); array_push($all_channels, ucfirst(str_replace(".json", "", $files)));
if($i > 13)
{
$tooMany = true;
break;
}
} }
} }
@@ -50,6 +46,11 @@ foreach($fil as $files){
<html xmlns="http://www.w3.org/1999/xhtml" <html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://ogp.me/ns/fb#"> xmlns:fb="http://ogp.me/ns/fb#">
<head> <head>
<style>
#change {
opacity:1 !important;
}
</style>
<?php include("header.php"); ?> <?php include("header.php"); ?>
</head> </head>
<body> <body>
@@ -69,11 +70,23 @@ foreach($fil as $files){
</div> </div>
<center> <center>
<div class="channels" id="channels">Active Channels<br> <div class="channels" id="channels">Active Channels<br>
<?php foreach($channels as $channel){echo "<a class='channel' href='./".htmlspecialchars($channel)."'>".htmlspecialchars($channel)."</a>";} if($tooMany) echo "<a class='channel' title='Only showing the 12 most active.'>...</a>"; ?> <?php foreach($channels as $channel){echo "<a class='channel' href='./".htmlspecialchars($channel)."'>".htmlspecialchars($channel)."</a>";} ?>
</div> </div>
</center> </center>
</div> </div>
<div class="footer small centered top anim bottom">&copy; <?php echo date("Y"); ?> <a class="anim" href="//nixo.no">Nixo</a> &amp; <a class="anim" href="//kasperrt.no">KasperRT</a> </div> <div class="footer small centered top anim bottom">&copy; <?php echo date("Y"); ?> <a class="anim" href="//nixo.no">Nixo</a> &amp; <a class="anim" href="//kasperrt.no">KasperRT</a> </div>
<script type="text/javascript">
var deg = 0;
var pr = 15;
document.getElementById("zicon").addEventListener("click", function(){
deg = deg + 365;
pr = pr + 0.5;
document.getElementById("zicon").style.transform = "rotate("+deg+"deg)";
document.getElementById("zicon").style.width = pr+"%";
if(pr >= 60)
window.location.href = 'https://www.youtube.com/v/mK2fNG26xFg?autoplay=1&showinfo=0&autohide=1';
});
</script>
</body> </body>
</html> </html>

View File

@@ -1,6 +1,7 @@
#controls #controls
{ {
opacity:0;
height:30px; height:30px;
background-color:rgba(255, 255, 255, 0.25); background-color:rgba(255, 255, 255, 0.25);
position:absolute; position:absolute;
@@ -11,6 +12,8 @@
-ms-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0);
-o-transform: translate3d(0,0,0); -o-transform: translate3d(0,0,0);
transform: translate3d(0,0,0); transform: translate3d(0,0,0);
-webkit-transition:opacity 1s;
transition: opacity 1s;
} }
#q, #fullscreen, #playpause #q, #fullscreen, #playpause

BIN
static/glight.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/gmark.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -4,7 +4,7 @@ body {
} }
::selection { ::selection {
background:grey background:#DB17E0;
/* WebKit/Blink Browsers */ /* WebKit/Blink Browsers */
} }
@@ -35,6 +35,11 @@ body {
-webkit-transform:translateY(-54%) -webkit-transform:translateY(-54%)
} }
#change {
opacity:1;
/*-webkit-transition: opacity 1s;*/
}
/*#change{ display: table-cell; vertical-align: middle;}*/ /*#change{ display: table-cell; vertical-align: middle;}*/
::-webkit-input-placeholder { ::-webkit-input-placeholder {
color:#FEFEFE color:#FEFEFE
@@ -290,7 +295,9 @@ body {
font-size:14px; font-size:14px;
border-radius:3px; border-radius:3px;
vertical-align:top; vertical-align:top;
height:calc(87% - 183px) height:calc(87% - 183px);
opacity:0;
-webkit-transition:opacity 1s;
} }
.lresult { .lresult {
@@ -369,11 +376,17 @@ body {
} }
#player { #player {
-webkit-transition: opacity 1s;
transition: opacity 1s;
height:68%; height:68%;
height:calc(87% - 213px); height:calc(87% - 213px);
width:60%; width:60%;
border-radius:3px border-radius:3px
/*box-shadow: 0 8px 11px -4px black;*/ /*box-shadow: 0 8px 11px -4px black;*/
}
iframe {
-webkit-transition:opacity 1s;
} }
#playlist { #playlist {
@@ -501,7 +514,11 @@ input[type="radio"] {
} }
#zicon { #zicon {
width:15% width:15%;
-moz-transition: all 0.5s ease;
-webkit-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
} }
.fchan { .fchan {
@@ -656,7 +673,7 @@ body {
#toptitle { #toptitle {
color:#fff; color:#fff;
font-weight:700; font-weight:700;
text-shadow:0 0 12px rgba(0,0,0,0.5) text-shadow:0 0 12px rgba(0,0,0,0.5);
} }
#mobile-banner { #mobile-banner {