returnError('You must provide a list of ID (?i=showID1,showID2,...)', 400); // Loop on show ids $showList = explode(",",$param['i']); foreach($showList as $showID){ // Get show page $html = file_get_html('https://eztv.ch/shows/'.rawurlencode($showID).'/') or $this->returnError('Could not request EZTV for id "'.$showID.'"', 404); // Loop on each element that look like an episode entry... foreach($html->find('.forum_header_border') as $element) { // Filter entries that are not episode entries $ep = $element->find('td',1); if (empty($ep)) continue; $epinfo = $ep->find('.epinfo',0); $released = $element->find('td',3); if (empty($epinfo)) continue; if (empty($released->plaintext)) continue; // Filter entries that are older than 1 week if ($released->plaintext == '>1 week') continue; // Fill item $item = new \Item(); $item->uri = 'https://eztv.ch/'.$epinfo->href; $item->id = $item->uri; $item->timestamp = makeTimestamp($released->plaintext); $item->title = $epinfo->plaintext; $item->content = $epinfo->alt; if(!empty($item->title)) $this->items[] = $item; } } } public function getName(){ return 'EZTV'; } public function getURI(){ return 'https://eztv.ch/'; } public function getCacheDuration(){ return 3600; // 1 hour } }