getSubsiteDescription()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.9332
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace SilverStripe\SecurityReport\Subsites;
4
5
use SilverStripe\ORM\DataExtension;
6
use SilverStripe\Subsites\Model\Subsite;
7
8
/**
9
 * Adds 'SubsiteDescription' for to show which subsites this Member has edit access to
10
 *
11
 * @author Damian Mooyman <[email protected]>
12
 */
13
class SubsiteMemberReportExtension extends DataExtension
14
{
15
    
16
    /**
17
     * Set cast of additional field
18
     *
19
     * @var array
20
     * @config
21
     */
22
    private static $casting = array(
23
        'SubsiteDescription' => 'Text'
24
    );
25
    
26
    /**
27
     * Default permission to filter for
28
     *
29
     * @var string
30
     * @config
31
     */
32
    private static $subsite_description_permission = 'SITETREE_EDIT_ALL';
33
    
34
    /**
35
     * Describes the subsites this user has SITETREE_EDIT_ALL access to
36
     *
37
     * @return string
38
     */
39
    public function getSubsiteDescription()
40
    {
41
        $subsites = Subsite::accessible_sites(
42
            $this->owner->config()->get('subsite_description_permission'),
43
            true,
44
            "Main site",
45
            $this->owner
46
        );
47
        return implode(', ', $subsites->column('Title'));
48
    }
49
}
50