range_id); $user = User::find($user_id); if (($resource instanceof Resource) && ($user instanceof User)) { return true; } elseif ($user instanceof User) { //Check global permissions: return ResourceManager::userHasGlobalPermission( $user, 'admin' ); } return false; } public function isReadable($user_id) { if ($user_id == 'nobody') { return false; } //Get the resource object: $resource = Resource::find($this->range_id); $user = User::find($user_id); if (($resource instanceof Resource) && ($user instanceof User)) { return true; } elseif ($user instanceof User) { //Check global permissions: return ResourceManager::userHasGlobalPermission( $user, 'admin' ); } return false; } public function isWritable($user_id) { $user = User::find($user_id); //Check global permissions: The user has to be //a global resource admin or a root user. return ResourceManager::userHasGlobalPermission( $user, 'admin' ); } public function isEditable($user_id) { //Thou shalt not edit ResourceFolder folder types! return false; } public function isSubfolderAllowed($user_id) { //Furthermore, thou shalt not create subfolders in a Resource folder! return false; } public function getSubfolder() { //No subfolders allowed, resulting in: return []; } public function getEditTemplate() { return ''; } public function setDataFromEditTemplate($folderdata) { return MessageBox::error( _('Ressourcenordner dürfen nicht geändert werden!') ); } public function createSubfolder(FolderType $foldertype) { //No subfolders allowed, resulting in: return null; } public function deleteSubfolder($subfolder_id) { //No subfolders allowed, resulting in: return false; } public function isFileDownloadable($file_ref_id, $user_id) { return $this->isReadable($user_id); } public function isFileEditable($file_ref_id, $user_id) { return $this->isWritable($user_id); } public function isFileWritable($file_ref_id, $user_id) { return $this->isWritable($user_id); } }