public static function main($id, $tracker, $name, $hd, $ep, $timestamp)
 {
     //проверяем небыло ли до этого уже ошибок
     if (empty(lostfilm::$exucution) || lostfilm::$exucution) {
         //проверяем получена ли уже кука
         if (empty(lostfilm::$sess_cookie)) {
             $cookie = Database::getCookie($tracker);
             if (lostfilm::checkCookie($cookie)) {
                 lostfilm::$sess_cookie = $cookie;
                 //запускам процесс выполнения
                 lostfilm::$exucution = TRUE;
             } else {
                 lostfilm::getCookie($tracker);
             }
         }
         //проверяем получена ли уже RSS лента
         if (!lostfilm::$log_page) {
             if (lostfilm::$exucution) {
                 //получаем страницу
                 lostfilm::$page = lostfilm::getContent();
                 lostfilm::$page = str_replace('<?xml version="1.0" encoding="windows-1251" ?>', '<?xml version="1.0" encoding="utf-8"?>', lostfilm::$page);
                 if (!empty(lostfilm::$page)) {
                     //читаем xml
                     lostfilm::$xml_page = @simplexml_load_string(lostfilm::$page);
                     //если XML пришёл с ошибками - останавливаем выполнение, иначе - ставим флажок, что получаем страницу
                     if (!lostfilm::$xml_page) {
                         //устанавливаем варнинг
                         if (lostfilm::$warning == NULL) {
                             lostfilm::$warning = TRUE;
                             Errors::setWarnings($tracker, 'rss_parse_false');
                         }
                         //останавливаем выполнение цепочки
                         lostfilm::$exucution = FALSE;
                     } else {
                         lostfilm::$log_page = TRUE;
                     }
                 } else {
                     //устанавливаем варнинг
                     if (lostfilm::$warning == NULL) {
                         lostfilm::$warning = TRUE;
                         Errors::setWarnings($tracker, 'not_available');
                     }
                     //останавливаем выполнение цепочки
                     lostfilm::$exucution = FALSE;
                 }
             }
         }
         //если выполнение цепочки не остановлено
         if (lostfilm::$exucution) {
             if (!empty(lostfilm::$xml_page)) {
                 //сбрасываем варнинг
                 Database::clearWarnings($tracker);
                 $nodes = array();
                 foreach (lostfilm::$xml_page->channel->item as $item) {
                     array_unshift($nodes, $item);
                 }
                 foreach ($nodes as $item) {
                     $serial = lostfilm::analysis($name, $hd, $item);
                     if (!empty($serial)) {
                         $episode = substr($serial['episode'], 4, 2);
                         $season = substr($serial['episode'], 1, 2);
                         if (!empty($ep)) {
                             if ($season == substr($ep, 1, 2) && $episode > substr($ep, 4, 2)) {
                                 $download = TRUE;
                             } elseif ($season > substr($ep, 1, 2) && $episode < substr($ep, 4, 2)) {
                                 $download = TRUE;
                             } else {
                                 $download = FALSE;
                             }
                         } elseif ($ep == NULL) {
                             $download = TRUE;
                         } else {
                             $download = FALSE;
                         }
                         if ($download) {
                             if ($hd == 1) {
                                 $amp = 'HD';
                             } elseif ($hd == 2) {
                                 $amp = 'MP4';
                             } else {
                                 $amp = NULL;
                             }
                             if (Database::getSetting('download')) {
                                 $torrent = lostfilm::getTorrent($serial['link'], lostfilm::$sess_cookie);
                                 $file = '[lostfilm.tv]_' . $name . '_' . $serial['episode'] . '_' . $amp . '.torrent';
                                 //сохраняем торрент в файл
                                 $client = ClientAdapterFactory::getStorage('file');
                                 $client->store($torrent, $id, $tracker, $name, $id, $timestamp, array('filename' => $file));
                             }
                             //обновляем время регистрации торрента в базе
                             Database::setNewDate($id, $serial['date']);
                             //обновляем сведения о последнем эпизоде
                             Database::setNewEpisode($id, $serial['episode']);
                             $episode = substr($episode, 0, 1) == 0 ? substr($episode, 1, 1) : $episode;
                             $season = substr($season, 0, 1) == 0 ? substr($season, 1, 1) : $season;
                             //отправляем уведомлении о новом торренте
                             $message = $name . ' ' . $amp . ' обновлён до ' . $episode . ' серии, ' . $season . ' сезона.';
                             Notification::sendNotification('notification', lostfilm::dateNumToString($serial['date']), $tracker, $message);
                         }
                     }
                 }
             }
         }
     }
 }