public function getContent($fetch = true) { if (strlen($this->content) == 0) { if ($this->fetchContent && $fetch && ($url = $this->getLink())) { $reader = new KurogoReader($url, $this->initArgs); $this->content = $reader->getContent(); } } return $this->content; }
protected function getContent($feedData) { $content_type = isset($feedData['CONTENT_TYPE']) ? $feedData['CONTENT_TYPE'] : 'html_url'; $modelClass = isset($feedData['MODEL_CLASS']) ? $feedData['MODEL_CLASS'] : self::$defaultModel; switch ($content_type) { case 'html': $content = isset($feedData['CONTENT_HTML']) ? $feedData['CONTENT_HTML'] : ''; if (is_array($content)) { $content = implode("\n", $content); } return $content; break; case 'html_url': if (!isset($feedData['PARSER_CLASS'])) { $feedData['PARSER_CLASS'] = 'DOMDataParser'; } $controller = ContentDataModel::factory($modelClass, $feedData); if (isset($feedData['HTML_ID']) && strlen($feedData['HTML_ID']) > 0) { $content = $controller->getContentById($feedData['HTML_ID']); } elseif (isset($feedData['HTML_TAG']) && strlen($feedData['HTML_TAG']) > 0) { $content = $controller->getContentByTag($feedData['HTML_TAG']); } elseif (isset($feedData['HTML_CLASS']) && strlen($feedData['HTML_CLASS']) > 0) { $content = $controller->getContentByClass($feedData['HTML_CLASS']); } elseif (isset($feedData['KUROGO_READER']) && $feedData['KUROGO_READER']) { $reader = new KurogoReader($feedData['BASE_URL']); $content = $reader->getContent(); } else { $content = $controller->getContent(); } $content = $this->filterContentByPage($content, $this->pageId, $this->group); return $content; break; case 'rss': if (!isset($feedData['PARSER_CLASS'])) { $feedData['PARSER_CLASS'] = 'RSSDataParser'; } $controller = ContentDataModel::factory($controllerClass, $feedData); if ($item = $controller->getItemByIndex(0)) { return $item->getContent(); } return ''; break; default: throw new KurogoConfigurationException("Invalid content type {$content_type}"); } }