<?php
// Разработчик sikoko, Сергей Козырь. 
// Использование кода в коммерческих целях запрещено!
// Официальная поддержка плеера только на странице http://uoplayer.net

if (!function_exists('json_encode')) {
	include("JSON.php");
	function json_encode($data) {
        $json = new Services_JSON();
        return($json->encode($data));
	}
    function json_decode($data, $bool) {
        if ($bool) {
            $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
        } else {
            $json = new Services_JSON();
        }
        return( $json->decode($data) );
    }
} 

if (!isset($_GET['site'])){//какой сайт парсим
	$site = "ex";
} else {
	$site = $_GET['site'];
}
if ($site == "fs"){
        $data = get_headers ("http://fs.to", 1); 
        if (isset($data['Location'])) {
			if (is_array($data['Location'])) {
				preg_match("~http\://(.*)/~Uis", $data['Location'][count( $data['Location'])-1], $fslink);
				$fslink = $fslink[1];
			} else {
				preg_match("~http\://(.*)/~Uis", $data['Location'], $fslink);
				$fslink = $fslink[1];
			}	
        } else $fslink = "brb.to";
}

if (isset($_GET['flv'])){//режим FLV ?
	if ($_GET['flv'] == "true") $flv = true;
	if ($_GET['flv'] == "false") $flv = false;
} else {
	$flv = false;
}
if (!isset($_GET['mode'])){//режим videolist
	$mode = "videolist";
} else {
	$mode = $_GET['mode'];
}


///====================== ВИДЕОЛИСТЫ
switch ($mode) {
	case "videolist":
		$category = $_GET["category"]; //номер категории
		if (!isset($_GET["per"])){//элементов на странице
			$per = 40; //40 100
		} else {
			$per = $_GET["per"];
		}

		if (!isset($_GET["page"])){//номер страницы
			$page = 0;
		} else {
			$page = $_GET["page"];
		}
		
		if (!isset($_GET["startitem"])){//номер страницы
			$item = $page * $per;
		} else {
			$item = (int)$_GET["startitem"];
		}
		$firstitem=$item;//возвращаемый первый элемент. будет правлен. 
		
/////////////////////////////////////////разные для разных сайтов //////////////////////////////////////////////		
		if ($site == "ex") {
				$data = file_get_contents("http://www.ex.ua/view/".$category."/?p=".$page."&per=".$per); //магия :)"

				$separator1 = "<td align=center valign=center>"; //для отдельных фильмов
				$isContainer = "Статей:"; //Это вложенный контейнер.
				
				$regx = "~<a href='(.*)'><img src='(.*)' width.*alt='(.*)'><\/a><p><a~Uis";
				
				$data = explode($separator1, $data);//грубо преобразовываем в массив
				for ($i=0; $i < count($data); $i++) {
					preg_match("~<a href='(.*)'><img src='(.*)' width.*alt='(.*)'><\/a><p><a~Uis", $data[$i], $tmp);
					if (count($tmp) >= 1) {
						$out[$item]["link"]=$tmp[1];
						$out[$item]["image"]=corrImg($tmp[2]);
						$out[$item]["name"]=$tmp[3];
						
						if (strpos($data[$i], $isContainer)) {
							preg_match("~href='(.*)'><b>(.*)</b>.*info>(.*)</a>\&nbsp;</td>~Uis", $data[$i], $tmp);
							$out[$item]["name"] .= " | " . $tmp[3];
							$out[$item]["issubcat"]="true";
							if (strpos($out[$item]["link"], "?") === false) {
								preg_match("~/(.*)$~Uis", $out[$item]["link"], $tmp_link);
							} else {
								preg_match("~/(.*)\?~Uis", $out[$item]["link"], $tmp_link);
							}
							$out[$item]["link"] = $tmp_link[1];
						}
						$item++;
						continue;
					} 
					//без картинки
					preg_match("~href='(.*)'><b>(.*)</b>.*info>(.*)</a>\&nbsp;</td>~Uis", $data[$i], $tmp);
	
					if (count($tmp) >= 1) { 
						if (count($tmp) >= 1) {
							$out[$item]["link"]=$tmp[1];
							$out[$item]["image"]="image/cat/projector.png";
							$out[$item]["name"]=$tmp[2]."  ". $tmp[3];
							
							if (strpos($data[$i], $isContainer)) {
								$out[$item]["issubcat"]="true";
								if (strpos($out[$item]["link"], "?") === false) {
									preg_match("~/(.*)$~Uis", $out[$item]["link"], $tmp_link);
								} else {
									preg_match("~/(.*)\?~Uis", $out[$item]["link"], $tmp_link);
								}
								$out[$item]["link"] = $tmp_link[1];

							}
							$item++;				
						}
					}
						
				}				
			}
			if ($site == "fs") {
				switch ($category) {
					case "z_kino":
						$category = "video/films/fl_foreign/?view=list&sort=new";
					break;
					case "n_kino":
						$category = "video/films/fl_our/?view=list&sort=new";
					break;
					case "r_kino":
						$category = "video/films/?view_list/?sort=rating";
					break;
					case "z_serial":
						$category = "video/serials/fl_foreign/?view=list&sort=new";
					break;
					case "n_serial":
						$category = "video/serials/fl_our/?view=list&sort=new";
					break;
					case "n_mult":
						$category = "video/cartoons/fl_our/?view=list&sort=new";
					break;
					case "z_mult":
						$category = "video/cartoons/fl_foreign/?view=list&sort=new";
					break;
					case "n_multserial":
						$category = "video/cartoonserials/fl_our/?view=list&sort=new";
					break;
					case "z_multserial":
						$category = "video/cartoonserials/fl_foreign/?view=list&sort=new";
					break;
					case "n_klip":
						if ($fslink == "cxz.to") exit;
						$category = "video/clips/fl_our/?view=list&sort=new";
					break;
					case "z_klip":
						if ($fslink == "cxz.to") exit;
						$category = "video/clips/fl_foreign/?view=list&sort=new";
					break;
					case "z_koncert":
						if ($fslink == "cxz.to") exit;
						$category = "video/concerts/fl_foreign/?view=list&sort=new";
					break;
					case "n_koncert":
						if ($fslink == "cxz.to") exit;
						$category = "video/concerts/fl_our/?view=list&sort=new";
					break;
					case "n_tv":
						$category = "video/tvshow/fl_our/?view=list&sort=new";
					break;
					case "z_tv":
						$category = "video/tvshow/fl_foreign/?view=list&sort=new";
					break;
					
				}
			
				
					function fsGetVideolist($fslink, $category, $linkpage) {
						$data = "";
						if( $curl = curl_init() ) {
							curl_setopt($curl,CURLOPT_URL,"http://" . $fslink . "/".$category . $linkpage);
								curl_setopt($curl, CURLOPT_REFERER, "http://" . $fslink . "/");
								curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)"); 
								curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
								curl_setopt($curl,CURLOPT_TIMEOUT, 15);
								curl_setopt($curl,CURLOPT_HEADER,true);
								curl_setopt($curl,CURLOPT_AUTOREFERER,true);
								curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
								$data = curl_exec($curl);
								curl_close($curl);
						}
						return $data;
					}
					$start = '<div class="b-section-list ">'; //начало блока для обработки  
					$stop = 'type="text/javascript'; //конец блока для обработки
					$separator1 = '</td>'; //для отдельных фильмов
					$test_video_block = 'class="b-poster-tile'; //проверка, является ли элемент массива видеоблоком
					if ($page != 0) {
						$linkpage = "&page=".$page;
					} else {
						$linkpage = "";
					}
					for ($i=6; $i!=0; $i--) {
						$data = fsGetVideolist($fslink, $category, $linkpage);
						$pos1 = strpos($data, $start) + strlen($start);
						$pos2 = strpos($data, $stop, $pos1);
						$data = substr($data, $pos1, $pos2 - $pos1);
						$data = explode($separator1, $data);//грубо преобразовываем в массив
						if (count($data)>1) break;
					}
					$x='~b-poster-tile__link" href="(.*)">.*img src="(.*)" alt=\'(.*)\'.*title-info-items">(.*)</span>~Uis';
						for ($i=0; $i < count($data); $i++) {
						if (strpos($data[$i], $test_video_block) === false) {} else {
									preg_match($x, $data[$i], $ddd);
									$out[$item]["link"]=$ddd[1];
									$out[$item]["image"]=corrImgFs($ddd[2]);
									$ddd[3] = str_replace ("<p>"," / ",$ddd[3]);
									$ddd[3] = str_replace ("</p>","",$ddd[3]);
									$out[$item]["name"]=$ddd[3]." (".$ddd[4].")";
									$item++;
							}
						}
			}
