'.$lang['Service'].''; echo "
"; echo $lang['Service_info']; print 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/?url=site.ua
'; echo $lang['Service_info_2']; echo "

".$lang['Link_Generator'].":"; echo "
".$lang['Enter_Your_site_url'].":

"; if (isset($site)) { $site = str_replace("HTTP://", "",$site); $site = str_replace("Http://", "",$site); $site = str_replace("http://", "",$site); echo "".$lang['Link_to_service'].":"; print '
'; } echo "
"; echo ''; include("foot.php"); exit; } //-----------------Сервіс /* Любой граббер для удобства можно разделить на ТРИ оcновных части-этапа: -получение -обработка -выдача Получение. Для того, что бы граббер нормально функционировал необходимо написать функцию для получнения страницы с удаленного хоста по заданному url, надежнее пользоваться сокетами (потому что библиотека CURL установлена не везде и не всегда, использовать file_get_contents() и комбинации implode('',file(..)) конечно тоже можно, просто сокет предоставляет побольше возможностей. Напишем функцию получния страницы по урл. */ function data($path,$host) { /* $path путь к файлу скрипта, а так же передаваемые параметры $host сграббливаемый хост (например, sasisa.ru) */ $fp = fsockopen($host, 80); if (!$fp) { die('помилка'); } else { $out = "GET $path HTTP/1.0\r\n"; $out .= "Accept: image/gif, application/xhtml+xml, */*\r\n"; $out .= "Accept-Language: uk\r\n"; $out .= "Host: $host\r\n"; //прикинемся оперой-мини $out .= "User-Agent: Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1716; uk; U; ssr)\r\n"; $out .= "Cache-Control: no-cache\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); $headers = ""; while ($str = trim(fgets($fp))) $headers .= "$str\n"; $body = ""; while (!feof($fp)) $body .= fgets($fp); fclose($fp); } //возвращаем данные return $body; } /* Итак, функция для получения страницы готова, теперь составим функцию для обработки данных, тоесть для выреза рекламы, подмены ссылок итп */ /* function process($s) { Здесь сложно дать какие-то рекоммендации, все "грабберописание" состоит в основном в придумывании этой функции, сделаем пока что "заглушку" на этом месте return $s; } */ /* Для корректной работы грабба необходимо теперь правильно определять переменную $path, для примера давайте граббить всем известный http://wen.ru/forum/index.php пример очень характерный, потому что многие "потенциальные жертвы" грабов (загруз центры например) состоят как раз из одного файла */ //виводим дату // set current date if ($n>7&&$n<=14){$nw = mktime(0,0,0,date("m"),date("d")+1,date("Y"));} else{$nw = mktime(0,0,0,date("m"),date("d"),date("Y"));} $date = date('m/d/Y', $nw); // parse about any English textual datetime description into a Unix timestamp $ts = strtotime($date); // find the year (ISO-8601 year number) and the current week $year = date('o', $ts); $week = date('W', $ts); // print week for the current date /* for($i = 1; $i <= 7; $i++) { // timestamp from ISO week date format $ts = strtotime($year.'W'.$week.$i); print date("d/m/Y l", $ts) . "
\n"; } */ //с хостом определились $host='www.vsetv.com'; $path='/schedule_channel_'.$_GET['id'].'_week.html'; //на наступний тиждень if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'7'))) {$path='/schedule_channel_'.$_GET['id'].'_'.$_REQUEST['act'].'.html';} //////////$next_week = date("Y-m-d", strtotime($year.'W'.$week.'1')); /////////if ($n<=7){$path='/schedule_channel_'.$_GET['id'].'_week.html';} ////////if ($n>7&&$n<=14){$path='/schedule_channel_'.$_GET['id'].'_week_'.$next_week.'.html';} /*if (empty($_SERVER['QUERY_STRING'])) { //начальная позиция $path='/schedule_channel_659_week_print_wd.html'; } else { //новые параметры $path='/?'.$_SERVER['QUERY_STRING']; } */ /* теперь необходимо зайти на страницу форума и посмотреть ее в коде видно что ссылки выдаются так Общение для работы грабба достаточно изменить ссылку так Общение что и сделаем в функции process */ /*function process($s) { $s=str_replace('','
(c)andrew-lviv.net
',$s); return $s; } //можно в принципе запускать :) (ПЕРВЫЙ ЭТАП) $s=data($path,$host); //обрабатываем (ВТОРОЙ ЭТАП) $s=process($s); //выдаем результат (ТРЕТИЙ ЭТАП) /* третий этап не так прост как кажется, если вы граббите загрузки, то необходимо организовать переадресацию на прямую ссылку с контентом */ $s = iconv("CP1251", "UTF-8", "$s"); $file = $s; //---переклад каналів $file = str_replace('Прямой', 'Прямий',$file); $file = str_replace('1+1 Международный', '1+1 Міжнародний',$file); $file = str_replace('Интер', 'Інтер',$file); $file = str_replace('Новый канал', 'Новий канал',$file); $file = str_replace('24 (Телеканал новостей 24)', '24 (Телеканал новин 24)',$file); $file = str_replace('Enter-фильм', 'Enter-фільм',$file); $file = str_replace('Глас (Одесса)', 'Глас (Одеса)',$file); $file = str_replace('Киев', 'Київ TV',$file); $file = str_replace('Культура (Украина)', 'Культура (Україна)',$file); $file = str_replace('Кировоград', 'UA:Кропивницький',$file); $file = str_replace('Первый автомобильный', 'Перший Автомобільний',$file); $file = str_replace('Первый деловой', 'Перший Діловой',$file); $file = str_replace('Запорожье', 'Запоріжжя',$file); $file = str_replace('Тернополь', 'Тернопіль',$file); $file = str_replace('Черновцы', 'Чернівці',$file); $file = str_replace('Украина', 'Україна',$file); $file = str_replace('Футбол (Украина)', 'Футбол (Україна)',$file); $file = str_replace('Эко-ТВ', 'Еко-ТБ',$file); $file = str_replace('Пиксель', 'Піксель',$file); $file = str_replace('112 Украина', '112 Україна',$file); $file = str_replace('Бигуди', 'Бігуді',$file); $file = str_replace('Винтера', 'Вінтера',$file); $file = str_replace('ВИТА', 'ВІТА ТБ',$file); $file = str_replace('Индиго', 'Індиго TV',$file); $file = str_replace('УНИАН ТВ', 'УНІАН ТБ',$file); $file = str_replace('Винтаж', 'Вінтаж',$file); $file = str_replace('Телевсесвит', 'Телевсесвіт',$file); $file = str_replace('Прямой', 'Прямий',$file); //--- //-----------------список каналів echo '
'.$lang['TV_GUIDE'].'
'; if (!$act) { echo ''; include ("channels.php"); } if($act=="week" || (substr_count($act, 'week') == 1)){ echo ''; $channel_name=explode('',$file); $channel_name=explode('',$channel_name[1]); $channel_name=$channel_name[0]; if (!empty($n)) {echo '
'.$channel_name.'
';} if (empty($n)) { // echo '>'; echo '
'.$channel_name.'
'; echo "
"; // list_body start $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'1'))){$weekday = ereg_replace("Понеділок", "Понеділок",$weekday);} if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'2'))){$weekday = ereg_replace("Вівторок", "Вівторок",$weekday);} if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'3'))){$weekday = ereg_replace("Середа", "Середа",$weekday);} if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'4'))){$weekday = ereg_replace("Четвер", "Четвер",$weekday);} if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'5'))){$weekday = ereg_replace("П'ятниця", "П'ятниця",$weekday);} if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'6'))){$weekday = ereg_replace("Субота", "Субота",$weekday);} if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'7'))){$weekday = ereg_replace("Неділя", "Неділя",$weekday);} //на наступний тиждень if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'7'))) { $nextweek = '_'.date("Y-d-m", strtotime("next Monday")); $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; $weekday .= ''; } echo $weekday; echo "
"; // list_body end } //дні $file = ereg_replace("Понедельник", "Понеділок",$file); $file = ereg_replace("Вторник", "Вівторок",$file); $file = ereg_replace("Среда", "Середа",$file); $file = ereg_replace("Четверг", "Четвер",$file); $file = ereg_replace("Пятница", "П'ятниця",$file); $file = ereg_replace("Суббота", "Субота",$file); $file = ereg_replace("Воскресенье", "Неділя",$file); //місяці $file = ereg_replace("декабря", "грудня",$file); $file = ereg_replace("января", "січня",$file); $file = ereg_replace("февраля", "лютого",$file); $file = ereg_replace("марта", "березня",$file); $file = ereg_replace("апреля", "квітня",$file); $file = ereg_replace("мая", "травня",$file); $file = ereg_replace("июня", "червня",$file); $file = ereg_replace("июля", "липня",$file); $file = ereg_replace("августа", "серпня",$file); $file = ereg_replace("сентября", "вересня",$file); $file = ereg_replace("октября", "жовтня",$file); $file = ereg_replace("ноября", "листопада",$file); ///програма по днях $file = str_replace("","",$file); //обходимо захист $dat = file("timecode.dat"); for($i=0; $i', trim($data[1]), $file); } //$file = preg_replace_callback("#
(.*?)
#is","$1 ",$file); //час $file = preg_replace_callback("#
(.*?)
#is", function($matches) { global $year, $week, $n; $date1 = DateTime::createFromFormat('Y-m-d H:i', date("Y-m-d").' '.date("H:i")); $tv_hour = substr($matches[1], 0, 2); $tv_minute = substr($matches[1], 3, 2); $tv_day = date("d", strtotime($year.'W'.$week.$n)); $tv_month = date("m", strtotime($year.'W'.$week.$n)); $tv_year = date("Y", strtotime($year.'W'.$week.$n)); $d=mktime($tv_hour, $tv_minute, 00, $tv_month, $tv_day, $tv_year); $date2 = DateTime::createFromFormat('Y-m-d H:i', date("Y-m-d H:i", $d)); if($date1<=$date2) { $result = date("H:i", $d); }elseif($date2->format('G')>=0 && $date2->format('G')<=4){ $result = date("H:i", $d); }else{ $result = "".date("H:i", $d).""; } return "".$result." "; }, $file); $file = preg_replace("#   (.*?)
#is","",$file); $file = preg_replace("#
(.*?)
#is","$1
\r\n",$file); //стрічка програми $file = preg_replace("#
(.*?)
#is","",$file); /// прибираємо ОПИС ДО ФІЛЬМІВ. закоментуй, щоб вимкнути. $file = str_replace("","",$file); // №1. вмикаємо ОПИС ДО ФІЛЬМІВ. закоментуй, щоб ввімкнути. //$file = str_replace("","
",$file); // №2. прибираємо ОПИС ДО ФІЛЬМІВ. закоментуй, щоб вимкнути. $file = preg_replace("#
#is","",$file); ///№1 іконка вмикаємо ОПИС ДО ФІЛЬМІВ. закоментуй, щоб ввімкнути. //$file = preg_replace("#
#is","",$file); ///№2 іконка прибираємо ОПИС ДО ФІЛЬМІВ. закоментуй, щоб вимкнути. $file = str_replace("
","",$file); $file = str_replace("
","",$file); $file = str_replace("
","",$file); $file = preg_replace("#(.*?)#is","
$1
",$file); $file = preg_replace("#
(.*?)
#is","",$file); $file = preg_replace("#(.*?)#is","",$file); $file = preg_replace("##is","",$file); $file = preg_replace("#(.*?)#is","$2",$file); $file = str_replace(" ","",$file); $file_end_page=explode('
',$file); $file = $file_end_page[0]; $file=str_replace('
','',$file); $select_day=explode('',$file); ///вибираємо потрібний день if (!empty($n)) { if($act != 'week'){ //на наступний тиждень if (date("d.m") == date("d.m", strtotime($year.'W'.$week.'7'))) { $nextweek = '_'.date("Y-d-m", strtotime("next Monday")); }} echo '
'; if ($n>1) {$p = $n-1; echo '<<<';} else {echo '<<<';} echo ''; if ($n<7) {$p = $n+1; echo '>>>';} else {echo '>>>';} echo '
'; if ($n=="1") {echo $select_day[2].'';}///понеділок if ($n=="2") {echo $select_day[3].'';}///вівторок if ($n=="3") {echo $select_day[4].'';}///середа if ($n=="4") {echo $select_day[5].'';}///четвер if ($n=="5") {echo $select_day[6].'';}///п*ятниця if ($n=="6") {echo $select_day[7].'';}///субота if ($n=="7") {echo $select_day[8].'';}///неділя echo '
'; echo '
'; if ($n>1) {$p = $n-1; echo '<<<';} else {echo '<<<';} echo ''; if ($n<7) {$p = $n+1; echo '>>>';} else {echo '>>>';} echo '
'; } } if (!empty($act) || empty($url)) { echo ''; } if (empty($act)) { print ''; } include("foot.php"); ?>