4 * This class represents the {DAV:}supportedlock property
6 * This property contains information about what kind of locks
7 * this server supports.
11 * @copyright Copyright (C) 2007-2012 Rooftop Solutions. All rights reserved.
12 * @author Evert Pot (http://www.rooftopsolutions.nl/)
13 * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
15 class Sabre_DAV_Property_SupportedLock extends Sabre_DAV_Property {
22 public $supportsLocks = false;
27 * @param mixed $supportsLocks
29 public function __construct($supportsLocks) {
31 $this->supportsLocks = $supportsLocks;
38 * @param Sabre_DAV_Server $server
39 * @param DOMElement $prop
42 public function serialize(Sabre_DAV_Server $server,DOMElement $prop) {
44 $doc = $prop->ownerDocument;
46 if (!$this->supportsLocks) return null;
48 $lockEntry1 = $doc->createElementNS('DAV:','d:lockentry');
49 $lockEntry2 = $doc->createElementNS('DAV:','d:lockentry');
51 $prop->appendChild($lockEntry1);
52 $prop->appendChild($lockEntry2);
54 $lockScope1 = $doc->createElementNS('DAV:','d:lockscope');
55 $lockScope2 = $doc->createElementNS('DAV:','d:lockscope');
56 $lockType1 = $doc->createElementNS('DAV:','d:locktype');
57 $lockType2 = $doc->createElementNS('DAV:','d:locktype');
59 $lockEntry1->appendChild($lockScope1);
60 $lockEntry1->appendChild($lockType1);
61 $lockEntry2->appendChild($lockScope2);
62 $lockEntry2->appendChild($lockType2);
64 $lockScope1->appendChild($doc->createElementNS('DAV:','d:exclusive'));
65 $lockScope2->appendChild($doc->createElementNS('DAV:','d:shared'));
67 $lockType1->appendChild($doc->createElementNS('DAV:','d:write'));
68 $lockType2->appendChild($doc->createElementNS('DAV:','d:write'));
70 //$frag->appendXML('<d:lockentry><d:lockscope><d:exclusive /></d:lockscope><d:locktype><d:write /></d:locktype></d:lockentry>');
71 //$frag->appendXML('<d:lockentry><d:lockscope><d:shared /></d:lockscope><d:locktype><d:write /></d:locktype></d:lockentry>');