77 lines
2.3 KiB
PHP
77 lines
2.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* This class represents the {DAV:}supportedlock property
|
|
*
|
|
* This property contains information about what kind of locks
|
|
* this server supports.
|
|
*
|
|
* @package Sabre
|
|
* @subpackage DAV
|
|
* @copyright Copyright (C) 2007-2012 Rooftop Solutions. All rights reserved.
|
|
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
|
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
|
|
*/
|
|
class Sabre_DAV_Property_SupportedLock extends Sabre_DAV_Property {
|
|
|
|
/**
|
|
* supportsLocks
|
|
*
|
|
* @var mixed
|
|
*/
|
|
public $supportsLocks = false;
|
|
|
|
/**
|
|
* __construct
|
|
*
|
|
* @param mixed $supportsLocks
|
|
*/
|
|
public function __construct($supportsLocks) {
|
|
|
|
$this->supportsLocks = $supportsLocks;
|
|
|
|
}
|
|
|
|
/**
|
|
* serialize
|
|
*
|
|
* @param Sabre_DAV_Server $server
|
|
* @param DOMElement $prop
|
|
* @return void
|
|
*/
|
|
public function serialize(Sabre_DAV_Server $server,DOMElement $prop) {
|
|
|
|
$doc = $prop->ownerDocument;
|
|
|
|
if (!$this->supportsLocks) return null;
|
|
|
|
$lockEntry1 = $doc->createElementNS('DAV:','d:lockentry');
|
|
$lockEntry2 = $doc->createElementNS('DAV:','d:lockentry');
|
|
|
|
$prop->appendChild($lockEntry1);
|
|
$prop->appendChild($lockEntry2);
|
|
|
|
$lockScope1 = $doc->createElementNS('DAV:','d:lockscope');
|
|
$lockScope2 = $doc->createElementNS('DAV:','d:lockscope');
|
|
$lockType1 = $doc->createElementNS('DAV:','d:locktype');
|
|
$lockType2 = $doc->createElementNS('DAV:','d:locktype');
|
|
|
|
$lockEntry1->appendChild($lockScope1);
|
|
$lockEntry1->appendChild($lockType1);
|
|
$lockEntry2->appendChild($lockScope2);
|
|
$lockEntry2->appendChild($lockType2);
|
|
|
|
$lockScope1->appendChild($doc->createElementNS('DAV:','d:exclusive'));
|
|
$lockScope2->appendChild($doc->createElementNS('DAV:','d:shared'));
|
|
|
|
$lockType1->appendChild($doc->createElementNS('DAV:','d:write'));
|
|
$lockType2->appendChild($doc->createElementNS('DAV:','d:write'));
|
|
|
|
//$frag->appendXML('<d:lockentry><d:lockscope><d:exclusive /></d:lockscope><d:locktype><d:write /></d:locktype></d:lockentry>');
|
|
//$frag->appendXML('<d:lockentry><d:lockscope><d:shared /></d:lockscope><d:locktype><d:write /></d:locktype></d:lockentry>');
|
|
|
|
}
|
|
|
|
}
|
|
|