From 06f945f27840b53e57795dadbc38e76f7e11ab1c Mon Sep 17 00:00:00 2001 From: Horus3 Date: Mon, 24 Feb 2014 16:42:14 +0100 Subject: init --- .../Zend/Gdata/Calendar/Extension/Hidden.php | 134 +++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 zend/library/Zend/Gdata/Calendar/Extension/Hidden.php (limited to 'zend/library/Zend/Gdata/Calendar/Extension/Hidden.php') diff --git a/zend/library/Zend/Gdata/Calendar/Extension/Hidden.php b/zend/library/Zend/Gdata/Calendar/Extension/Hidden.php new file mode 100644 index 0000000..0973008 --- /dev/null +++ b/zend/library/Zend/Gdata/Calendar/Extension/Hidden.php @@ -0,0 +1,134 @@ +registerAllNamespaces(Zend_Gdata_Calendar::$namespaces); + parent::__construct(); + $this->_value = $value; + } + + /** + * Retrieves a DOMElement which corresponds to this element and all + * child properties. This is used to build an entry back into a DOM + * and eventually XML text for sending to the server upon updates, or + * for application storage/persistence. + * + * @param DOMDocument $doc The DOMDocument used to construct DOMElements + * @return DOMElement The DOMElement representing this element and all + * child properties. + */ + public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null) + { + $element = parent::getDOM($doc, $majorVersion, $minorVersion); + if ($this->_value !== null) { + $element->setAttribute('value', ($this->_value ? "true" : "false")); + } + return $element; + } + + /** + * Given a DOMNode representing an attribute, tries to map the data into + * instance members. If no mapping is defined, the name and value are + * stored in an array. + * + * @param DOMNode $attribute The DOMNode attribute needed to be handled + */ + protected function takeAttributeFromDOM($attribute) + { + switch ($attribute->localName) { + case 'value': + if ($attribute->nodeValue == "true") { + $this->_value = true; + } + else if ($attribute->nodeValue == "false") { + $this->_value = false; + } + else { + require_once 'Zend/Gdata/App/InvalidArgumentException.php'; + throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value."); + } + break; + default: + parent::takeAttributeFromDOM($attribute); + } + } + + /** + * Get the value for this element's value attribute. + * + * @return string The requested attribute. + */ + public function getValue() + { + return $this->_value; + } + + /** + * Set the value for this element's value attribute. + * + * @param bool $value The desired value for this attribute. + * @return Zend_Gdata_Calendar_Extension_Hidden The element being modified. + */ + public function setValue($value) + { + $this->_value = $value; + return $this; + } + + /** + * Magic toString method allows using this directly via echo + * Works best in PHP >= 4.2.0 + */ + public function __toString() + { + return $this->_value; + } + +} + -- cgit v1.2.3