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