Exemple #1
0
 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;
 }
Exemple #2
0
 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}");
     }
 }