///// =====  UAKINO СПИСОК ФИЛЬМОВ ===== ===== ===== ===== 
			if ($site == "uakino") {
				$out["uakino_manual"]="false";
				switch ($category) {
					case "lastkino": $category = "http://uakino.net/video";
					break;
					case "z_serial": $category = "http://uakino.net/category/video/66";
					break;
					case "n_serial": $category = "http://uakino.net/category/video/67";
					break;
					case "doc_space": $category = "http://uakino.net/category/video/74";
					break;
					case "doc_travel": $category = "http://uakino.net/category/video/80";
					break;
					case "learn": $category = "http://uakino.net/category/video/84";
					break;
					case "anime": $category = "http://uakino.net/category/video/85";
					break;
					case "gumor": $category = "http://uakino.net/category/video/87";
					break;
					case "tv": $category = "http://uakino.net/category/video/397";
					break;
					case "theatre": $category = "http://uakino.net/category/video/88";
					break;
					case "trailer": $category = "http://uakino.net/category/video/135";
					break;
					case "clip": $category = "http://uakino.net/category/video/2323";
					break;
///////////////// субкатегории					
					case "kino_z_do_2010": $category = "http://uakino.net/category/video/53";
					break;
					case "kino_z_2010": $category = "http://uakino.net/category/video/55";
					break;
					case "kino_z_2011": $category = "http://uakino.net/category/video/134";
					break;
					case "kino_z_2012": $category = "http://uakino.net/category/video/900";
					break;
					case "kino_z_2013": $category = "http://uakino.net/category/video/2323";
					break;
					case "kino_ussr": $category = "http://uakino.net/category/video/56";
					break;
					case "kino_n": $category = "http://uakino.net/category/video/57";
					break;
					case "kino_india": $category = "http://uakino.net/category/video/58";
					break;
					case "kino_soon": $category = "http://uakino.net/category/video/137";
					break;
					case "kino_orig": $category = "http://uakino.net/category/video/1729";
					break;
					case "mult_serial": $category = "http://uakino.net/category/video/60";
					break;
					case "mult_ussr": $category = "http://uakino.net/category/video/61";
					break;
					case "mult_n": $category = "http://uakino.net/category/video/62";
					break;
					case "mult_z": $category = "http://uakino.net/category/video/63";
					break;
					case "mult_orig": $category = "http://uakino.net/category/video/1730";
					break;
					case "doc_bbc": $category = "http://uakino.net/category/video/69";
					break;
					case "doc_discovery": $category = "http://uakino.net/category/video/70";
					break;
					case "doc_natgeo": $category = "http://uakino.net/category/video/71";
					break;
					case "doc_relig": $category = "http://uakino.net/category/video/72";
					break;
					case "doc_avia": $category = "http://uakino.net/category/video/73";
					break;
					case "doc_nauchpopular": $category = "http://uakino.net/category/video/75";
					break;
					case "doc_ussr": $category = "http://uakino.net/category/video/76";
					break;
					case "doc_war": $category = "http://uakino.net/category/video/77";
					break;
					case "doc_people": $category = "http://uakino.net/category/video/78";
					break;
					case "doc_fishing": $category = "http://uakino.net/category/video/79";
					break;
					case "doc_arsenal": $category = "http://uakino.net/category/video/133";
					break;
					case "doc_kumir": $category = "http://uakino.net/category/video/81";
					break;
					case "doc_kgb": $category = "http://uakino.net/category/video/82";
					break;
					case "doc_stalker": $category = "http://uakino.net/category/video/83";
					break;
					case "doc_flora": $category = "http://uakino.net/category/video/136";
					break;
					default:
						if ($category == "kino"){
							$out[0]["name"]="Зарубежные фильмы до 2010 г.";
							$out[0]["link"]="kino_z_do_2010";
							$out[0]["image"]="image/cat/kino.png";
							$out[0]["issubcat"]="true";
							$out[1]["name"]="Зарубежные фильмы 2010 г.";
							$out[1]["link"]="kino_z_2010";
							$out[1]["image"]="image/cat/kino.png";
							$out[1]["issubcat"]="true";
							$out[2]["name"]="Зарубежные фильмы 2011 г.";
							$out[2]["link"]="kino_z_2011";
							$out[2]["image"]="image/cat/kino.png";
							$out[2]["issubcat"]="true";
							$out[3]["name"]="Зарубежные фильмы 2012 г.";
							$out[3]["link"]="kino_z_2012";
							$out[3]["image"]="image/cat/kino.png";
							$out[3]["issubcat"]="true";
							$out[4]["name"]="Зарубежные фильмы 2013 г.";
							$out[4]["link"]="kino_z_2013";
							$out[4]["image"]="image/cat/kino.png";
							$out[4]["issubcat"]="true";
							$out[5]["name"]="Советские фильмы";
							$out[5]["link"]="kino_ussr";
							$out[5]["image"]="image/cat/kino.png";
							$out[5]["issubcat"]="true";
							$out[6]["name"]="Наше кино";
							$out[6]["link"]="kino_n";
							$out[6]["image"]="image/cat/kino.png";
							$out[6]["issubcat"]="true";
							$out[7]["name"]="Индийские фильмы";
							$out[7]["link"]="kino_india";
							$out[7]["image"]="image/cat/kino.png";
							$out[7]["issubcat"]="true";
							$out[8]["name"]="Скоро в кино";
							$out[8]["link"]="kino_soon";
							$out[8]["image"]="image/cat/kino.png";
							$out[8]["issubcat"]="true";
							$out[9]["name"]="Фильмы на языке оригинала";
							$out[9]["link"]="kino_orig";
							$out[9]["image"]="image/cat/kino.png";
							$out[9]["issubcat"]="true";
							$firstitem = 0;
							$item = 10;
							$out["uakino_manual"]="true";
						} else if ($category == "mult"){
							$out[0]["name"]="Мультсериалы";
							$out[0]["link"]="mult_serial";
							$out[0]["image"]="image/cat/n_multserial.png";
							$out[0]["issubcat"]="true";
							$out[1]["name"]="Советские мультфильмы";
							$out[1]["link"]="mult_ussr";
							$out[1]["image"]="image/cat/ussr_mult.png";
							$out[1]["issubcat"]="true";
							$out[2]["name"]="Наши мультфильмы";
							$out[2]["link"]="mult_n";
							$out[2]["image"]="image/cat/mult.png";
							$out[2]["issubcat"]="true";
							$out[3]["name"]="Зарубежные мультфильмы";
							$out[3]["link"]="mult_z";
							$out[3]["image"]="image/cat/z_mult.png";
							$out[3]["issubcat"]="true";
							$out[4]["name"]="Мультфильмы на языке оригинала";
							$out[4]["link"]="mult_orig";
							$out[4]["image"]="image/cat/z_mult.png";
							$out[4]["issubcat"]="true";
							$firstitem = 0;
							$item = 5;
							$out["uakino_manual"]="true";
						}else if ($category == "doc"){
							$out[0]["name"]="BBC";
							$out[0]["link"]="doc_bbc";
							$out[0]["image"]="image/cat/bbc.png";
							$out[0]["issubcat"]="true";
							$out[1]["name"]="Discovery";
							$out[1]["link"]="doc_discovery";
							$out[1]["image"]="image/cat/discovery.png";
							$out[1]["issubcat"]="true";
							$out[2]["name"]="National Geographic";
							$out[2]["link"]="doc_natgeo";
							$out[2]["image"]="image/cat/natgeo.png";
							$out[2]["issubcat"]="true";
							$out[3]["name"]="Вера и религия";
							$out[3]["link"]="doc_relig";
							$out[3]["image"]="image/cat/relig.png";
							$out[3]["issubcat"]="true";
							$out[4]["name"]="Космос";
							$out[4]["link"]="doc_space";
							$out[4]["image"]="image/cat/space.png";
							$out[4]["issubcat"]="true";
							$out[5]["name"]="Флора и фауна";
							$out[5]["link"]="doc_flora";
							$out[5]["image"]="image/cat/fauna.png";
							$out[5]["issubcat"]="true";
							$out[6]["name"]="Эпоха СССР";
							$out[6]["link"]="doc_ussr";
							$out[6]["image"]="image/cat/ussr.png";
							$out[6]["issubcat"]="true";
							$out[7]["name"]="Военные Хроники";
							$out[7]["link"]="doc_war";
							$out[7]["image"]="image/cat/war.png";
							$out[7]["issubcat"]="true";
							$out[8]["name"]="Тайны века, спецслужбы";
							$out[8]["link"]="doc_kgb";
							$out[8]["image"]="image/cat/taina.png";
							$out[8]["issubcat"]="true";
							$out[9]["name"]="Рыболовство";
							$out[9]["link"]="doc_fishing";
							$out[9]["image"]="image/cat/fishing.png";
							$out[9]["issubcat"]="true";
							$out[10]["name"]="Арсенал";
							$out[10]["link"]="doc_arsenal";
							$out[10]["image"]="image/cat/arsenal.png";
							$out[10]["issubcat"]="true";
							$out[11]["name"]="Биографии. Личности и кумиры";
							$out[11]["link"]="doc_kumir";
							$out[11]["image"]="image/cat/biograf.png";
							$out[11]["issubcat"]="true";
							$out[12]["name"]="Человек";
							$out[12]["link"]="doc_people";
							$out[12]["image"]="image/cat/docum.png";
							$out[12]["issubcat"]="true";
							$out[13]["name"]="Чернобыль";
							$out[13]["link"]="doc_stalker";
							$out[13]["image"]="image/cat/docum.png";
							$out[13]["issubcat"]="true";
							$out[14]["name"]="Путешествия";
							$out[14]["link"]="doc_travel";
							$out[14]["image"]="image/cat/docum.png";
							$out[14]["issubcat"]="true";
							$firstitem = 0;
							$item = 15;
							$out["uakino_manual"]="true";
						} else if ($category == "janr"){
							$out[0]["name"]="Фантастика";
							$out[0]["link"]="фантастика";
							$out[0]["image"]="image/cat/kino_fantastika.png";
							$out[0]["issubcat"]="true";
							$out[1]["name"]="Фентези";
							$out[1]["link"]="фентези";
							$out[1]["image"]="image/cat/kino_fentezy.png";
							$out[1]["issubcat"]="true";
							$out[2]["name"]="Боевики";
							$out[2]["link"]="боевик";
							$out[2]["image"]="image/cat/kino_boevik.png";
							$out[2]["issubcat"]="true";
							$out[3]["name"]="Комедии";
							$out[3]["link"]="комедия";
							$out[3]["image"]="image/cat/kino_comedy.png";
							$out[3]["issubcat"]="true";
							$out[4]["name"]="Мистика";
							$out[4]["link"]="мистика";
							$out[4]["image"]="image/cat/kino_misika.png";
							$out[4]["issubcat"]="true";
							$out[5]["name"]="Ужасы";
							$out[5]["link"]="ужасы";
							$out[5]["image"]="image/cat/kino_ujas.png";
							$out[5]["issubcat"]="true";
							$out[6]["name"]="Триллеры";
							$out[6]["link"]="триллер";
							$out[6]["image"]="image/cat/kino_triller.png";
							$out[6]["issubcat"]="true";
							$out[7]["name"]="Вестерн";
							$out[7]["link"]="вестерн";
							$out[7]["image"]="image/cat/kino_vestern.png";
							$out[7]["issubcat"]="true";
							$out[8]["name"]="Приключения";
							$out[8]["link"]="приключения";
							$out[8]["image"]="image/cat/kino_prikluch.png";
							$out[8]["issubcat"]="true";
							$out[9]["name"]="Исторические";
							$out[9]["link"]="исторический";
							$out[9]["image"]="image/cat/kino_histor.png";
							$out[9]["issubcat"]="true";							
							$out[10]["name"]="Семейные";
							$out[10]["link"]="семейный";
							$out[10]["image"]="image/cat/kino_semejniy.png";
							$out[10]["issubcat"]="true";							
							$out[11]["name"]="Детективы";
							$out[11]["link"]="детектив";
							$out[11]["image"]="image/cat/kino_detectiv.png";
							$out[11]["issubcat"]="true";							
							$out[12]["name"]="Мелодрамы";
							$out[12]["link"]="мелодрама";
							$out[12]["image"]="image/cat/kino_melodrama.png";
							$out[12]["issubcat"]="true";							
							$out[13]["name"]="Драмы";
							$out[13]["link"]="драма";
							$out[13]["image"]="image/cat/kino_drama.png";
							$out[13]["issubcat"]="true";							
							$out[14]["name"]="Мюзикл";
							$out[14]["link"]="мюзикл";
							$out[14]["image"]="image/cat/kino_musikl.png";
							$out[14]["issubcat"]="true";							
							$firstitem = 0;
							$item = 15;
							$out["uakino_manual"]="true";
							$out["uakino_search"]="true";
						}
					break;
				}
				
				if ($out["uakino_manual"]!="true") {//если не ручная подстановка то грузим и парсим
					$start = '<div class="tab media_line">'; //начало блока для обработки  
					$stop = '<div class="tabs_header tabs_header_bl">'; //конец блока для обработки
					$separator1 = '<div class="media_line_item'; //для отдельных фильмов
					$test_subcat = '<a href="category'; //подкатегория
					$test_video =  '<a href="video'; //не категория />
					$data = file_get_contents($category."?order=date&offset=". $page*16); //магия :)
					$pos1 = strpos($data, $start) + strlen($start);
					$pos2 = strpos($data, $stop, $pos1);
					$data = substr($data, $pos1, $pos2 - $pos1);
					$data = explode($separator1, $data);//грубо преобразовываем в массив
					$regx_subcat = '~<a href="(.*)" class="fleft thumb"><img src="(.*)".*alt="(.*)" title.* /></a>.*<a href=.*</a></strong>.*</strong>(.*)</li>~Uis';
					$regx_nocat = '~<a href="(.*)" class="fleft thumb"><img src="(.*)" alt="(.*)" title="~Uis';
	
					//теперь перебираем и формируем массив данных по фильмам.
					for ($i=0; $i < count($data); $i++) {
						if (strpos($data[$i], $test_video) === false) {} else { //одиночка
						  	preg_match($regx_nocat, $data[$i], $tmp);
							$out[$item]["link"]= "http://uakino.net/" . $tmp[1];
							$out[$item]["image"]= corrImgUakino($tmp[2]);
							$out[$item]["name"]= $tmp[3];
							$item++;
							continue;
						}
						if (strpos($data[$i], $test_subcat) === false) {} else { //контейнер
							preg_match($regx_subcat, $data[$i], $tmp);
							$out[$item]["link"]= "http://uakino.net/" . $tmp[1];
							$out[$item]["image"]= "http://uakino.net/" . corrImgUakino($tmp[2]);
							$out[$item]["name"]= $tmp[3] . "  | Вложений: " . $tmp[4];
							//добавка для сезонов
							if (strpos($data[$i], "езон") === false) {
								$out[$item]["issubcat"]="true";
							} else {
								$out[$item]["issubcat"]="false";
							}
							//конец добавка для сезонов
							$item++;
							continue;
						} 
						
				
					}
				}
			}
						
