getPermissions();
$p = '';
if ($info->isShared()) {
$p .= 'S';
}
if ($permissions & Constants::PERMISSION_SHARE) {
$p .= 'R';
}
if ($info->isMounted()) {
$p .= 'M';
}
if ($permissions & Constants::PERMISSION_READ) {
$p .= 'G';
}
if ($permissions & Constants::PERMISSION_DELETE) {
$p .= 'D';
}
if ($permissions & Constants::PERMISSION_UPDATE) {
$p .= 'NV'; // Renameable, Movable
}
// since we always add update permissions for the root of movable mounts
// we need to check the shared cache item directly to determine if it's writable
$storage = $info->getStorage();
if ($info->getInternalPath() === '' && $info->getMountPoint() instanceof IMovableMount) {
$rootEntry = $storage->getCache()->get('');
$isWritable = $rootEntry->getPermissions() & Constants::PERMISSION_UPDATE;
} else {
$isWritable = $permissions & Constants::PERMISSION_UPDATE;
}
if ($info->getType() === FileInfo::TYPE_FILE) {
if ($isWritable) {
$p .= 'W';
}
} else {
if ($permissions & Constants::PERMISSION_CREATE) {
$p .= 'CK';
}
}
return $p;
}
}
new-wording-better-than-delete-and-unshare
Nextcloud server, a safe home for all your data: https://github.com/nextcloud/server | www-data |
blob: 563d9e33325fa3992c940f4ce97a72afe9138c1d (
plain)