diff options
author | redmatrix <git@macgirvin.com> | 2016-07-28 19:58:05 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-07-28 19:58:05 -0700 |
commit | ae5c10a71cd29722f63b379b62801dea52a9ab8f (patch) | |
tree | 5c9c0c6668369f5ffbd4f5c7b635c9c1ec96b996 /vendor/sabre/dav/lib/DAV/Xml/Request | |
parent | 2d4b75428a87038b9a637bf49fc0a91c91b392fb (diff) | |
parent | 4d5202353fbce12f19fbe578205259d2a7bd3f04 (diff) | |
download | volse-hubzilla-1.10.tar.gz volse-hubzilla-1.10.tar.bz2 volse-hubzilla-1.10.zip |
Merge branch '1.10RC'1.10
Diffstat (limited to 'vendor/sabre/dav/lib/DAV/Xml/Request')
-rw-r--r-- | vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php new file mode 100644 index 000000000..965e5857c --- /dev/null +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php @@ -0,0 +1,81 @@ +<?php + +namespace Sabre\DAV\Xml\Request; + +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; +use Sabre\DAV\Xml\Element\Sharee; + +/** + * ShareResource request parser. + * + * This class parses the {DAV:}share-resource POST request as defined in: + * + * https://tools.ietf.org/html/draft-pot-webdav-resource-sharing-01#section-5.3.2.1 + * + * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/). + * @author Evert Pot (http://www.rooftopsolutions.nl/) + * @license http://sabre.io/license/ Modified BSD License + */ +class ShareResource implements XmlDeserializable { + + /** + * The list of new people added or updated or removed from the share. + * + * @var Sharee[] + */ + public $sharees = []; + + /** + * Constructor + * + * @param Sharee[] $sharees + */ + function __construct(array $sharees) { + + $this->sharees = $sharees; + + } + + /** + * The deserialize method is called during xml parsing. + * + * This method is called statictly, this is because in theory this method + * may be used as a type of constructor, or factory method. + * + * Often you want to return an instance of the current class, but you are + * free to return other data as well. + * + * You are responsible for advancing the reader to the next element. Not + * doing anything will result in a never-ending loop. + * + * If you just want to skip parsing for this element altogether, you can + * just call $reader->next(); + * + * $reader->parseInnerTree() will parse the entire sub-tree, and advance to + * the next element. + * + * @param Reader $reader + * @return mixed + */ + static function xmlDeserialize(Reader $reader) { + + $elems = $reader->parseInnerTree([ + '{DAV:}sharee' => 'Sabre\DAV\Xml\Element\Sharee', + '{DAV:}share-access' => 'Sabre\DAV\Xml\Property\ShareAccess', + '{DAV:}prop' => 'Sabre\Xml\Deserializer\keyValue', + ]); + + $sharees = []; + + foreach ($elems as $elem) { + if ($elem['name'] !== '{DAV:}sharee') continue; + $sharees[] = $elem['value']; + + } + + return new self($sharees); + + } + +} |