//////////////////////////////////////////////// HDKINOMIR VIDEOLIST
if ($site == "hdkinomir") {
			$out["hdkinomir_manual"]="false";
				if ($category == "main"){ //ручная категория
					$out[0]["name"]="Отечественные";
					$out[0]["link"]="otechestvennoe";
					$out[0]["image"]="image/cat/films_rus.png";
					$out[0]["issubcat"]="true";
					$out[1]["name"]="Мультфильмы";
					$out[1]["link"]="multfilm";
					$out[1]["image"]="image/cat/mult.png";
					$out[1]["issubcat"]="true";
					$out[2]["name"]="Семейные";
					$out[2]["link"]="semeyniy";
					$out[2]["image"]="image/cat/kino_semejniy.png";
					$out[2]["issubcat"]="true";
					$out[3]["name"]="Боевики";
					$out[3]["link"]="boevik";
					$out[3]["image"]="image/cat/kino_boevik.png";
					$out[3]["issubcat"]="true";
					$out[4]["name"]="Триллеры";
					$out[4]["link"]="triller";
					$out[4]["image"]="image/cat/kino_triller.png";
					$out[4]["issubcat"]="true";
					$out[5]["name"]="Фантастика";
					$out[5]["link"]="fantastika";
					$out[5]["image"]="image/cat/kino_fantastika.png";
					$out[5]["issubcat"]="true";
					$out[6]["name"]="Фэнтези";
					$out[6]["link"]="fentezi";
					$out[6]["image"]="image/cat/kino_fentezy.png";
					$out[6]["issubcat"]="true";
					$out[7]["name"]="Комедии";
					$out[7]["link"]="comedy";
					$out[7]["image"]="image/cat/kino_comedy.png";
					$out[7]["issubcat"]="true";
					$out[8]["name"]="Вестерны";
					$out[8]["link"]="vestern";
					$out[8]["image"]="image/cat/kino_vestern.png";
					$out[8]["issubcat"]="true";
					$out[9]["name"]="Военные";
					$out[9]["link"]="voenniy";
					$out[9]["image"]="image/cat/war.png";
					$out[9]["issubcat"]="true";
					$out[10]["name"]="Романтика";
					$out[10]["link"]="romantika";
					$out[10]["image"]="image/cat/docum.png";
					$out[10]["issubcat"]="true";
					$out[11]["name"]="Криминал";
					$out[11]["link"]="kriminal";
					$out[11]["image"]="image/cat/docum.png";
					$out[11]["issubcat"]="true";
					$out[12]["name"]="Мистика";
					$out[12]["link"]="mistika";
					$out[12]["image"]="image/cat/kino_misika.png";
					$out[12]["issubcat"]="true";
					$out[13]["name"]="Ужасы";
					$out[13]["link"]="ujasi";
					$out[13]["image"]="image/cat/kino_ujas.png";
					$out[13]["issubcat"]="true";
					$out[14]["name"]="Детектив";
					$out[14]["link"]="detektiv";
					$out[14]["image"]="image/cat/kino_detectiv.png";
					$out[14]["issubcat"]="true";
					$out[15]["name"]="Мелодрамы";
					$out[15]["link"]="melodrama";
					$out[15]["image"]="image/cat/kino_melodrama.png";
					$out[15]["issubcat"]="true";
					$out[16]["name"]="Драма";
					$out[16]["link"]="drama";
					$out[16]["image"]="image/cat/kino_drama.png";
					$out[16]["issubcat"]="true";
					$out[17]["name"]="Бои без правил";
					$out[17]["link"]="boi-bez-pravil";
					$out[17]["image"]="image/cat/docum.png";
					$out[17]["issubcat"]="true";
					$out[18]["name"]="Документальные";
					$out[18]["link"]="documentalniy";
					$out[18]["image"]="image/cat/docum.png";
					$out[18]["issubcat"]="true";
					$out[19]["name"]="Исторические";
					$out[19]["link"]="istoricheskiy";
					$out[19]["image"]="image/cat/kino_histor.png";
					$out[19]["issubcat"]="true";
					$out[20]["name"]="Индийские";
					$out[20]["link"]="indiyskiy";
					$out[20]["image"]="image/cat/docum.png";
					$out[20]["issubcat"]="true";
					$out[21]["name"]="Приключения";
					$out[21]["link"]="priklyucheniya";
					$out[21]["image"]="image/cat/kino_prikluch.png";
					$out[21]["issubcat"]="true";
					$out[22]["name"]="Спорт";
					$out[22]["link"]="sport";
					$out[22]["image"]="image/cat/sport.png";
					$out[22]["issubcat"]="true";
					$out[23]["name"]="Музыка/Мюзикл";
					$out[23]["link"]="musikl";
					$out[23]["image"]="image/cat/kino_musikl.png";
					$out[23]["issubcat"]="true";
					$out[24]["name"]="Трейлеры";
					$out[24]["link"]="trailer";
					$out[24]["image"]="image/cat/trailers.png";
					$out[24]["issubcat"]="true";
					$out[25]["name"]="Биография";
					$out[25]["link"]="biografia";
					$out[25]["image"]="image/cat/biograf.png";
					$out[25]["issubcat"]="true";
					$out[26]["name"]="На Английском";
					$out[26]["link"]="english-film";
					$out[26]["image"]="image/cat/films_eng.png";
					$out[26]["issubcat"]="true";
					$out[27]["name"]="Концерты и клипы";
					$out[27]["link"]="video-clips";
					$out[27]["image"]="image/cat/concerts.png";
					$out[27]["issubcat"]="true";
					$out[28]["name"]="TV шоу";
					$out[28]["link"]="razvlecheniya-i-show";
					$out[28]["image"]="image/cat/show.png";
					$out[28]["issubcat"]="true";
					$out[29]["name"]="Аниме";
					$out[29]["link"]="anime";
					$out[29]["image"]="image/cat/anime.png";
					$out[29]["issubcat"]="true";
					$firstitem = 0;
					$item = 30;
					$out["hdkinomir_manual"]="true";
				} else {
					$category = "http://hdkinomir.com/" . $category . "/";
				} 
				
				if ($out["hdkinomir_manual"]!="true") {//если не ручная подстановка то грузим и парсим
							if (!isset($_GET[page])){//номер страницы
								$page = 1;
							} else {
								$page = $_GET[page]+1;
							}
							
							$search = urlencode(utf8_to_cp1251($search));
						
									if( $curl = curl_init() ) {
										curl_setopt($curl,CURLOPT_URL,$category."/page/".$page."/");
										curl_setopt($curl, CURLOPT_REFERER, "http://hdkinomir.com/index.php");
										curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)"); 
										curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
										curl_setopt($curl,CURLOPT_HEADER,true);
										curl_setopt($curl,CURLOPT_AUTOREFERER,true);
										curl_setopt($curl , CURLOPT_RETURNTRANSFER, true); 
										$data = curl_exec($curl);
										curl_close($curl);
									  }
							if ($page >1) {
								$item = ($page-1)*10;
							} else {
								$item = 0;
							}
							
							$firstitem=$item;//возвращаемый первый элемент.
							$start = 'onlayn-filmy-po-godam'; //начало блока для обработки  
							$stop = '<div class="footer">'; //конец блока для обработки
							$pos1 = strpos($data, $start) + strlen($start);
							$pos2 = strpos($data, $stop, $pos1);
							$data = substr($data, $pos1, $pos2 - $pos1);
							$separator = '<div class="news-item2-news fix-images">'; //для отдельных фильмов
							$data = explode($separator, $data);//грубо преобразовываем в массив
							$test_video_block = '<h2><a href='; //проверка, является ли элемент массива видеоблоком
							$regx = '~<h2><a href="(.*)">(.*)</a></h2>(.*)<img src="(.*)".*(title|alt)~Uis';
							
							for ($i=0; $i < count($data); $i++) {
								if (strpos($data[$i], $test_video_block) === false) {} else {
									preg_match($regx, $data[$i], $tmp);
									$out[$item]["link"]=  $tmp[1];
									$out[$item]["image"]= "http://hdkinomir.com". str_replace("thumbs/", "", $tmp[4]);
									$out[$item]["name"]= cp1251_to_utf8($tmp[2]);
									$item++;
								}
							}
								$out[firstItem]=$firstitem;
								$out[allItem]=$item-1;
								echo json_encode($out);
							break;	
				}
			}
			//////////////////////////////////////////////// ANIMULT VIDEOLIST
			if ($site == "animult") {
				$out["animult_manual"]="false";
				if ($category == "main"){ //ручная категория
				//Здесь категории
					$out[0]["name"]="Новинки"; 
					$out[0]["link"]="new";
					$out[0]["image"]="image/cat/z_mult.png";
					$out[0]["issubcat"]="true";
					$out[1]["name"]="Все Мультфильмы"; 
					$out[1]["link"]="mult";
					$out[1]["image"]="image/cat/z_mult.png";
					$out[1]["issubcat"]="true";
					$out[2]["name"]="Мультфильмы"; 
					$out[2]["link"]="mult/multfilm";
					$out[2]["image"]="image/cat/z_mult.png";
					$out[2]["issubcat"]="true";
					$out[3]["name"]="Мультсериалы"; 
					$out[3]["link"]="mult/multseriali";
					$out[3]["image"]="image/cat/z_multserial.png";
					$out[3]["issubcat"]="true";
					$out[4]["name"]="Все аниме"; 
					$out[4]["link"]="anime";
					$out[4]["image"]="image/cat/anime.png";
					$out[4]["issubcat"]="true";
					$out[5]["name"]="Аниме OVA"; 
					$out[5]["link"]="anime/animeova";
					$out[5]["image"]="image/cat/anime.png";
					$out[5]["issubcat"]="true";
					$out[6]["name"]="Аниме фильмы"; 
					$out[6]["link"]="anime/animefilm";
					$out[6]["image"]="image/cat/anime.png";
					$out[6]["issubcat"]="true";
					$out[7]["name"]="Аниме сериалы"; 
					$out[7]["link"]="anime/animeser";
					$out[7]["image"]="image/cat/anime.png";
					$out[7]["issubcat"]="true";
				$firstitem = 0;
				$item = 8;//Продолжение $out
				$out["animult_manual"]="true";
			} else {
				$category = "http://animult.tv/" . $category ;
			} 
			if ($out["animult_manual"]!="true") {//если не ручная подстановка то грузим и парсим
				$page = 1;
				$data = file_get_contents($category."/page/1/"); 
				$item = 0;
				preg_match_all('~"blocknews"><h1>.*<a href="(.*)">(.*)</a>.*</h1>.*<img src="(.*)"~Uis', $data, $tmp);
				$preitem = 0;
				for ($i=0; $i < count($tmp[1]); $i++) {
					$preout[$preitem]["link"] = $tmp[1][$i];
					$tmp[2][$i] = preg_replace("~смотреть онлайн~Uis","",cp1251_to_utf8_2($tmp[2][$i]));
					$tmp[2][$i] = preg_replace("~Смотреть Онлайн~Uis","",$tmp[2][$i]);
					$preout[$preitem]["name"] = $tmp[2][$i];
					if (strpos($tmp[3][$i], "http://animult") === false) {
						$preout[$preitem]["image"] = "http://animult.tv". $tmp[3][$i];
					} else {
						$preout[$preitem]["image"] = $tmp[3][$i];
					}
					$preitem++;
				}
				if ($listingUp) {//если листаем вверх
					//$firstitem является последним по списку!!!
					$firstitem = $firstitem - count($preout) +1;
					$item=$firstitem;
					for ($i=0; $i < count($preout); $i++){
						$out[$item] = $preout[$i];
						$item++;
					}
				} else {
					for ($i=0; $i < count($preout); $i++){
						$out[$item] = $preout[$i];
						$item++;
					}
					$item = $firstitem + count($preout);
				}
				}
			}
