WhoHasFullAccessRightsToSite   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 4
eloc 14
c 2
b 0
f 0
dl 0
loc 24
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A getCalculatedAnswer() 0 18 4
1
<?php
2
3
namespace Sunnysideup\HealthCheckProvider\Checks\Security;
4
5
use SilverStripe\Security\Permission;
6
use Sunnysideup\HealthCheckProvider\Checks\HealthCheckItemRunner;
7
8
class WhoHasFullAccessRightsToSite extends HealthCheckItemRunner
9
{
10
    private static $access_code = [
0 ignored issues
show
introduced by
The private property $access_code is not used, and could be removed.
Loading history...
11
        'ADMIN',
12
    ];
13
14
    public function getCalculatedAnswer(): array
15
    {
16
        $array = [];
17
        $groups = Permission::get_groups_by_permission($this->Config()->get('access_code'));
18
        foreach ($groups as $group) {
19
            if ($group->Members()->count()) {
20
                $members = $group->Members();
21
                foreach ($members as $member) {
22
                    $array[$member->ID] = [
23
                        'ID' => $member->ID,
24
                        'Name' => $member->getTitle(),
25
                        'Email' => $member->Email,
26
                    ];
27
                }
28
            }
29
        }
30
31
        return array_values($array);
32
    }
33
}
34