/**
  * 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);
 }
Exemple #3
0
$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;
 }