array( 'q' => array( 'name'=>'Search', 'required'=>true, 'title'=>'Type your search' ) ), 'By page' => array( 'page' => array( 'name'=>'Page', 'type'=>'list', 'required'=>false, 'values'=>array( 'Series'=>self::PAGE_SERIES, 'Series VOST'=>self::PAGE_SERIES_VOSTFR, 'Series FR'=>self::PAGE_SERIES_FR, ), 'defaultValue'=>self::PAGE_SERIES ) )); public function collectData(){ if($this->queriedContext === 'From search'){ $request = str_replace(" ","-",trim($this->getInput('q'))); $page = self::URI.'/search_torrent/'.urlencode($request).'.html'; } else { $request = $this->getInput('page'); $page = self::URI.'/'.$request.'.html'; } $html = getSimpleHTMLDOM($page) or returnServerError('No results for this query.'); foreach ($html->find('table',0)->find('tr') as $episode) { if ($episode->parent->tag == 'tbody') { $urlepisode = self::URI . $episode->find('a', 0)->getAttribute('href'); $htmlepisode = getSimpleHTMLDOMCached($urlepisode, 86400*366*30); //30 years = forever $item = array(); $item['author'] = $episode->find('a', 0)->text(); $item['title'] = $episode->find('a', 0)->text(); $item['id'] = $episode->find('a', 0)->getAttribute('href'); $item['pubdate'] = $this->getCachedDate($urlepisode); $textefiche=$htmlepisode->find('.movie-information', 0)->find('p',1); if (isset($textefiche)) { $item['content'] = $textefiche->text(); } else { $p=$htmlepisode->find('.movie-information',0)->find('p'); if(!empty($p)){ $item['content'] = $htmlepisode->find('.movie-information', 0)->find('p',0)->text(); } } $item['id'] = $episode->find('a', 0)->getAttribute('href'); $item['uri'] = self::URI . $htmlepisode->find('.download',0)->getAttribute('href'); $this->items[] = $item; } } } public function getName(){ return $this->getInput('q').' : '.self::NAME; } private function getCachedDate($url){ debugMessage('getting pubdate from url ' . $url . ''); // Initialize cache $cache = Cache::create('FileCache'); $cache->setPath(CACHE_DIR . '/pages'); $params = [$url]; $cache->setParameters($params); // Get cachefile timestamp $time = $cache->getTime(); return ($time!==false?$time:time()); } }