/** * 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 file given in arguments * * @return void */ public function deleteFileAction() { if ($this->request->hasArgument('file')) { $file = $this->fileRepository->findByUid($this->request->getArgument('file')); if ($file && Tools::userHasFileWriteAccess($this->user, $file, array('folderRoot' => $this->startFolder))) { $this->storage->deleteFile($file->getOriginalResource()); } } }