summaryrefslogtreecommitdiffstats
path: root/3rdparty/ZendFeed/Reader/AbstractEntry.php
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/ZendFeed/Reader/AbstractEntry.php')
-rw-r--r--3rdparty/ZendFeed/Reader/AbstractEntry.php224
1 files changed, 0 insertions, 224 deletions
diff --git a/3rdparty/ZendFeed/Reader/AbstractEntry.php b/3rdparty/ZendFeed/Reader/AbstractEntry.php
deleted file mode 100644
index cf8a9361b..000000000
--- a/3rdparty/ZendFeed/Reader/AbstractEntry.php
+++ /dev/null
@@ -1,224 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Feed\Reader;
-
-use DOMDocument;
-use DOMElement;
-use DOMXPath;
-
-abstract class AbstractEntry
-{
- /**
- * Feed entry data
- *
- * @var array
- */
- protected $data = array();
-
- /**
- * DOM document object
- *
- * @var DOMDocument
- */
- protected $domDocument = null;
-
- /**
- * Entry instance
- *
- * @var DOMElement
- */
- protected $entry = null;
-
- /**
- * Pointer to the current entry
- *
- * @var int
- */
- protected $entryKey = 0;
-
- /**
- * XPath object
- *
- * @var DOMXPath
- */
- protected $xpath = null;
-
- /**
- * Registered extensions
- *
- * @var array
- */
- protected $extensions = array();
-
- /**
- * Constructor
- *
- * @param DOMElement $entry
- * @param int $entryKey
- * @param null|string $type
- */
- public function __construct(DOMElement $entry, $entryKey, $type = null)
- {
- $this->entry = $entry;
- $this->entryKey = $entryKey;
- $this->domDocument = $entry->ownerDocument;
- if ($type !== null) {
- $this->data['type'] = $type;
- } else {
- $this->data['type'] = Reader::detectType($entry);
- }
- $this->_loadExtensions();
- }
-
- /**
- * Get the DOM
- *
- * @return DOMDocument
- */
- public function getDomDocument()
- {
- return $this->domDocument;
- }
-
- /**
- * Get the entry element
- *
- * @return DOMElement
- */
- public function getElement()
- {
- return $this->entry;
- }
-
- /**
- * Get the Entry's encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- $assumed = $this->getDomDocument()->encoding;
- if (empty($assumed)) {
- $assumed = 'UTF-8';
- }
- return $assumed;
- }
-
- /**
- * Get entry as xml
- *
- * @return string
- */
- public function saveXml()
- {
- $dom = new DOMDocument('1.0', $this->getEncoding());
- $entry = $dom->importNode($this->getElement(), true);
- $dom->appendChild($entry);
- return $dom->saveXml();
- }
-
- /**
- * Get the entry type
- *
- * @return string
- */
- public function getType()
- {
- return $this->data['type'];
- }
-
- /**
- * Get the XPath query object
- *
- * @return DOMXPath
- */
- public function getXpath()
- {
- if (!$this->xpath) {
- $this->setXpath(new DOMXPath($this->getDomDocument()));
- }
- return $this->xpath;
- }
-
- /**
- * Set the XPath query
- *
- * @param DOMXPath $xpath
- * @return \Zend\Feed\Reader\AbstractEntry
- */
- public function setXpath(DOMXPath $xpath)
- {
- $this->xpath = $xpath;
- return $this;
- }
-
- /**
- * Get registered extensions
- *
- * @return array
- */
- public function getExtensions()
- {
- return $this->extensions;
- }
-
- /**
- * Return an Extension object with the matching name (postfixed with _Entry)
- *
- * @param string $name
- * @return \Zend\Feed\Reader\Extension\AbstractEntry
- */
- public function getExtension($name)
- {
- if (array_key_exists($name . '\Entry', $this->extensions)) {
- return $this->extensions[$name . '\Entry'];
- }
- return null;
- }
-
- /**
- * Method overloading: call given method on first extension implementing it
- *
- * @param string $method
- * @param array $args
- * @return mixed
- * @throws Exception\BadMethodCallException if no extensions implements the method
- */
- public function __call($method, $args)
- {
- foreach ($this->extensions as $extension) {
- if (method_exists($extension, $method)) {
- return call_user_func_array(array($extension, $method), $args);
- }
- }
- throw new Exception\BadMethodCallException('Method: ' . $method
- . 'does not exist and could not be located on a registered Extension');
- }
-
- /**
- * Load extensions from Zend\Feed\Reader\Reader
- *
- * @return void
- */
- protected function _loadExtensions()
- {
- $all = Reader::getExtensions();
- $feed = $all['entry'];
- foreach ($feed as $extension) {
- if (in_array($extension, $all['core'])) {
- continue;
- }
- $className = Reader::getPluginLoader()->getClassName($extension);
- $this->extensions[$extension] = new $className(
- $this->getElement(), $this->entryKey, $this->data['type']
- );
- }
- }
-}