Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
6 / 6 |
| RoleHierarchyHelper | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
3 | |
100.00% |
6 / 6 |
| getTopLevelRole | |
100.00% |
1 / 1 |
3 | |
100.00% |
6 / 6 |
|||
| <?php | |
| /* | |
| * This file is part of the Incipio package. | |
| * | |
| * (c) Théo FIDRY <theo.fidry@gmail.com> | |
| * | |
| * For the full copyright and license information, please view the LICENSE | |
| * file that was distributed with this source code. | |
| */ | |
| namespace FrontBundle\Utils; | |
| /** | |
| * Helper to manipulate Symfony's roles. | |
| * | |
| * @author Théo FIDRY <theo.fidry@gmail.com> | |
| */ | |
| class RoleHierarchyHelper | |
| { | |
| /** | |
| * @var array List of roles ordered in descending order of level access granted. | |
| */ | |
| public static $roles = [ | |
| 'ROLE_SUPER_ADMIN' => null, | |
| 'ROLE_ADMIN' => null, | |
| 'ROLE_USER' => null, | |
| ]; | |
| /** | |
| * Extract the top level role from a list of roles. | |
| * | |
| * @param array $roles List of roles. | |
| * | |
| * @return null|string | |
| */ | |
| public static function getTopLevelRole(array $roles) | |
| { | |
| $roles = array_flip(array_values($roles)); | |
| foreach (self::$roles as $topRole => $null) { | |
| if (isset($roles[$topRole])) { | |
| return $topRole; | |
| } | |
| } | |
| return; | |
| } | |
| } |