/** * 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 DOMElement $entry * @param int $entryKey * @param string $type * @return void */ public function __construct(DOMElement $entry, $entryKey, $type = null) { parent::__construct($entry, $entryKey, $type); // Everyone by now should know XPath indices start from 1 not 0 $this->_xpathQuery = '//atom:entry[' . ($this->_entryKey + 1) . ']'; $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Entry'); $this->_extensions['Atom_Entry'] = new $atomClass($entry, $entryKey, $type); $threadClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Thread_Entry'); $this->_extensions['Thread_Entry'] = new $threadClass($entry, $entryKey, $type); }
/** * Constructor: Create a Source object which is largely just a normal * Zend_Feed_Reader_FeedAbstract object only designed to retrieve feed level * metadata from an Atom entry's source element. * * @param DOMElement $source * @param string $xpathPrefix Passed from parent Entry object * @param string $type Nearly always Atom 1.0 */ public function __construct(DOMElement $source, $xpathPrefix, $type = Zend_Feed_Reader::TYPE_ATOM_10) { $this->_domDocument = $source->ownerDocument; $this->_xpath = new DOMXPath($this->_domDocument); $this->_data['type'] = $type; $this->_registerNamespaces(); $this->_loadExtensions(); $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Feed'); $this->_extensions['Atom_Feed'] = new $atomClass($this->_domDocument, $this->_data['type'], $this->_xpath); $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('DublinCore_Feed'); $this->_extensions['DublinCore_Feed'] = new $atomClass($this->_domDocument, $this->_data['type'], $this->_xpath); foreach ($this->_extensions as $extension) { $extension->setXpathPrefix(rtrim($xpathPrefix, '/') . '/atom:source'); } }
/** * 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); } }
/** * Load extensions from Zend_Feed_Reader * * @return void */ protected function _loadExtensions() { $all = Zend_Feed_Reader::getExtensions(); $feed = $all['entry']; foreach ($feed as $extension) { if (in_array($extension, $all['core'])) { continue; } $className = Zend_Feed_Reader::getPluginLoader()->getClassName($extension); $this->_extensions[$extension] = new $className($this->getElement(), $this->_entryKey, $this->_data['type']); } }
public function testAddsPrefixPath() { Zend_Feed_Reader::addPrefixPath('A_B_C', '/A/B/C'); $prefixPaths = Zend_Feed_Reader::getPluginLoader()->getPaths(); $this->assertEquals('/A/B/C/', $prefixPaths['A_B_C_'][0]); }
/** * Constructor * * @param Zend_Feed_Entry_Abstract $entry * @param string $entryKey * @param string $type * @return void */ public function __construct(DOMElement $entry, $entryKey, $type = null) { parent::__construct($entry, $entryKey, $type); $this->_xpathQueryRss = '//item[' . ($this->_entryKey + 1) . ']'; $this->_xpathQueryRdf = '//rss:item[' . ($this->_entryKey + 1) . ']'; $pluginLoader = Zend_Feed_Reader::getPluginLoader(); $dublinCoreClass = $pluginLoader->getClassName('DublinCore_Entry'); $this->_extensions['DublinCore_Entry'] = new $dublinCoreClass($entry, $entryKey, $type); $contentClass = $pluginLoader->getClassName('Content_Entry'); $this->_extensions['Content_Entry'] = new $contentClass($entry, $entryKey, $type); $atomClass = $pluginLoader->getClassName('Atom_Entry'); $this->_extensions['Atom_Entry'] = new $atomClass($entry, $entryKey, $type); $wfwClass = $pluginLoader->getClassName('WellFormedWeb_Entry'); $this->_extensions['WellFormedWeb_Entry'] = new $wfwClass($entry, $entryKey, $type); $slashClass = $pluginLoader->getClassName('Slash_Entry'); $this->_extensions['Slash_Entry'] = new $slashClass($entry, $entryKey, $type); $threadClass = $pluginLoader->getClassName('Thread_Entry'); $this->_extensions['Thread_Entry'] = new $threadClass($entry, $entryKey, $type); }