|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00027 require_once 'Zend/Gdata/Extension.php'; 00028 00032 require_once 'Zend/Gdata/Extension/Reminder.php'; 00033 00043 class Zend_Gdata_Extension_When extends Zend_Gdata_Extension 00044 { 00045 00046 protected $_rootElement = 'when'; 00047 protected $_reminders = array(); 00048 protected $_startTime = null; 00049 protected $_valueString = null; 00050 protected $_endTime = null; 00051 00052 public function __construct($startTime = null, $endTime = null, 00053 $valueString = null, $reminders = null) 00054 { 00055 parent::__construct(); 00056 $this->_startTime = $startTime; 00057 $this->_endTime = $endTime; 00058 $this->_valueString = $valueString; 00059 $this->_reminders = $reminders; 00060 } 00061 00062 public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null) 00063 { 00064 $element = parent::getDOM($doc, $majorVersion, $minorVersion); 00065 if ($this->_startTime !== null) { 00066 $element->setAttribute('startTime', $this->_startTime); 00067 } 00068 if ($this->_endTime !== null) { 00069 $element->setAttribute('endTime', $this->_endTime); 00070 } 00071 if ($this->_valueString !== null) { 00072 $element->setAttribute('valueString', $this->_valueString); 00073 } 00074 if ($this->_reminders !== null) { 00075 foreach ($this->_reminders as $reminder) { 00076 $element->appendChild( 00077 $reminder->getDOM($element->ownerDocument)); 00078 } 00079 } 00080 return $element; 00081 } 00082 00083 protected function takeChildFromDOM($child) 00084 { 00085 $absoluteNodeName = $child->namespaceURI . ':' . $child->localName; 00086 switch ($absoluteNodeName) { 00087 case $this->lookupNamespace('gd') . ':' . 'reminder'; 00088 $reminder = new Zend_Gdata_Extension_Reminder(); 00089 $reminder->transferFromDOM($child); 00090 $this->_reminders[] = $reminder; 00091 break; 00092 default: 00093 parent::takeChildFromDOM($child); 00094 break; 00095 } 00096 } 00097 00098 protected function takeAttributeFromDOM($attribute) 00099 { 00100 switch ($attribute->localName) { 00101 case 'startTime': 00102 $this->_startTime = $attribute->nodeValue; 00103 break; 00104 case 'endTime': 00105 $this->_endTime = $attribute->nodeValue; 00106 break; 00107 case 'valueString': 00108 $this->_valueString = $attribute->nodeValue; 00109 break; 00110 default: 00111 parent::takeAttributeFromDOM($attribute); 00112 } 00113 } 00114 00115 public function __toString() 00116 { 00117 if ($this->_valueString) 00118 return $this->_valueString; 00119 else { 00120 return 'Starts: ' . $this->getStartTime() . ' ' . 00121 'Ends: ' . $this->getEndTime(); 00122 } 00123 } 00124 00125 public function getStartTime() 00126 { 00127 return $this->_startTime; 00128 } 00129 00130 public function setStartTime($value) 00131 { 00132 $this->_startTime = $value; 00133 return $this; 00134 } 00135 00136 public function getEndTime() 00137 { 00138 return $this->_endTime; 00139 } 00140 00141 public function setEndTime($value) 00142 { 00143 $this->_endTime = $value; 00144 return $this; 00145 } 00146 00147 public function getValueString() 00148 { 00149 return $this->_valueString; 00150 } 00151 00152 public function setValueString($value) 00153 { 00154 $this->_valueString = $value; 00155 return $this; 00156 } 00157 00158 public function getReminders() 00159 { 00160 return $this->_reminders; 00161 } 00162 00163 public function setReminders($value) 00164 { 00165 $this->_reminders = $value; 00166 return $this; 00167 } 00168 00169 }