ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilObjFileServicesAccess.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /******************************************************************************
6  *
7  * This file is part of ILIAS, a powerful learning management system.
8  *
9  * ILIAS is licensed with the GPL-3.0, you should have received a copy
10  * of said license along with the source code.
11  *
12  * If this is not the case or you just want to try ILIAS, you'll find
13  * us at:
14  * https://www.ilias.de
15  * https://github.com/ILIAS-eLearning
16  *
17  *****************************************************************************/
18 
20 
26 {
27  private Services $http;
28  private \ilRbacSystem $rbacsystem;
29 
33  public function __construct()
34  {
35  global $DIC;
36  $this->rbacsystem = $DIC->rbac()->system();
37  $this->http = $DIC->http();
38  }
39 
40  public function checkAccessAndThrowException(string $permission): void
41  {
42  if (!$this->hasUserPermissionTo($permission)) {
43  throw new ilException('Permission denied');
44  }
45  }
46 
47 
48  public function hasUserPermissionTo(string $permission): bool
49  {
50  return $this->rbacsystem->checkAccess($permission, $this->http->request()->getQueryParams()['ref_id']);
51  }
52 }
checkAccessAndThrowException(string $permission)
Class ilObjFileServicesAccess.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
static http()
Fetches the global http state from ILIAS.
__construct()
ilObjFileServicesAccess constructor.