session_start();
include "funcs.php";
//rateLimit(1);
if(isset($_GET['data'])){ $hasData=1; }
header('Cache-Control: public, max-age=315360000');
error_reporting(0);
$_SESSION['default'] =0;
if($_POST['video']!='') { $pv = $_POST['video']; }
if($_GET['fkwd'] != ''){
$_POST['video'] = $_GET['fkwd'];
unset($_GET['fkwd']);
}
if($_POST['video6'] != '') { $_POST['video'] = $_POST['video6']; }
if($_POST['video5'] != '') { $_POST['video'] = $_POST['video5']; }
if($_POST['video4'] != '') { $_POST['video'] = $_POST['video4']; $_SESSION['video4id'] = $_POST['video4id']; }
if($_POST['video3'] != '') { $_POST['video'] = $_POST['video3']; }
if($_POST['video2'] != '') { $_POST['video'] = $_POST['video2']; }
if($_POST['keyword'] != '') { $_POST['video'] = $_GET['keyword']; }
if(!isset($_POST['video']) && isset($_GET['video'])) { $_POST = $_GET; $_POST['video'] = $_POST['keyword'];}
if(!isset($_POST['video']) || $_POST['video'] == '') { $_POST['video'] = file_get_contents("defaultKeyword.txt"); }
if($pv != ''){ $_POST['video'] = $pv; }
$_POST['video'] = strip_tags($_POST['video']);
$_POST['video'] = preg_replace('/[^\x20-\x7e]/', '', $_POST['video']);
$_POST['video'] = preg_replace("/[^a-zA-Z0-9 _|]/", "", $_POST['video']);
$encurl = base64_encode(strtolower(str_replace(" ","",urldecode($_POST['video']))));
$zip3 = substr($encurl,0,2);
$testfile = "zip://cache/".$zip3.".zip#".strtolower(str_replace(" ","",urldecode($_POST['video']))) . ".txt";
$test = file_get_contents($testfile);
$dataURL = $test;
$serverkey = "skfskdfkewkwkf";
if($_POST['a']=="setdefault" && $_POST['kw'] != ""){
file_put_contents("defaultKeyword.txt",$_POST['kw']);
header("location: video.php");
exit;
}
if($_GET['data'] != ""){
$dataURL = "https://" . $_SERVER['HTTP_HOST'] . "/video.php?" . $_SERVER['QUERY_STRING'];
}elseif($_POST['video'] == "" || !isset($_POST['video']) || strlen(trim($_POST['video'])) < 3){
// echo $_POST['video'];
try{
$keyword = file_get_contents("defaultKeyword.txt");
if(strlen($keyword) <3 ){
throw err1();
exit;
}
if($keyword == ""){
throw err1();
exit;
}
$pageType = "home";
$_POST['video'] = $keyword;
$keyword = urldecode($_POST['video']);
$defaultKeyword = $keyword;
}catch(Exception $e){
err1();
exit;
}
// }elseif($_SESSION['dataURL']!=''){
// echo "done"; exit;
// $dataURL= $_SESSION['dataURL'];
}elseif($dataURL == ""){
$keyword = urldecode($_POST['video']);
$keyword = strip_tags($keyword);
$keyword = preg_replace('/[^\x20-\x7e]/', '', $keyword);
$keyword = preg_replace("/[^a-zA-Z0-9 _|]/", "", $keyword);
while(stristr(" ",$keyword)){
$keyword = str_replace(" "," ",$keyword);
}
$defaultKeyword = file_get_contents("defaultKeyword.txt");
$pageType = "video";
// echo $_POST['video'] . "
";
//keyword is typed in
//defaultkeyword is the site default
//$string = file_get_contents('https://m.youtube.com/results?search_query=-"killer"intitle:'.urlencode('"'.$keyword.'"').'%20'.urlencode($defaultKeyword).'&order=relevance&safeSearch=strict');
$string = file_get_contents('https://m.youtube.com/results?search_query=-"killer"intitle:'.urlencode('"'.$keyword.'"').'%20'.urlencode($defaultKeyword).'+video&order=relevance&safeSearch=strict');
$ms = extractVideosInfoFromHtml($string);
//$string = file_get_contents('https://m.youtube.com/results?search_query='.urlencode($keyword).'+allintitle%3A"'.urlencode($defaultKeyword).'"&order=relevance&safeSearch=strict');
//$ms2 = extractVideosInfoFromHtml($string);
//foreach($ms2 as $ms3){
// $ms[] = $ms3;
//}
//$string = file_get_contents('https://m.youtube.com/results?search_query='.urlencode($keyword . " " . $defaultKeyword).'"&safeSearch=strict');
//$ms2 = extractVideosInfoFromHtml($string);
//foreach($ms2 as $ms3){
// $ms[] = $ms3;
//}
$onc=0;
foreach($ms as $mas){
$onc++;
$videoData = parseVideoData($mas);
$split = explode($videoData['title'],$mas);
$cite = explode("ago",$split[2]);
$cite[0] = str_replace("No views","0 views",$cite[0]);
$views = number_format(extractViews($cite[0]),0) . " views";
$videoData['views'] = $views;
$length = str_replace('"',"",$cite[1]);
$videoData['length'] = $length;
$cite = explode($views,$cite[0]);
$author = str_replace("by ","",$cite[0]);
$videoData['author'] = $author;
$timeAgo = $cite[1] . " ago";
$videoData['timeAgo'] = $timeAgo;
$tmb = explode("?",$videoData['thumbnail']);
$videoData['thumbnail'] = $tmb[0];
$line = str_replace('"',"",str_replace(" "," ",str_replace(" "," ",str_replace(" "," ",str_replace("~","",($videoData['videoId'] . "|" . str_replace("|","",$videoData['title']) . "|" . trim(str_replace(",","",str_replace(" views","",$videoData['views']))) . "|" . trim($videoData['timeAgo']) . "|" . trim($videoData['author'])))))));
$line = str_replace("'","",$line);
$line = str_replace('"',"",$line);
$line=strip_tags($line);
// echo $line . "
";
if(!stristr($line,"- Topic") && strlen(trim($videoData['timeAgo']))>5){
$videodatas[] = $line;
}
if(strlen(implode("~",$videodatas)) >(1700-$rlen) ){
break;
}
}
$ccc=1;
// printform($keyword);
$maxscore=0;
foreach($videodatas as $m){
$score= 0;
$m = cleankey($m);
if(stristr(strtolower($m),strtolower('cruise ')) || stristr(strtolower($m),strtolower('travel '))){
$m00 = $m;
$m0 = $m;
$vidid = explode("|",$m);
if($temptitle!="") { $temptitle2 = $vidid[1]; }
if($temptitle=="") { $temptitle = $vidid[1]; }
$vidid = $vidid[0];
$m =str_ireplace($defaultKeyword,"".$defaultKeyword."",$m);
if($m0!=$m){
$score = $score + strlen($defaultKeyword);
}
$m0 = $m;
$m =str_ireplace($keyword,"".$keyword."",$m);
if($m0!=$m){
$score = $score + strlen($keyword);
}
$mp = explode(" ",$keyword);
foreach($mp as $mpm){
$m0 = $m;
if(strlen($mpm)>2) { $m =str_ireplace($mpm,"".$mpm."",$m); }
if($m0!=$m){
$score = $score + (strlen($mpm)/count($mp));
}
}
if($score >= $maxscore) { $maxscore = $score; }
$scores[$vidid] = $score;
$lines[$vidid] = $m00 . "|" . number_format($score,2);
$ccc++;
}
}
asort($scores);
$scores = array_reverse($scores);
$cl=0;
foreach($scores as $s => $sv){
$slines[] = $lines[$s];
$cl++;
if($cl==10) { break; }
}
$lines = $slines;
// echo "
";
// $keys = file_get_contents("https://" .$_SERVER['HTTP_HOST'] . "/getwords.php?kw=".urlencode($keyword));
//echo str_replace("|||","
",$keys);
$plines = implode("~",$lines);
$tempKeys = explode("|||",$keys);
$tempKeys= $tempKeys[1];
$tempKeys = explode(",",$tempKeys);
foreach($tempKeys as $tk){
$tempKey[] = $tk;
if(count($tempKey) > 3) { break; }
}
$tempKey = urlencode(implode(",",$tempKey));
$prepkeys = prepData($keys,$serverkey);
$preplines = prepData($plines,$serverkey);
$url = "https://" .$_SERVER['HTTP_HOST'] . "/video.php?keyword=".urlencode($keyword)."&context=".urlencode($defaultKeyword)."&type=featured+video&video=".urlencode($temptitle)."&next_video=".urlencode($temptitle2)."&src=YouTube+Video&suggested=".$tempKey."&maxScore=".$maxscore."&count=".count($lines)."&page=1&time=".time()."&data=" . str_replace("=","_",$prepkeys)."~".str_replace("=","_",$preplines);
$encurl = base64_encode(strtolower(str_replace(" ","",$keyword)));
$zip3 = substr($encurl,0,2);
if(!file_exists("cache/exists.txt")){
mkdir("cache");
$f = fopen("cache/exists.txt","w");
fwrite($f,1);
fclose($f);
}
//requires zip enmabled in server setup
if(count($lines) > 0){
$wz = new ZipArchive();
$wz->open("cache/".$zip3.".zip", ZipArchive::CREATE) ;
$wz->addFromString(strtolower(str_replace(" ","",urldecode($keyword))).".txt", $url);
$wz->close();
$dataURL = $url;
$rand = rand(1,1000);
if(!file_exists("recents/exists.txt")){
mkdir("recents");
}
$f2 = fopen("recents/".$rand.".txt","w");
fwrite($f2,str_replace(" ","_",urldecode($keyword))."=".$dataURL);
fclose($f2);
}else{
$encurl = base64_encode(strtolower(str_replace(" ","",urldecode($defaultKeyword))));
$zip3 = substr($encurl,0,2);
$dataURL = file_get_contents("zip://cache/".$zip3.".zip#".strtolower(str_replace(" ","",$defaultKeyword)) . ".txt")."?default=1";
$_SESSION['default'] =1;
//echo $dataURL;
}
$isnew=1;
}
if($hasData!=1){
// header("location: ".$dataURL, true, 303);
// exit;
}
//make sure keyword is set
if($isnew!=1){$keyword = urldecode($_POST['video']);}
$defaultKeyword = file_get_contents("defaultKeyword.txt");
//if keyword is too short, use default, maybe add error message text later
if(strlen($keyword)<3) {
$keyword = $defaultKeyword;
}
//----------------------------------------------------------
//set the variables
//----------------------------------------------------------
$data = parse_url($dataURL, PHP_URL_QUERY);
parse_str($data, $pagevars);
$pageinfo = $pagevars['data'];
$parts = explode("~",$pageinfo);
$keys = explode("|||",unPrepData(str_replace("_","=",$parts[0]),$serverkey));
$pagevars['youtube_keywords'] = trim(str_replace('"',"",$keys[1]));
$pagevars['amazon_keywords'] = trim(str_replace('"',"",$keys[2]));
$pagevars['search_keywords'] = trim(str_replace('"',"",$keys[3]));
$titles = ((unPrepData(str_replace("_","=",$parts[1]),$serverkey)));
$pagevars['titles'] = "
".$titles;
unset($pagevars['data']);
$page = $pagevars;
$videolist = explode("~",$titles);
unset($page['titles']);
unset($temptit);
foreach($videolist as $video){
$v = explode("|",$video);
$tv = strip_tags($v[1]);
$tv = preg_replace('/[^\x20-\x7e]/', '', $tv);
$tv = preg_replace("/[^a-zA-Z0-9 _|]/", "", $tv);
if($temptit[$tv]!=1){
$videos[] = $v;
$t[] = $v[1];
$temptit[$tv] = 1;
}
}
$page['titles']= $t;
$page['dataURL'] = $dataURL;
//
//
//
$_SESSION['page'] = $page;
$_SESSION['videos'] = $videos;
$_SESSION['keyword'] = $keyword;
$_SESSION['defaultKeyword'] = $defaultKeyword;
//
//
//
//HTML STARTS HERE
//
//
//
nobox("sitelinks"); ?>
nobox("headerscripts"); ?>
nobox("metas"); ?>
nobox("style"); ?>
include "layout.php"; ?>
nobox("endscripts"); ?>
unset($_SESSION); ?>