Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
- <?php
- include_once("config/db.php");
- mysql_query("SET NAMES cp1251");
- include_once("functions.php");
- include_once("config/cfg.php");
- //мониторинг тем
- function monitoring($id, $tracker, $name, $torrent_id, $timestamp) {
- //получаем страницу для парсинга
- $get = get($tracker, $torrent_id);
- //пишем в лог
- global $get_log;
- if ($get_log) {
- write_get($tracker, $get);
- }
- if ($tracker == "rutracker.org") {
- //ищем на странице дату регистрации торрента
- preg_match_all("/<span title=\"Зарегистрирован\">\[ (.+) \]<\/span>/", $get, $array);
- //проверяем удалось ли получить дату со страницы
- if (isset($array[1][0])) {
- //если дата не равна ничему
- if ($array[1][0] != '') {
- //приводим дату к общему виду
- $date = str_replace("-", " ", $array[1][0]);
- $date = substr($date, 0, 7) . ' 20' . substr($date, 7);
- //если даты не совпадают, перекачиваем торрент
- if ($date != $timestamp) {
- //получаем заголовок
- $headers = headers_rutracker($tracker, $torrent_id);
- //получаем торрент
- $download = file_get_contents("http://dl.rutracker.org/forum/dl.php?t={$torrent_id}", false, $headers);
- //сохраняем торрент в файл
- write_file($tracker, $torrent_id, $download);
- //обновляем время регистрации торрента в базе
- update($date, $id);
- //отправляем уведомлении о новом торренте
- send_mail($name, $date);
- }
- }
- }
- }
- if ($tracker == "nnm-club.ru") {
- //ищем на странице дату регистрации торрента
- preg_match_all("/<td class=\"genmed\"> (\d{2}\s\D{3}\s\d{4}\s\d{2}:\d{2}:\d{2})<\/td>/", $get, $array);
- //проверяем удалось ли получить дату со страницы
- if (isset($array[1][0])) {
- //если дата не равна ничему
- if ($array[1][0] != '') {
- //приводим дату к общему виду
- $date = substr($array[1][0], 0, -3);
- //если даты не совпадают, перекачиваем торрент
- if ($date != $timestamp) {
- //находим имя торрента для скачивания
- preg_match_all("/download.php\?id=(\d{6})/", $get, $array2);
- //получаем заголовок
- $headers = headers($tracker);
- //получаем торрент
- $download = file_get_contents("http://nnm-club.ru/forum/download.php?id={$array2[1][0]}", false, $headers);
- //сохраняем торрент в файл
- write_file($tracker, $torrent_id, $download);
- //обновляем время регистрации торрента в базе
- update($date, $id);
- //отправляем уведомлении о новом торренте
- send_mail($name, $date);
- }
- }
- }
- }
- }
- //слежение за сериалами
- function search($id, $name, $hd, $tracker) {
- global $path_to_torrent;
- global $get_log;
- //заменяем пробелы в имени на точки
- $name_dot = str_replace(" ", ".", $name);
- if ($tracker == "lostfilm.tv") {
- //поучаем ленту RSS
- $lostfilm = file_get_contents("http://www.lostfilm.tv/rssdd.xml");
- //пишем в лог
- if ($get_log) {
- write_get($tracker, $lostfilm);
- }
- if ($hd == "true") {
- $hd = ".(HD|720p)";
- }
- //ищем нужные нам сериалы
- preg_match_all("/http:\/\/lostfilm.tv\/download.php\/[0-9]{4}\/{$name_dot}.(\D[0-9]{2}\.?\D[0-9]{2}).rus{$hd}.lostfilm.TV.\D{3}.torrent/i", $lostfilm, $array);
- //если удалось найти
- if (isset($array[0])) {
- //разбираем массив с именами файлов
- foreach ($array[0] as $key => $val) {
- //получаем заголовок
- $headers = headers($tracker);
- //получаем торрент
- $download = file_get_contents($val, false, $headers);
- //разбираем массив с номером сезона и серией
- foreach ($array[1] as $key => $val) {
- $filename = $name_dot.".".$val;
- //если файла не существует
- if (!file_exists("{$path_to_torrent}[{$tracker}]_{$filename}.torrent")) {
- //сохраняем торрент в файл
- write_file($tracker, $filename, $download);
- //определяем дату создания торрента и записываем в базу
- $date = file_date($id, $tracker, $filename);
- send_mail($name, $date);
- }
- }
- }
- }
- }
- if ($tracker == "novafilm.tv") {
- //поучаем ленту RSS
- $novafilm = file_get_contents("http://novafilm.tv/rss/rssd.xml");
- //пишем в лог
- if ($get_log) {
- write_get($tracker, $novafilm);
- }
- //ищем ссылки
- preg_match_all("/<link>(.+)<\/link>/", $novafilm, $array);
- //разбираем массив с ссылками
- foreach ($array[1] as $key => $val) {
- //ищем нужные нам сериалы
- if (preg_match("/{$name_dot}/i", $val, $matches) != false) {
- $link = nova($hd, $val);
- if (isset($link)) {
- //получаем заголовок
- $headers = headers($tracker);
- //получаем торрент
- $download = file_get_contents($link, false, $headers);
- //определяем номер сезона и серии
- preg_match("/s[0-9]{2}e[0-9]{2}/", $link, $matches);
- $filename = $name_dot.".".$matches[0];
- //если файла не существует
- if (!file_exists("{$path_to_torrent}[{$tracker}]_{$filename}.torrent")) {
- //сохраняем торрент в файл
- write_file($tracker, $filename, $download);
- //определяем дату создания торрента и записываем в базу
- $date = file_date($id, $tracker, $filename);
- send_mail($name, $date);
- }
- }
- }
- }
- }
- }
- //запускаем счётчик
- $time_start = microtime(1);
- //получаем список торрентов из базы и запускаем работу
- $torrents = mysql_query("SELECT * FROM `torrent` ORDER BY `id`");
- while (list($id, $tracker, $name, $hd, $torrent_id, $timestamp) = mysql_fetch_row($torrents)) {
- if ($tracker == "nnm-club.ru" || $tracker == "rutracker.org") {
- monitoring($id, $tracker, $name, $torrent_id, $timestamp);
- }
- if ($tracker == "lostfilm.tv" || $tracker == "novafilm.tv") {
- search($id, $name, $hd, $tracker);
- }
- }
- //останавливаем счётчик
- $time_end = microtime(1);
- //вычисляем прошедшее время
- $time = $time_end - $time_start;
- //записываем время в лог
- write_time($time);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement