Browse Source

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!
logmanoriginal 7 years ago
parent
commit
1afdf9cef7
1 changed files with 21 additions and 22 deletions
  1. 21 22
      bridges/NextInpactBridge.php

+ 21 - 22
bridges/NextInpactBridge.php

@@ -11,37 +11,36 @@ class NextInpactBridge extends BridgeAbstract {
 
 	}
 
-	public function collectData(array $param) {
-
-		function StripCDATA($string) {
-			$string = str_replace('<![CDATA[', '', $string);
-			$string = str_replace(']]>', '', $string);
-			return $string;
-		}
+	function StripCDATA($string) {
+		$string = str_replace('<![CDATA[', '', $string);
+		$string = str_replace(']]>', '', $string);
+		return $string;
+	}
 
-		function ExtractContent($url) {
-			$html2 = $this->file_get_html($url);
-			$text = '<p><em>'.$html2->find('span.sub_title', 0)->innertext.'</em></p>'
-				.'<p><img src="'.$html2->find('div.container_main_image_article', 0)->find('img.dedicated',0)->src.'" alt="-" /></p>'
-				.'<div>'.$html2->find('div[itemprop=articleBody]', 0)->innertext.'</div>';
-			$premium_article = $html2->find('h2.title_reserve_article', 0);
-			if (is_object($premium_article))
-				$text = $text.'<p><em>'.$premium_article->innertext.'</em></p>';
-			return $text;
-		}
+	function ExtractContent($url) {
+		$html2 = $this->file_get_html($url);
+		$text = '<p><em>'.$html2->find('span.sub_title', 0)->innertext.'</em></p>'
+			.'<p><img src="'.$html2->find('div.container_main_image_article', 0)->find('img.dedicated',0)->src.'" alt="-" /></p>'
+			.'<div>'.$html2->find('div[itemprop=articleBody]', 0)->innertext.'</div>';
+		$premium_article = $html2->find('h2.title_reserve_article', 0);
+		if (is_object($premium_article))
+			$text = $text.'<p><em>'.$premium_article->innertext.'</em></p>';
+		return $text;
+	}
 
+	public function collectData(array $param) {
 		$html = $this->file_get_html('http://www.nextinpact.com/rss/news.xml') or $this->returnError('Could not request NextInpact.', 404);
 		$limit = 0;
 
 		foreach($html->find('item') as $element) {
 		 if($limit < 3) {
 				$item = new \Item();
-				$item->title = StripCDATA($element->find('title', 0)->innertext);
-				$item->uri = StripCDATA($element->find('guid', 0)->plaintext);
-				$item->thumbnailUri = StripCDATA($element->find('enclosure', 0)->url);
-				$item->author = StripCDATA($element->find('author', 0)->innertext);
+				$item->title = $this->StripCDATA($element->find('title', 0)->innertext);
+				$item->uri = $this->StripCDATA($element->find('guid', 0)->plaintext);
+				$item->thumbnailUri = $this->StripCDATA($element->find('enclosure', 0)->url);
+				$item->author = $this->StripCDATA($element->find('author', 0)->innertext);
 				$item->timestamp = strtotime($element->find('pubDate', 0)->plaintext);
-				$item->content = ExtractContent($item->uri);
+				$item->content = $this->ExtractContent($item->uri);
 				$this->items[] = $item;
 				$limit++;
 			}