getCalculatedAnswer()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 18
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 11
c 2
b 0
f 0
dl 0
loc 18
rs 9.9
cc 4
nc 4
nop 0
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