//////////////////////////////////////////////// END ANIMULT VIDEOLIST

//////////////////////////////////////////////// END HDKINOMIR VIDEOLIST
			$out["firstItem"]=$firstitem;
			$out["allItem"]=$item-1;
			echo json_encode($out);
			return;
		break;
		
///====================== ФАЙЛЛИСТ ======================///======================///================
	case "playlist":
//=== EX.UA ===////=== EX.UA ===////=== EX.UA ===////=== EX.UA ===////=== EX.UA ===////=== EX.UA ===//
		if ($site == "ex") {
			$link = "http://www.ex.ua".$_GET['link'];
			$data = file_get_contents($link); //магия :)
			if (!$flv) {
				preg_match("~\/(\d*)\?~Uis", $_GET['link'],$m3u);//номер в базе  ех
				if ($m3u[1]=="") {
					preg_match("~\/(\d*)$~Uis", $_GET['link'],$m3u);//номер в базе  ех
				}
				$m3u = file_get_contents("http://www.ex.ua/playlist/".$m3u[1].".m3u");
				if (strlen($m3u)<7) {
						$m3u = file_get_contents("http://www.ex.ua/filelist/".$m3u[1].".urls");
						$m3u = preg_split("~\s~Uis",$m3u);//массив ссылкок на файлы. ПОСЛЕДНИЙ элемент не нужен!!!
						$j=0;
						for ($i=0; $i < count($m3u)-1; $i++){//ОРИГИНАЛ
						//for ($i=0; $i < 1; $i++){ //ДЛЯ ТЕСТА
							//формируем регулярку для поиска имени файла и размера
							$x="~get\/(.*)$~Uis";
							preg_match($x, $m3u[$i], $regx); // в $regx[1]
							$x="~";
							$x.="get\/";
							$x.=$regx[1];
							$x.="' title='";
							$x.="(.*)'";
							$x.=".*width=200 class=small><b>";
							$x.="(.*)</b>.*</a><br>.*, (.*)\:";
							$x.="~Uis";
							//получаем название файла:
							preg_match($x, $data, $tmp);
							//print_r($tmp);
							if ((strtolower($tmp[3] == "avi"))||(strtolower($tmp[3] == "matroska"))||(strtolower($tmp[3] == "flv")) ||(strtolower($tmp[3] == "mp4"))||(strtolower($tmp[3] == "mov"))) {
								$filelist[$j]['name']= $tmp[1];
									$tmp[2] = (((float)str_replace(",", "", $tmp[2]))/1048576);
										if ($tmp[2]>0){
											if ($tmp[2] <= 1000) {$tmp[2]=round(($tmp[2]), 2) ." Mb";} 
											else {$tmp[2]=round(($tmp[2]/1024), 2) ." Gb";}
										}else{$tmp[2]=round(($tmp[2]*1024), 2) ." Kb";}
								$filelist[$j]['size']=  $tmp[2];
								$filelist[$j]['link']=  $m3u[$i];
								if (strtolower($tmp[3])=="matroska") {
									$filelist[$j]['type']= "mkv";
								} else if (strtolower($tmp[3])=="mov") {
									$filelist[$j]['type']=  "mp4";
								} else {
									$filelist[$j]['type']= strtolower($tmp[3]);
								}
								$j++;
							}else {
								$x="~\.(.{1,3})$~Uis";
								preg_match($x, $tmp[1], $tmp2);
								//print_r($tmp2);
								if ($tmp2[1] == "mp3") {
									$filelist[$j]['name']= $tmp[1];
									$tmp[2] = (((float)str_replace(",", "", $tmp[2]))/1048576);
										if ($tmp[2]>0){
											if ($tmp[2] <= 1000) {$tmp[2]=round(($tmp[2]), 2) ." Mb";} 
											else {$tmp[2]=round(($tmp[2]/1024), 2) ." Gb";}
										}else{$tmp[2]=round(($tmp[2]*1024), 2) ." Kb";}
									$filelist[$j]['size']=  $tmp[2];
									$filelist[$j]['link']=  $m3u[$i];
									$filelist[$j]['type']=  "mp3";
									$j++;
								}
							
							}
						}
					} else {
						$m3u = preg_split("~\s~Uis",$m3u);//массив ссылкок на файлы. ПОСЛЕДНИЙ элемент не нужен!!!
						for ($i=0; $i < count($m3u)-1; $i++){//ОРИГИНАЛ
							//формируем регулярку для поиска имени файла и размера
							$x="~get\/(.*)$~Uis";
							preg_match($x, $m3u[$i], $regx); // в $regx[1]
							$x = "~get\/".$regx[1]."' title='(.*)' rel='nofollow'>(.*)<td align=right width=230 class=small><b>(.*)</b><p>~Uis";

							//получаем название файла:
							preg_match($x, $data, $tmp);
							$filelist[$i]['name']= $tmp[1];
								$tmp[2] = (((float)str_replace(",", "", $tmp[3]))/1048576);
									if ($tmp[2]>0){
										if ($tmp[2] <= 1000) {$tmp[2]=round(($tmp[2]), 2) ." Mb";} 
										else {$tmp[2]=round(($tmp[2]/1024), 2) ." Gb";}
									}else{$tmp[2]=round(($tmp[2]*1024), 2) ." Kb";}
							$filelist[$i]['size']=  $tmp[2];
							$filelist[$i]['link']=  $m3u[$i];
								$x="~\.(.{1,3})$~Uis";
								preg_match($x, $tmp[1], $tmp);
							$filelist[$i]['type']=  strtolower($tmp[1]);
						}
					}
			}else{
				//FLV FLV FLV FLV
				preg_match("~var player_info(.*)}\);~Uis", $data, $tmp1);
				preg_match_all("~title: '(.*)' ~Uis", $tmp1[1], $tmp1); //имена в [1][1-...]
				preg_match("~var player_list = \'\{(.*)}\';~Uis", $data, $tmp2);
				preg_match_all('~"url": "(.*)"~Uis', $tmp2[1], $tmp2); //ссылки в [1][1-...]
				for ($i=0; $i < count($tmp1[1]); $i++) {
					$filelist[$i]['name']= urldecode($tmp1[1][$i]);
					$filelist[$i]['size']=  "Режим FLV";
					$filelist[$i]['link']=  urldecode($tmp2[1][$i]);
					$filelist[$i]['type']=  "flv";
				}
				//КОНЕЦ FLV FLV FLV FLV			
			}
			//Закончили брать инфу по файлам
	//==========//==========//==========//==========//==========//==========//==========//==========//==========//========			
				
			preg_match("~(<h1>(.*))</td><td~Uis", $data, $description);
			$description = $description[1];
			
			$description = preg_replace("~<a[^>]*>(.)*</small><p>~Uis","",$description); //убираем автора
			$description = preg_replace("~<a href[^>]*>~Uis","",$description); //убираем ссылки
			$description = preg_replace("~</a>~Uis","",$description); //убираем ссылки
			//$description = preg_replace("~<a href[^>]*>(.)*a>~Uis","",$description); //убираем ссылки
			$description = preg_replace("~<(f|/f|i|/i|u|/u)[^>]*>~Uis","",$description); //убираем корекцию шрифтов font i u
			$description = preg_replace("~</h1><br>[/s]*~Uis","</h1>",$description); //лишний отступ от заглавия
			$description = preg_replace("~<span[^>]*>(.)*</span>~Uis","",$description); //убираем span
			
			$ptn= "~<p>~Uis"; 
			//взяли описание
			$out["description"] = $description;
		}
		

//=== UAKINO.NET ===////=== UAKINO.NET ===////=== UAKINO.NET ===////=== UAKINO.NET ===////=== UAKINO.NET ===//
			if ($site == "uakino") {
				$link = $_GET['link'];
				$data = file_get_contents($link); //магия :)
				//print_r($data);
				preg_match('~og:title" content="(.*)(смотреть|бесплатно|онлайн).*">.*og:video" content="(.*)".*:duration" content="(.*)"~Uis', $data, $tmp);
				//print_r($tmp);
				if (count($tmp)!= 0) { //это файллист по старому
					preg_match('~<div id="media_description".*>(.*) <a class="full_descr".*<ul class="media_info">(.*)</ul>~Uis', $data, $description);
					$description = $description[2] ."<br/><br/>". $description[1];
					$description = preg_replace("~<(i|/i)[^>]*>~Uis","",$description); //убираем корекцию шрифтов font i
					$description = preg_replace("~<a[^>]*>~Uis","",$description);
					$description = preg_replace("~<span[^>]*>~Uis","",$description); //убираем span
					$description = preg_replace("~<meta[^>|<]*>~Uis","",$description); 
					$description = preg_replace("~</span>~Uis","",$description); //убираем span
					$description = preg_replace("~\:~Uis",": </strong>",$description); //замена <li>
					$description = preg_replace("~<li>~Uis"," <strong>",$description); //замена <li>
					$description = preg_replace("~</li>~Uis","<br/>",$description); //замена </li>
					$description = preg_replace("~(<div>|</div>)~Uis"," ",$description); //убираем div
					$tmp[1] = preg_replace("~<meta[^>]*>~Uis","",$tmp[1]); 
					$tmp[1] = preg_replace("~на uakino\.net.*~is","",$tmp[1]); 
					$tmp[1] = preg_replace("~Смотреть ~Uis","",$tmp[1]); 
					$out["description"] = "<h1>". $tmp[1] ."</h1>". $description;
					$tmp[1] = preg_replace("~(<Онлайн сериал|фильм|Онлайн мультик|Онлайн просмотр сериала|на uakino.net\">|Сериал|Фильм)~Uis"," ",$tmp[1]); 
					$tmpfile = file_get_contents($tmp[3]);
					preg_match('~"file"\:"(.*)"~Uis', $tmpfile, $tmpfile);
					$filelist[0]['name']= trim($tmp[1]) . ".MP4";
					$filelist[0]['size']= sec_to_time($tmp[4]);
					$filelist[0]['link']= $tmpfile[1];
					$filelist[0]['type']=  "mp4";
				} else { //Если это сериал то разобъем на части, полчим все что можно, возьмем первую ссылку и получим полное описание с картинкой 
					//получаем ссылки и названия
					//проходим по всем страницам
					$fuck = true;
					$fackcount=0;
					while ($fuck) { 
						preg_match_all('~<div class="media_line_item .*<a href="video\/(.*)" class="fleft.*alt="(.*)" /></a>~Uis', $data, $tmp);
						for ($i=0; $i<count($tmp[1]); $i++){
							$tmp[2][$i] = preg_replace("~.*/~","",$tmp[2][$i]); 
							$filelist[$fackcount+$i]['name']= $tmp[2][$i];
							$filelist[$fackcount+$i]['size']= "mp4";
							$data2= file_get_contents("http://api.uakino.net/ifr.php?mid=". $tmp[1][$i]);
							preg_match('~"file"\:"(.*)","poster~Uis', $data2, $tmp2);
							$filelist[$fackcount+$i]['link']= $tmp2[1];
							$filelist[$fackcount+$i]['type']=  "mp4";
							preg_match('~ерия (\d+)( из|\))~Uis', $filelist[$fackcount+$i]['name'], $tmp2); //пытаемся выделить серии
							$filelist[$fackcount+$i]['seriya']=  $tmp2[1];
						}
						if (count($tmp[1]) < 16) {
							$fuck = false;
						} else {
							$fackcount += 16;
							$data = file_get_contents($link . "?offset=" . $fackcount);
						}
					}
					//сортируем по серии
					$filelist=my_sort($filelist,'seriya'); 
					//получаем описание
					$data = file_get_contents("http://uakino.net/video/" . $tmp[1][count($tmp[1])-1]); //магия :)
					preg_match('~og:title" content="(.*)(смотреть|бесплатно|онлайн).*">.*og:video" content="~Uis', $data, $tmp);
					//print_r($data);
					preg_match('~<div id="media_description.*">(.*) <a class="full_descr".*<ul class="media_info">(.*)</ul>~Uis', $data, $description);
					$description = $description[2] ."<br/><br/>". $description[1];
					$description = preg_replace("~<(i|/i)[^>]*>~Uis","",$description); //убираем корекцию шрифтов font i
					$description = preg_replace("~<a[^>]*>~Uis","",$description);
					$description = preg_replace("~<span[^>]*>~Uis","",$description); //убираем span
					$description = preg_replace("~</span>~Uis","",$description); //убираем span
					$description = preg_replace("~\:~Uis",": </strong>",$description); //замена <li>
					$description = preg_replace("~<li>~Uis"," <strong>",$description); //замена <li>
					$description = preg_replace("~</li>~Uis","<br/>",$description); //замена </li>
					$description = preg_replace("~(<div>|</div>)~Uis"," ",$description); //убираем div
					$tmp[1] = preg_replace("~<meta[^>]*>~Uis","",$tmp[1]); 
					$tmp[1] = preg_replace("~на uakino\.net.*~is","",$tmp[1]); 
					$tmp[1] = preg_replace("~Смотреть ~Uis","",$tmp[1]); 
					$out["description"] = "<h1>". $tmp[1] ."</h1>". $description;
				}
			}
