1
0
Fork 0
forked from blallo/rss-bridge

Merge pull request #299 from LogMANOriginal/BastaBridge

Basta bridge
This commit is contained in:
Mitsu 2016-08-02 12:40:17 +02:00 committed by GitHub
commit a84f11aed8

View file

@ -1,52 +1,45 @@
<?php <?php
class BastaBridge extends BridgeAbstract{ class BastaBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "qwertygc";
$this->name = "Bastamag Bridge";
$this->uri = "http://www.bastamag.net/";
$this->description = "Returns the newest articles.";
$this->update = "2016-08-02";
}
public function loadMetadatas() { public function collectData(array $param){
// Replaces all relative image URLs by absolute URLs. Relative URLs always start with 'local/'!
$this->maintainer = "qwertygc"; function ReplaceImageUrl($content){
$this->name = "Bastamag Bridge"; return preg_replace('/src=["\']{1}([^"\']+)/ims', 'src=\'http://www.bastamag.net/$1\'', $content);
$this->uri = "http://www.bastamag.net/";
$this->description = "Returns the newest articles.";
$this->update = "2014-05-25";
} }
public function collectData(array $param){
function BastaExtractContent($url) {
$html2 = $this->file_get_html($url);
$text = $html2->find('div.texte', 0)->innertext;
return $text;
}
$html = $this->file_get_html('http://www.bastamag.net/spip.php?page=backend') or $this->returnError('Could not request Bastamag.', 404); $html = $this->file_get_html('http://www.bastamag.net/spip.php?page=backend') or $this->returnError('Could not request Bastamag.', 404);
$limit = 0; $limit = 0;
foreach($html->find('item') as $element) { foreach($html->find('item') as $element) {
if($limit < 10) { if($limit < 10) {
$item = new \Item(); $item = new \Item();
$item->title = $element->find('title', 0)->innertext; $item->title = $element->find('title', 0)->innertext;
$item->uri = $element->find('guid', 0)->plaintext; $item->uri = $element->find('guid', 0)->plaintext;
$item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); $item->timestamp = strtotime($element->find('dc:date', 0)->plaintext);
$item->content = BastaExtractContent($item->uri); $item->content = ReplaceImageUrl($this->file_get_html($item->uri)->find('div.texte', 0)->innertext);
$this->items[] = $item; $this->items[] = $item;
$limit++; $limit++;
} }
} }
}
} public function getName(){
return 'Bastamag Bridge';
}
public function getName(){ public function getURI(){
return 'Bastamag Bridge'; return 'http://bastamag.net/';
} }
public function getURI(){ public function getCacheDuration(){
return 'http://bastamag.net/'; return 3600*2; // 2 hours
} }
public function getCacheDuration(){
return 3600*2; // 2 hours
// return 0; // 2 hours
}
} }
?>