Merge pull request #10723 from owncloud/webdav-folder-size

adding new webdav property containing the folder size
This commit is contained in:
Clark Tomlinson 2014-09-03 09:07:23 -04:00
commit 0400f7845c
2 changed files with 17 additions and 2 deletions

View File

@ -230,4 +230,13 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
return $props;
}
/**
* Returns the size of the node, in bytes
*
* @return int
*/
public function getSize() {
return $this->info->getSize();
}
}

View File

@ -38,6 +38,7 @@ class OC_Connector_Sabre_FilesPlugin extends \Sabre\DAV\ServerPlugin
$server->xmlNamespaces[self::NS_OWNCLOUD] = 'oc';
$server->protectedProperties[] = '{' . self::NS_OWNCLOUD . '}id';
$server->protectedProperties[] = '{' . self::NS_OWNCLOUD . '}permissions';
$server->protectedProperties[] = '{' . self::NS_OWNCLOUD . '}size';
$this->server = $server;
$this->server->subscribeEvent('beforeGetProperties', array($this, 'beforeGetProperties'));
@ -74,12 +75,17 @@ class OC_Connector_Sabre_FilesPlugin extends \Sabre\DAV\ServerPlugin
}
$permissions = $node->getDavPermissions();
if (!is_null($fileId)) {
if (!is_null($permissions)) {
$returnedProperties[200][$permissionsPropertyName] = $permissions;
}
}
if ($node instanceof OC_Connector_Sabre_Directory) {
$sizePropertyName = '{' . self::NS_OWNCLOUD . '}size';
/** @var $node OC_Connector_Sabre_Directory */
$returnedProperties[200][$sizePropertyName] = $node->getSize();
}
}
/**