PDF rausgenommen
This commit is contained in:
62
msd2/tracking/piwik/core/Access/RolesProvider.php
Normal file
62
msd2/tracking/piwik/core/Access/RolesProvider.php
Normal file
@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Access;
|
||||
|
||||
use Piwik\Access\Role\Admin;
|
||||
use Piwik\Access\Role\View;
|
||||
use Piwik\Access\Role\Write;
|
||||
use Piwik\Piwik;
|
||||
use Exception;
|
||||
|
||||
class RolesProvider
|
||||
{
|
||||
/**
|
||||
* @return Role[]
|
||||
*/
|
||||
public function getAllRoles()
|
||||
{
|
||||
return array(
|
||||
new View(),
|
||||
new Write(),
|
||||
new Admin()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of the existing Access level.
|
||||
* Useful when a given API method requests a given acccess Level.
|
||||
* We first check that the required access level exists.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getAllRoleIds()
|
||||
{
|
||||
$ids = array();
|
||||
foreach ($this->getAllRoles() as $role) {
|
||||
$ids[] = $role->getId();
|
||||
}
|
||||
return $ids;
|
||||
}
|
||||
|
||||
public function isValidRole($roleId)
|
||||
{
|
||||
$roles = $this->getAllRoleIds();
|
||||
|
||||
return in_array($roleId, $roles, true);
|
||||
}
|
||||
|
||||
public function checkValidRole($roleId)
|
||||
{
|
||||
if (!$this->isValidRole($roleId)) {
|
||||
$roles = $this->getAllRoleIds();
|
||||
throw new Exception(Piwik::translate("UsersManager_ExceptionAccessValues", implode(", ", $roles)));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user