From 7ff901de08b767afedfc991e77107cc74aafe302 Mon Sep 17 00:00:00 2001 From: logmanoriginal Date: Wed, 3 Aug 2016 12:37:56 +0200 Subject: [PATCH] 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 9c147a8a..57cd2cdf 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++;