Merge pull request #6284 from nextcloud/add-new-propfind-stable12
add propfind to detect encryption status
This commit is contained in:
commit
1f7ea1f295
|
@ -66,6 +66,7 @@ class FilesPlugin extends ServerPlugin {
|
||||||
const DATA_FINGERPRINT_PROPERTYNAME = '{http://owncloud.org/ns}data-fingerprint';
|
const DATA_FINGERPRINT_PROPERTYNAME = '{http://owncloud.org/ns}data-fingerprint';
|
||||||
const HAS_PREVIEW_PROPERTYNAME = '{http://nextcloud.org/ns}has-preview';
|
const HAS_PREVIEW_PROPERTYNAME = '{http://nextcloud.org/ns}has-preview';
|
||||||
const MOUNT_TYPE_PROPERTYNAME = '{http://nextcloud.org/ns}mount-type';
|
const MOUNT_TYPE_PROPERTYNAME = '{http://nextcloud.org/ns}mount-type';
|
||||||
|
const IS_ENCRYPTED_PROPERTYNAME = '{http://nextcloud.org/ns}is-encrypted';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to main server object
|
* Reference to main server object
|
||||||
|
@ -146,7 +147,6 @@ class FilesPlugin extends ServerPlugin {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function initialize(\Sabre\DAV\Server $server) {
|
public function initialize(\Sabre\DAV\Server $server) {
|
||||||
|
|
||||||
$server->xml->namespaceMap[self::NS_OWNCLOUD] = 'oc';
|
$server->xml->namespaceMap[self::NS_OWNCLOUD] = 'oc';
|
||||||
$server->xml->namespaceMap[self::NS_NEXTCLOUD] = 'nc';
|
$server->xml->namespaceMap[self::NS_NEXTCLOUD] = 'nc';
|
||||||
$server->protectedProperties[] = self::FILEID_PROPERTYNAME;
|
$server->protectedProperties[] = self::FILEID_PROPERTYNAME;
|
||||||
|
@ -161,6 +161,7 @@ class FilesPlugin extends ServerPlugin {
|
||||||
$server->protectedProperties[] = self::DATA_FINGERPRINT_PROPERTYNAME;
|
$server->protectedProperties[] = self::DATA_FINGERPRINT_PROPERTYNAME;
|
||||||
$server->protectedProperties[] = self::HAS_PREVIEW_PROPERTYNAME;
|
$server->protectedProperties[] = self::HAS_PREVIEW_PROPERTYNAME;
|
||||||
$server->protectedProperties[] = self::MOUNT_TYPE_PROPERTYNAME;
|
$server->protectedProperties[] = self::MOUNT_TYPE_PROPERTYNAME;
|
||||||
|
$server->protectedProperties[] = self::IS_ENCRYPTED_PROPERTYNAME;
|
||||||
|
|
||||||
// normally these cannot be changed (RFC4918), but we want them modifiable through PROPPATCH
|
// normally these cannot be changed (RFC4918), but we want them modifiable through PROPPATCH
|
||||||
$allowedProperties = ['{DAV:}getetag'];
|
$allowedProperties = ['{DAV:}getetag'];
|
||||||
|
@ -343,6 +344,11 @@ class FilesPlugin extends ServerPlugin {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$propFind->handle(self::IS_ENCRYPTED_PROPERTYNAME, function() use ($node) {
|
||||||
|
$result = $node->getFileInfo()->isEncrypted() ? '1' : '0';
|
||||||
|
return $result;
|
||||||
|
});
|
||||||
|
|
||||||
$propFind->handle(self::HAS_PREVIEW_PROPERTYNAME, function () use ($node) {
|
$propFind->handle(self::HAS_PREVIEW_PROPERTYNAME, function () use ($node) {
|
||||||
return json_encode($this->previewManager->isAvailable($node->getFileInfo()));
|
return json_encode($this->previewManager->isAvailable($node->getFileInfo()));
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue