summaryrefslogtreecommitdiffstats
path: root/3rdparty/ZendFeed/Writer/Renderer/Feed/AbstractAtom.php
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/ZendFeed/Writer/Renderer/Feed/AbstractAtom.php')
-rw-r--r--3rdparty/ZendFeed/Writer/Renderer/Feed/AbstractAtom.php403
1 files changed, 0 insertions, 403 deletions
diff --git a/3rdparty/ZendFeed/Writer/Renderer/Feed/AbstractAtom.php b/3rdparty/ZendFeed/Writer/Renderer/Feed/AbstractAtom.php
deleted file mode 100644
index e7ad9f56b..000000000
--- a/3rdparty/ZendFeed/Writer/Renderer/Feed/AbstractAtom.php
+++ /dev/null
@@ -1,403 +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\Writer\Renderer\Feed;
-
-use DateTime;
-use DOMDocument;
-use DOMElement;
-use Zend\Feed\Writer;
-use Zend\Feed\Writer\Renderer;
-use Zend\Feed\Writer\Version;
-
-/**
-*/
-class AbstractAtom extends Renderer\AbstractRenderer
-{
- /**
- * Constructor
- *
- * @param Writer\AbstractFeed $container
- */
- public function __construct($container)
- {
- parent::__construct($container);
- }
-
- /**
- * Set feed language
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setLanguage(DOMDocument $dom, DOMElement $root)
- {
- if ($this->getDataContainer()->getLanguage()) {
- $root->setAttribute('xml:lang', $this->getDataContainer()
- ->getLanguage());
- }
- }
-
- /**
- * Set feed title
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- * @throws Writer\Exception\InvalidArgumentException
- */
- protected function _setTitle(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getTitle()) {
- $message = 'Atom 1.0 feed elements MUST contain exactly one'
- . ' atom:title element but a title has not been set';
- $exception = new Writer\Exception\InvalidArgumentException($message);
- if (!$this->ignoreExceptions) {
- throw $exception;
- } else {
- $this->exceptions[] = $exception;
- return;
- }
- }
-
- $title = $dom->createElement('title');
- $root->appendChild($title);
- $title->setAttribute('type', 'text');
- $text = $dom->createTextNode($this->getDataContainer()->getTitle());
- $title->appendChild($text);
- }
-
- /**
- * Set feed description
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDescription(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getDescription()) {
- return;
- }
- $subtitle = $dom->createElement('subtitle');
- $root->appendChild($subtitle);
- $subtitle->setAttribute('type', 'text');
- $text = $dom->createTextNode($this->getDataContainer()->getDescription());
- $subtitle->appendChild($text);
- }
-
- /**
- * Set date feed was last modified
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- * @throws Writer\Exception\InvalidArgumentException
- */
- protected function _setDateModified(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getDateModified()) {
- $message = 'Atom 1.0 feed elements MUST contain exactly one'
- . ' atom:updated element but a modification date has not been set';
- $exception = new Writer\Exception\InvalidArgumentException($message);
- if (!$this->ignoreExceptions) {
- throw $exception;
- } else {
- $this->exceptions[] = $exception;
- return;
- }
- }
-
- $updated = $dom->createElement('updated');
- $root->appendChild($updated);
- $text = $dom->createTextNode(
- $this->getDataContainer()->getDateModified()->format(DateTime::ISO8601)
- );
- $updated->appendChild($text);
- }
-
- /**
- * Set feed generator string
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setGenerator(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getGenerator()) {
- $this->getDataContainer()->setGenerator('Zend_Feed_Writer',
- Version::VERSION, 'http://framework.zend.com');
- }
-
- $gdata = $this->getDataContainer()->getGenerator();
- $generator = $dom->createElement('generator');
- $root->appendChild($generator);
- $text = $dom->createTextNode($gdata['name']);
- $generator->appendChild($text);
- if (array_key_exists('uri', $gdata)) {
- $generator->setAttribute('uri', $gdata['uri']);
- }
- if (array_key_exists('version', $gdata)) {
- $generator->setAttribute('version', $gdata['version']);
- }
- }
-
- /**
- * Set link to feed
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setLink(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getLink()) {
- return;
- }
- $link = $dom->createElement('link');
- $root->appendChild($link);
- $link->setAttribute('rel', 'alternate');
- $link->setAttribute('type', 'text/html');
- $link->setAttribute('href', $this->getDataContainer()->getLink());
- }
-
- /**
- * Set feed links
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- * @throws Writer\Exception\InvalidArgumentException
- */
- protected function _setFeedLinks(DOMDocument $dom, DOMElement $root)
- {
- $flinks = $this->getDataContainer()->getFeedLinks();
- if (!$flinks || !array_key_exists('atom', $flinks)) {
- $message = 'Atom 1.0 feed elements SHOULD contain one atom:link '
- . 'element with a rel attribute value of "self". This is the '
- . 'preferred URI for retrieving Atom Feed Documents representing '
- . 'this Atom feed but a feed link has not been set';
- $exception = new Writer\Exception\InvalidArgumentException($message);
- if (!$this->ignoreExceptions) {
- throw $exception;
- } else {
- $this->exceptions[] = $exception;
- return;
- }
- }
-
- foreach ($flinks as $type => $href) {
- $mime = 'application/' . strtolower($type) . '+xml';
- $flink = $dom->createElement('link');
- $root->appendChild($flink);
- $flink->setAttribute('rel', 'self');
- $flink->setAttribute('type', $mime);
- $flink->setAttribute('href', $href);
- }
- }
-
- /**
- * Set feed authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->container->getAuthors();
- if (!$authors || empty($authors)) {
- /**
- * Technically we should defer an exception until we can check
- * that all entries contain an author. If any entry is missing
- * an author, then a missing feed author element is invalid
- */
- return;
- }
- foreach ($authors as $data) {
- $author = $this->dom->createElement('author');
- $name = $this->dom->createElement('name');
- $author->appendChild($name);
- $root->appendChild($author);
- $text = $dom->createTextNode($data['name']);
- $name->appendChild($text);
- if (array_key_exists('email', $data)) {
- $email = $this->dom->createElement('email');
- $author->appendChild($email);
- $text = $dom->createTextNode($data['email']);
- $email->appendChild($text);
- }
- if (array_key_exists('uri', $data)) {
- $uri = $this->dom->createElement('uri');
- $author->appendChild($uri);
- $text = $dom->createTextNode($data['uri']);
- $uri->appendChild($text);
- }
- }
- }
-
- /**
- * Set feed identifier
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- * @throws Writer\Exception\InvalidArgumentException
- */
- protected function _setId(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getId()
- && !$this->getDataContainer()->getLink()) {
- $message = 'Atom 1.0 feed elements MUST contain exactly one '
- . 'atom:id element, or as an alternative, we can use the same '
- . 'value as atom:link however neither a suitable link nor an '
- . 'id have been set';
- $exception = new Writer\Exception\InvalidArgumentException($message);
- if (!$this->ignoreExceptions) {
- throw $exception;
- } else {
- $this->exceptions[] = $exception;
- return;
- }
- }
-
- if (!$this->getDataContainer()->getId()) {
- $this->getDataContainer()->setId(
- $this->getDataContainer()->getLink());
- }
- $id = $dom->createElement('id');
- $root->appendChild($id);
- $text = $dom->createTextNode($this->getDataContainer()->getId());
- $id->appendChild($text);
- }
-
- /**
- * Set feed copyright
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCopyright(DOMDocument $dom, DOMElement $root)
- {
- $copyright = $this->getDataContainer()->getCopyright();
- if (!$copyright) {
- return;
- }
- $copy = $dom->createElement('rights');
- $root->appendChild($copy);
- $text = $dom->createTextNode($copyright);
- $copy->appendChild($text);
- }
-
- /**
- * Set feed level logo (image)
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setImage(DOMDocument $dom, DOMElement $root)
- {
- $image = $this->getDataContainer()->getImage();
- if (!$image) {
- return;
- }
- $img = $dom->createElement('logo');
- $root->appendChild($img);
- $text = $dom->createTextNode($image['uri']);
- $img->appendChild($text);
- }
-
- /**
- * Set date feed was created
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateCreated(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getDateCreated()) {
- return;
- }
- if (!$this->getDataContainer()->getDateModified()) {
- $this->getDataContainer()->setDateModified(
- $this->getDataContainer()->getDateCreated()
- );
- }
- }
-
- /**
- * Set base URL to feed links
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setBaseUrl(DOMDocument $dom, DOMElement $root)
- {
- $baseUrl = $this->getDataContainer()->getBaseUrl();
- if (!$baseUrl) {
- return;
- }
- $root->setAttribute('xml:base', $baseUrl);
- }
-
- /**
- * Set hubs to which this feed pushes
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setHubs(DOMDocument $dom, DOMElement $root)
- {
- $hubs = $this->getDataContainer()->getHubs();
- if (!$hubs) {
- return;
- }
- foreach ($hubs as $hubUrl) {
- $hub = $dom->createElement('link');
- $hub->setAttribute('rel', 'hub');
- $hub->setAttribute('href', $hubUrl);
- $root->appendChild($hub);
- }
- }
-
- /**
- * Set feed categories
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCategories(DOMDocument $dom, DOMElement $root)
- {
- $categories = $this->getDataContainer()->getCategories();
- if (!$categories) {
- return;
- }
- foreach ($categories as $cat) {
- $category = $dom->createElement('category');
- $category->setAttribute('term', $cat['term']);
- if (isset($cat['label'])) {
- $category->setAttribute('label', $cat['label']);
- } else {
- $category->setAttribute('label', $cat['term']);
- }
- if (isset($cat['scheme'])) {
- $category->setAttribute('scheme', $cat['scheme']);
- }
- $root->appendChild($category);
- }
- }
-}