components = $components; } /** * Returns the list of supported components * * @return array */ public function getValue() { return $this->components; } /** * Serializes the property in a DOMDocument * * @param DAV\Server $server * @param \DOMElement $node * @return void */ public function serialize(DAV\Server $server,\DOMElement $node) { $doc = $node->ownerDocument; foreach($this->components as $component) { $xcomp = $doc->createElement('cal:comp'); $xcomp->setAttribute('name',$component); $node->appendChild($xcomp); } } /** * Unserializes the DOMElement back into a Property class. * * @param \DOMElement $node * @return Property_SupportedCalendarComponentSet */ static function unserialize(\DOMElement $node) { $components = array(); foreach($node->childNodes as $childNode) { if (DAV\XMLUtil::toClarkNotation($childNode)==='{' . CalDAV\Plugin::NS_CALDAV . '}comp') { $components[] = $childNode->getAttribute('name'); } } return new self($components); } }