setMajorProtocolVersion(2); function error(){ header("Refresh: 0; /youtube"); exit; } function searchterm(){ $db = new SQLite3("db/dict.db"); $table_array = array("english", "german"); $table=$table_array[0]; // choose the language $rows = $db->query("SELECT count(*) as count FROM ". $table . ";"); $row = $rows->fetchArray(); $numRows = $row["count"]; $random = mt_rand(1,$numRows); $search_word_db = $db->query("SELECT word FROM " . $table . " WHERE id=" . $random . ";"); if(empty($search_word_db)){ error(); } $search_word_ar = $search_word_db->fetchArray(); $search_word = $search_word_ar["word"]; $db->close(); unset($db); return $search_word; } function getAndPrintVideoFeed($location, $yt) { $videoFeed = $yt->getVideoFeed($location); if(empty($videoFeed)){ error(); } $videoID = printVideoFeed($videoFeed); if(empty($videoID)){ error(); } return $videoID; } function printVideoFeed($videoFeed) { $res_quant = count($videoFeed); $video = mt_rand(0, $res_quant-1); if(empty($video)){ error(); } $videoId = printVideoEntry($videoFeed[$video]); if(empty($videoId)){ error(); } return $videoId; } function printVideoEntry($videoEntry) { $videoId = $videoEntry->getVideoId(); if(empty($videoId)){ error(); } return $videoId; } function start($yt){ $searchstring = searchterm(); $location = $yt->newVideoQuery(); if(empty($location)){ error(); } // $location->setOrderBy('viewCount'); $location->setSafeSearch('none'); $location->setVideoQuery($searchstring); if(empty($location)){ error(); } $videoID = getAndPrintVideoFeed($location, $yt); if(empty($videoID)){ error(); } if(fopen("https://gdata.youtube.com/feeds/api/videos/" . $videoID , "r")){ return $videoID; } else { start($yt); } }