/** * Check user access to folder or file * * @param \Ameos\AmeosFilemanager\Domain\Model\File $file * @param \Ameos\AmeosFilemanager\Domain\Model\_Folder $folder * @param string $right * @param array $arguments Arguments * @return string the rendered string */ public function render($file = null, $folder = null, $right = null, $arguments = null) { $user = $GLOBALS['TSFE']->fe_user->user; if ($file == null && $folder == null || $right == null) { return $this->renderElseChild(); } if ($folder != null) { if ($right == "r") { return Tools::userHasFolderReadAccess($user, $folder, $arguments) ? $this->renderThenChild() : $this->renderElseChild(); } else { if ($right == "w") { return Tools::userHasFolderWriteAccess($user, $folder, $arguments) ? $this->renderThenChild() : $this->renderElseChild(); } else { return $this->renderElseChild(); } } } else { if ($file != null) { if ($right == "r") { return Tools::userHasFileReadAccess($user, $file, $arguments) ? $this->renderThenChild() : $this->renderElseChild(); } else { if ($right == "w") { return Tools::userHasFileWriteAccess($user, $file, $arguments) ? $this->renderThenChild() : $this->renderElseChild(); } else { return $this->renderElseChild(); } } } else { return $this->renderElseChild(); } } return $this->renderElseChild(); }
/** * Delete the folder given in arguments * * @return void */ public function deleteFolderAction() { if ($this->request->hasArgument('folder')) { $folder = $this->folderRepository->findByUid($this->request->getArgument('folder')); if ($folder && Tools::userHasFolderWriteAccess($this->user, $folder, array('folderRoot' => $this->startFolder))) { if ($folder->getIdentifier()) { $ebFolder = $this->storage->getFolder($folder->getIdentifier()); $this->storage->deleteFolder($ebFolder); $this->folderRepository->remove($folder); } } } }