diff --git a/bridges/BastaBridge.php b/bridges/BastaBridge.php index 01f7611..acdcd67 100644 --- a/bridges/BastaBridge.php +++ b/bridges/BastaBridge.php @@ -1,52 +1,45 @@ maintainer = "qwertygc"; - $this->name = "Bastamag Bridge"; - $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; + 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 collectData(array $param){ + // Replaces all relative image URLs by absolute URLs. Relative URLs always start with 'local/'! + function ReplaceImageUrl($content){ + return preg_replace('/src=["\']{1}([^"\']+)/ims', 'src=\'http://www.bastamag.net/$1\'', $content); } + $html = $this->file_get_html('http://www.bastamag.net/spip.php?page=backend') or $this->returnError('Could not request Bastamag.', 404); $limit = 0; foreach($html->find('item') as $element) { - if($limit < 10) { - $item = new \Item(); - $item->title = $element->find('title', 0)->innertext; - $item->uri = $element->find('guid', 0)->plaintext; - $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); - $item->content = BastaExtractContent($item->uri); - $this->items[] = $item; - $limit++; - } + if($limit < 10) { + $item = new \Item(); + $item->title = $element->find('title', 0)->innertext; + $item->uri = $element->find('guid', 0)->plaintext; + $item->timestamp = strtotime($element->find('dc:date', 0)->plaintext); + $item->content = ReplaceImageUrl($this->file_get_html($item->uri)->find('div.texte', 0)->innertext); + $this->items[] = $item; + $limit++; + } } - - } + } - public function getName(){ - return 'Bastamag Bridge'; - } + public function getName(){ + return 'Bastamag Bridge'; + } - public function getURI(){ - return 'http://bastamag.net/'; - } + public function getURI(){ + return 'http://bastamag.net/'; + } - public function getCacheDuration(){ - return 3600*2; // 2 hours - // return 0; // 2 hours - } + public function getCacheDuration(){ + return 3600*2; // 2 hours + } } +?> \ No newline at end of file