[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/zend/Zend/Gdata/ -> Books.php (source)

   1  <?php
   2  
   3  /**
   4   * Zend Framework
   5   *
   6   * LICENSE
   7   *
   8   * This source file is subject to the new BSD license that is bundled
   9   * with this package in the file LICENSE.txt.
  10   * It is also available through the world-wide-web at this URL:
  11   * http://framework.zend.com/license/new-bsd
  12   * If you did not receive a copy of the license and are unable to
  13   * obtain it through the world-wide-web, please send an email
  14   * to [email protected] so we can send you a copy immediately.
  15   *
  16   * @category   Zend
  17   * @package    Zend_Gdata
  18   * @subpackage Books
  19   * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  20   * @license    http://framework.zend.com/license/new-bsd     New BSD License
  21   * @version    $Id$
  22   */
  23  
  24  /**
  25   * @see Zend_Gdata
  26   */
  27  require_once 'Zend/Gdata.php';
  28  
  29  /**
  30   * @see Zend_Gdata_DublinCore
  31   */
  32  require_once 'Zend/Gdata/DublinCore.php';
  33  
  34  /**
  35   * @see Zend_Gdata_Books_CollectionEntry
  36   */
  37  require_once 'Zend/Gdata/Books/CollectionEntry.php';
  38  
  39  /**
  40   * @see Zend_Gdata_Books_CollectionFeed
  41   */
  42  require_once 'Zend/Gdata/Books/CollectionFeed.php';
  43  
  44  /**
  45   * @see Zend_Gdata_Books_VolumeEntry
  46   */
  47  require_once 'Zend/Gdata/Books/VolumeEntry.php';
  48  
  49  /**
  50   * @see Zend_Gdata_Books_VolumeFeed
  51   */
  52  require_once 'Zend/Gdata/Books/VolumeFeed.php';
  53  
  54  /**
  55   * Service class for interacting with the Books service
  56   *
  57   * @category   Zend
  58   * @package    Zend_Gdata
  59   * @subpackage Books
  60   * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  61   * @license    http://framework.zend.com/license/new-bsd     New BSD License
  62   */
  63  class Zend_Gdata_Books extends Zend_Gdata
  64  {
  65      const VOLUME_FEED_URI = 'http://books.google.com/books/feeds/volumes';
  66      const MY_LIBRARY_FEED_URI = 'http://books.google.com/books/feeds/users/me/collections/library/volumes';
  67      const MY_ANNOTATION_FEED_URI = 'http://books.google.com/books/feeds/users/me/volumes';
  68      const AUTH_SERVICE_NAME = 'print';
  69  
  70      /**
  71       * Namespaces used for Zend_Gdata_Books
  72       *
  73       * @var array
  74       */
  75      public static $namespaces = array(
  76          array('gbs', 'http://schemas.google.com/books/2008', 1, 0),
  77          array('dc', 'http://purl.org/dc/terms', 1, 0)
  78      );
  79  
  80      /**
  81       * Create Zend_Gdata_Books object
  82       *
  83       * @param Zend_Http_Client $client (optional) The HTTP client to use when
  84       *          when communicating with the Google servers.
  85       * @param string $applicationId The identity of the app in the form of Company-AppName-Version
  86       */
  87      public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
  88      {
  89          $this->registerPackage('Zend_Gdata_Books');
  90          $this->registerPackage('Zend_Gdata_Books_Extension');
  91          parent::__construct($client, $applicationId);
  92          $this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
  93       }
  94  
  95      /**
  96       * Retrieves a feed of volumes.
  97       *
  98       * @param Zend_Gdata_Query|string|null $location (optional) The URL to
  99       *        query or a Zend_Gdata_Query object from which a URL can be
 100       *        determined.
 101       * @return Zend_Gdata_Books_VolumeFeed The feed of volumes found at the
 102       *         specified URL.
 103       */
 104      public function getVolumeFeed($location = null)
 105      {
 106          if ($location == null) {
 107              $uri = self::VOLUME_FEED_URI;
 108          } else if ($location instanceof Zend_Gdata_Query) {
 109              $uri = $location->getQueryUrl();
 110          } else {
 111              $uri = $location;
 112          }
 113          return parent::getFeed($uri, 'Zend_Gdata_Books_VolumeFeed');
 114      }
 115  
 116      /**
 117       * Retrieves a specific volume entry.
 118       *
 119       * @param string|null $volumeId The volumeId of interest.
 120       * @param Zend_Gdata_Query|string|null $location (optional) The URL to
 121       *        query or a Zend_Gdata_Query object from which a URL can be
 122       *        determined.
 123       * @return Zend_Gdata_Books_VolumeEntry The feed of volumes found at the
 124       *         specified URL.
 125       */
 126      public function getVolumeEntry($volumeId = null, $location = null)
 127      {
 128          if ($volumeId !== null) {
 129              $uri = self::VOLUME_FEED_URI . "/" . $volumeId;
 130          } else if ($location instanceof Zend_Gdata_Query) {
 131              $uri = $location->getQueryUrl();
 132          } else {
 133              $uri = $location;
 134          }
 135          return parent::getEntry($uri, 'Zend_Gdata_Books_VolumeEntry');
 136      }
 137  
 138      /**
 139       * Retrieves a feed of volumes, by default the User library feed.
 140       *
 141       * @param Zend_Gdata_Query|string|null $location (optional) The URL to
 142       *        query.
 143       * @return Zend_Gdata_Books_VolumeFeed The feed of volumes found at the
 144       *         specified URL.
 145       */
 146      public function getUserLibraryFeed($location = null)
 147      {
 148          if ($location == null) {
 149              $uri = self::MY_LIBRARY_FEED_URI;
 150          } else {
 151              $uri = $location;
 152          }
 153          return parent::getFeed($uri, 'Zend_Gdata_Books_VolumeFeed');
 154      }
 155  
 156      /**
 157       * Retrieves a feed of volumes, by default the User annotation feed
 158       *
 159       * @param Zend_Gdata_Query|string|null $location (optional) The URL to
 160       *        query.
 161       * @return Zend_Gdata_Books_VolumeFeed The feed of volumes found at the
 162       *         specified URL.
 163       */
 164      public function getUserAnnotationFeed($location = null)
 165      {
 166          if ($location == null) {
 167              $uri = self::MY_ANNOTATION_FEED_URI;
 168          } else {
 169              $uri = $location;
 170          }
 171          return parent::getFeed($uri, 'Zend_Gdata_Books_VolumeFeed');
 172      }
 173  
 174      /**
 175       * Insert a Volume / Annotation
 176       *
 177       * @param Zend_Gdata_Books_VolumeEntry $entry
 178       * @param Zend_Gdata_Query|string|null $location (optional) The URL to
 179       *        query
 180       * @return Zend_Gdata_Books_VolumeEntry The inserted volume entry.
 181       */
 182      public function insertVolume($entry, $location = null)
 183      {
 184          if ($location == null) {
 185              $uri = self::MY_LIBRARY_FEED_URI;
 186          } else {
 187              $uri = $location;
 188          }
 189          return parent::insertEntry(
 190              $entry, $uri, 'Zend_Gdata_Books_VolumeEntry');
 191      }
 192  
 193      /**
 194       * Delete a Volume
 195       *
 196       * @param Zend_Gdata_Books_VolumeEntry $entry
 197       * @return void
 198       */
 199      public function deleteVolume($entry)
 200      {
 201          $entry->delete();
 202      }
 203  
 204  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1