/**
  * {@inheritDoc}
  */
 public function getFeed()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFeed', array());
     return parent::getFeed();
 }
コード例 #2
0
ファイル: V1.php プロジェクト: nlegoff/Phraseanet
 /**
  * Retrieve detailled information about one feed entry
  *
  * @param  FeedEntry $entry
  *
  * @return array
  */
 private function list_publication_entry(Application $app, FeedEntry $entry)
 {
     $items = array_map(function ($item) use($app) {
         return $this->list_publication_entry_item($app, $item);
     }, iterator_to_array($entry->getItems()));
     return ['id' => $entry->getId(), 'author_email' => $entry->getAuthorEmail(), 'author_name' => $entry->getAuthorName(), 'created_on' => $entry->getCreatedOn()->format(DATE_ATOM), 'updated_on' => $entry->getUpdatedOn()->format(DATE_ATOM), 'title' => $entry->getTitle(), 'subtitle' => $entry->getSubtitle(), 'items' => $items, 'feed_id' => $entry->getFeed()->getId(), 'feed_title' => $entry->getFeed()->getTitle(), 'feed_url' => '/feeds/' . $entry->getFeed()->getId() . '/content/', 'url' => '/feeds/entry/' . $entry->getId() . '/'];
 }
コード例 #3
0
ファイル: RssFormatter.php プロジェクト: nlegoff/Phraseanet
 protected function addItem(Application $app, \DOMDocument $document, \DOMNode $node, FeedEntry $entry)
 {
     $item = $this->addTag($document, $node, 'item');
     $feed = $entry->getFeed();
     if ($feed->isPublic()) {
         $link = $app['feed.link-generator-collection']->generatePublic($feed, FeedLinkGenerator::FORMAT_RSS);
     } else {
         $link = $app['feed.link-generator-collection']->generate($feed, $app['authentication']->getUser(), FeedLinkGenerator::FORMAT_RSS);
     }
     $this->addTag($document, $item, 'title', $entry->getTitle());
     $this->addTag($document, $item, 'description', $entry->getSubtitle());
     $author = sprintf('%s (%s)', $entry->getAuthorEmail(), $entry->getAuthorName());
     $created_on = $entry->getCreatedOn()->format(DATE_RFC2822);
     $this->addTag($document, $item, 'author', $author);
     $this->addTag($document, $item, 'pubDate', $created_on);
     $this->addTag($document, $item, 'guid', $link->getURI());
     $this->addTag($document, $item, 'link', $link->getURI());
     /**
      *  Missing :
      *
      *  category  Includes the item in one or more categories. More.
      *  comments  URL of a page for comments relating to the item. More.
      *  enclosure  Describes a media object that is attached to the item. More.
      *  source    The RSS channel that the item came from. More.
      *
      */
     foreach ($entry->getItems() as $content) {
         $this->addContent($app, $document, $item, $content);
     }
     return $item;
 }
コード例 #4
0
ファイル: adapter.php プロジェクト: romainneutron/Phraseanet
 /**
  * Retrieve detailled information about one feed entry
  *
  * @param  FeedEntry $entry
  * @return array
  */
 protected function list_publication_entry(FeedEntry $entry)
 {
     $items = [];
     foreach ($entry->getItems() as $item) {
         $items[] = $this->list_publication_entry_item($item);
     }
     return ['id' => $entry->getId(), 'author_email' => $entry->getAuthorEmail(), 'author_name' => $entry->getAuthorName(), 'created_on' => $entry->getCreatedOn()->format(DATE_ATOM), 'updated_on' => $entry->getUpdatedOn()->format(DATE_ATOM), 'title' => $entry->getTitle(), 'subtitle' => $entry->getSubtitle(), 'items' => $items, 'feed_id' => $entry->getFeed()->getId(), 'feed_url' => '/feeds/' . $entry->getFeed()->getId() . '/content/', 'url' => '/feeds/entry/' . $entry->getId() . '/'];
 }