mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-24 10:26:11 +03:00
a4b9611e66
- Do not add spaces after opening or before closing parenthesis // Wrong if( !is_null($var) ) { ... } // Right if(!is_null($var)) { ... } - Add space after closing parenthesis // Wrong if(true){ ... } // Right if(true) { ... } - Add body into new line - Close body in new line // Wrong if(true) { ... } // Right if(true) { ... } Notice: Spaces after keywords are not detected: // Wrong (not detected) // -> space after 'if' and missing space after 'else' if (true) { ... } else{ ... } // Right if(true) { ... } else { ... }
67 lines
2.1 KiB
PHP
67 lines
2.1 KiB
PHP
<?php
|
|
class EZTVBridge extends BridgeAbstract {
|
|
|
|
const MAINTAINER = "alexAubin";
|
|
const NAME = 'EZTV';
|
|
const URI = 'https://eztv.ch/';
|
|
const DESCRIPTION = 'Returns list of *recent* torrents for a specific show
|
|
on EZTV. Get showID from URLs in https://eztv.ch/shows/showID/show-full-name.';
|
|
|
|
const PARAMETERS = array( array(
|
|
'i' => array(
|
|
'name' => 'Show ids',
|
|
'exampleValue' => 'showID1,showID2,…',
|
|
'required' => true
|
|
)
|
|
));
|
|
|
|
public function collectData(){
|
|
|
|
// Make timestamp from relative released time in table
|
|
function makeTimestamp($relativeReleaseTime){
|
|
|
|
$relativeDays = 0;
|
|
$relativeHours = 0;
|
|
|
|
foreach(explode(" ", $relativeReleaseTime) as $relativeTimeElement) {
|
|
if(substr($relativeTimeElement, -1) == "d") $relativeDays = substr($relativeTimeElement, 0, -1);
|
|
if(substr($relativeTimeElement, -1) == "h") $relativeHours = substr($relativeTimeElement, 0, -1);
|
|
}
|
|
return mktime(date('h') - $relativeHours, 0, 0, date('m'), date('d') - $relativeDays, date('Y'));
|
|
}
|
|
|
|
// Loop on show ids
|
|
$showList = explode(",", $this->getInput('i'));
|
|
foreach($showList as $showID) {
|
|
|
|
// Get show page
|
|
$html = getSimpleHTMLDOM(self::URI . 'shows/' . rawurlencode($showID) . '/')
|
|
or returnServerError('Could not request EZTV for id "' . $showID . '"');
|
|
|
|
// 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 = array();
|
|
$item['uri'] = self::URI . $epinfo->href;
|
|
$item['id'] = $item['uri'];
|
|
$item['timestamp'] = makeTimestamp($released->plaintext);
|
|
$item['title'] = $epinfo->plaintext;
|
|
$item['content'] = $epinfo->alt;
|
|
if(isset($item['title']))
|
|
$this->items[] = $item;
|
|
}
|
|
}
|
|
}
|
|
}
|