[ 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 Gdata 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 * Zend_Gdata_App_Util 26 */ 27 require_once 'Zend/Gdata/App/Util.php'; 28 29 /** 30 * Provides a mechanism to build a query URL for Gdata services. 31 * Queries are not defined for APP, but are provided by Gdata services 32 * as an extension. 33 * 34 * @category Zend 35 * @package Zend_Gdata 36 * @subpackage Gdata 37 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) 38 * @license http://framework.zend.com/license/new-bsd New BSD License 39 */ 40 class Zend_Gdata_Query 41 { 42 43 /** 44 * Query parameters. 45 * 46 * @var array 47 */ 48 protected $_params = array(); 49 50 /** 51 * Default URL 52 * 53 * @var string 54 */ 55 protected $_defaultFeedUri = null; 56 57 /** 58 * Base URL 59 * TODO: Add setters and getters 60 * 61 * @var string 62 */ 63 protected $_url = null; 64 65 /** 66 * Category for the query 67 * 68 * @var string 69 */ 70 protected $_category = null; 71 72 /** 73 * Create Gdata_Query object 74 */ 75 public function __construct($url = null) 76 { 77 $this->_url = $url; 78 } 79 80 /** 81 * @return string querystring 82 */ 83 public function getQueryString() 84 { 85 $queryArray = array(); 86 foreach ($this->_params as $name => $value) { 87 if (substr($name, 0, 1) == '_') { 88 continue; 89 } 90 $queryArray[] = urlencode($name) . '=' . urlencode($value); 91 } 92 if (count($queryArray) > 0) { 93 return '?' . implode('&', $queryArray); 94 } else { 95 return ''; 96 } 97 } 98 99 /** 100 * 101 */ 102 public function resetParameters() 103 { 104 $this->_params = array(); 105 } 106 107 /** 108 * @return string url 109 */ 110 public function getQueryUrl() 111 { 112 if ($this->_url == null) { 113 $url = $this->_defaultFeedUri; 114 } else { 115 $url = $this->_url; 116 } 117 if ($this->getCategory() !== null) { 118 $url .= '/-/' . $this->getCategory(); 119 } 120 $url .= $this->getQueryString(); 121 return $url; 122 } 123 124 /** 125 * @param string $name 126 * @param string $value 127 * @return Zend_Gdata_Query Provides a fluent interface 128 */ 129 public function setParam($name, $value) 130 { 131 $this->_params[$name] = $value; 132 return $this; 133 } 134 135 /** 136 * @param string $name 137 */ 138 public function getParam($name) 139 { 140 return $this->_params[$name]; 141 } 142 143 /** 144 * @param string $value 145 * @return Zend_Gdata_Query Provides a fluent interface 146 */ 147 public function setAlt($value) 148 { 149 if ($value != null) { 150 $this->_params['alt'] = $value; 151 } else { 152 unset($this->_params['alt']); 153 } 154 return $this; 155 } 156 157 /** 158 * @param int $value 159 * @return Zend_Gdata_Query Provides a fluent interface 160 */ 161 public function setMaxResults($value) 162 { 163 if ($value != null) { 164 $this->_params['max-results'] = $value; 165 } else { 166 unset($this->_params['max-results']); 167 } 168 return $this; 169 } 170 171 /** 172 * @param string $value 173 * @return Zend_Gdata_Query Provides a fluent interface 174 */ 175 public function setQuery($value) 176 { 177 if ($value != null) { 178 $this->_params['q'] = $value; 179 } else { 180 unset($this->_params['q']); 181 } 182 return $this; 183 } 184 185 /** 186 * @param int $value 187 * @return Zend_Gdata_Query Provides a fluent interface 188 */ 189 public function setStartIndex($value) 190 { 191 if ($value != null) { 192 $this->_params['start-index'] = $value; 193 } else { 194 unset($this->_params['start-index']); 195 } 196 return $this; 197 } 198 199 /** 200 * @param string $value 201 * @return Zend_Gdata_Query Provides a fluent interface 202 */ 203 public function setUpdatedMax($value) 204 { 205 if ($value != null) { 206 $this->_params['updated-max'] = Zend_Gdata_App_Util::formatTimestamp($value); 207 } else { 208 unset($this->_params['updated-max']); 209 } 210 return $this; 211 } 212 213 /** 214 * @param string $value 215 * @return Zend_Gdata_Query Provides a fluent interface 216 */ 217 public function setUpdatedMin($value) 218 { 219 if ($value != null) { 220 $this->_params['updated-min'] = Zend_Gdata_App_Util::formatTimestamp($value); 221 } else { 222 unset($this->_params['updated-min']); 223 } 224 return $this; 225 } 226 227 /** 228 * @param string $value 229 * @return Zend_Gdata_Query Provides a fluent interface 230 */ 231 public function setPublishedMax($value) 232 { 233 if ($value !== null) { 234 $this->_params['published-max'] = Zend_Gdata_App_Util::formatTimestamp($value); 235 } else { 236 unset($this->_params['published-max']); 237 } 238 return $this; 239 } 240 241 /** 242 * @param string $value 243 * @return Zend_Gdata_Query Provides a fluent interface 244 */ 245 public function setPublishedMin($value) 246 { 247 if ($value != null) { 248 $this->_params['published-min'] = Zend_Gdata_App_Util::formatTimestamp($value); 249 } else { 250 unset($this->_params['published-min']); 251 } 252 return $this; 253 } 254 255 /** 256 * @param string $value 257 * @return Zend_Gdata_Query Provides a fluent interface 258 */ 259 public function setAuthor($value) 260 { 261 if ($value != null) { 262 $this->_params['author'] = $value; 263 } else { 264 unset($this->_params['author']); 265 } 266 return $this; 267 } 268 269 /** 270 * @return string rss or atom 271 */ 272 public function getAlt() 273 { 274 if (array_key_exists('alt', $this->_params)) { 275 return $this->_params['alt']; 276 } else { 277 return null; 278 } 279 } 280 281 /** 282 * @return int maxResults 283 */ 284 public function getMaxResults() 285 { 286 if (array_key_exists('max-results', $this->_params)) { 287 return intval($this->_params['max-results']); 288 } else { 289 return null; 290 } 291 } 292 293 /** 294 * @return string query 295 */ 296 public function getQuery() 297 { 298 if (array_key_exists('q', $this->_params)) { 299 return $this->_params['q']; 300 } else { 301 return null; 302 } 303 } 304 305 /** 306 * @return int startIndex 307 */ 308 public function getStartIndex() 309 { 310 if (array_key_exists('start-index', $this->_params)) { 311 return intval($this->_params['start-index']); 312 } else { 313 return null; 314 } 315 } 316 317 /** 318 * @return string updatedMax 319 */ 320 public function getUpdatedMax() 321 { 322 if (array_key_exists('updated-max', $this->_params)) { 323 return $this->_params['updated-max']; 324 } else { 325 return null; 326 } 327 } 328 329 /** 330 * @return string updatedMin 331 */ 332 public function getUpdatedMin() 333 { 334 if (array_key_exists('updated-min', $this->_params)) { 335 return $this->_params['updated-min']; 336 } else { 337 return null; 338 } 339 } 340 341 /** 342 * @return string publishedMax 343 */ 344 public function getPublishedMax() 345 { 346 if (array_key_exists('published-max', $this->_params)) { 347 return $this->_params['published-max']; 348 } else { 349 return null; 350 } 351 } 352 353 /** 354 * @return string publishedMin 355 */ 356 public function getPublishedMin() 357 { 358 if (array_key_exists('published-min', $this->_params)) { 359 return $this->_params['published-min']; 360 } else { 361 return null; 362 } 363 } 364 365 /** 366 * @return string author 367 */ 368 public function getAuthor() 369 { 370 if (array_key_exists('author', $this->_params)) { 371 return $this->_params['author']; 372 } else { 373 return null; 374 } 375 } 376 377 /** 378 * @param string $value 379 * @return Zend_Gdata_Query Provides a fluent interface 380 */ 381 public function setCategory($value) 382 { 383 $this->_category = $value; 384 return $this; 385 } 386 387 /* 388 * @return string id 389 */ 390 public function getCategory() 391 { 392 return $this->_category; 393 } 394 395 396 public function __get($name) 397 { 398 $method = 'get'.ucfirst($name); 399 if (method_exists($this, $method)) { 400 return call_user_func(array(&$this, $method)); 401 } else { 402 require_once 'Zend/Gdata/App/Exception.php'; 403 throw new Zend_Gdata_App_Exception('Property ' . $name . ' does not exist'); 404 } 405 } 406 407 public function __set($name, $val) 408 { 409 $method = 'set'.ucfirst($name); 410 if (method_exists($this, $method)) { 411 return call_user_func(array(&$this, $method), $val); 412 } else { 413 require_once 'Zend/Gdata/App/Exception.php'; 414 throw new Zend_Gdata_App_Exception('Property ' . $name . ' does not exist'); 415 } 416 } 417 418 }
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 |