[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/zend/Zend/Gdata/ -> Query.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 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  }


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