From 7ff901de08b767afedfc991e77107cc74aafe302 Mon Sep 17 00:00:00 2001 From: logmanoriginal Date: Wed, 3 Aug 2016 12:37:56 +0200 Subject: [PATCH 1/2] 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/DeveloppezDotComBridge.php | 66 +++++++++++++++--------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/bridges/DeveloppezDotComBridge.php b/bridges/DeveloppezDotComBridge.php index 9c147a8..57cd2cd 100644 --- a/bridges/DeveloppezDotComBridge.php +++ b/bridges/DeveloppezDotComBridge.php @@ -11,48 +11,48 @@ class DeveloppezDotComBridge extends BridgeAbstract{ } + function DeveloppezDotComStripCDATA($string) { + $string = str_replace('', '', $string); + return $string; + } + + function convert_smart_quotes($string)//F***ing quotes from Microsoft Word badly encoded, here was the trick: http://stackoverflow.com/questions/1262038/how-to-replace-microsoft-encoded-quotes-in-php + { + $search = array(chr(145), + chr(146), + chr(147), + chr(148), + chr(151)); + + $replace = array("'", + "'", + '"', + '"', + '-'); + + return str_replace($search, $replace, $string); + } + + function DeveloppezDotComExtractContent($url) { + $articleHTMLContent = $this->file_get_html($url); + $text = $this->convert_smart_quotes($articleHTMLContent->find('div.content', 0)->innertext); + $text = utf8_encode($text); + return trim($text); + } + public function collectData(array $param){ - function DeveloppezDotComStripCDATA($string) { - $string = str_replace('', '', $string); - return $string; - } - - function convert_smart_quotes($string)//F***ing quotes from Microsoft Word badly encoded, here was the trick: http://stackoverflow.com/questions/1262038/how-to-replace-microsoft-encoded-quotes-in-php - { - $search = array(chr(145), - chr(146), - chr(147), - chr(148), - chr(151)); - - $replace = array("'", - "'", - '"', - '"', - '-'); - - return str_replace($search, $replace, $string); - } - - function DeveloppezDotComExtractContent($url) { - $articleHTMLContent = $this->file_get_html($url); - $text = convert_smart_quotes($articleHTMLContent->find('div.content', 0)->innertext); - $text = utf8_encode($text); - return trim($text); - } - $rssFeed = $this->file_get_html('http://www.developpez.com/index/rss') or $this->returnError('Could not request http://www.developpez.com/index/rss', 404); $limit = 0; foreach($rssFeed->find('item') as $element) { if($limit < 10) { $item = new \Item(); - $item->title = DeveloppezDotComStripCDATA($element->find('title', 0)->innertext); - $item->uri = DeveloppezDotComStripCDATA($element->find('guid', 0)->plaintext); + $item->title = $this->DeveloppezDotComStripCDATA($element->find('title', 0)->innertext); + $item->uri = $this->DeveloppezDotComStripCDATA($element->find('guid', 0)->plaintext); $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); - $content = DeveloppezDotComExtractContent($item->uri); + $content = $this->DeveloppezDotComExtractContent($item->uri); $item->content = strlen($content) ? $content : $element->description;//In case of it is a tutorial, we just keep the original description $this->items[] = $item; $limit++; From 58b3261fbbdbd7c3b18eb0e0d42e42bbbb70362e Mon Sep 17 00:00:00 2001 From: logmanoriginal Date: Wed, 3 Aug 2016 12:42:57 +0200 Subject: [PATCH 2/2] Fix indentation and remove empty lines --- bridges/DeveloppezDotComBridge.php | 60 +++++++++++++++--------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/bridges/DeveloppezDotComBridge.php b/bridges/DeveloppezDotComBridge.php index 57cd2cd..51dc013 100644 --- a/bridges/DeveloppezDotComBridge.php +++ b/bridges/DeveloppezDotComBridge.php @@ -2,13 +2,11 @@ class DeveloppezDotComBridge extends BridgeAbstract{ public function loadMetadatas() { - $this->maintainer = "polopollo"; $this->name = "Developpez.com Actus (FR)"; $this->uri = "http://www.developpez.com/"; $this->description = "Returns the 15 newest posts from DeveloppezDotCom (full text)."; - $this->update = "2014-07-14"; - + $this->update = "2016-08-03"; } function DeveloppezDotComStripCDATA($string) { @@ -17,7 +15,9 @@ class DeveloppezDotComBridge extends BridgeAbstract{ return $string; } - function convert_smart_quotes($string)//F***ing quotes from Microsoft Word badly encoded, here was the trick: http://stackoverflow.com/questions/1262038/how-to-replace-microsoft-encoded-quotes-in-php + // F***ing quotes from Microsoft Word badly encoded, here was the trick: + // http://stackoverflow.com/questions/1262038/how-to-replace-microsoft-encoded-quotes-in-php + function convert_smart_quotes($string) { $search = array(chr(145), chr(146), @@ -41,35 +41,33 @@ class DeveloppezDotComBridge extends BridgeAbstract{ return trim($text); } - public function collectData(array $param){ + public function collectData(array $param){ + $rssFeed = $this->file_get_html('http://www.developpez.com/index/rss') or $this->returnError('Could not request http://www.developpez.com/index/rss', 404); + $limit = 0; - $rssFeed = $this->file_get_html('http://www.developpez.com/index/rss') or $this->returnError('Could not request http://www.developpez.com/index/rss', 404); - $limit = 0; + foreach($rssFeed->find('item') as $element) { + if($limit < 10) { + $item = new \Item(); + $item->title = $this->DeveloppezDotComStripCDATA($element->find('title', 0)->innertext); + $item->uri = $this->DeveloppezDotComStripCDATA($element->find('guid', 0)->plaintext); + $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); + $content = $this->DeveloppezDotComExtractContent($item->uri); + $item->content = strlen($content) ? $content : $element->description; //In case of it is a tutorial, we just keep the original description + $this->items[] = $item; + $limit++; + } + } + } - foreach($rssFeed->find('item') as $element) { - if($limit < 10) { - $item = new \Item(); - $item->title = $this->DeveloppezDotComStripCDATA($element->find('title', 0)->innertext); - $item->uri = $this->DeveloppezDotComStripCDATA($element->find('guid', 0)->plaintext); - $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); - $content = $this->DeveloppezDotComExtractContent($item->uri); - $item->content = strlen($content) ? $content : $element->description;//In case of it is a tutorial, we just keep the original description - $this->items[] = $item; - $limit++; - } - } + public function getName(){ + return 'DeveloppezDotCom'; + } - } + public function getURI(){ + return 'http://www.developpez.com/'; + } - public function getName(){ - return 'DeveloppezDotCom'; - } - - public function getURI(){ - return 'http://www.developpez.com/'; - } - - public function getCacheDuration(){ - return 1800; // 30min - } + public function getCacheDuration(){ + return 1800; // 30min + } }