Example #1
0
 protected function _generateFeedContainer()
 {
     $entries = Doctrine_Query::create()->from('Zfplanet_Model_Entry')->orderBy('publishedDate DESC')->limit(20)->execute();
     $now = new Zend_Date();
     $feed = new Zend_Feed_Writer_Feed();
     // TODO: Extract site info to config file and detect feed DATA
     $feed->setTitle('ZF Planet');
     $feed->setDescription('Zend Framework Blog Planet');
     $feed->setDateModified($now);
     $feed->setLink($this->_getBaseUri());
     $feed->setFeedLink($this->_getBaseUri() . 'feed/atom', 'atom');
     $feed->setFeedLink($this->_getBaseUri() . 'feed/rss', 'rss');
     $feed->addHubs(array('http://pubsubhubbub.appspot.com/'));
     foreach ($entries as $data) {
         $entry = $feed->createEntry();
         $entry->setTitle($data->title);
         $entry->addAuthor(array('name' => $data->author));
         if (!empty($data->description)) {
             $entry->setDescription($data->description);
         }
         $entry->setLink($data->uri);
         $entry->setContent($data->content);
         $publishedDate = new Zend_Date($data->publishedDate, Zend_Date::ISO_8601);
         $entry->setDateCreated($publishedDate);
         $updatedDate = new Zend_Date($data->updatedDate, Zend_Date::ISO_8601);
         $entry->setDateModified($updatedDate);
         $feed->addEntry($entry);
         $source = $entry->createSource();
         $source->setTitle($data->Feed->FeedMeta->title);
         if (isset($data->Feed->FeedMeta->description) && !empty($data->Feed->FeedMeta->description)) {
             $source->setDescription($data->Feed->FeedMeta->description);
         }
         $source->setLink($data->Feed->FeedMeta->link);
         $source->setFeedLink($data->Feed->FeedMeta->feedLink, 'atom');
         $updatedDate = new Zend_Date($data->Feed->lastSynchronised, Zend_Date::ISO_8601);
         $source->setDateModified($updatedDate);
         $entry->setSource($source);
     }
     return $feed;
 }
Example #2
0
 public function testAddsManyHubUrls()
 {
     $writer = new Zend_Feed_Writer_Feed();
     $writer->addHubs(array('http://www.example.com/hub', 'http://www.example.com/hub2'));
     $this->assertEquals(array('http://www.example.com/hub', 'http://www.example.com/hub2'), $writer->getHubs());
 }