/** * Constructor * * @param DOMDocument $dom * @param string $type */ public function __construct(DomDocument $dom, $type = null) { parent::__construct($dom, $type); $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Feed'); $this->_extensions['Atom_Feed'] = new $atomClass($dom, $this->_data['type'], $this->_xpath); foreach ($this->_extensions as $extension) { $extension->setXpathPrefix('/atom:feed'); } }
/** * Constructor * * @param DOMDocument $dom * @param string $type */ public function __construct(DomDocument $dom, $type = null) { parent::__construct($dom, $type); $dublinCoreClass = Zend_Feed_Reader::getPluginLoader()->getClassName('DublinCore_Feed'); $this->_extensions['DublinCore_Feed'] = new $dublinCoreClass($dom, $this->_data['type'], $this->_xpath); $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Feed'); $this->_extensions['Atom_Feed'] = new $atomClass($dom, $this->_data['type'], $this->_xpath); if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { $xpathPrefix = '/rss/channel'; } else { $xpathPrefix = '/rdf:RDF/rss:channel'; } foreach ($this->_extensions as $extension) { $extension->setXpathPrefix($xpathPrefix); } }
protected function _checkPubsubEnabled(Zend_Feed_Reader_FeedAbstract $feed) { if (!$feed->getHubs()) { return; } $hubs = $feed->getHubs(); $sub = new Zend_Feed_Pubsubhubbub_Subscriber(); $sub->setStorage(Doctrine_Core::getTable('Zfplanet_Model_Subscription')); $sub->addHubUrls($hubs); $sub->setTopicUrl($feed->getFeedLink()); $sub->usePathParameter(); $sub->setCallbackUrl($this->_getCallbackUri()); $sub->subscribeAll(); }