PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.0.7
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.0.7
5.13.0 5.12.1 5.12.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 2 years ago CapabilitiesProvider.php 2 years ago Capability.php 2 years ago Role.php 2 years ago RolesProvider.php 2 years ago
RolesProvider.php
58 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 *
9 */
10 namespace Piwik\Access;
11
12 use Piwik\Access\Role\Admin;
13 use Piwik\Access\Role\View;
14 use Piwik\Access\Role\Write;
15 use Piwik\Piwik;
16 use Exception;
17 class RolesProvider
18 {
19 /**
20 * @return Role[]
21 */
22 public function getAllRoles() : array
23 {
24 return array(new View(), new Write(), new Admin());
25 }
26 /**
27 * Returns the list of the existing Access level.
28 * Useful when a given API method requests a given access Level.
29 * We first check that the required access level exists.
30 *
31 * @return string[]
32 */
33 public function getAllRoleIds() : array
34 {
35 $ids = array();
36 foreach ($this->getAllRoles() as $role) {
37 $ids[] = $role->getId();
38 }
39 return $ids;
40 }
41 public function isValidRole(string $roleId) : bool
42 {
43 $roles = $this->getAllRoleIds();
44 return \in_array($roleId, $roles, true);
45 }
46 /**
47 * @param $roleId
48 * @throws Exception
49 */
50 public function checkValidRole(string $roleId) : void
51 {
52 if (!$this->isValidRole($roleId)) {
53 $roles = $this->getAllRoleIds();
54 throw new Exception(Piwik::translate("UsersManager_ExceptionAccessValues", [implode(", ", $roles), $roleId]));
55 }
56 }
57 }
58