Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
RightsLevelManager
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
4
100.00% covered (success)
100.00%
1 / 1
 getLevel
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
4
1<?php
2
3namespace BO\Zmsentities\Helper;
4
5/**
6 * Special Class to manage rights by level for old db
7 *
8 * @todo Remove this class, keep no contraint on old DB schema in zmsentities
9 */
10class RightsLevelManager
11{
12    public static $possibleRights = array(
13        'superuser' => 90,
14        'organisation' => 70,
15        'department' => 50,
16        'cluster' => 40,
17        'useraccount' => 40,
18        'scope' => 30,
19        'availability' => 20,
20        'ticketprinter' => 15,
21        'sms' => 10,
22        'audit' => 5,
23        'basic' => 0
24    );
25
26    public static $accessRights = array(
27        'superuser' => 1,
28        'audit' => 1,
29        'organisation' => 1,
30        'department' => 1,
31        'scope' => 1
32    );
33
34    public static function getLevel($userRights)
35    {
36        $rightsLevel = 0;
37        foreach ($userRights as $rightName => $isSelected) {
38            $level = self::$possibleRights[$rightName];
39            if ($isSelected && $level > $rightsLevel) {
40                $rightsLevel = $level;
41            }
42        }
43        return $rightsLevel;
44    }
45}