Issues (98)

Checks/Security/WhoHasFullAccessRightsToSite.php (1 issue)

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
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