aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/lib
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/dav/lib')
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php5
-rw-r--r--vendor/sabre/dav/lib/DAV/Server.php7
-rw-r--r--vendor/sabre/dav/lib/DAV/Tree.php4
3 files changed, 11 insertions, 5 deletions
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
index a130cd61d..5b7b2ee17 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
@@ -52,12 +52,15 @@ class AddressData implements XmlDeserializable {
];
$elems = (array)$reader->parseInnerTree();
+ $elems = array_filter($elems, function($element) {
+ return $element['name'] === '{urn:ietf:params:xml:ns:carddav}prop' &&
+ isset($element['attributes']['name']);
+ });
$result['addressDataProperties'] = array_map(function($element) {
return $element['attributes']['name'];
}, $elems);
return $result;
-
}
}
diff --git a/vendor/sabre/dav/lib/DAV/Server.php b/vendor/sabre/dav/lib/DAV/Server.php
index 6805ec0b0..f7fcf3057 100644
--- a/vendor/sabre/dav/lib/DAV/Server.php
+++ b/vendor/sabre/dav/lib/DAV/Server.php
@@ -893,15 +893,16 @@ class Server extends EventEmitter implements LoggerAwareInterface {
$newDepth--;
}
+ $propertyNames = $propFind->getRequestedProperties();
+ $propFindType = !empty($propertyNames) ? PropFind::NORMAL : PropFind::ALLPROPS;
+
foreach ($this->tree->getChildren($path) as $childNode) {
- $subPropFind = clone $propFind;
- $subPropFind->setDepth($newDepth);
if ($path !== '') {
$subPath = $path . '/' . $childNode->getName();
} else {
$subPath = $childNode->getName();
}
- $subPropFind->setPath($subPath);
+ $subPropFind = new PropFind($subPath, $propertyNames, $newDepth, $propFindType);
yield [
$subPropFind,
diff --git a/vendor/sabre/dav/lib/DAV/Tree.php b/vendor/sabre/dav/lib/DAV/Tree.php
index 5d2792503..7c04f0915 100644
--- a/vendor/sabre/dav/lib/DAV/Tree.php
+++ b/vendor/sabre/dav/lib/DAV/Tree.php
@@ -298,7 +298,9 @@ class Tree {
*/
protected function copyNode(INode $source, ICollection $destinationParent, $destinationName = null) {
- if (!$destinationName) $destinationName = $source->getName();
+ if ((string)$destinationName === '') {
+ $destinationName = $source->getName();
+ }
if ($source instanceof IFile) {