//=== FS.UA ===////=== FS.UA ===////=== FS.UA ===////=== FS.UA ===////=== FS.UA ===////=== FS.UA ===////=== FS.UA ===//
			if ($site == "fs") {
				$folder = isset($_GET['folder']) ? $_GET['folder'] : null;
				if (($folder == "")||($folder == "null")||($folder == "undefined")||($folder == "folder")){$folder=0;}
				if (!isset($_GET['stage'])){
					$stage = "first";
				} else {
					$stage = $_GET['stage'];
				}

				if( isset($_GET['folder']) )
				{
					$data = file_get_contents( urldecode($_GET['folder']) );
					$data2 = $data3 = $data1 = $data;

					$html = file_get_contents("http://" . $fslink . $_GET['link'] . "#fl0");
					preg_match("~{item_id: '(.*)', is_perview~Uis", $html, $fuckSubCode);

				}
				else
				{
					$data = file_get_contents("http://" . $fslink . $_GET['link'] . "#fl" . $folder);
					$data3 = $data1 = $data;
					preg_match("~{item_id: '(.*)', is_perview~Uis", $data, $fuckSubCode);
					$data = $data2 = file_get_contents("http://" . $fslink . "/item/i" . $fuckSubCode[1] . "?ajax&id=" . $fuckSubCode[1] . "&download=1&view=1&blocked=0&folder_quality=null&folder_lang=null&folder_translate=null&folder=" . $folder);
				}


				if (($stage=="first") || ($stage=="folder")|| ($stage=="fav_links")) {
						if (($stage=="first")||($stage=="fav_links")){//название
							preg_match('~col-head__titleyy"><a href="#">(.*)</a>~Uis', $data1, $description);
							$description0 = trim($description[1]);
							unset($description);
						}
						//отрезаем лишнее на странице
						$start = '<div class="item-info">'; //начало блока для обработки  
						$stop = 'b-tab-item__edit-material'; //конец блока для обработки
						$pos1 = strpos($data1, $start) + strlen($start);
						$pos2 = strpos($data1, $stop, $pos1);
						$data1 = substr($data1, $pos1, $pos2 - $pos1);				
						//КОНЕЦ отрезаем лишнее на странице
						if (($stage=="first")||($stage=="fav_links")){ //описание берем только 1 раз.
							//формируем описание
							preg_match("~<table>(.*)</p>~Uis", $data1, $description);
							$description = $description[1];
							$description = preg_replace("~<a href[^>]*>~Uis","",$description); //убираем ссылки
							$description = preg_replace("~</a>~Uis","",$description); //убираем хвосты ссылкок
							$description = preg_replace("~<span[^>]*>~Uis","",$description); //убираем span
							$description = preg_replace("~</span>~Uis","",$description); //убираем span
							$description = preg_replace('~b-tab-item__screens.*b-tab-item__description~Uis',"",$description); //убираем короткое описание
							$description = preg_replace("~\s{2,}~Uis"," ",$description); //лишние пробельный символы
							$description = preg_replace('~ class=".*"~Uis',"",$description); //убираем классы css			
							$description = preg_replace('~style=".*"~Uis',"",$description); //убираем стили css
							$description = preg_replace('~</table>~',"",$description); //убираем стили лишнее
							$description = preg_replace("~<tr>\s*<td>~Uis","<b>",$description); //корректировака названий
							$description = preg_replace("~</td>\s*<td>~Uis","</b>",$description); //корректировака названий
							$description = preg_replace("~</td>\s*</tr>~Uis","<br/>",$description); //корректировака названий
							$out["description"] = "<h1>". $description0 ."</h1>". $description;
							unset($data1);
							unset($description);
							//КОНЕЦ формируем описание
						}

						//шаманим ссылки
						if ($stage=="folder") {
							$start = '<ul class="filelist m-current"  >';
							$stop = '</ul>'; //конец блока для обработки
							$pos1 = strpos($data, $start) + strlen($start);
							$pos2 = strpos($data, $stop, $pos1);
							$data = substr($data, $pos1, $pos2 - $pos1);	
						} else { //first
						
							$start = '<ul class="filelist "  >';
							$pos1 = strpos($data, $start) + strlen($start);
							$data = substr($data, $pos1, strlen($data));
						}
						$separator1 = '<li class="folder">';
						$data = explode($separator1, $data);//грубо преобразовываем в массив по каждой папке
						$item=0;
						for ($i=0; $i < count($data); $i++){
							preg_match_all('~name="fl(.*)" class.*">(.*)<\/a>~Uis', $data[$i], $tmp);
							if ( isset($tmp[2][0]) and $tmp[2][0] != "") {//валидность
								$filelist[$item]["link"] = "http://fs.to".$_GET['link']."?ajax&r=0.10484779840028091&id=".$fuckSubCode[1]."&download=1&view=1&view_embed=0&blocked=0&folder_quality=null&folder_lang=null&folder_translate=null&folder=".$tmp[1][0]."&_=1422658100258";
/*

									"http://" . $fslink . "/item/i".$fuckSubCode[1]."?ajax&id=".$fuckSubCode[1]."&download=1&view=1&blocked=0&folder_quality=null&folder_lang=null&folder_translate=null&folder=".urldecode($tmp[1][0]);
*/

								$filelist[$item]['name']= strip_tags(trim(urldecode($tmp[2][0])));
								$filelist[$item]["stage"] = "folder";
								//проверяем на ссылку txt
								$regx_1='~<a href="\?folder=('.$tmp[1][0].'&flist)" class="folder-filelist".*Список файлов</a>~Uis';
								$regx_2='~<a href="/flist\\/i.*\?folder=('. $tmp[1][0] .')" class="folder-filelist".*Список файлов</a>~Uis';
								preg_match($regx_1,$data[$i],$tmp);
								preg_match($regx_2,$data[$i],$tmp_2);
								$otkat = false;

								if( is_array($tmp) and isset($tmp[1][0]))
								{
									if (($tmp[1] != "") || ($tmp_2[1] != ""))
									{
										if ($filelist[$item - 1]["stage"] == "folder")
										{
											// Если предыдущи folder а теперь links то сотрем предыдущий
											$otkat = true;
										}
										$filelist[$item]["stage"] = "links";
									}
								}

								preg_match_all('~<span class="material-size">(.*)<\/span>~Uis', $data[$i], $tmp);
								$filelist[$item]['size'] = $tmp[1][0] . " | "; //качество
								if (isset($tmp[1][1]) and $tmp[1][1] != "")
								{
									$filelist[$item]['size'] .= $tmp[1][1] . " | ";
								} //размер
								preg_match_all('~<span class="material-details">(.*)<\/span>~Uis', $data[$i], $tmp);

								if( isset($tmp[1][0]))
								{
									$filelist[$item]['size'] .= $tmp[1][0]; //кол-во файлов
								}

								if ($otkat)
								{
									$filelist[$item - 1] = $filelist[$item];
									unset($filelist[$item]);
								}
								else
								{
									$item++;
								}

							}
						}
					}

					if( stripos( $data2, '<ul class="filelist m-current"' ) !== false )
					{
						$stage = 'links';
					}

				if ($stage=="links" || ($stage=="fav_links" && $item == 0)){ //links - видеофайлы для воспроизведения
						$data = $data2;
						if ($stage=="fav_links"){//при вызове из фаворитов получаем описание
							//preg_match('~<h1>.*<\/b>(.*)<\/h1>~Uis', $data3, $description);
							preg_match('~col-head__titleyy"><a href="#">(.*)</a>~Uis', $data3, $description);
							$description0 = $description[1];
							unset($description);
							//формируем описание
							preg_match("~<table>(.*)</p>~Uis", $data3, $description);
							$description = $description[1];
							$description = preg_replace("~<a href[^>]*>~Uis","",$description); //убираем ссылки
							$description = preg_replace("~</a>~Uis","",$description); //убираем хвосты ссылкок
							$description = preg_replace("~<span[^>]*>~Uis","",$description); //убираем span
							$description = preg_replace("~</span>~Uis","",$description); //убираем span
							$description = preg_replace('~b-tab-item__screens.*b-tab-item__description~Uis',"",$description); //убираем короткое описание
							$description = preg_replace("~\s{2,}~Uis"," ",$description); //лишние пробельный символы
							$description = preg_replace('~ class=".*"~Uis',"",$description); //убираем классы css			
							$description = preg_replace('~style=".*"~Uis',"",$description); //убираем стили css
							$description = preg_replace('~</table>~',"",$description); //убираем стили лишнее
							$description = preg_replace("~<tr>\s*<td>~Uis","<b>",$description); //корректировака названий
							$description = preg_replace("~</td>\s*<td>~Uis","</b>",$description); //корректировака названий
							$description = preg_replace("~</td>\s*</tr>~Uis","<br/>",$description); //корректировака названий
							$out["description"] = "<h1>". $description0 ."</h1>". $description;
							unset($description);
							//КОНЕЦ формируем описание
						}
						if (strlen($data) < 150) {
							$data = file_get_contents("http://" . $fslink . "/item/i".$fuckSubCode[1]."?ajax&id=".$fuckSubCode[1]."&download=1&view=1&blocked=0&folder_quality=null&folder_lang=null&folder_translate=null&folder=0");	
						}
						$item=0;
						if ($flv) {
							$regx = '~file-new_type_video".*href="(.*)".*link-material-filename-text".*>(.*)<~Uis';
						} else {
							$regx = '~filename-text".*>(.*)<\/span>.*<a id="dl_.\d*" href="(.*)" .*material-size">(.*)<\/span>~Uis';
						}	
						preg_match_all($regx, $data, $tmp);
						//print_r($data);
						
						for ($j=0; $j < count($tmp[1]); $j++) {
							$filelist[$item]["stage"] = "videofile";//не изменять
							if (!$flv) {
								$filelist[$item]['name']= urldecode($tmp[1][$j]); //только имя файла
								$tmp[2][$j]= str_replace(" ","+",$tmp[2][$j]); 
								$filelist[$item]["link"] = "http://" . $fslink  . $tmp[2][$j];
								$filelist[$item]['size']= $tmp[3][$j]; //размер
								$x="~\.(.{1,3})$~Uis";
								preg_match($x, $tmp[2][$j], $tmp2);
								$filelist[$item]['type']=  strtolower($tmp2[1]); 
							} else {// режим FLV
								$ttmp = file_get_contents("http://" . $fslink . $tmp[1][$j]);							
								preg_match('~download_url\:.* \'(.*)\',~Uis', $ttmp, $ttmp);								
								$filelist[$item]['name']= urldecode($tmp[2][$j]); //только имя файла
								$filelist[$item]["link"] = "http://" . $fslink . urldecode($ttmp[1]);
								$filelist[$item]['size']=  "MP4"; //размер
								$filelist[$item]['type']=  "mp4"; 
							}
							$item++;
						}
					}//закончили links
				
			
			}
