/**
  * Execute Item Processor
  *
  * @access public
  * @param  Feed $feed
  * @param  Item $item
  * @return bool
  */
 public function execute(Feed $feed, Item $item)
 {
     if ($this->config->getContentFiltering(true)) {
         $filter = Filter::html($item->getContent(), $feed->getSiteUrl());
         $filter->setConfig($this->config);
         $item->setContent($filter->execute());
     } else {
         Logger::setMessage(get_called_class() . ': Content filtering disabled');
     }
 }
 public function testLangRTL()
 {
     $item = new Feed();
     $item->language = 'fr_FR';
     $this->assertFalse($item->isRTL());
     $item->language = 'ur';
     $this->assertTrue($item->isRTL());
     $item->language = 'syr-**';
     $this->assertTrue($item->isRTL());
     $item->language = 'ru';
     $this->assertFalse($item->isRTL());
 }
Example #3
0
 /**
  * Find the item enclosure.
  *
  * @param SimpleXMLElement      $entry Feed item
  * @param \PicoFeed\Parser\Item $item  Item object
  * @param \PicoFeed\Parser\Feed $feed  Feed object
  */
 public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     if (isset($entry->enclosure)) {
         $enclosure_url = XmlParser::getXPathResult($entry, 'feedburner:origEnclosureLink', $this->namespaces) ?: XmlParser::getXPathResult($entry, 'enclosure/@url');
         $enclosure_type = XmlParser::getXPathResult($entry, 'enclosure/@type');
         $item->enclosure_url = Url::resolve((string) current($enclosure_url), $feed->getSiteUrl());
         $item->enclosure_type = (string) current($enclosure_type);
     }
 }
Example #4
0
 /**
  * Check if the item url is correct.
  *
  * @param Feed $feed Feed object
  * @param Item $item Item object
  */
 public function checkItemUrl(Feed $feed, Item $item)
 {
     $item->url = Url::resolve($item->getUrl(), $feed->getSiteUrl());
 }
Example #5
0
 /**
  * Find the item enclosure
  *
  * @access public
  * @param  SimpleXMLElement          $entry   Feed item
  * @param  \PicoFeed\Parser\Item     $item    Item object
  * @param  \PicoFeed\Parser\Feed     $feed    Feed object
  */
 public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     if (isset($entry->enclosure)) {
         $item->enclosure_url = XmlParser::getNamespaceValue($entry->enclosure, $this->namespaces, 'origEnclosureLink');
         if (empty($item->enclosure_url)) {
             $item->enclosure_url = isset($entry->enclosure['url']) ? (string) $entry->enclosure['url'] : '';
         }
         $item->enclosure_type = isset($entry->enclosure['type']) ? (string) $entry->enclosure['type'] : '';
         $item->enclosure_url = Url::resolve($item->enclosure_url, $feed->getSiteUrl());
     }
 }
Example #6
0
 /**
  * Find the item enclosure
  *
  * @access public
  * @param  SimpleXMLElement   $entry   Feed item
  * @param  \PicoFeed\Parser\Item     $item    Item object
  * @param  \PicoFeed\Parser\Feed     $feed    Feed object
  */
 public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     $enclosure = $this->findLink($entry, 'enclosure');
     if ($enclosure) {
         $item->enclosure_url = Url::resolve((string) $enclosure['href'], $feed->getSiteUrl());
         $item->enclosure_type = (string) $enclosure['type'];
     }
 }
Example #7
0
 /**
  * Find the item language.
  *
  * @param SimpleXMLElement      $entry Feed item
  * @param \PicoFeed\Parser\Item $item  Item object
  * @param \PicoFeed\Parser\Feed $feed  Feed object
  */
 public function findItemLanguage(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     $language = XmlParser::getXPathResult($entry, 'dc:language', $this->namespaces);
     $item->setLanguage(XmlParser::getValue($language) ?: $feed->getLanguage());
 }
Example #8
0
 /**
  * Find the item date.
  *
  * @param SimpleXMLElement      $entry Feed item
  * @param Item                  $item  Item object
  * @param \PicoFeed\Parser\Feed $feed  Feed object
  */
 public function findItemDate(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     $date = XmlParser::getXPathResult($entry, 'dc:date', $this->namespaces);
     $item->date = empty($date) ? $feed->getDate() : $this->date->getDateTime((string) current($date));
 }
Example #9
0
 /**
  * Find the item language.
  *
  * @param SimpleXMLElement      $entry Feed item
  * @param \PicoFeed\Parser\Item $item  Item object
  * @param \PicoFeed\Parser\Feed $feed  Feed object
  */
 public function findItemLanguage(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     $language = XmlParser::getXPathResult($entry, './/@xml:lang');
     $item->setLanguage(XmlParser::getValue($language) ?: $feed->getLanguage());
 }