[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
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 Gbase 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_Gbase_ItemFeed 31 */ 32 require_once 'Zend/Gdata/Gbase/ItemFeed.php'; 33 34 /** 35 * @see Zend_Gdata_Gbase_ItemEntry 36 */ 37 require_once 'Zend/Gdata/Gbase/ItemEntry.php'; 38 39 /** 40 * @see Zend_Gdata_Gbase_SnippetEntry 41 */ 42 require_once 'Zend/Gdata/Gbase/SnippetEntry.php'; 43 44 /** 45 * @see Zend_Gdata_Gbase_SnippetFeed 46 */ 47 require_once 'Zend/Gdata/Gbase/SnippetFeed.php'; 48 49 /** 50 * Service class for interacting with the Google Base data API 51 * 52 * @link http://code.google.com/apis/base 53 * 54 * @category Zend 55 * @package Zend_Gdata 56 * @subpackage Gbase 57 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) 58 * @license http://framework.zend.com/license/new-bsd New BSD License 59 */ 60 class Zend_Gdata_Gbase extends Zend_Gdata 61 { 62 63 /** 64 * Path to the customer items feeds on the Google Base server. 65 */ 66 const GBASE_ITEM_FEED_URI = 'http://www.google.com/base/feeds/items'; 67 68 /** 69 * Path to the snippets feeds on the Google Base server. 70 */ 71 const GBASE_SNIPPET_FEED_URI = 'http://www.google.com/base/feeds/snippets'; 72 73 /** 74 * Authentication service name for Google Base 75 */ 76 const AUTH_SERVICE_NAME = 'gbase'; 77 78 /** 79 * The default URI for POST methods 80 * 81 * @var string 82 */ 83 protected $_defaultPostUri = self::GBASE_ITEM_FEED_URI; 84 85 /** 86 * Namespaces used for Zend_Gdata_Gbase 87 * 88 * @var array 89 */ 90 public static $namespaces = array( 91 array('g', 'http://base.google.com/ns/1.0', 1, 0), 92 array('batch', 'http://schemas.google.com/gdata/batch', 1, 0) 93 ); 94 95 /** 96 * Create Zend_Gdata_Gbase object 97 * 98 * @param Zend_Http_Client $client (optional) The HTTP client to use when 99 * when communicating with the Google Apps servers. 100 * @param string $applicationId The identity of the app in the form of Company-AppName-Version 101 */ 102 public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0') 103 { 104 $this->registerPackage('Zend_Gdata_Gbase'); 105 $this->registerPackage('Zend_Gdata_Gbase_Extension'); 106 parent::__construct($client, $applicationId); 107 $this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME); 108 } 109 110 /** 111 * Retreive feed object 112 * 113 * @param mixed $location The location for the feed, as a URL or Query 114 * @return Zend_Gdata_Gbase_ItemFeed 115 */ 116 public function getGbaseItemFeed($location = null) 117 { 118 if ($location === null) { 119 $uri = self::GBASE_ITEM_FEED_URI; 120 } else if ($location instanceof Zend_Gdata_Query) { 121 $uri = $location->getQueryUrl(); 122 } else { 123 $uri = $location; 124 } 125 return parent::getFeed($uri, 'Zend_Gdata_Gbase_ItemFeed'); 126 } 127 128 /** 129 * Retreive entry object 130 * 131 * @param mixed $location The location for the feed, as a URL or Query 132 * @return Zend_Gdata_Gbase_ItemEntry 133 */ 134 public function getGbaseItemEntry($location = null) 135 { 136 if ($location === null) { 137 require_once 'Zend/Gdata/App/InvalidArgumentException.php'; 138 throw new Zend_Gdata_App_InvalidArgumentException( 139 'Location must not be null'); 140 } else if ($location instanceof Zend_Gdata_Query) { 141 $uri = $location->getQueryUrl(); 142 } else { 143 $uri = $location; 144 } 145 return parent::getEntry($uri, 'Zend_Gdata_Gbase_ItemEntry'); 146 } 147 148 /** 149 * Insert an entry 150 * 151 * @param Zend_Gdata_Gbase_ItemEntry $entry The Base entry to upload 152 * @param boolean $dryRun Flag for the 'dry-run' parameter 153 * @return Zend_Gdata_Gbase_ItemFeed 154 */ 155 public function insertGbaseItem($entry, $dryRun = false) 156 { 157 if ($dryRun == false) { 158 $uri = $this->_defaultPostUri; 159 } else { 160 $uri = $this->_defaultPostUri . '?dry-run=true'; 161 } 162 $newitem = $this->insertEntry($entry, $uri, 'Zend_Gdata_Gbase_ItemEntry'); 163 return $newitem; 164 } 165 166 /** 167 * Update an entry 168 * 169 * @param Zend_Gdata_Gbase_ItemEntry $entry The Base entry to be updated 170 * @param boolean $dryRun Flag for the 'dry-run' parameter 171 * @return Zend_Gdata_Gbase_ItemEntry 172 */ 173 public function updateGbaseItem($entry, $dryRun = false) 174 { 175 $returnedEntry = $entry->save($dryRun); 176 return $returnedEntry; 177 } 178 179 /** 180 * Delete an entry 181 * 182 * @param Zend_Gdata_Gbase_ItemEntry $entry The Base entry to remove 183 * @param boolean $dryRun Flag for the 'dry-run' parameter 184 * @return Zend_Gdata_Gbase_ItemFeed 185 */ 186 public function deleteGbaseItem($entry, $dryRun = false) 187 { 188 $entry->delete($dryRun); 189 return $this; 190 } 191 192 /** 193 * Retrieve feed object 194 * 195 * @param mixed $location The location for the feed, as a URL or Query 196 * @return Zend_Gdata_Gbase_SnippetFeed 197 */ 198 public function getGbaseSnippetFeed($location = null) 199 { 200 if ($location === null) { 201 $uri = self::GBASE_SNIPPET_FEED_URI; 202 } else if ($location instanceof Zend_Gdata_Query) { 203 $uri = $location->getQueryUrl(); 204 } else { 205 $uri = $location; 206 } 207 return parent::getFeed($uri, 'Zend_Gdata_Gbase_SnippetFeed'); 208 } 209 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |