diff options
Diffstat (limited to 'zend/library/Zend/Gdata/Books')
| -rw-r--r-- | zend/library/Zend/Gdata/Books/CollectionEntry.php | 56 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/CollectionFeed.php | 62 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php | 63 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/BooksCategory.php | 59 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/BooksLink.php | 61 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/Embeddability.php | 122 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/InfoLink.php | 59 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/PreviewLink.php | 60 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/Review.php | 152 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php | 60 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/Extension/Viewability.php | 123 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/VolumeEntry.php | 687 | ||||
| -rw-r--r-- | zend/library/Zend/Gdata/Books/VolumeFeed.php | 62 | ||||
| -rwxr-xr-x | zend/library/Zend/Gdata/Books/VolumeQuery.php | 112 |
14 files changed, 1738 insertions, 0 deletions
diff --git a/zend/library/Zend/Gdata/Books/CollectionEntry.php b/zend/library/Zend/Gdata/Books/CollectionEntry.php new file mode 100644 index 0000000..76197d7 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/CollectionEntry.php @@ -0,0 +1,56 @@ +<?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_Gdata + * @subpackage Books + * @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: CollectionEntry.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Entry + */ +require_once 'Zend/Gdata/Entry.php'; + +/** + * Describes an entry in a feed of collections + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_CollectionEntry extends Zend_Gdata_Entry +{ + + /** + * Constructor for Zend_Gdata_Books_CollectionEntry which + * Describes an entry in a feed of collections + * + * @param DOMElement $element (optional) DOMElement from which this + * object should be constructed. + */ + public function __construct($element = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($element); + } + + +} + diff --git a/zend/library/Zend/Gdata/Books/CollectionFeed.php b/zend/library/Zend/Gdata/Books/CollectionFeed.php new file mode 100644 index 0000000..85efe35 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/CollectionFeed.php @@ -0,0 +1,62 @@ +<?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_Gdata + * @subpackage Books + * @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: CollectionFeed.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Feed + */ +require_once 'Zend/Gdata/Feed.php'; + +/** + * Describes a Book Search collection feed + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_CollectionFeed extends Zend_Gdata_Feed +{ + + /** + * Constructor for Zend_Gdata_Books_CollectionFeed which + * Describes a Book Search collection feed + * + * @param DOMElement $element (optional) DOMElement from which this + * object should be constructed. + */ + public function __construct($element = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($element); + } + + /** + * The classname for individual feed elements. + * + * @var string + */ + protected $_entryClassName = 'Zend_Gdata_Books_CollectionEntry'; + +} + diff --git a/zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php b/zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php new file mode 100644 index 0000000..8c4f530 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php @@ -0,0 +1,63 @@ +<?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_Gdata + * @subpackage Books + * @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: AnnotationLink.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Books_Extension_BooksLink + */ +require_once 'Zend/Gdata/Books/Extension/BooksLink.php'; + +/** + * Describes an annotation link + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_AnnotationLink extends + Zend_Gdata_Books_Extension_BooksLink +{ + + /** + * Constructor for Zend_Gdata_Books_Extension_AnnotationLink which + * Describes an annotation link + * + * @param string|null $href Linked resource URI + * @param string|null $rel Forward relationship + * @param string|null $type Resource MIME type + * @param string|null $hrefLang Resource language + * @param string|null $title Human-readable resource title + * @param string|null $length Resource length in octets + * @param DOMElement $element (optional) DOMElement from which this + * object should be constructed. + */ + public function __construct($href = null, $rel = null, $type = null, + $hrefLang = null, $title = null, $length = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($href, $rel, $type, $hrefLang, $title, $length); + } + +} + diff --git a/zend/library/Zend/Gdata/Books/Extension/BooksCategory.php b/zend/library/Zend/Gdata/Books/Extension/BooksCategory.php new file mode 100644 index 0000000..3520e9a --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/BooksCategory.php @@ -0,0 +1,59 @@ +<?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_Gdata + * @subpackage Books + * @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: BooksCategory.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_App_Extension_Category + */ +require_once 'Zend/Gdata/App/Extension/Category.php'; + +/** + * Describes a books category + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_BooksCategory extends + Zend_Gdata_App_Extension_Category +{ + + /** + * Constructor for Zend_Gdata_Books_Extension_BooksCategory which + * Describes a books category + * + * @param string|null $term An identifier representing the category within + * the categorization scheme. + * @param string|null $scheme A string containing a URI identifying the + * categorization scheme. + * @param string|null $label A human-readable label for display in + * end-user applications. + */ + public function __construct($term = null, $scheme = null, $label = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($term, $scheme, $label); + } + +} diff --git a/zend/library/Zend/Gdata/Books/Extension/BooksLink.php b/zend/library/Zend/Gdata/Books/Extension/BooksLink.php new file mode 100644 index 0000000..32ca572 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/BooksLink.php @@ -0,0 +1,61 @@ +<?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_Gdata + * @subpackage Books + * @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: BooksLink.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_App_Extension_Link + */ +require_once 'Zend/Gdata/App/Extension/Link.php'; + +/** + * Extends the base Link class with Books extensions + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_BooksLink extends Zend_Gdata_App_Extension_Link +{ + + /** + * Constructor for Zend_Gdata_Books_Extension_BooksLink which + * Extends the base Link class with Books extensions + * + * @param string|null $href Linked resource URI + * @param string|null $rel Forward relationship + * @param string|null $type Resource MIME type + * @param string|null $hrefLang Resource language + * @param string|null $title Human-readable resource title + * @param string|null $length Resource length in octets + */ + public function __construct($href = null, $rel = null, $type = null, + $hrefLang = null, $title = null, $length = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($href, $rel, $type, $hrefLang, $title, $length); + } + + +} + diff --git a/zend/library/Zend/Gdata/Books/Extension/Embeddability.php b/zend/library/Zend/Gdata/Books/Extension/Embeddability.php new file mode 100644 index 0000000..b8a8e7b --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/Embeddability.php @@ -0,0 +1,122 @@ +<?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_Gdata + * @subpackage Books + * @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: Embeddability.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Extension + */ +require_once 'Zend/Gdata/Extension.php'; + +/** + * Describes an embeddability + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_Embeddability extends Zend_Gdata_Extension +{ + + protected $_rootNamespace = 'gbs'; + protected $_rootElement = 'embeddability'; + protected $_value = null; + + /** + * Constructor for Zend_Gdata_Books_Extension_Embeddability which + * Describes an embeddability. + * + * @param string|null $value A programmatic value representing the book's + * embeddability. + */ + public function __construct($value = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct(); + $this->_value = $value; + } + + /** + * Retrieves DOMElement which corresponds to this element and all + * child properties. This is used to build this object back into a DOM + * and eventually XML text for sending to the server upon updates, or + * for application storage/persistance. + * + * @param DOMDocument $doc The DOMDocument used to construct DOMElements + * @return DOMElement The DOMElement representing this element and all + * child properties. + */ + public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null) + { + $element = parent::getDOM($doc); + if ($this->_value !== null) { + $element->setAttribute('value', $this->_value); + } + return $element; + } + + /** + * Extracts XML attributes from the DOM and converts them to the + * appropriate object members. + * + * @param DOMNode $attribute The DOMNode attribute to be handled. + */ + protected function takeAttributeFromDOM($attribute) + { + switch ($attribute->localName) { + case 'value': + $this->_value = $attribute->nodeValue; + break; + default: + parent::takeAttributeFromDOM($attribute); + } + } + + /** + * Returns the programmatic value that describes the embeddability of a + * volume in Google Book Search + * + * @return string|null The value + */ + public function getValue() + { + return $this->_value; + } + + /** + * Sets the programmatic value that describes the embeddability of a + * volume in Google Book Search + * + * @param string|null $value Programmatic value that describes the + * embeddability of a volume in Google Book Search + * @return Zend_Gdata_Books_Extension_Embeddability Provides a fluent + * interface + */ + public function setValue($value) + { + $this->_value = $value; + return $this; + } + +} + diff --git a/zend/library/Zend/Gdata/Books/Extension/InfoLink.php b/zend/library/Zend/Gdata/Books/Extension/InfoLink.php new file mode 100644 index 0000000..8cc911f --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/InfoLink.php @@ -0,0 +1,59 @@ +<?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_Gdata + * @subpackage Books + * @license http://framework.zend.com/license/new-bsd New BSD License + * @version $Id: InfoLink.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Books_Extension_BooksLink + */ +require_once 'Zend/Gdata/Books/Extension/BooksLink.php'; + +/** + * Describes an info link + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_InfoLink extends + Zend_Gdata_Books_Extension_BooksLink +{ + + /** + * Constructor for Zend_Gdata_Books_Extension_InfoLink which + * Describes an info link + * + * @param string|null $href Linked resource URI + * @param string|null $rel Forward relationship + * @param string|null $type Resource MIME type + * @param string|null $hrefLang Resource language + * @param string|null $title Human-readable resource title + * @param string|null $length Resource length in octets + */ + public function __construct($href = null, $rel = null, $type = null, + $hrefLang = null, $title = null, $length = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($href, $rel, $type, $hrefLang, $title, $length); + } + +} diff --git a/zend/library/Zend/Gdata/Books/Extension/PreviewLink.php b/zend/library/Zend/Gdata/Books/Extension/PreviewLink.php new file mode 100644 index 0000000..a5cb107 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/PreviewLink.php @@ -0,0 +1,60 @@ +<?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_Gdata + * @subpackage Books + * @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: PreviewLink.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Books_Extension_BooksLink + */ +require_once 'Zend/Gdata/Books/Extension/BooksLink.php'; + +/** + * Describes a preview link + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_PreviewLink extends + Zend_Gdata_Books_Extension_BooksLink +{ + + /** + * Constructor for Zend_Gdata_Books_Extension_PreviewLink which + * Describes a preview link + * + * @param string|null $href Linked resource URI + * @param string|null $rel Forward relationship + * @param string|null $type Resource MIME type + * @param string|null $hrefLang Resource language + * @param string|null $title Human-readable resource title + * @param string|null $length Resource length in octets + */ + public function __construct($href = null, $rel = null, $type = null, + $hrefLang = null, $title = null, $length = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($href, $rel, $type, $hrefLang, $title, $length); + } + +} diff --git a/zend/library/Zend/Gdata/Books/Extension/Review.php b/zend/library/Zend/Gdata/Books/Extension/Review.php new file mode 100644 index 0000000..04e31d5 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/Review.php @@ -0,0 +1,152 @@ +<?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_Gdata + * @subpackage Books + * @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: Review.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Extension + */ +require_once 'Zend/Gdata/Extension.php'; + +/** + * User-provided review + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_Review extends Zend_Gdata_Extension +{ + + protected $_rootNamespace = 'gbs'; + protected $_rootElement = 'review'; + protected $_lang = null; + protected $_type = null; + + /** + * Constructor for Zend_Gdata_Books_Extension_Review which + * User-provided review + * + * @param string|null $lang Review language. + * @param string|null $type Type of text construct (typically text, html, + * or xhtml). + * @param string|null $value Text content of the review. + */ + public function __construct($lang = null, $type = null, $value = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct(); + $this->_lang = $lang; + $this->_type = $type; + $this->_text = $value; + } + + /** + * Retrieves DOMElement which corresponds to this element and all + * child properties. This is used to build this object back into a DOM + * and eventually XML text for sending to the server upon updates, or + * for application storage/persistance. + * + * @param DOMDocument $doc The DOMDocument used to construct DOMElements + * @return DOMElement The DOMElement representing this element and all + * child properties. + */ + public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null) + { + $element = parent::getDOM($doc); + if ($this->_lang !== null) { + $element->setAttribute('lang', $this->_lang); + } + if ($this->_type !== null) { + $element->setAttribute('type', $this->_type); + } + return $element; + } + + /** + * Extracts XML attributes from the DOM and converts them to the + * appropriate object members. + * + * @param DOMNode $attribute The DOMNode attribute to be handled. + */ + protected function takeAttributeFromDOM($attribute) + { + switch ($attribute->localName) { + case 'lang': + $this->_lang = $attribute->nodeValue; + break; + case 'type': + $this->_type = $attribute->nodeValue; + break; + default: + parent::takeAttributeFromDOM($attribute); + } + } + + /** + * Returns the language of link title + * + * @return string The lang + */ + public function getLang() + { + return $this->_lang; + } + + /** + * Returns the type of text construct (typically 'text', 'html' or 'xhtml') + * + * @return string The type + */ + public function getType() + { + return $this->_type; + } + + /** + * Sets the language of link title + * + * @param string $lang language of link title + * @return Zend_Gdata_Books_Extension_Review Provides a fluent interface + */ + public function setLang($lang) + { + $this->_lang = $lang; + return $this; + } + + /** + * Sets the type of text construct (typically 'text', 'html' or 'xhtml') + * + * @param string $type type of text construct (typically 'text', 'html' or 'xhtml') + * @return Zend_Gdata_Books_Extension_Review Provides a fluent interface + */ + public function setType($type) + { + $this->_type = $type; + return $this; + } + + +} + diff --git a/zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php b/zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php new file mode 100644 index 0000000..3012788 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php @@ -0,0 +1,60 @@ +<?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_Gdata + * @subpackage Books + * @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: ThumbnailLink.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Books_Extension_BooksLink + */ +require_once 'Zend/Gdata/Books/Extension/BooksLink.php'; + +/** + * Describes a thumbnail link + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_ThumbnailLink extends + Zend_Gdata_Books_Extension_BooksLink +{ + + /** + * Constructor for Zend_Gdata_Books_Extension_ThumbnailLink which + * Describes a thumbnail link + * + * @param string|null $href Linked resource URI + * @param string|null $rel Forward relationship + * @param string|null $type Resource MIME type + * @param string|null $hrefLang Resource language + * @param string|null $title Human-readable resource title + * @param string|null $length Resource length in octets + */ + public function __construct($href = null, $rel = null, $type = null, + $hrefLang = null, $title = null, $length = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($href, $rel, $type, $hrefLang, $title, $length); + } + +} diff --git a/zend/library/Zend/Gdata/Books/Extension/Viewability.php b/zend/library/Zend/Gdata/Books/Extension/Viewability.php new file mode 100644 index 0000000..bd4a16c --- /dev/null +++ b/zend/library/Zend/Gdata/Books/Extension/Viewability.php @@ -0,0 +1,123 @@ +<?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_Gdata + * @subpackage Books + * @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: Viewability.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Extension + */ +require_once 'Zend/Gdata/Extension.php'; + +/** + * Describes a viewability + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_Extension_Viewability extends Zend_Gdata_Extension +{ + + protected $_rootNamespace = 'gbs'; + protected $_rootElement = 'viewability'; + protected $_value = null; + + /** + * Constructor for Zend_Gdata_Books_Extension_Viewability which + * Describes a viewability + * + * @param string|null $value A programmatic value representing the book's + * viewability mode. + */ + public function __construct($value = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct(); + $this->_value = $value; + } + + /** + * Retrieves DOMElement which corresponds to this element and all + * child properties. This is used to build this object back into a DOM + * and eventually XML text for sending to the server upon updates, or + * for application storage/persistance. + * + * @param DOMDocument $doc The DOMDocument used to construct DOMElements + * @return DOMElement The DOMElement representing this element and all + * child properties. + */ + public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null) + { + $element = parent::getDOM($doc); + if ($this->_value !== null) { + $element->setAttribute('value', $this->_value); + } + return $element; + } + + /** + * Extracts XML attributes from the DOM and converts them to the + * appropriate object members. + * + * @param DOMNode $attribute The DOMNode attribute to be handled. + */ + protected function takeAttributeFromDOM($attribute) + { + switch ($attribute->localName) { + case 'value': + $this->_value = $attribute->nodeValue; + break; + default: + parent::takeAttributeFromDOM($attribute); + } + } + + /** + * Returns the programmatic value that describes the viewability of a volume + * in Google Book Search + * + * @return string The value + */ + public function getValue() + { + return $this->_value; + } + + /** + * Sets the programmatic value that describes the viewability of a volume in + * Google Book Search + * + * @param string $value programmatic value that describes the viewability + * of a volume in Googl eBook Search + * @return Zend_Gdata_Books_Extension_Viewability Provides a fluent + * interface + */ + public function setValue($value) + { + $this->_value = $value; + return $this; + } + + +} + diff --git a/zend/library/Zend/Gdata/Books/VolumeEntry.php b/zend/library/Zend/Gdata/Books/VolumeEntry.php new file mode 100644 index 0000000..8de59c0 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/VolumeEntry.php @@ -0,0 +1,687 @@ +<?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_Gdata + * @subpackage Books + * @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: VolumeEntry.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Entry + */ +require_once 'Zend/Gdata/Entry.php'; + +/** + * @see Zend_Gdata_Extension_Comments + */ +require_once 'Zend/Gdata/Extension/Comments.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Creator + */ +require_once 'Zend/Gdata/DublinCore/Extension/Creator.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Date + */ +require_once 'Zend/Gdata/DublinCore/Extension/Date.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Description + */ +require_once 'Zend/Gdata/DublinCore/Extension/Description.php'; + +/** + * @see Zend_Gdata_Books_Extension_Embeddability + */ +require_once 'Zend/Gdata/Books/Extension/Embeddability.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Format + */ +require_once 'Zend/Gdata/DublinCore/Extension/Format.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Identifier + */ +require_once 'Zend/Gdata/DublinCore/Extension/Identifier.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Language + */ +require_once 'Zend/Gdata/DublinCore/Extension/Language.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Publisher + */ +require_once 'Zend/Gdata/DublinCore/Extension/Publisher.php'; + +/** + * @see Zend_Gdata_Extension_Rating + */ +require_once 'Zend/Gdata/Extension/Rating.php'; + +/** + * @see Zend_Gdata_Books_Extension_Review + */ +require_once 'Zend/Gdata/Books/Extension/Review.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Subject + */ +require_once 'Zend/Gdata/DublinCore/Extension/Subject.php'; + +/** + * @see Zend_Gdata_DublinCore_Extension_Title + */ +require_once 'Zend/Gdata/DublinCore/Extension/Title.php'; + +/** + * @see Zend_Gdata_Books_Extension_Viewability + */ +require_once 'Zend/Gdata/Books/Extension/Viewability.php'; + +/** + * Describes an entry in a feed of Book Search volumes + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_VolumeEntry extends Zend_Gdata_Entry +{ + + const THUMBNAIL_LINK_REL = 'http://schemas.google.com/books/2008/thumbnail'; + const PREVIEW_LINK_REL = 'http://schemas.google.com/books/2008/preview'; + const INFO_LINK_REL = 'http://schemas.google.com/books/2008/info'; + const ANNOTATION_LINK_REL = 'http://schemas.google.com/books/2008/annotation'; + + protected $_comments = null; + protected $_creators = array(); + protected $_dates = array(); + protected $_descriptions = array(); + protected $_embeddability = null; + protected $_formats = array(); + protected $_identifiers = array(); + protected $_languages = array(); + protected $_publishers = array(); + protected $_rating = null; + protected $_review = null; + protected $_subjects = array(); + protected $_titles = array(); + protected $_viewability = null; + + /** + * Constructor for Zend_Gdata_Books_VolumeEntry which + * Describes an entry in a feed of Book Search volumes + * + * @param DOMElement $element (optional) DOMElement from which this + * object should be constructed. + */ + public function __construct($element = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($element); + } + + /** + * Retrieves DOMElement which corresponds to this element and all + * child properties. This is used to build this object back into a DOM + * and eventually XML text for sending to the server upon updates, or + * for application storage/persistance. + * + * @param DOMDocument $doc The DOMDocument used to construct DOMElements + * @return DOMElement The DOMElement representing this element and all + * child properties. + */ + public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null) + { + $element = parent::getDOM($doc); + if ($this->_creators !== null) { + foreach ($this->_creators as $creators) { + $element->appendChild($creators->getDOM( + $element->ownerDocument)); + } + } + if ($this->_dates !== null) { + foreach ($this->_dates as $dates) { + $element->appendChild($dates->getDOM($element->ownerDocument)); + } + } + if ($this->_descriptions !== null) { + foreach ($this->_descriptions as $descriptions) { + $element->appendChild($descriptions->getDOM( + $element->ownerDocument)); + } + } + if ($this->_formats !== null) { + foreach ($this->_formats as $formats) { + $element->appendChild($formats->getDOM( + $element->ownerDocument)); + } + } + if ($this->_identifiers !== null) { + foreach ($this->_identifiers as $identifiers) { + $element->appendChild($identifiers->getDOM( + $element->ownerDocument)); + } + } + if ($this->_languages !== null) { + foreach ($this->_languages as $languages) { + $element->appendChild($languages->getDOM( + $element->ownerDocument)); + } + } + if ($this->_publishers !== null) { + foreach ($this->_publishers as $publishers) { + $element->appendChild($publishers->getDOM( + $element->ownerDocument)); + } + } + if ($this->_subjects !== null) { + foreach ($this->_subjects as $subjects) { + $element->appendChild($subjects->getDOM( + $element->ownerDocument)); + } + } + if ($this->_titles !== null) { + foreach ($this->_titles as $titles) { + $element->appendChild($titles->getDOM($element->ownerDocument)); + } + } + if ($this->_comments !== null) { + $element->appendChild($this->_comments->getDOM( + $element->ownerDocument)); + } + if ($this->_embeddability !== null) { + $element->appendChild($this->_embeddability->getDOM( + $element->ownerDocument)); + } + if ($this->_rating !== null) { + $element->appendChild($this->_rating->getDOM( + $element->ownerDocument)); + } + if ($this->_review !== null) { + $element->appendChild($this->_review->getDOM( + $element->ownerDocument)); + } + if ($this->_viewability !== null) { + $element->appendChild($this->_viewability->getDOM( + $element->ownerDocument)); + } + return $element; + } + + /** + * Creates individual objects of the appropriate type and stores + * them in this object based upon DOM data. + * + * @param DOMNode $child The DOMNode to process. + */ + protected function takeChildFromDOM($child) + { + $absoluteNodeName = $child->namespaceURI . ':' . $child->localName; + switch ($absoluteNodeName) { + case $this->lookupNamespace('dc') . ':' . 'creator': + $creators = new Zend_Gdata_DublinCore_Extension_Creator(); + $creators->transferFromDOM($child); + $this->_creators[] = $creators; + break; + case $this->lookupNamespace('dc') . ':' . 'date': + $dates = new Zend_Gdata_DublinCore_Extension_Date(); + $dates->transferFromDOM($child); + $this->_dates[] = $dates; + break; + case $this->lookupNamespace('dc') . ':' . 'description': + $descriptions = new Zend_Gdata_DublinCore_Extension_Description(); + $descriptions->transferFromDOM($child); + $this->_descriptions[] = $descriptions; + break; + case $this->lookupNamespace('dc') . ':' . 'format': + $formats = new Zend_Gdata_DublinCore_Extension_Format(); + $formats->transferFromDOM($child); + $this->_formats[] = $formats; + break; + case $this->lookupNamespace('dc') . ':' . 'identifier': + $identifiers = new Zend_Gdata_DublinCore_Extension_Identifier(); + $identifiers->transferFromDOM($child); + $this->_identifiers[] = $identifiers; + break; + case $this->lookupNamespace('dc') . ':' . 'language': + $languages = new Zend_Gdata_DublinCore_Extension_Language(); + $languages->transferFromDOM($child); + $this->_languages[] = $languages; + break; + case $this->lookupNamespace('dc') . ':' . 'publisher': + $publishers = new Zend_Gdata_DublinCore_Extension_Publisher(); + $publishers->transferFromDOM($child); + $this->_publishers[] = $publishers; + break; + case $this->lookupNamespace('dc') . ':' . 'subject': + $subjects = new Zend_Gdata_DublinCore_Extension_Subject(); + $subjects->transferFromDOM($child); + $this->_subjects[] = $subjects; + break; + case $this->lookupNamespace('dc') . ':' . 'title': + $titles = new Zend_Gdata_DublinCore_Extension_Title(); + $titles->transferFromDOM($child); + $this->_titles[] = $titles; + break; + case $this->lookupNamespace('gd') . ':' . 'comments': + $comments = new Zend_Gdata_Extension_Comments(); + $comments->transferFromDOM($child); + $this->_comments = $comments; + break; + case $this->lookupNamespace('gbs') . ':' . 'embeddability': + $embeddability = new Zend_Gdata_Books_Extension_Embeddability(); + $embeddability->transferFromDOM($child); + $this->_embeddability = $embeddability; + break; + case $this->lookupNamespace('gd') . ':' . 'rating': + $rating = new Zend_Gdata_Extension_Rating(); + $rating->transferFromDOM($child); + $this->_rating = $rating; + break; + case $this->lookupNamespace('gbs') . ':' . 'review': + $review = new Zend_Gdata_Books_Extension_Review(); + $review->transferFromDOM($child); + $this->_review = $review; + break; + case $this->lookupNamespace('gbs') . ':' . 'viewability': + $viewability = new Zend_Gdata_Books_Extension_Viewability(); + $viewability->transferFromDOM($child); + $this->_viewability = $viewability; + break; + default: + parent::takeChildFromDOM($child); + break; + } + } + + /** + * Returns the Comments class + * + * @return Zend_Gdata_Extension_Comments|null The comments + */ + public function getComments() + { + return $this->_comments; + } + + /** + * Returns the creators + * + * @return array The creators + */ + public function getCreators() + { + return $this->_creators; + } + + /** + * Returns the dates + * + * @return array The dates + */ + public function getDates() + { + return $this->_dates; + } + + /** + * Returns the descriptions + * + * @return array The descriptions + */ + public function getDescriptions() + { + return $this->_descriptions; + } + + /** + * Returns the embeddability + * + * @return Zend_Gdata_Books_Extension_Embeddability|null The embeddability + */ + public function getEmbeddability() + { + return $this->_embeddability; + } + + /** + * Returns the formats + * + * @return array The formats + */ + public function getFormats() + { + return $this->_formats; + } + + /** + * Returns the identifiers + * + * @return array The identifiers + */ + public function getIdentifiers() + { + return $this->_identifiers; + } + + /** + * Returns the languages + * + * @return array The languages + */ + public function getLanguages() + { + return $this->_languages; + } + + /** + * Returns the publishers + * + * @return array The publishers + */ + public function getPublishers() + { + return $this->_publishers; + } + + /** + * Returns the rating + * + * @return Zend_Gdata_Extension_Rating|null The rating + */ + public function getRating() + { + return $this->_rating; + } + + /** + * Returns the review + * + * @return Zend_Gdata_Books_Extension_Review|null The review + */ + public function getReview() + { + return $this->_review; + } + + /** + * Returns the subjects + * + * @return array The subjects + */ + public function getSubjects() + { + return $this->_subjects; + } + + /** + * Returns the titles + * + * @return array The titles + */ + public function getTitles() + { + return $this->_titles; + } + + /** + * Returns the viewability + * + * @return Zend_Gdata_Books_Extension_Viewability|null The viewability + */ + public function getViewability() + { + return $this->_viewability; + } + + /** + * Sets the Comments class + * + * @param Zend_Gdata_Extension_Comments|null $comments Comments class + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setComments($comments) + { + $this->_comments = $comments; + return $this; + } + + /** + * Sets the creators + * + * @param array $creators Creators|null + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setCreators($creators) + { + $this->_creators = $creators; + return $this; + } + + /** + * Sets the dates + * + * @param array $dates dates + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setDates($dates) + { + $this->_dates = $dates; + return $this; + } + + /** + * Sets the descriptions + * + * @param array $descriptions descriptions + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setDescriptions($descriptions) + { + $this->_descriptions = $descriptions; + return $this; + } + + /** + * Sets the embeddability + * + * @param Zend_Gdata_Books_Extension_Embeddability|null $embeddability + * embeddability + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setEmbeddability($embeddability) + { + $this->_embeddability = $embeddability; + return $this; + } + + /** + * Sets the formats + * + * @param array $formats formats + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setFormats($formats) + { + $this->_formats = $formats; + return $this; + } + + /** + * Sets the identifiers + * + * @param array $identifiers identifiers + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setIdentifiers($identifiers) + { + $this->_identifiers = $identifiers; + return $this; + } + + /** + * Sets the languages + * + * @param array $languages languages + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setLanguages($languages) + { + $this->_languages = $languages; + return $this; + } + + /** + * Sets the publishers + * + * @param array $publishers publishers + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setPublishers($publishers) + { + $this->_publishers = $publishers; + return $this; + } + + /** + * Sets the rating + * + * @param Zend_Gdata_Extension_Rating|null $rating rating + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setRating($rating) + { + $this->_rating = $rating; + return $this; + } + + /** + * Sets the review + * + * @param Zend_Gdata_Books_Extension_Review|null $review review + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setReview($review) + { + $this->_review = $review; + return $this; + } + + /** + * Sets the subjects + * + * @param array $subjects subjects + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setSubjects($subjects) + { + $this->_subjects = $subjects; + return $this; + } + + /** + * Sets the titles + * + * @param array $titles titles + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setTitles($titles) + { + $this->_titles = $titles; + return $this; + } + + /** + * Sets the viewability + * + * @param Zend_Gdata_Books_Extension_Viewability|null $viewability + * viewability + * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface + */ + public function setViewability($viewability) + { + $this->_viewability = $viewability; + return $this; + } + + + /** + * Gets the volume ID based upon the atom:id value + * + * @return string The volume ID + * @throws Zend_Gdata_App_Exception + */ + public function getVolumeId() + { + $fullId = $this->getId()->getText(); + $position = strrpos($fullId, '/'); + if ($position === false) { + require_once 'Zend/Gdata/App/Exception.php'; + throw new Zend_Gdata_App_Exception('Slash not found in atom:id'); + } else { + return substr($fullId, strrpos($fullId,'/') + 1); + } + } + + /** + * Gets the thumbnail link + * + * @return Zend_Gdata_App_Extension_link|null The thumbnail link + */ + public function getThumbnailLink() + { + return $this->getLink(self::THUMBNAIL_LINK_REL); + } + + /** + * Gets the preview link + * + * @return Zend_Gdata_App_Extension_Link|null The preview link + */ + public function getPreviewLink() + { + return $this->getLink(self::PREVIEW_LINK_REL); + } + + /** + * Gets the info link + * + * @return Zend_Gdata_App_Extension_Link|null The info link + */ + public function getInfoLink() + { + return $this->getLink(self::INFO_LINK_REL); + } + + /** + * Gets the annotations link + * + * @return Zend_Gdata_App_Extension_Link|null The annotations link + */ + public function getAnnotationLink() + { + return $this->getLink(self::ANNOTATION_LINK_REL); + } + +} diff --git a/zend/library/Zend/Gdata/Books/VolumeFeed.php b/zend/library/Zend/Gdata/Books/VolumeFeed.php new file mode 100644 index 0000000..57c259b --- /dev/null +++ b/zend/library/Zend/Gdata/Books/VolumeFeed.php @@ -0,0 +1,62 @@ +<?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_Gdata + * @subpackage Books + * @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: VolumeFeed.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * @see Zend_Gdata_Feed + */ +require_once 'Zend/Gdata/Feed.php'; + +/** + * Describes a Book Search volume feed + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_VolumeFeed extends Zend_Gdata_Feed +{ + + /** + * Constructor for Zend_Gdata_Books_VolumeFeed which + * Describes a Book Search volume feed + * + * @param DOMElement $element (optional) DOMElement from which this + * object should be constructed. + */ + public function __construct($element = null) + { + $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces); + parent::__construct($element); + } + + /** + * The classname for individual feed elements. + * + * @var string + */ + protected $_entryClassName = 'Zend_Gdata_Books_VolumeEntry'; + +} + diff --git a/zend/library/Zend/Gdata/Books/VolumeQuery.php b/zend/library/Zend/Gdata/Books/VolumeQuery.php new file mode 100755 index 0000000..6d57aa4 --- /dev/null +++ b/zend/library/Zend/Gdata/Books/VolumeQuery.php @@ -0,0 +1,112 @@ +<?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_Gdata + * @subpackage Books + * @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: VolumeQuery.php 24593 2012-01-05 20:35:02Z matthew $ + */ + +/** + * Zend_Gdata_Books + */ +require_once('Zend/Gdata/Books.php'); + +/** + * Zend_Gdata_Query + */ +require_once('Zend/Gdata/Query.php'); + +/** + * Assists in constructing queries for Books volumes + * + * @category Zend + * @package Zend_Gdata + * @subpackage Books + * @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_Gdata_Books_VolumeQuery extends Zend_Gdata_Query +{ + + /** + * Create Gdata_Books_VolumeQuery object + * + * @param string|null $url If non-null, pre-initializes the instance to + * use a given URL. + */ + public function __construct($url = null) + { + parent::__construct($url); + } + + /** + * Sets the minimum level of viewability of volumes to return in the search results + * + * @param string|null $value The minimum viewability - 'full' or 'partial' + * @return Zend_Gdata_Books_VolumeQuery Provides a fluent interface + */ + public function setMinViewability($value = null) + { + switch ($value) { + case 'full_view': + $this->_params['min-viewability'] = 'full'; + break; + case 'partial_view': + $this->_params['min-viewability'] = 'partial'; + break; + case null: + unset($this->_params['min-viewability']); + break; + } + return $this; + } + + /** + * Minimum viewability of volumes to include in search results + * + * @return string|null min-viewability + */ + public function getMinViewability() + { + if (array_key_exists('min-viewability', $this->_params)) { + return $this->_params['min-viewability']; + } else { + return null; + } + } + + /** + * Returns the generated full query URL + * + * @return string The URL + */ + public function getQueryUrl() + { + if (isset($this->_url)) { + $url = $this->_url; + } else { + $url = Zend_Gdata_Books::VOLUME_FEED_URI; + } + if ($this->getCategory() !== null) { + $url .= '/-/' . $this->getCategory(); + } + $url = $url . $this->getQueryString(); + return $url; + } + +} |
