Your IP : 216.73.216.48


Current Path : /srv/www/vlevski/play/
Upload File :
Current File : //srv/www/vlevski/play/v.php

<?php
	session_start();
	header("Cache-Control: no-cache, must-revalidate");
	header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
	date_default_timezone_set("Europe/Sofia");
	$allowaccess="no";
	if (isset($_COOKIE["allowaccess"]))
	{
		$allowaccess=$_COOKIE["allowaccess"];
	}
	if ($allowaccess=="no")
	{
		//header("location: /");
	}
	$id=$_GET["id"];
	class vs
	{
		private $path = "";
		private $stream = "";
		private $buffer = 102400;
		private $start  = -1;
		private $end    = -1;
		private $size   = 0;
	 
		function __construct($filePath) 
		{
			$this->path = $filePath;
		}
		private function open()
		{
			if (!($this->stream = fopen($this->path, 'rb'))) {
				die('Could not open stream for reading');
			}
			 
		}
		private function setHeader()
		{
			ob_get_clean();
			header("Content-Type: video/mp4");
			header("Cache-Control: no-cache, must-revalidate");
			header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
			$this->start = 0;
			$this->size  = filesize($this->path);
			$this->end   = $this->size - 1;
			header("Accept-Ranges: 0-".$this->end);
			 
			if (isset($_SERVER['HTTP_RANGE'])) {
	  
				$c_start = $this->start;
				$c_end = $this->end;
	 
				list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
				if (strpos($range, ',') !== false) {
					header('HTTP/1.1 416 Requested Range Not Satisfiable');
					header("Content-Range: bytes $this->start-$this->end/$this->size");
					exit;
				}
				if ($range == '-') {
					$c_start = $this->size - substr($range, 1);
				}else{
					$range = explode('-', $range);
					$c_start = $range[0];
					 
					$c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $c_end;
				}
				$c_end = ($c_end > $this->end) ? $this->end : $c_end;
				if ($c_start > $c_end || $c_start > $this->size - 1 || $c_end >= $this->size) {
					header('HTTP/1.1 416 Requested Range Not Satisfiable');
					header("Content-Range: bytes $this->start-$this->end/$this->size");
					exit;
				}
				$this->start = $c_start;
				$this->end = $c_end;
				$length = $this->end - $this->start + 1;
				fseek($this->stream, $this->start);
				header('HTTP/1.1 206 Partial Content');
				header("Content-Length: ".$length);
				header("Content-Range: bytes $this->start-$this->end/".$this->size);
			}
			else
			{
				header("Content-Length: ".$this->size);
			}  
			 
		}
		private function end()
		{
			fclose($this->stream);
			exit;
		}
		private function stream()
		{
			$i = $this->start;
			set_time_limit(0);
			while(!feof($this->stream) && $i <= $this->end) {
				$bytesToRead = $this->buffer;
				if(($i+$bytesToRead) > $this->end) {
					$bytesToRead = $this->end - $i + 1;
				}
				$data = fread($this->stream, $bytesToRead);
				echo $data;
				flush();
				$i += $bytesToRead;
			}
		}
		function start()
		{
			$this->open();
			$this->setHeader();
			$this->stream();
			$this->end();
		}
	}
	if (isset($_COOKIE["wvid"]))
	{
		$hack="no";
	}
	else
	{
		$hack="yes";
	}
	if ($hack=="yes")
	{
		$stream = new vs("/hdd/hdd22/movies/no.mp4");
		$stream->start();
		exit;
	}
	else
	{
		$vid="";
		include("./conn.php");
		$vdbq=mysqli_query($db, "SELECT `movid` FROM `videos` WHERE `movid`='".$id."' LIMIT 1;");
		while ($vres=mysqli_fetch_row($vdbq))
		{
			$vid=$vres[0];
		}
		if ($vid!="")
		{
			$stream = new vs("/hdd/hdd22/movies/".$vid.".mp4");
			$stream->start();
			exit;
		}
		else
		{
			$stream = new vs("/hdd/hdd22/movies/no.mp4");
			$stream->start();
			exit;
		}
	}
?>