protected function _createEntry(Zend_Feed_Entry_Abstract $item) { $entry = new Ls_Aggregator_Entry(); $entry->setUrl($item->link('alternate')); $entry->setTitle($item->title); $entry->setContent($item->content); if ($item instanceof Zend_Feed_Entry_Atom) { $entry->setUniqueId($item->id); $entry->setSummary($item->summary); $entry->setContentCreatedAt($this->_createDate($item->published, Zend_Date::ATOM)); $entry->setContentUpdatedAt($this->_createDate($item->updated, Zend_Date::ATOM)); foreach ($item->category as $category) { $entry->addCategory($category->offsetGet('term')); } } else { $entry->setUniqueId($item->guid); $entry->setSummary($item->description); $entry->setContentCreatedAt($this->_createDate($item->pubDate, Zend_Date::RSS)); $entry->setContentUpdatedAt($this->_createDate($item->updated, Zend_Date::RSS)); foreach ($item->category as $category) { $entry->addCategory($category); } } // Make sure we have both created and updated with something if ($entry->getContentUpdatedAt() == '' && $entry->getContentCreatedAt() == '') { $entry->setContentUpdatedAt(Zend_Date::now()); $entry->setContentCreatedAt(Zend_Date::now()); } if ($entry->getContentUpdatedAt() == '') { $entry->setContentUpdatedAt($entry->getContentCreatedAt()); } if ($entry->getContentCreatedAt() == '') { $entry->setContentCreatedAt($entry->getContentUpdatedAt()); } return $entry; }