[ 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 Calendar 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 * Zend_Gdata_Query 31 */ 32 require_once('Zend/Gdata/Query.php'); 33 34 /** 35 * Assists in constructing queries for Google Calendar events 36 * 37 * @link http://code.google.com/apis/gdata/calendar/ 38 * 39 * @category Zend 40 * @package Zend_Gdata 41 * @subpackage Calendar 42 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) 43 * @license http://framework.zend.com/license/new-bsd New BSD License 44 */ 45 class Zend_Gdata_Calendar_EventQuery extends Zend_Gdata_Query 46 { 47 48 const CALENDAR_FEED_URI = 'http://www.google.com/calendar/feeds'; 49 50 /** 51 * The default URI used for feeds. 52 */ 53 protected $_defaultFeedUri = self::CALENDAR_FEED_URI; 54 55 /** 56 * The comment ID to retrieve. If null, no specific comment will be 57 * retrieved unless already included in the query URI. The event ID 58 * ($_event) must be set, otherwise this property is ignored. 59 */ 60 protected $_comments = null; 61 62 /** 63 * The calendar address to be requested by queries. This may be an email 64 * address if requesting the primary calendar for a user. Defaults to 65 * "default" (the currently authenticated user). A null value should be 66 * used when the calendar address has already been set as part of the 67 * query URI. 68 */ 69 protected $_user = 'default'; 70 71 /* 72 * The visibility to be requested by queries. Defaults to "public". A 73 * null value should be used when the calendar address has already been 74 * set as part of the query URI. 75 */ 76 protected $_visibility = 'public'; 77 78 /** 79 * Projection to be requested by queries. Defaults to "full". A null value 80 * should be used when the calendar address has already been set as part 81 * of the query URI. 82 */ 83 protected $_projection = 'full'; 84 85 /** 86 * The event ID to retrieve. If null, no specific event will be retrieved 87 * unless already included in the query URI. 88 */ 89 protected $_event = null; 90 91 /** 92 * Create Gdata_Calendar_EventQuery object. If a URL is provided, 93 * it becomes the base URL, and additional URL components may be 94 * appended. For instance, if $url is 'http://www.google.com/calendar', 95 * the default URL constructed will be 96 * 'http://www.google.com/calendar/default/public/full'. 97 * 98 * If the URL already contains a calendar ID, projection, visibility, 99 * event ID, or comment ID, you will need to set these fields to null 100 * to prevent them from being inserted. See this class's properties for 101 * more information. 102 * 103 * @param string $url The URL to use as the base path for requests 104 */ 105 public function __construct($url = null) 106 { 107 parent::__construct($url); 108 } 109 110 /** 111 * @see $_comments 112 * @param string $value 113 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 114 */ 115 public function setComments($value) 116 { 117 $this->_comments = $value; 118 return $this; 119 } 120 121 /** 122 * @see $_event 123 * @param string $value 124 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 125 */ 126 public function setEvent($value) 127 { 128 $this->_event = $value; 129 return $this; 130 } 131 132 /** 133 * @see $_projection 134 * @param string $value 135 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 136 */ 137 public function setProjection($value) 138 { 139 $this->_projection = $value; 140 return $this; 141 } 142 143 /** 144 * @see $_user 145 * @param string $value 146 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 147 */ 148 public function setUser($value) 149 { 150 $this->_user = $value; 151 return $this; 152 } 153 154 /** 155 * @see $_visibility 156 * @param bool $value 157 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 158 */ 159 public function setVisibility($value) 160 { 161 $this->_visibility = $value; 162 return $this; 163 } 164 165 /** 166 * @see $_comments; 167 * @return string comments 168 */ 169 public function getComments() 170 { 171 return $this->_comments; 172 } 173 174 /** 175 * @see $_event; 176 * @return string event 177 */ 178 public function getEvent() 179 { 180 return $this->_event; 181 } 182 183 /** 184 * @see $_projection 185 * @return string projection 186 */ 187 public function getProjection() 188 { 189 return $this->_projection; 190 } 191 192 /** 193 * @see $_user 194 * @return string user 195 */ 196 public function getUser() 197 { 198 return $this->_user; 199 } 200 201 /** 202 * @see $_visibility 203 * @return string visibility 204 */ 205 public function getVisibility() 206 { 207 return $this->_visibility; 208 } 209 210 /** 211 * @param int $value 212 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 213 */ 214 public function setStartMax($value) 215 { 216 if ($value != null) { 217 $this->_params['start-max'] = Zend_Gdata_App_Util::formatTimestamp($value); 218 } else { 219 unset($this->_params['start-max']); 220 } 221 return $this; 222 } 223 224 /** 225 * @param int $value 226 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 227 */ 228 public function setStartMin($value) 229 { 230 if ($value != null) { 231 $this->_params['start-min'] = Zend_Gdata_App_Util::formatTimestamp($value); 232 } else { 233 unset($this->_params['start-min']); 234 } 235 return $this; 236 } 237 238 /** 239 * @param string $value 240 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 241 */ 242 public function setOrderBy($value) 243 { 244 if ($value != null) { 245 $this->_params['orderby'] = $value; 246 } else { 247 unset($this->_params['orderby']); 248 } 249 return $this; 250 } 251 252 /** 253 * @return int start-max 254 */ 255 public function getStartMax() 256 { 257 if (array_key_exists('start-max', $this->_params)) { 258 return $this->_params['start-max']; 259 } else { 260 return null; 261 } 262 } 263 264 /** 265 * @return int start-min 266 */ 267 public function getStartMin() 268 { 269 if (array_key_exists('start-min', $this->_params)) { 270 return $this->_params['start-min']; 271 } else { 272 return null; 273 } 274 } 275 276 /** 277 * @return string orderby 278 */ 279 public function getOrderBy() 280 { 281 if (array_key_exists('orderby', $this->_params)) { 282 return $this->_params['orderby']; 283 } else { 284 return null; 285 } 286 } 287 288 /** 289 * @return string sortorder 290 */ 291 public function getSortOrder() 292 { 293 if (array_key_exists('sortorder', $this->_params)) { 294 return $this->_params['sortorder']; 295 } else { 296 return null; 297 } 298 } 299 300 /** 301 * @return string sortorder 302 */ 303 public function setSortOrder($value) 304 { 305 if ($value != null) { 306 $this->_params['sortorder'] = $value; 307 } else { 308 unset($this->_params['sortorder']); 309 } 310 return $this; 311 } 312 313 /** 314 * @return string recurrence-expansion-start 315 */ 316 public function getRecurrenceExpansionStart() 317 { 318 if (array_key_exists('recurrence-expansion-start', $this->_params)) { 319 return $this->_params['recurrence-expansion-start']; 320 } else { 321 return null; 322 } 323 } 324 325 /** 326 * @return string recurrence-expansion-start 327 */ 328 public function setRecurrenceExpansionStart($value) 329 { 330 if ($value != null) { 331 $this->_params['recurrence-expansion-start'] = Zend_Gdata_App_Util::formatTimestamp($value); 332 } else { 333 unset($this->_params['recurrence-expansion-start']); 334 } 335 return $this; 336 } 337 338 339 /** 340 * @return string recurrence-expansion-end 341 */ 342 public function getRecurrenceExpansionEnd() 343 { 344 if (array_key_exists('recurrence-expansion-end', $this->_params)) { 345 return $this->_params['recurrence-expansion-end']; 346 } else { 347 return null; 348 } 349 } 350 351 /** 352 * @return string recurrence-expansion-end 353 */ 354 public function setRecurrenceExpansionEnd($value) 355 { 356 if ($value != null) { 357 $this->_params['recurrence-expansion-end'] = Zend_Gdata_App_Util::formatTimestamp($value); 358 } else { 359 unset($this->_params['recurrence-expansion-end']); 360 } 361 return $this; 362 } 363 364 /** 365 * @param string $value Also accepts bools. 366 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 367 */ 368 public function getSingleEvents() 369 { 370 if (array_key_exists('singleevents', $this->_params)) { 371 $value = $this->_params['singleevents']; 372 switch ($value) { 373 case 'true': 374 return true; 375 break; 376 case 'false': 377 return false; 378 break; 379 default: 380 require_once 'Zend/Gdata/App/Exception.php'; 381 throw new Zend_Gdata_App_Exception( 382 'Invalid query param value for futureevents: ' . 383 $value . ' It must be a boolean.'); 384 } 385 } else { 386 return null; 387 } 388 } 389 390 /** 391 * @param string $value Also accepts bools. If using a string, must be either "true" or "false". 392 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 393 */ 394 public function setSingleEvents($value) 395 { 396 if ($value !== null) { 397 if (is_bool($value)) { 398 $this->_params['singleevents'] = ($value?'true':'false'); 399 } elseif ($value == 'true' | $value == 'false') { 400 $this->_params['singleevents'] = $value; 401 } else { 402 require_once 'Zend/Gdata/App/Exception.php'; 403 throw new Zend_Gdata_App_Exception( 404 'Invalid query param value for futureevents: ' . 405 $value . ' It must be a boolean.'); 406 } 407 } else { 408 unset($this->_params['singleevents']); 409 } 410 return $this; 411 } 412 413 /** 414 * @return string futureevents 415 */ 416 public function getFutureEvents() 417 { 418 if (array_key_exists('futureevents', $this->_params)) { 419 $value = $this->_params['futureevents']; 420 switch ($value) { 421 case 'true': 422 return true; 423 break; 424 case 'false': 425 return false; 426 break; 427 default: 428 require_once 'Zend/Gdata/App/Exception.php'; 429 throw new Zend_Gdata_App_Exception( 430 'Invalid query param value for futureevents: ' . 431 $value . ' It must be a boolean.'); 432 } 433 } else { 434 return null; 435 } 436 } 437 438 /** 439 * @param string $value Also accepts bools. If using a string, must be either "true" or "false" or 440 * an exception will be thrown on retrieval. 441 * @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface 442 */ 443 public function setFutureEvents($value) 444 { 445 if ($value !== null) { 446 if (is_bool($value)) { 447 $this->_params['futureevents'] = ($value?'true':'false'); 448 } elseif ($value == 'true' | $value == 'false') { 449 $this->_params['futureevents'] = $value; 450 } else { 451 require_once 'Zend/Gdata/App/Exception.php'; 452 throw new Zend_Gdata_App_Exception( 453 'Invalid query param value for futureevents: ' . 454 $value . ' It must be a boolean.'); 455 } 456 } else { 457 unset($this->_params['futureevents']); 458 } 459 return $this; 460 } 461 462 /** 463 * @return string url 464 */ 465 public function getQueryUrl() 466 { 467 if (isset($this->_url)) { 468 $uri = $this->_url; 469 } else { 470 $uri = $this->_defaultFeedUri; 471 } 472 if ($this->getUser() != null) { 473 $uri .= '/' . $this->getUser(); 474 } 475 if ($this->getVisibility() != null) { 476 $uri .= '/' . $this->getVisibility(); 477 } 478 if ($this->getProjection() != null) { 479 $uri .= '/' . $this->getProjection(); 480 } 481 if ($this->getEvent() != null) { 482 $uri .= '/' . $this->getEvent(); 483 if ($this->getComments() != null) { 484 $uri .= '/comments/' . $this->getComments(); 485 } 486 } 487 $uri .= $this->getQueryString(); 488 return $uri; 489 } 490 491 }
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 |