forked from blallo/rss-bridge
5432cabef5
Some bridges used getName() and getURI() to put information into the metadatas. Instead the metadatas should be initialized with data and (not yet done) returned by default via getName() and getURI().
54 lines
1.7 KiB
PHP
54 lines
1.7 KiB
PHP
<?php
|
|
class ZoneTelechargementBridge extends BridgeAbstract {
|
|
|
|
public function loadMetadatas() {
|
|
|
|
$this->maintainer = 'ORelio';
|
|
$this->name = 'Zone Telechargement Bridge';
|
|
$this->uri = 'https://www.zone-telechargement.com/';
|
|
$this->description = 'RSS proxy returning the newest releases.<br />You may specify a category found in RSS URLs, else main feed is selected.';
|
|
$this->update = "2016-08-06";
|
|
|
|
$this->parameters[] =
|
|
'[
|
|
{
|
|
"name" : "Category",
|
|
"identifier" : "category"
|
|
}
|
|
]';
|
|
}
|
|
|
|
public function collectData(array $param) {
|
|
|
|
function StripCDATA($string) {
|
|
$string = str_replace('<![CDATA[', '', $string);
|
|
$string = str_replace(']]>', '', $string);
|
|
return $string;
|
|
}
|
|
|
|
$category = '/';
|
|
if (!empty($param['category']))
|
|
$category = '/'.$param['category'].'/';
|
|
|
|
$url = $this->getURI().$category.'rss.xml';
|
|
$html = $this->file_get_html($url) or $this->returnError('Could not request Zone Telechargement: '.$url, 500);
|
|
|
|
foreach($html->find('item') as $element) {
|
|
$item = new \Item();
|
|
$item->title = $element->find('title', 0)->plaintext;
|
|
$item->uri = str_replace('http://', 'https://', $element->find('guid', 0)->plaintext);
|
|
$item->timestamp = strtotime($element->find('pubDate', 0)->plaintext);
|
|
$item->content = StripCDATA($element->find('description', 0)->innertext);
|
|
$this->items[] = $item;
|
|
$limit++;
|
|
}
|
|
}
|
|
|
|
public function getName() {
|
|
return $this->name;
|
|
}
|
|
|
|
public function getURI() {
|
|
return $this->uri;
|
|
}
|
|
}
|