//=== HDKINOMIR FILELIST ===////=== HDKINOMIR FILELIST ===////=== HDKINOMIR FILELIST ===////=== HDKINOMIR FILELIST ===//
			if ($site == "hdkinomir") {
				$link = $_GET['link'];
				  if( $curl = curl_init() ) {
					curl_setopt($curl,CURLOPT_URL,$link);
					    //Нагло подделываем REFERER:
					curl_setopt($curl, CURLOPT_REFERER, "http://hdkinomir.com/index.php");
					curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)"); 
					curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
					curl_setopt($curl,CURLOPT_HEADER,true);
					curl_setopt($curl,CURLOPT_AUTOREFERER,true);
					curl_setopt ($curl , CURLOPT_RETURNTRANSFER, true); // вывод страницы в переменную
					$data = curl_exec($curl);
					curl_close($curl);
				  }
					//готовим описание
					$start = '<div class="full-right-detailes">'; //начало блока для обработки  
					$stop = '<ul class="unit-rating">'; //конец блока для обработки
					$pos1 = strpos($data, $start) + strlen($start);
					$pos2 = strpos($data, $stop, $pos1);
					$description = cp1251_to_utf8(substr($data, $pos1, $pos2 - $pos1));
					//$description = cp1251_to_utf8($data);
					//echo $description;
					$description = preg_replace("~<a href[^>]*>~Uis","",$description); //убираем ссылки
					$description = preg_replace("~</a>~Uis","",$description); //убираем ссылки
					$description = preg_replace("~<(f|/f|i|/i|u|/u|li|ul|/ul)[^>]*>~Uis","",$description); //убираем корекцию шрифтов font i u
					$description = preg_replace("~</h1><br>[/s]*~Uis","</h1>",$description); //лишний отступ от заглавия
					$description = preg_replace("~</li>~Uis","<br/>",$description); 
					$description = preg_replace("~<span>~Uis","<b>",$description); //убираем span
					$description = preg_replace("~</span>~Uis","</b>",$description); //убираем span
					//$description = preg_replace("~<(div|p)[^>]*>~Uis","",$description); //убираем div
					//$description = preg_replace("~</(div|p)>~Uis","",$description); //убираем div
					$out["description"] = $description;
					//описание готово
					//Оригинальное название: <span itemprop="alternativeHeadline">Всё это цветочки...</span></div>
					preg_match('~alternativeHeadline">(.*)<~Uis', $description, $filename);
					$start = 'BodyClick End -->'; //начало блока для обработки  
					$stop = '<br/><div align="center"></div>'; //конец блока для обработки
					$pos1 = strpos($data, $start) + strlen($start);
					$pos2 = strpos($data, $stop, $pos1);
					$data = substr($data, $pos1, $pos2 - $pos1);
					$n = 0; //указатель номера файла в массиве
					/////// ОБРАБАТЫВАЕМ myhit.ge
					if (strpos($data, "myhit.ge/embed/") === false) {} else {//если есть ссылки на myhit.ge
						preg_match_all('~iframe.*src="http://myhit.ge/embed/(.*)" width~Uis', $data, $tmp);
						for ($i=0; $i < count($tmp[1]); $i++) {//количество ссылок на сайт myhit.ge
							$myhitLink = "http://myhit.ge/index.php?FID=1&id=" . $tmp[1][$i];
							//$data2 = file_get_contents($myhitLink); //магия :) //загружаем каждую ссылку 
							if( $curl = curl_init() ) {
								curl_setopt($curl,CURLOPT_URL,$myhitLink);
								curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)"); 
								curl_setopt($curl,CURLOPT_TIMEOUT, 5);
								//curl_setopt($curl,CURLOPT_NOBODY,true);
								curl_setopt($curl,CURLOPT_AUTOREFERER,true);
								curl_setopt ($curl,CURLOPT_RETURNTRANSFER, true); // вывод страницы в переменную
								$data2 = curl_exec($curl);
								curl_close($curl);
							  }
							// парсим страницу на предмет ссылок для загрузки
							preg_match_all("~Download </a></td> <td><a href='(.*)' >(.*)</a></td>.*<td width=120px align=center >(.*)</td><td width=50px align=center >(.*)</td>~Uis", $data2, $tmp2);
							for ($j=0; $j < count($tmp2[1]); $j++) {//определяем тип контейнера
								if( $curl = curl_init() ) {
								curl_setopt($curl,CURLOPT_URL,trim($tmp2[1][$j]));
								curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)"); 
								curl_setopt($curl,CURLOPT_TIMEOUT, 10);
								curl_setopt($curl,CURLOPT_NOBODY,true);
								curl_setopt($curl,CURLOPT_HEADER,true);
								curl_setopt($curl,CURLOPT_AUTOREFERER,true);
								curl_setopt($curl,CURLOPT_RETURNTRANSFER, true); // вывод страницы в переменную
								$ext = curl_exec($curl);
								curl_close($curl);
								preg_match('~filename="(.*)"~Uis', $ext, $tmp3);
								$tmp3 = explode(".", $tmp3[1]);
								$filelist[$n]['link']= trim($tmp2[1][$j]);
								$filelist[$n]['name']= trim($tmp2[2][$j])."_".trim($tmp2[3][$j]).".".$tmp3[1];
								$filelist[$n]['type']= $tmp3[1];
								$filelist[$n]['size']= trim($tmp2[4][$j]);
								$n++;
								unset ($tmp3);
								unset ($ext);
							  }
							}
							unset ($tmp2);
						}
					}///////// END ОБРАБАТЫВАЕМ myhit.ge
					///////// ОБРАБАТЫВАЕМ трейлеры с youtube
					if (strpos($data, "youtube.com/embed") === false) {} else {//если есть ссылки на youtube
						preg_match_all('~iframe.*youtube.com/embed/(.*)" width~Uis', $data, $tmp);
						for ($i=0; $i < count($tmp[1]); $i++) {//количество ссылок на сайт youtube
							$data2 = file_get_contents("http://www.youtube.com/watch?hl=ru&amp;gl=RU&amp;client=mv-google&amp;v=" .$tmp[1][$i]);
							//$data2 = file_get_contents("http://www.youtube.com/watch?hl=ru&amp;gl=RU&amp;client=mv-google&amp;v=iK3CO4XdqrM");
							preg_match('~title" content="(.*)">.*<p id="eow-description" >(.*)</p>.*</div>~Uis', $data2, $description_name);
							$description_name[2] = preg_replace("~(<a.*a>)~Uis","",$description_name[2]);
							preg_match('#url_encoded_fmt_stream_map["\']:\s*["\']([^"\'\s]*)#', $data2, $stream_map);
							$urls = preg_split('/,/', $stream_map[1]);
							$j=0;
							foreach ($urls as $url) {
								$url = urldecode($url);
								$url = str_replace('\u0026', '&', $url);
								$url = preg_replace('~; codecs=\".*\"~Uis', '', $url);
								if ((strpos($url,'video/x-flv')===false)&&(strpos($url,'video/mp4')===false)) {continue;}
								if (strpos($url,'video/x-flv')===false) {} else {$filelist[$j]['type']= "flv";};
								if (strpos($url,'video/mp4')===false) {} else {$filelist[$j]['type']= "mp4";};
								$filelist[$j]['name']= $description_name[1] .".". $filelist[$j]['type'];
								preg_match("/quality=([^&]*)/", $url, $ttt);
								if ($ttt[1] == "large") {
									$filelist[$j]['size']="480";
								} else if ($ttt[1] == "medium") {
									$filelist[$j]['size']="360";
								} else if ($ttt[1] == "small") {
									$filelist[$j]['size']="240";
								} else {
									$filelist[$j]['size']=$ttt[1];
								} 
								preg_match_all("/([a-z]*)=([^&|?]*)/", $url, $tmpyt);
								$yt = array();
								for ($k=0; $k < count($tmpyt[2]); $k++) {
									$yt[$tmpyt[1][$k]] = urldecode($tmpyt[2][$k]);
								}
								$url = $yt['url'] . "?";
								foreach ($yt as $yt_key=>$yt_value) {
									if ($yt_key == "url") continue;
									if ($yt_key == "sig") $yt_key = "signature";
									$url .= $yt_key . "=" . $yt_value . "&";
								}
								$filelist[$j]['link']= $url;
								$j++;
							}
							$out["description"] = "<h1>" . $description_name[1] . "</h1>" . $description_name[2];						
						}
					}///////// END ОБРАБАТЫВАЕМ трейлеры с youtube
					preg_match_all('~oid=(.*)&.*id=(.*)&.*hash=(.*)&.*hd~Uis', $data, $tmp);
						//получили даные о видео с хешами, теперь мутим прямые ссылки на все качество
					$total = 0;//всего серий/фильмов
					$urls = array();
					$arr_quality = array ("720", "480", "360", "240");
					for ($i=0; $i<count($arr_quality); $i++) {
							$tmpfilelist[$i]['name']= "Качество";
							$tmpfilelist[$i]['link']= "q".$arr_quality[$i];
							$tmpfilelist[$i]['type']= "folder";
							$tmpfilelist[$i]['size']= $arr_quality[$i];
							$tmpfilelist["q".$arr_quality[$i]] = array();
					}
					for ($i=0; $i < count($tmp[1]); $i++) {
						$url = 'http://vk.com/video_ext.php?oid='.$tmp[1][$i].'&id='.$tmp[2][$i].'&hash='.$tmp[3][$i];
						if( $curl = curl_init() ) {
							curl_setopt($curl,CURLOPT_URL,$url);
							curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)"); 
							curl_setopt($curl,CURLOPT_TIMEOUT, 30);
							curl_setopt($curl,CURLOPT_AUTOREFERER,true);
							curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
							$link = curl_exec($curl);
							curl_close($curl);
						}
						preg_match('~playerWrap(.*)flash_video_obj~Uis', $link, $link);
						if (isset($link[1]) && count($link[1]) > 0) {
							preg_match_all('~url(\d\d\d=.*)&~Uis', $link[1], $tmplink);
							for ($a=0; $a < count($tmplink[1]);$a++) {
								$ttt = preg_split("~=~",$tmplink[1][$a]);
								$urls[$total][$ttt[0]] = $ttt[1] . "=" . $ttt[2];
							}
							$total++;
						}
					} 
					if ($total > 1) {//больше одного файла, делаем по папкам
						$vkFolder = true;
						for ($i=0; $i < $total; $i++) {
							foreach ($urls[$i] as $quality=>$link){
								preg_match('~(.{3})\?extra~', $link, $type);
								$tmpfilelist['q'.$quality][count($tmpfilelist['q'.$quality])]['link'] = $link;
								$tmpfilelist['q'.$quality][count($tmpfilelist['q'.$quality])-1]['name']= (($total > 1) ? $i+1 ."_" : "") . $filename[1] . ".".strtoupper($type[1]);
								$tmpfilelist['q'.$quality][count($tmpfilelist['q'.$quality])-1]['type']= $type[1];
								$tmpfilelist['q'.$quality][count($tmpfilelist['q'.$quality])-1]['size']= $quality;
							}
						}
						for ($i=0; $i<count($arr_quality); $i++) {
							$tmpfilelist['q'.$arr_quality[$i]]['endItem']= count($tmpfilelist['q'.$arr_quality[$i]])-1;
							if ($tmpfilelist['q'.$arr_quality[$i]]['endItem'] != -1) {
								$filelist[$n]['name']= "Качество";
								$filelist[$n]['link']= "q".$arr_quality[$i];
								$filelist[$n]['type']= "folder";
								$filelist[$n]['size']= $arr_quality[$i] ." | " . (count($tmpfilelist['q'.$arr_quality[$i]]) -1)  . " файл(а/ов)" ;
								$filelist['q'.$arr_quality[$i]] = $tmpfilelist['q'.$arr_quality[$i]];
								$n++;
							}
						}
						$n--;//коррекция
					} else { // по старому если 1 файл
					$vkFolder = false;
					for ($i = 0;$i<$total;$i++) {
						arsort($urls[0]);
						foreach ($urls[$i] as $quality=>$link){
							preg_match('~(.{3})\?extra~', $link, $type);
							$filelist[$n]['link'] = $link;
							$filelist[$n]['name']= (($total > 1) ? $i+1 ."_" : "") . $filename[1] . ".". strtoupper($type[1]);
							$filelist[$n]['type']= $type[1];
							$filelist[$n]['size']= $quality;
							$n++;
						}
					}
					} //конец для одного файла вконтакте
			}
