<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Feed_Writer
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Deleted.php 24648 2012-02-25 22:06:01Z adamlundrigan $
*/
require_once 'Zend/Feed/Writer/Feed/FeedAbstract.php';
/**
* @category Zend
* @package Zend_Feed_Writer
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Feed_Writer_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
*
* @return string|null
*/
public function setEncoding($encoding)
{
if (empty($encoding) || !is_string($encoding)) {
require_once 'Zend/Feed/Exception.php';
throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
}
$this->_data['encoding'] = $encoding;
}
/**
* 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
*/
public function remove($name)
{
if (isset($this->_data[$name])) {
unset($this->_data[$name]);
}
}
/**
* 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
*/
public function setType($type)
{
$this->_type = $type;
}
/**
* Retrieve the current or last feed type exported.
*
* @return string Value will be "rss" or "atom"
*/
public function getType()
{
return $this->_type;
}
public function setReference($reference)
{
if (empty($reference) || !is_string($reference)) {
require_once 'Zend/Feed/Exception.php';
throw new Zend_Feed_Exception('Invalid parameter: reference must be a non-empty string');
}
$this->_data['reference'] = $reference;
}
public function getReference()
{
if (!array_key_exists('reference', $this->_data)) {
return null;
}
return $this->_data['reference'];
}
public function setWhen($date = null)
{
$zdate = null;
if ($date === null) {
$zdate = new Zend_Date;
} elseif (ctype_digit((string)$date)) {
$zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
} elseif ($date instanceof Zend_Date) {
$zdate = $date;
} else {
require_once 'Zend/Feed/Exception.php';
throw new Zend_Feed_Exception('Invalid Zend_Date object or UNIX Timestamp passed as parameter');
}
$this->_data['when'] = $zdate;
}
public function getWhen()
{
if (!array_key_exists('when', $this->_data)) {
return null;
}
return $this->_data['when'];
}
public function setBy(array $by)
{
$author = array();
if (!array_key_exists('name', $by)
|| empty($by['name'])
|| !is_string($by['name'])
) {
require_once 'Zend/Feed/Exception.php';
throw new Zend_Feed_Exception('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'])) {
require_once 'Zend/Feed/Exception.php';
throw new Zend_Feed_Exception('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'])
|| !Zend_Uri::check($by['uri'])
) {
require_once 'Zend/Feed/Exception.php';
throw new Zend_Feed_Exception('Invalid parameter: "uri" array value must be a non-empty string and valid URI/IRI');
}
$author['uri'] = $by['uri'];
}
$this->_data['by'] = $author;
}
public function getBy()
{
if (!array_key_exists('by', $this->_data)) {
return null;
}
return $this->_data['by'];
}
public function setComment($comment)
{
$this->_data['comment'] = $comment;
}
public function getComment()
{
if (!array_key_exists('comment', $this->_data)) {
return null;
}
return $this->_data['comment'];
}
}