Conditions | 4 |
Paths | 4 |
Total Lines | 18 |
Code Lines | 10 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php |
||
38 | private function resolveRoleHierarchy(array $roles, array $alreadySolvedRoles = []): array |
||
39 | { |
||
40 | foreach ($roles as $role) { |
||
41 | if (isset($this->roleHierarchy[$role])) { |
||
42 | if (in_array($role, $alreadySolvedRoles, true)) { |
||
43 | continue; |
||
44 | } |
||
45 | |||
46 | $alreadySolvedRoles[] = $role; |
||
47 | $resolveRoles = $this->resolveRoleHierarchy($this->roleHierarchy[$role], $alreadySolvedRoles); |
||
48 | $roles = array_merge($roles, $resolveRoles); |
||
49 | } |
||
50 | } |
||
51 | |||
52 | sort($roles); |
||
53 | |||
54 | return array_unique($roles); |
||
55 | } |
||
56 | } |
||
57 |