Beispiel #1
0
 /**
  * Find the item enclosure
  *
  * @access public
  * @param  SimpleXMLElement   $entry   Feed item
  * @param  \PicoFeed\Item     $item    Item object
  * @param  \PicoFeed\Feed     $feed    Feed object
  */
 public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     foreach ($entry->link as $link) {
         if ((string) $link['rel'] === 'enclosure') {
             $item->enclosure_url = (string) $link['href'];
             $item->enclosure_type = (string) $link['type'];
             if (Filter::isRelativePath($item->enclosure_url)) {
                 $item->enclosure_url = Filter::getAbsoluteUrl($item->enclosure_url, $feed->url);
             }
             break;
         }
     }
 }
Beispiel #2
0
 public function testGetAbsoluteUrl()
 {
     $f = new Filter('', '');
     $this->assertEquals('http://google.com/', $f->getAbsoluteUrl('/', 'http://google.com'));
     $this->assertEquals('https://google.com/boo', $f->getAbsoluteUrl('boo', 'https://google.com'));
     $this->assertEquals('http://google.com/', $f->getAbsoluteUrl('/', 'google.com'));
     $this->assertEquals('http://google.com/bla', $f->getAbsoluteUrl('bla', 'google.com'));
     $this->assertEquals('http://google.com/../bla', $f->getAbsoluteUrl('../bla', 'google.com'));
     $this->assertEquals('', $f->getAbsoluteUrl('../bla', ''));
 }
Beispiel #3
0
 /**
  * Find the item enclosure
  *
  * @access public
  * @param  SimpleXMLElement   $entry   Feed item
  * @param  \PicoFeed\Item     $item    Item object
  * @param  \PicoFeed\Feed     $feed    Feed object
  */
 public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed)
 {
     if (isset($entry->enclosure)) {
         $item->enclosure_url = $this->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'] : '';
         if (Filter::isRelativePath($item->enclosure_url)) {
             $item->enclosure_url = Filter::getAbsoluteUrl($item->enclosure_url, $feed->url);
         }
     }
 }