diff options
Diffstat (limited to '3rdparty/ZendFeed/Writer/Deleted.php')
-rw-r--r-- | 3rdparty/ZendFeed/Writer/Deleted.php | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/3rdparty/ZendFeed/Writer/Deleted.php b/3rdparty/ZendFeed/Writer/Deleted.php new file mode 100644 index 000000000..b4a6567a0 --- /dev/null +++ b/3rdparty/ZendFeed/Writer/Deleted.php @@ -0,0 +1,237 @@ +<?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; + +use DateTime; +use Zend\Feed\Uri; + +/** +*/ +class Deleted +{ + + /** + * Internal array containing all data associated with this entry or item. + * + * @var array + */ + protected $data = array(); + + /** + * Holds the value "atom" or "rss" depending on the feed type set when + * when last exported. + * + * @var string + */ + protected $type = null; + + /** + * Set the feed character encoding + * + * @param $encoding + * @throws Exception\InvalidArgumentException + * @return string|null + * @return Deleted + */ + public function setEncoding($encoding) + { + if (empty($encoding) || !is_string($encoding)) { + throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string'); + } + $this->data['encoding'] = $encoding; + + return $this; + } + + /** + * Get the feed character encoding + * + * @return string|null + */ + public function getEncoding() + { + if (!array_key_exists('encoding', $this->data)) { + return 'UTF-8'; + } + return $this->data['encoding']; + } + + /** + * Unset a specific data point + * + * @param string $name + * @return Deleted + */ + public function remove($name) + { + if (isset($this->data[$name])) { + unset($this->data[$name]); + } + + return $this; + } + + /** + * Set the current feed type being exported to "rss" or "atom". This allows + * other objects to gracefully choose whether to execute or not, depending + * on their appropriateness for the current type, e.g. renderers. + * + * @param string $type + * @return Deleted + */ + public function setType($type) + { + $this->type = $type; + return $this; + } + + /** + * Retrieve the current or last feed type exported. + * + * @return string Value will be "rss" or "atom" + */ + public function getType() + { + return $this->type; + } + + /** + * Set reference + * + * @param $reference + * @throws Exception\InvalidArgumentException + * @return Deleted + */ + public function setReference($reference) + { + if (empty($reference) || !is_string($reference)) { + throw new Exception\InvalidArgumentException('Invalid parameter: reference must be a non-empty string'); + } + $this->data['reference'] = $reference; + + return $this; + } + + /** + * @return string + */ + public function getReference() + { + if (!array_key_exists('reference', $this->data)) { + return null; + } + return $this->data['reference']; + } + + /** + * Set when + * + * @param null|string|DateTime $date + * @throws Exception\InvalidArgumentException + * @return Deleted + */ + public function setWhen($date = null) + { + if ($date === null) { + $date = new DateTime(); + } elseif (is_int($date)) { + $date = new DateTime('@' . $date); + } elseif (!$date instanceof DateTime) { + throw new Exception\InvalidArgumentException('Invalid DateTime object or UNIX Timestamp' + . ' passed as parameter'); + } + $this->data['when'] = $date; + + return $this; + } + + /** + * @return DateTime + */ + public function getWhen() + { + if (!array_key_exists('when', $this->data)) { + return null; + } + return $this->data['when']; + } + + /** + * Set by + * + * @param array $by + * @throws Exception\InvalidArgumentException + * @return Deleted + */ + public function setBy(array $by) + { + $author = array(); + if (!array_key_exists('name', $by) + || empty($by['name']) + || !is_string($by['name']) + ) { + throw new Exception\InvalidArgumentException('Invalid parameter: author array must include a' + . ' "name" key with a non-empty string value'); + } + $author['name'] = $by['name']; + if (isset($by['email'])) { + if (empty($by['email']) || !is_string($by['email'])) { + throw new Exception\InvalidArgumentException('Invalid parameter: "email" array' + . ' value must be a non-empty string'); + } + $author['email'] = $by['email']; + } + if (isset($by['uri'])) { + if (empty($by['uri']) + || !is_string($by['uri']) + || !Uri::factory($by['uri'])->isValid() + ) { + throw new Exception\InvalidArgumentException('Invalid parameter: "uri" array value must' + . ' be a non-empty string and valid URI/IRI'); + } + $author['uri'] = $by['uri']; + } + $this->data['by'] = $author; + + return $this; + } + + /** + * @return string + */ + public function getBy() + { + if (!array_key_exists('by', $this->data)) { + return null; + } + return $this->data['by']; + } + + /** + * @param string $comment + * @return Deleted + */ + public function setComment($comment) + { + $this->data['comment'] = $comment; + return $this; + } + + /** + * @return string + */ + public function getComment() + { + if (!array_key_exists('comment', $this->data)) { + return null; + } + return $this->data['comment']; + } +} |