From a1a44cd1ff4da8cdefcd4ec3005a75dd4429e947 Mon Sep 17 00:00:00 2001 From: logmanoriginal Date: Wed, 3 Aug 2016 13:30:38 +0200 Subject: [PATCH 1/3] Change all nested functions to member functions This fixes error "Using $this when not in object context" Nested functions are not part of the object and therefore don't have access to the object instance $this! --- bridges/GuruMedBridge.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bridges/GuruMedBridge.php b/bridges/GuruMedBridge.php index 7a72a83..cdaeb72 100644 --- a/bridges/GuruMedBridge.php +++ b/bridges/GuruMedBridge.php @@ -7,32 +7,33 @@ class GuruMedBridge extends BridgeAbstract{ $this->name = "GuruMed"; $this->uri = "http://www.gurumed.org"; $this->description = "Returns the 5 newest posts from Gurumed (full text)"; - $this->update = "03/10/2015"; + $this->update = "2016-08-03"; } - public function collectData(array $param){ - function GurumedStripCDATA($string) { $string = str_replace('', '', $string); return $string; } + function GurumedExtractContent($url) { $html2 = $this->file_get_html($url); $text = $html2->find('div.entry', 0)->innertext; return $text; } + + public function collectData(array $param){ $html = $this->file_get_html('http://gurumed.org/feed') or $this->returnError('Could not request Gurumed.', 404); $limit = 0; foreach($html->find('item') as $element) { if($limit < 5) { $item = new \Item(); - $item->title = GurumedStripCDATA($element->find('title', 0)->innertext); - $item->uri = GurumedStripCDATA($element->find('guid', 0)->plaintext); + $item->title = $this->GurumedStripCDATA($element->find('title', 0)->innertext); + $item->uri = $this->GurumedStripCDATA($element->find('guid', 0)->plaintext); $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); - $item->content = GurumedExtractContent($item->uri); + $item->content = $this->GurumedExtractContent($item->uri); $this->items[] = $item; $limit++; } From b0dce860f7d1449db8515ca29da44a0747506708 Mon Sep 17 00:00:00 2001 From: logmanoriginal Date: Wed, 3 Aug 2016 13:58:32 +0200 Subject: [PATCH 2/3] Return description from source feed not subsequent pages Gurumed.org prevents download of pictures from external domains. For a feed it is sufficient to see a short description of the article as provided in the source rss. --- bridges/GuruMedBridge.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/bridges/GuruMedBridge.php b/bridges/GuruMedBridge.php index cdaeb72..926c1e4 100644 --- a/bridges/GuruMedBridge.php +++ b/bridges/GuruMedBridge.php @@ -17,12 +17,6 @@ class GuruMedBridge extends BridgeAbstract{ return $string; } - function GurumedExtractContent($url) { - $html2 = $this->file_get_html($url); - $text = $html2->find('div.entry', 0)->innertext; - return $text; - } - public function collectData(array $param){ $html = $this->file_get_html('http://gurumed.org/feed') or $this->returnError('Could not request Gurumed.', 404); $limit = 0; @@ -33,7 +27,7 @@ class GuruMedBridge extends BridgeAbstract{ $item->title = $this->GurumedStripCDATA($element->find('title', 0)->innertext); $item->uri = $this->GurumedStripCDATA($element->find('guid', 0)->plaintext); $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); - $item->content = $this->GurumedExtractContent($item->uri); + $item->content = $this->GurumedStripCDATA(strip_tags($element->find('description', 0), '


')); $this->items[] = $item; $limit++; } From b344f507847e0eb00bdfbbbb713f7789ac18ee1b Mon Sep 17 00:00:00 2001 From: logmanoriginal Date: Wed, 3 Aug 2016 14:00:24 +0200 Subject: [PATCH 3/3] Fix indentation and remove empty lines --- bridges/GuruMedBridge.php | 63 +++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/bridges/GuruMedBridge.php b/bridges/GuruMedBridge.php index 926c1e4..fcc91c4 100644 --- a/bridges/GuruMedBridge.php +++ b/bridges/GuruMedBridge.php @@ -2,48 +2,45 @@ class GuruMedBridge extends BridgeAbstract{ public function loadMetadatas() { - $this->maintainer = "qwertygc"; $this->name = "GuruMed"; $this->uri = "http://www.gurumed.org"; $this->description = "Returns the 5 newest posts from Gurumed (full text)"; $this->update = "2016-08-03"; - } - function GurumedStripCDATA($string) { - $string = str_replace('', '', $string); - return $string; - } - - public function collectData(array $param){ - $html = $this->file_get_html('http://gurumed.org/feed') or $this->returnError('Could not request Gurumed.', 404); - $limit = 0; - - foreach($html->find('item') as $element) { - if($limit < 5) { - $item = new \Item(); - $item->title = $this->GurumedStripCDATA($element->find('title', 0)->innertext); - $item->uri = $this->GurumedStripCDATA($element->find('guid', 0)->plaintext); - $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); - $item->content = $this->GurumedStripCDATA(strip_tags($element->find('description', 0), '


')); - $this->items[] = $item; - $limit++; - } + function GurumedStripCDATA($string) { + $string = str_replace('', '', $string); + return $string; } - - } - public function getName(){ - return 'Gurumed'; - } + public function collectData(array $param){ + $html = $this->file_get_html('http://gurumed.org/feed') or $this->returnError('Could not request Gurumed.', 404); + $limit = 0; - public function getURI(){ - return 'http://gurumed.org/'; - } + foreach($html->find('item') as $element) { + if($limit < 5) { + $item = new \Item(); + $item->title = $this->GurumedStripCDATA($element->find('title', 0)->innertext); + $item->uri = $this->GurumedStripCDATA($element->find('guid', 0)->plaintext); + $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); + $item->content = $this->GurumedStripCDATA(strip_tags($element->find('description', 0), '


')); + $this->items[] = $item; + $limit++; + } + } + } - public function getCacheDuration(){ - return 3600; // 1 hour - } + public function getName(){ + return 'Gurumed'; + } + + public function getURI(){ + return 'http://gurumed.org/'; + } + + public function getCacheDuration(){ + return 3600; // 1 hour + } }