/** * generate * * @param array &$content Params * @param object &$params Params * * @return int */ public function execute(&$content, &$params) { $i = 0; $logger = AutotweetLogger::getInstance(); $articles = array(); foreach ($content as $article) { try { $output = $this->_execute($article, $params); list($introtext, $fulltext) = FeedTextHelper::splitArticleText($output); $article->introtext = $introtext; $article->fulltext = $fulltext; $articles[] = $article; $i++; } catch (Exception $e) { $logger->log(JLog::ERROR, 'FeedGeneratorHelper: save ' . $e->getMessage()); } } $content = $articles; return $i; }
/** * _getTagsToStrip * * @return array */ private function _getTagsToStrip() { $s = self::$_params->get('strip_list'); $w = ''; if (strpos($s, '+') === 0) { $s = FeedTextHelper::str_replace_first('+', '', $s); $w = '+'; } $ts = TextUtil::listToArray($s); $ht = array(); foreach ($ts as $k => $t) { if (JString::strpos($t, '=')) { $ht[] = $t; unset($ts[$k]); } } list($tags, $hook_tag) = array($w . implode(',', $ts), $w . implode(',', $ht)); if ($tags) { if (strpos($tags, '+') !== false) { $tags = str_replace('+', '', $tags); } else { $tags = str_replace(' ', '', $tags); $tags = '*-' . str_replace(',', ' -', $tags); } } self::$_tags = $tags; self::$_hook_tag = $hook_tag; return array($tags, $hook_tag); }
$authors = null; if ($params->get('author_article') && !empty($article->created_by_alias)) { $authors = '<p class="authors"><span class="label">' . JText::_('COM_AUTOTWEET_FEED_AUTHORS') . ':</span> <span class="author">' . $article->created_by_alias . '</span></p>'; } if ($params->get('author_article') == 'top' && $authors) { echo $authors; } // Default image, or Enclosure Image if (($article->showDefaultImage || $article->showEnclosureImage || $article->showImageFromText) && !empty($article->images)) { $image = $article->images[0]; echo $image->generateTag(); } if (($params->get('onlyintro') || empty($article->fulltext)) && empty($article->introtext)) { $article->introtext = '<p>' . $params->get('default_introtext') . '</p>'; } $text = FeedTextHelper::joinArticleText($article->introtext, $article->fulltext); if ($downloadImages) { foreach ($article->images as $image) { $text = str_replace($image->original_src, $image->src, $text); } } echo $text; if ($params->get('process_enc') && count($article->enclosures)) { $enclosures = $this->formatEnclosures(); echo $enclosures; } if ($params->get('author_article') == 'bottom' && $authors) { echo $authors; } if ($params->get('show_orig_link')) { // Trackback Processing
echo EHtml::genericControl('JCATEGORY', 'JFIELD_CATEGORY_DESC', 'preview_cat_id', $control); // Main Text echo FeedTextHelper::joinArticleText($preview->introtext, $preview->fulltext); echo EHtml::accessLevelControl($preview->access, 'preview_access', 'JFIELD_ACCESS_LABEL', 'JFIELD_ACCESS_DESC'); echo EHtmlSelect::yesNoControl($preview->featured, 'preview_featured', 'JFEATURED', 'COM_CONTENT_FIELD_FEATURED_DESC'); $control = SelectControlHelper::languages($preview->language); echo EHtml::genericControl('JFIELD_LANGUAGE_LABEL', 'COM_CONTENT_FIELD_LANGUAGE_DESC', 'preview_language', $control); echo EHtml::readonlyTextControl($preview->metakey, 'preview_metakey', 'JFIELD_META_KEYWORDS_LABEL', 'JFIELD_META_KEYWORDS_DESC'); echo EHtml::readonlyTextControl($preview->metadesc, 'preview_metadesc', 'JFIELD_META_DESCRIPTION_LABEL', 'JFIELD_META_DESCRIPTION_DESC'); echo EHtmlSelect::yesNoControl($preview->state, 'preview_state', 'JSTATUS', 'JFIELD_PUBLISHED_DESC'); echo EHtml::readonlyTextControl(JHtml::_('date', $preview->created, JText::_('COM_AUTOTWEET_DATE_FORMAT')), 'preview_created', 'COM_CONTENT_FIELD_CREATED_LABEL', 'COM_CONTENT_FIELD_CREATED_DESC'); echo EHtml::readonlyTextControl(JHtml::_('date', $preview->publish_up, JText::_('COM_AUTOTWEET_DATE_FORMAT')), 'preview_publish_up', 'COM_CONTENT_FIELD_PUBLISH_UP_LABEL', 'COM_CONTENT_FIELD_PUBLISH_UP_DESC'); if (!empty($preview->publish_down)) { echo EHtml::readonlyTextControl(JHtml::_('date', $preview->publish_down, JText::_('COM_AUTOTWEET_DATE_FORMAT')), 'preview_publish_down', 'COM_CONTENT_FIELD_PUBLISH_DOWN_LABEL', 'COM_CONTENT_FIELD_PUBLISH_DOWN_DESC'); } echo EHtml::readonlyTextControl(FeedTextHelper::generateAuthor($preview->created_by, $preview->created_by_alias), 'preview_created_by', 'COM_CONTENT_FIELD_CREATED_BY_LABEL', 'COM_CONTENT_FIELD_CREATED_BY_DESC'); echo EHtml::genericControl('COM_AUTOTWEET_VIEW_FEED_PERMALINK', 'COM_AUTOTWEET_VIEW_FEED_PERMALINK', 'preview_permalink', "<a href='{$preview->permalink}' target='_blank'>" . $preview->permalink . ' <i class="xticon xticon-globe"></i></a>'); echo EHtml::genericControl('COM_AUTOTWEET_VIEW_FEED_SHORTLINK', 'COM_AUTOTWEET_VIEW_FEED_SHORTLINK', 'preview_shortlink', "<a href='{$preview->shortlink}' target='_blank'> " . $preview->shortlink . ' <i class="xticon xticon-globe"></i></a>'); $images = $preview->images; ?> <h3><?php echo JText::_('COM_AUTOTWEET_VIEW_FEED_PREVIEW_IMAGES'); ?> </h3> <?php echo '<p>'; if (count($images) > 0) { foreach ($images as $image) { echo $image->generateTag() . ' '; } }
/** * getHookTagList * * @return void */ public static function getHookTagList() { static $regex = '/([\\S]+)\\s*?([^=]*)?=?([\\S]*)?/'; $hook_tag = FeedProcessorHelper::getHookTag(); $whitemode = strpos($hook_tag, '+') === 0 ? 1 : 0; if ($whitemode) { $hook_tag = self::str_replace_first('+', '', $hook_tag); } $parts = TextUtil::listToArray($hook_tag); $tags_attrs = array(); foreach ($parts as $part) { preg_match($regex, $part, $matches); if (count($matches) == 4) { $element = trim($matches[1]); $attr = trim($matches[2]); $value = trim($matches[3]); $tags_attrs[$element . '-' . $attr] = $value; } } self::$hasHookTags = !empty($tags_attrs); self::$whitemode = $whitemode; self::$tags_attrs = $tags_attrs; }