//=== END HDKINOMIR FILELIST ===////=== END HDKINOMIR FILELIST ===////=== END HDKINOMIR FILELIST ===///		
//=== ANIMULT FILELIST ===////=== ANIMULT FILELIST ===////=== ANIMULT FILELIST ===////=== ANIMULT FILELIST ===//
			if ($site == "animult") {
				$link = $_GET['link'];
				$data = @file_get_contents($link);
				  	//готовим описание
					$start = "<div id='dle-content'>"; //начало блока для обработки  
					$stop = '<!--/PLAYER-->'; //конец блока для обработки
					$pos1 = strpos($data, $start) + strlen($start);
					$pos2 = strpos($data, $stop, $pos1);
					$data = cp1251_to_utf8_2(substr($data, $pos1, $pos2 - $pos1));
					preg_match('~blocknews">(.*)<h4>~Uis', $data, $description);					
					$description = $description[1];
					$description = preg_replace("~<a [^>]*>~Uis","",$description); 
					$description = preg_replace("~</a>~Uis","",$description); 
					$description = preg_replace("~<(f|/f|i|/i|u|/u|li|ul|/ul)[^>]*>~Uis","",$description); 
					$description = preg_replace("~</h1><br>[/s]*~Uis","</h1>",$description); 
					$description = preg_replace("~</li>|<h2>|<h3>|<h4>|</h2>|</h3>|</h4>~Uis","<br/>",$description); 
					$description = preg_replace("~<span class=\".*\">~Uis","<b>",$description); 
					$description = preg_replace("~<span>|<table>|</table>~Uis","<b>",$description);
					$description = preg_replace("~</span>~Uis","</b>",$description);
					$description = preg_replace("~<span [^>]*>~Uis","",$description);
					$description = preg_replace("~<strong [^/>]*>~Uis","<strong>",$description);
					$description = preg_replace("~<br [^>]*>~Uis","<br>",$description);
					$description = preg_replace("~<(div|p)[^>]*>~Uis","",$description);
					$description = preg_replace("~</(div|p)>~Uis","",$description);
					$description = preg_replace("~<td valign=\"top\">.*1<br/>.*5<br/>~Uis","<strong>Год",$description);
					$description = preg_replace("~<table [^>]*>~Uis","",$description);
					$description = preg_replace("~<td [^>]*>|<tr [^>]*>|~Uis","",$description);
					$description = preg_replace("~</td>|</tr>|<b>|</b>~Uis","",$description);
					$description = preg_replace("~<br/><br/>~Uis","<br/>",$description);
					$description = preg_replace("~<br>~Uis","<br></strong>",$description);
					$description = preg_replace("~<tr><strong>Год~Uis","",$description);
					$out["description"] = $description;
					//описание готово
					//echo  $description;
										
					//echo ($data);
					preg_match_all('~(file\:|pl\:).*"(.*)"~', $data, $tmp); 
					if (count($tmp[2]) == 0) {
						preg_match('~flashvars="&(file)=(.*)&b~', $data, $tmp2); 
						if (count($tmp2) != 0) {
							$tmp[1][0] = $tmp2[1];
							$tmp[2][0] = $tmp2[2];
						} else {
							preg_match('~flashvars=.*file=(.*xml)&amp~', $data, $tmp2); 
							$tmp[1][0] ="pl:";
							$tmp[2][0] = "http://animult.tv" . $tmp2[1];
						}
					}
					//print_r($tmp);
					$n=0; 
					$f=0;
					$pristavka = "";
					for ($i=0; $i<count($tmp[2]); $i++) {
						if ($tmp[1][$i] == "pl:") {//плейлист
							$pl =  cp1251_to_utf8_2(@file_get_contents(trim($tmp[2][$i])));					
							//print_r($pl);
							preg_match_all('~(?:"file":"|<location>)(.*)(?:"|</location>)~Uis', $pl, $tmplist2); 
							$tmplist = $tmplist2[1];
							unset ($tmplist2);
							foreach ($tmplist as $tmpurl) {
								$tmpurl = preg_replace("~.* or ~Uis","",$tmpurl); //убираем альтернативную ссылку
								$filename = preg_split("~/~",$tmpurl);
								$type = preg_split("~\.~",$filename[count($filename)-1]);
								$filelist[$n]['name']= $filename[count($filename)-1];
								$filelist[$n]['link']= $tmpurl;
								$filelist[$n]['type']= $type[count($type)-1];
								$filelist[$n]['size']= strtoupper($type[count($type)-1]);
								$n ++;								
							}
							$tmplist = array();
						} else { //нет серий
							$tmpurl = preg_replace("~.* or ~Uis","",$tmp[2][$i]); //убираем альтернативную ссылку
							$filename = preg_split("~/~",$tmpurl);
							$type = preg_split("~\.~",$filename[count($filename)-1]);
							$filelist[$n]['name']= $filename[count($filename)-1];
							$filelist[$n]['link']= $tmpurl;
							$filelist[$n]['type']= $type[count($type)-1];
							$filelist[$n]['size']= strtoupper($type[count($type)-1]);
							$n ++;	
						}
					}
			}
//=== END ANIMULT FILELIST ===////=== END ANIMULT FILELIST ===////=== END ANIMULT FILELIST ===///		
			//общее для всех
			if( !isset($filelist) or !is_array($filelist) )
			{
				$filelist = array();
			}

			$out["prevUrl"] = $_GET['link'];
			$out["fileList"] = ( isset($filelist) and is_array($filelist) ) ? $filelist : array();
			isset($vkFolder) ? $out["endItem"] = $n :  $out["endItem"] = count($filelist)-1;
		
		echo json_encode($out);
		break;

// ЗАКОНЧИЛИ БРАТЬ ФАЙЛЛИСТ		
///======================///======================///======================///======================///================
///======================///======================///======================///======================///================	



// ======================== ПОИСК ==========================///
case "search":
		$search = $_GET[search]; //строка для поиска
	
	if ($site == "ex") {
				
		if (!isset($_GET[category])){//номер категории если есть
			$category = "";
		} else {
			$category = $_GET[category];
		}
		
		if (!isset($_GET[per])){//элементов на странице
			$per = 40; //40 100
		} else {
			$per = $_GET[per];
		}

			$item = 0;
		
		$firstitem=$item;//возвращаемый первый элемент. будет правлен. 



		$separator1 = "<tr><td><a "; //для отдельных фильмов
		$isContainer = "Статей:"; //Это вложенный контейнер.
		if ($category !== "") {
			$data = file_get_contents("http://www.ex.ua/search?s=".$search."&original_id=".$category."&per=".$per); //магия :)
		}else{
			$data = file_get_contents("http://www.ex.ua/search?s=".$search."&per=".$per); //магия :)
		}
		
			$data = explode($separator1, $data);//грубо преобразовываем в массив
			for ($i=0; $i < count($data); $i++) {
				if (strpos($data[$i], "megogo") === false) {//отбрасываем ссылки megogo
					preg_match("~href='(.*)'><img src='(.*)' width='.*' alt='(.*)'></a><a href='~Uis", $data[$i], $tmp);
					if (count($tmp) >= 1) {
						$out[$item]["link"]=$tmp[1];
						$out[$item]["image"]=corrImg($tmp[2]);
						$out[$item]["name"]=$tmp[3];
						
						if (strpos($data[$i], $isContainer)) {
							if (strpos($out[$item]["link"], "?") === false) {
								preg_match("~/(.*)$~Uis", $out[$item]["link"], $tmp_link);
							} else {
								preg_match("~/(.*)\?~Uis", $out[$item]["link"], $tmp_link);
							}
							$out[$item]["link"] = $tmp_link[1];
							$out[$item]["issubcat"]="true";
							preg_match("~href='(.*)'><b>(.*)</b>.*info>(.*)</a><p><small>~Uis", $data[$i], $tmp);
							$out[$item]["name"] .= " | " . $tmp[3];
						}
						$item++;
						continue;
					} else { 
						//без картинки
						preg_match("~href='(.*)'><b>(.*)</b>.*info>(.*)</a></td>~Uis", $data[$i], $tmp);
						if (count($tmp) >= 1) { 
							if (count($tmp) >= 1) {
								$out[$item]["link"]=$tmp[1];
								$out[$item]["image"]="image/cat/projector.png";
								$out[$item]["name"]= $tmp[2]." | ". $tmp[3];
								
								if (strpos($data[$i], $isContainer)) {
									if (strpos($out[$item]["link"], "?") === false) {
										preg_match("~/(.*)$~Uis", $out[$item]["link"], $tmp_link);
									} else {
										preg_match("~/(.*)\?~Uis", $out[$item]["link"], $tmp_link);
									}
									$out[$item]["link"] = $tmp_link[1];
									$out[$item]["issubcat"]="true";
								}
								$item++;				
							}
						}
					}
				}
			}


			$out[firstItem]=$firstitem;
			$out[allItem]=$item-1;
			echo json_encode($out);
		break;		
		
	} else if ($site == "uakino") { /////////// UAKINO.NET  /////  UAKINO.NET  ///// UAKINO.NET  /////
					if (!isset($_GET['page'])){//номер страницы
						$page = 0;
					} else {
						$page = $_GET['page'];
					}
					$item = $page * 30;
					$firstitem=$item;//возвращаемый первый элемент. будет правлен. 
							$chk1[0]="фантастика";
							$chk1[1]="фентези";
							$chk1[2]="боевик";
							$chk1[3]="комедия";
							$chk1[4]="мистика";
							$chk1[5]="ужасы";
							$chk1[6]="триллер";
							$chk1[7]="вестерн";
							$chk1[8]="приключения";
							$chk1[9]="исторический";
							$chk1[10]="семейный";
							$chk1[11]="детектив";
							$chk1[12]="мелодрама";
							$chk1[13]="драма";
							$chk1[14]="мюзикл";
					if (in_array($search, $chk1)) {
						$data = file_get_contents("http://uakino.net/search_result.php?ajax=1&search_type=search_all&offset=". $item ."&order=date&tag=" . $search);
					} else {
						$search = str_replace (" ","+",urlencode($search));
						$data = file_get_contents("http://uakino.net/search_result.php?ajax=1&search_id=". $search ."&search_type=search_all&offset=". $item ."&order=title&tag=");
					}
						preg_match('~\{"total":"(.*)","~Uis', $data, $tmp);
						$out["total_in_cat"] = (int)$tmp[1];
						$out["not_tag"] = "yes";
					//}
//конец //пока работает
					
					$data = unescape_fuck($data); //вынос мозга
					$data = unescape_fuck2($data); //тоже он
					$separator1 = '<div class="media_line_item'; //для отдельных фильмов
					$test_video =  '<a href="video'; //не категория />
					
					$data = explode($separator1, $data);//грубо преобразовываем в массив
					$regx_nocat = '~<a href="(.*)" class="fleft thumb"><img src="(.*)" alt="(.*)" title="~Uis';
					
					//теперь перебираем и формируем массив данных по фильмам.
					for ($i=0; $i < count($data); $i++) {
						if (strpos($data[$i], $test_video) === false) {} else { //одиночка
							preg_match($regx_nocat, $data[$i], $tmp);
							$out[$item]["link"]= "http://uakino.net/" . $tmp[1];
							$out[$item]["image"]= corrImgUakino($tmp[2]);
							$out[$item]["name"]= $tmp[3];
							$item++;
						}
				
					}
			
			$out['firstItem']=$firstitem;
			$out['allItem']=$item-1;
			echo json_encode($out);
			
		break;		
		
		
	} else if ($site == "fs") { /////////// FS.UA  ////// FS.UA  ////// FS.UA ////// FS.UA ////// FS.UA
		//http://fs.to/search.aspx?f=quick_search&search=%D1%84%D0%BB%D1%8D%D1%88&limit=10&section=video&subsection=serials&mod=list&_=1417818146954
			$category = "search.aspx?f=quick_search&mod=list&_='".time()."'&section=video&search=";
			$data = file_get_contents("http://brb.to/" . $category . urlencode($search)); //магия
			$data = @json_decode($data, false);

			if(is_array($data))
			{
				foreach($data as $film)
				{
					$out[] = array( 'link' =>   $film->link, 'name' => $film->title, 'image' => $film->poster );
				}
			}


			$out[firstItem] = 0 ;
			$out[allItem]   = count($out) - 1;
			echo json_encode($out);
	
			break;	
			}//конец поиска в brb.to 
			
			
			
		default:
		break;
}






