diff options
Diffstat (limited to '3rdparty/Sabre/DAV/Exception/Locked.php')
-rwxr-xr-x | 3rdparty/Sabre/DAV/Exception/Locked.php | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/3rdparty/Sabre/DAV/Exception/Locked.php b/3rdparty/Sabre/DAV/Exception/Locked.php new file mode 100755 index 00000000000..976365ac1f8 --- /dev/null +++ b/3rdparty/Sabre/DAV/Exception/Locked.php @@ -0,0 +1,67 @@ +<?php + +/** + * Locked + * + * The 423 is thrown when a client tried to access a resource that was locked, without supplying a valid lock token + * + * @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_Exception_Locked extends Sabre_DAV_Exception { + + /** + * Lock information + * + * @var Sabre_DAV_Locks_LockInfo + */ + protected $lock; + + /** + * Creates the exception + * + * A LockInfo object should be passed if the user should be informed + * which lock actually has the file locked. + * + * @param Sabre_DAV_Locks_LockInfo $lock + */ + public function __construct(Sabre_DAV_Locks_LockInfo $lock = null) { + + $this->lock = $lock; + + } + + /** + * Returns the HTTP statuscode for this exception + * + * @return int + */ + public function getHTTPCode() { + + return 423; + + } + + /** + * This method allows the exception to include additional information into the WebDAV error response + * + * @param Sabre_DAV_Server $server + * @param DOMElement $errorNode + * @return void + */ + public function serialize(Sabre_DAV_Server $server,DOMElement $errorNode) { + + if ($this->lock) { + $error = $errorNode->ownerDocument->createElementNS('DAV:','d:lock-token-submitted'); + $errorNode->appendChild($error); + if (!is_object($this->lock)) var_dump($this->lock); + $error->appendChild($errorNode->ownerDocument->createElementNS('DAV:','d:href',$this->lock->uri)); + } + + } + +} + |