| <?php |
|
|
| namespace Kanboard\Middleware; |
|
|
| use Kanboard\Core\Controller\AccessForbiddenException; |
| use Kanboard\Core\Controller\BaseMiddleware; |
|
|
| |
| |
| |
| |
| |
| |
| class ProjectAuthorizationMiddleware extends BaseMiddleware |
| { |
| |
| |
| |
| public function execute() |
| { |
| $project_id = $this->request->getIntegerParam('project_id'); |
| $task_id = $this->request->getIntegerParam('task_id'); |
|
|
| if ($task_id > 0 && $project_id === 0) { |
| $project_id = $this->taskFinderModel->getProjectId($task_id); |
| } |
|
|
| if ($project_id > 0 && ! $this->helper->user->hasProjectAccess($this->router->getController(), $this->router->getAction(), $project_id)) { |
| throw new AccessForbiddenException(); |
| } |
|
|
| $this->next(); |
| } |
| } |
|
|