PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.3.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.3.0
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Access / RolesProvider.php
matomo / app / core / Access Last commit date
Role 5 years ago CapabilitiesProvider.php 5 years ago Capability.php 5 years ago Role.php 5 years ago RolesProvider.php 5 years ago
RolesProvider.php
67 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9 namespace Piwik\Access;
10
11 use Piwik\Access\Role\Admin;
12 use Piwik\Access\Role\View;
13 use Piwik\Access\Role\Write;
14 use Piwik\Piwik;
15 use Exception;
16
17 class RolesProvider
18 {
19 /**
20 * @return Role[]
21 */
22 public function getAllRoles(): array
23 {
24 return array(
25 new View(),
26 new Write(),
27 new Admin()
28 );
29 }
30
31 /**
32 * Returns the list of the existing Access level.
33 * Useful when a given API method requests a given access Level.
34 * We first check that the required access level exists.
35 *
36 * @return string[]
37 */
38 public function getAllRoleIds(): array
39 {
40 $ids = array();
41 foreach ($this->getAllRoles() as $role) {
42 $ids[] = $role->getId();
43 }
44 return $ids;
45 }
46
47 public function isValidRole(string $roleId): bool
48 {
49 $roles = $this->getAllRoleIds();
50
51 return \in_array($roleId, $roles, true);
52 }
53
54 /**
55 * @param $roleId
56 * @throws Exception
57 */
58 public function checkValidRole(string $roleId): void
59 {
60 if (!$this->isValidRole($roleId)) {
61 $roles = $this->getAllRoleIds();
62 throw new Exception(Piwik::translate("UsersManager_ExceptionAccessValues", implode(", ", $roles)));
63 }
64 }
65
66 }
67