type = $type; if ($type===self::HREF && is_null($href)) { throw new Sabre_DAV_Exception('The href argument must be specified for the HREF principal type.'); } $this->href = $href; } /** * Returns the principal type * * @return int */ public function getType() { return $this->type; } /** * Returns the principal uri. * * @return string */ public function getHref() { return $this->href; } /** * Serializes the property into a DOMElement. * * @param Sabre_DAV_Server $server * @param DOMElement $node * @return void */ public function serialize(Sabre_DAV_Server $server, DOMElement $node) { $prefix = $server->xmlNamespaces['DAV:']; switch($this->type) { case self::UNAUTHENTICATED : $node->appendChild( $node->ownerDocument->createElement($prefix . ':unauthenticated') ); break; case self::AUTHENTICATED : $node->appendChild( $node->ownerDocument->createElement($prefix . ':authenticated') ); break; case self::HREF : $href = $node->ownerDocument->createElement($prefix . ':href'); $href->nodeValue = $server->getBaseUri() . $this->href; $node->appendChild($href); break; } } }