protected function _setCommonData(Zfplanet_Model_Entry $model, Zend_Feed_Reader_EntryAbstract $entry, $entryHash) { $model->title = self::getHtmlPurifier()->purify(trim($entry->getTitle())); $model->content = self::getHtmlPurifier()->purify(trim($entry->getContent())); $model->description = self::getHtmlPurifier()->purify(trim($entry->getDescription())); $author = $entry->getAuthor(); $model->author = trim($author['name']); $model->updatedDate = $entry->getDateModified()->get(Zend_Date::ISO_8601); $model->signatureHash = $entryHash; $model->Feed->lastSynchronised = Zend_Date::now()->get(Zend_Date::ISO_8601); }
/** * Set the XPath query (incl. on all Extensions) * * @param DOMXPath $xpath */ public function setXpath(DOMXPath $xpath) { parent::setXpath($xpath); foreach ($this->_extensions as $extension) { $extension->setXpath($this->_xpath); } }
/** * Parses all feed items for their values and returns an associative * array with their normalized values, along with the accountId specified. * * @param Zend_Feed_Reader_EntryAbstract $item * @param integer $accountId * * @return array */ public static function normalizeFeedItem(Zend_Feed_Reader_EntryAbstract $item) { $itemData = array(); $itemData['title'] = $item->getTitle(); $authorData = $item->getAuthor(); $itemData['author'] = $authorData; $itemData['authorUri'] = ""; $itemData['authorEmail'] = ""; if (is_array($authorData)) { if (isset($authorData['name'])) { $itemData['author'] = $authorData['name']; } if (isset($authorData['uri'])) { $itemData['authorUri'] = $authorData['uri']; } if (isset($authorData['email'])) { $itemData['authorEmail'] = $authorData['email']; } } // author // description $itemData['description'] = $item->getDescription(); if (!$itemData['description']) { $itemData['description'] = $itemData['title']; } // content $itemData['content'] = $item->getContent(); if (!$itemData['content']) { $itemData['content'] = $itemData['description']; } // link $itemData['link'] = $item->getLink(); // guid $itemData['guid'] = $item->getId(); // pubDate if (!$item->getDateModified()) { // workaround for rss without date $itemData['pubDate'] = time(); } else { /** * @see Conjoon_Filter_DateToUtc */ require_once 'Conjoon/Filter/DateToUtc.php'; $toUtcFilter = new Conjoon_Filter_DateToUtc(); $d = $toUtcFilter->filter($item->getDateModified()->get(Zend_Date::ISO_8601)); $itemData['pubDate'] = $d; } return $itemData; }