//вспомогательные функции
function corrImg($img) {
        $img = preg_replace("~([0-9]{3,3})$~Uis","400",$img); //картинка на 500px
        return($img);
 }
function corrImgFs($img) {
        $img = preg_replace("~/(6|5)/~Uis","/10/",$img); //оригинальный размер картинка 
        return($img);
 }
 function corrImgUakino($img) {
        $img = preg_replace("~(-[0-9]{3,3})~Uis","-306",$img); //картинка на 520px
        return($img);
 }

function unescape_fuck2($path) { 
	return strtr($path, array("\\r"=>"", "\\n"=>"", "\\t"=>"", "\\/"=>"/", '\\"'=>'"')); 
} 
function unescape_fuck ($path) { 
	
	return strtr($path, array("\u0430"=>"а", "\u0431"=>"б", "\u0432"=>"в", 
	"\u0433"=>"г", "\u0434"=>"д", "\u0435"=>"е", "\u0451"=>"ё", "\u0436"=>"ж", "\u0437"=>"з", "\u0438"=>"и", 
	"\u0439"=>"й", "\u043a"=>"к", "\u043b"=>"л", "\u043c"=>"м", "\u043d"=>"н", "\u043e"=>"о", "\u043f"=>"п", 
	"\u0440"=>"р", "\u0441"=>"с", "\u0442"=>"т", "\u0443"=>"у", "\u0444"=>"ф", "\u0445"=>"х", "\u0446"=>"ц", 
	"\u0447"=>"ч", "\u0448"=>"ш", "\u0449"=>"щ", "\u044a"=>"ъ", "\u044b"=>"ы", "\u044c"=>"ь", "\u044d"=>"э", 
	"\u044e"=>"ю", "\u044f"=>"я", "\u0410"=>"А", "\u0411"=>"Б", "\u0412"=>"В", "\u0413"=>"Г", "\u0414"=>"Д", 
	"\u0415"=>"Е", "\u0401"=>"Ё", "\u0416"=>"Ж", "\u0417"=>"З", "\u0418"=>"И", "\u0419"=>"Й", "\u041a"=>"К", 
	"\u041b"=>"Л", "\u041c"=>"М", "\u041d"=>"Н", "\u041e"=>"О", "\u041f"=>"П", "\u0420"=>"Р", "\u0421"=>"С", 
	"\u0422"=>"Т", "\u0423"=>"У", "\u0424"=>"Ф", "\u0425"=>"Х", "\u0426"=>"Ц", "\u0427"=>"Ч", "\u0428"=>"Ш", 
	"\u0429"=>"Щ", "\u042a"=>"Ъ", "\u042b"=>"Ы", "\u042c"=>"Ь", "\u042d"=>"Э", "\u042e"=>"Ю", "\u042f"=>"Я",
	"\u0456"=>"і", "\u0406"=>"І", "\u0454"=>"є", "\u0457"=>"ї", "\u00ab"=>"«", "\u00bb"=>"»", "\u2014"=>"-",
	"\u2026"=>"…" )); 
} 

function cmp($a, $b) 
{
global $column;
    if ($a[$column]==$b[$column]) return 0;
    return ($a[$column]<$b[$column]) ? -1:1;
}

function my_sort($arr,$col)
{
global $array,$column;
    $array=$arr;
    $column=$col;
    usort($array, "cmp");
    return $array;
} 
function cp1251_to_utf8($s) { 

    $c209 = chr(209); $c208 = chr(208); $c129 = chr(129); 
    for($i=0; $i<strlen($s); $i++) 
      { 
      $c=ord($s[$i]); 
      if ($c>=192 and $c<=239) $t.=$c208.chr($c-48); 
      elseif ($c>239) $t.=$c209.chr($c-112); 
//      elseif ($c==184) $t.=$c209.$c209; 
 //     elseif ($c==168) $t.=$c208.$c129; 
      elseif ($c==184) $t.="ё"; 
      elseif ($c==168) $t.="Ё"; 
      elseif ($c==171) $t.='"'; 
      elseif ($c==187) $t.='"'; 
      elseif ($c==185) $t.='№'; 
      elseif ($c==133) $t.='...'; 
      elseif ($c==150) $t.='-'; 
      elseif ($c==151) $t.='-'; 
      else $t.=$s[$i]; 
      } 
    return $t; 
 } 
 function utf8_to_cp1251($s){
    for ($c=0;$c<strlen($s);$c++){
       $i=ord($s[$c]);
       if ($i<=127) $out.=$s[$c];
           if ($byte2){
               $new_c2=($c1&3)*64+($i&63);
               $new_c1=($c1>>2)&5;
               $new_i=$new_c1*256+$new_c2;
           if ($new_i==1025){
               $out_i=168;
           } else {
               if ($new_i==1105){
                   $out_i=184;
               } else {
                   $out_i=$new_i-848;
               }
           }
           $out.=chr($out_i);
           $byte2=false;
           }
       if (($i>>5)==6) {
           $c1=$i;
           $byte2=true;
       }
    }
    return $out;
}

// Расшифровка закодированныз ссылок плеера uppod для uakino
function uppod_fuck ($data) { 
	$codec_a = array("D", "4", "l", "N", "o", "1", "I", "g", "T", "a", "X", "H", "Q", "w", "d", "k", "J", "5", "c", "L", "G", "x", "9", "Y", "e", "=");
	$codec_b = array("3", "m", "p", "v", "W", "R", "n", "U", "y", "M", "6", "2", "B", "s", "f", "i", "7", "0", "V", "b", "u", "z", "Z", "t", "8", "C");
	
	for ($i=0; $i< count($codec_a); $i++) {
		$char1 = $codec_b[$i];
		$char2 = $codec_a[$i];
		$data = strtr($data, $char1, "___");
		$data = strtr($data, $char2, $char1);
		$data = strtr($data, "___", $char2);
	}
	
	$data = base64_decode($data);
	return $data;
} 
function cp1251_to_utf8_2($string){ 
  $out = ''; 
  for ($i = 0; $i<strlen($string); ++$i){ 
    $ch = ord($string{$i}); 
    if ($ch < 0x80) $out .= chr($ch); 
    else 
      if ($ch >= 0xC0) 
        if ($ch < 0xF0) 
             $out .= "\xD0".chr(0x90 + $ch - 0xC0); // &#1040;-&#1071;, &#1072;-&#1087; (A-YA, a-p) 
        else $out .= "\xD1".chr(0x80 + $ch - 0xF0); // &#1088;-&#1103; (r-ya) 
      else 
        switch($ch){ 
          case 0xA8: $out .= "\xD0\x81"; break; // YO 
          case 0xB8: $out .= "\xD1\x91"; break; // yo 
          // ukrainian 
          case 0xA1: $out .= "\xD0\x8E"; break; // &#1038; (U) 
          case 0xA2: $out .= "\xD1\x9E"; break; // &#1118; (u) 
          case 0xAA: $out .= "\xD0\x84"; break; // &#1028; (e) 
          case 0xAF: $out .= "\xD0\x87"; break; // &#1031; (I..) 
          case 0xB2: $out .= "\xD0\x86"; break; // I (I) 
          case 0xB3: $out .= "\xD1\x96"; break; // i (i) 
          case 0xBA: $out .= "\xD1\x94"; break; // &#1108; (e) 
          case 0xBF: $out .= "\xD1\x97"; break; // &#1111; (i..) 
          // chuvashian 
          case 0x8C: $out .= "\xD3\x90"; break; // &#1232; (A) 
          case 0x8D: $out .= "\xD3\x96"; break; // &#1238; (E) 
          case 0x8E: $out .= "\xD2\xAA"; break; // &#1194; (SCH) 
          case 0x8F: $out .= "\xD3\xB2"; break; // &#1266; (U) 
          case 0x9C: $out .= "\xD3\x91"; break; // &#1233; (a) 
          case 0x9D: $out .= "\xD3\x97"; break; // &#1239; (e) 
          case 0x9E: $out .= "\xD2\xAB"; break; // &#1195; (sch) 
          case 0x9F: $out .= "\xD3\xB3"; break; // &#1267; (u) 
        } 
  } 
  return $out; 
}
function sec_to_time($time) {
	$hours = floor($time/3600);
	($hours < 10)? $hours = "0" . $hours . ":" : $hours .= ":";
	$minutes= floor($seconds=($time/3600 - $hours)*60);
	($minutes < 10)? $minutes = "0" . $minutes . ":" : $minutes .= ":";
	$seconds = ceil(($seconds - floor($seconds))*60);
	($seconds < 10)? $seconds = "0" . $seconds  : null;
	return $hours . $minutes . $seconds;
}
  
?>                            
