import v1.1.0_beta1 | 2009-08-21
This commit is contained in:
@ -15,10 +15,16 @@
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Gdata
|
||||
* @subpackage Gdata
|
||||
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Gdata
|
||||
*/
|
||||
require_once 'Zend/Gdata.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Gdata_App_Feed
|
||||
*/
|
||||
@ -49,6 +55,7 @@ require_once 'Zend/Gdata/Extension/OpenSearchItemsPerPage.php';
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Gdata
|
||||
* @subpackage Gdata
|
||||
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
@ -65,29 +72,27 @@ class Zend_Gdata_Feed extends Zend_Gdata_App_Feed
|
||||
/**
|
||||
* The openSearch:totalResults element
|
||||
*
|
||||
* @var string
|
||||
* @var Zend_Gdata_Extension_OpenSearchTotalResults|null
|
||||
*/
|
||||
protected $_totalResults = null;
|
||||
|
||||
/**
|
||||
* The openSearch:startIndex element
|
||||
*
|
||||
* @var string
|
||||
* @var Zend_Gdata_Extension_OpenSearchStartIndex|null
|
||||
*/
|
||||
protected $_startIndex = null;
|
||||
|
||||
/**
|
||||
* The openSearch:itemsPerPage element
|
||||
*
|
||||
* @var string
|
||||
* @var Zend_Gdata_Extension_OpenSearchItemsPerPage|null
|
||||
*/
|
||||
protected $_itemsPerPage = null;
|
||||
|
||||
public function __construct($element = null)
|
||||
{
|
||||
foreach (Zend_Gdata::$namespaces as $nsPrefix => $nsUri) {
|
||||
$this->registerNamespace($nsPrefix, $nsUri);
|
||||
}
|
||||
$this->registerAllNamespaces(Zend_Gdata::$namespaces);
|
||||
parent::__construct($element);
|
||||
}
|
||||
|
||||
@ -103,6 +108,17 @@ class Zend_Gdata_Feed extends Zend_Gdata_App_Feed
|
||||
if ($this->_itemsPerPage != null) {
|
||||
$element->appendChild($this->_itemsPerPage->getDOM($element->ownerDocument));
|
||||
}
|
||||
|
||||
// ETags are special. We only support them in protocol >= 2.X.
|
||||
// This will be duplicated by the HTTP ETag header.
|
||||
if ($majorVersion >= 2) {
|
||||
if ($this->_etag != null) {
|
||||
$element->setAttributeNS($this->lookupNamespace('gd'),
|
||||
'gd:etag',
|
||||
$this->_etag);
|
||||
}
|
||||
}
|
||||
|
||||
return $element;
|
||||
}
|
||||
|
||||
@ -137,29 +153,96 @@ class Zend_Gdata_Feed extends Zend_Gdata_App_Feed
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a DOMNode representing an attribute, tries to map the data into
|
||||
* instance members. If no mapping is defined, the name and value are
|
||||
* stored in an array.
|
||||
*
|
||||
* @param DOMNode $attribute The DOMNode attribute needed to be handled
|
||||
*/
|
||||
protected function takeAttributeFromDOM($attribute)
|
||||
{
|
||||
switch ($attribute->localName) {
|
||||
case 'etag':
|
||||
// ETags are special, since they can be conveyed by either the
|
||||
// HTTP ETag header or as an XML attribute.
|
||||
$etag = $attribute->nodeValue;
|
||||
if ($this->_etag === null) {
|
||||
$this->_etag = $etag;
|
||||
}
|
||||
elseif ($this->_etag != $etag) {
|
||||
require_once('Zend/Gdata/App/IOException.php');
|
||||
throw new Zend_Gdata_App_IOException("ETag mismatch");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
parent::takeAttributeFromDOM($attribute);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of the totalResults property.
|
||||
*
|
||||
* @param Zend_Gdata_Extension_OpenSearchTotalResults|null $value The
|
||||
* value of the totalResults property. Use null to unset.
|
||||
* @return Zend_Gdata_Feed Provides a fluent interface.
|
||||
*/
|
||||
function setTotalResults($value) {
|
||||
$this->_totalResults = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of the totalResults property.
|
||||
*
|
||||
* @return Zend_Gdata_Extension_OpenSearchTotalResults|null The value of
|
||||
* the totalResults property, or null if unset.
|
||||
*/
|
||||
function getTotalResults() {
|
||||
return $this->_totalResults;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the start index property for feed paging.
|
||||
*
|
||||
* @param Zend_Gdata_Extension_OpenSearchStartIndex|null $value The value
|
||||
* for the startIndex property. Use null to unset.
|
||||
* @return Zend_Gdata_Feed Provides a fluent interface.
|
||||
*/
|
||||
function setStartIndex($value) {
|
||||
$this->_startIndex = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of the startIndex property.
|
||||
*
|
||||
* @return Zend_Gdata_Extension_OpenSearchStartIndex|null The value of the
|
||||
* startIndex property, or null if unset.
|
||||
*/
|
||||
function getStartIndex() {
|
||||
return $this->_startIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the itemsPerPage property.
|
||||
*
|
||||
* @param Zend_Gdata_Extension_OpenSearchItemsPerPage|null $value The
|
||||
* value for the itemsPerPage property. Use nul to unset.
|
||||
* @return Zend_Gdata_Feed Provides a fluent interface.
|
||||
*/
|
||||
function setItemsPerPage($value) {
|
||||
$this->_itemsPerPage = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of the itemsPerPage property.
|
||||
*
|
||||
* @return Zend_Gdata_Extension_OpenSearchItemsPerPage|null The value of
|
||||
* the itemsPerPage property, or null if unset.
|
||||
*/
|
||||
function getItemsPerPage() {
|
||||
return $this->_itemsPerPage;
|
||||
}
|
||||
|
Reference in New Issue
Block a user