ContactForms   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 7
eloc 20
c 1
b 0
f 0
dl 0
loc 35
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A nameSpacesRequired() 0 13 4
A getCalculatedAnswer() 0 14 3
1
<?php
2
3
namespace Sunnysideup\HealthCheckProvider\Checks\Content;
4
5
use Sunnysideup\HealthCheckProvider\Checks\HealthCheckItemRunner;
6
7
class ContactForms extends HealthCheckItemRunner
8
{
9
    private static $contact_form_classes = [
0 ignored issues
show
introduced by
The private property $contact_form_classes is not used, and could be removed.
Loading history...
10
        'SilverStripe\\UserForms\\Model\\UserDefinedForm',
11
    ];
12
13
    public function getCalculatedAnswer(): array
14
    {
15
        $classesToCheck = $this->Config()->get('contact_form_classes');
16
        $listOfContactFormLinks = [];
17
        foreach ($classesToCheck as $className) {
18
            if (class_exists($className)) {
19
                $pages = $className::get();
20
                $listOfContactFormLinks = array_merge(
21
                    $listOfContactFormLinks,
22
                    $this->turnPagesIntoArray($pages)
23
                );
24
            }
25
        }
26
        return array_values($listOfContactFormLinks);
27
    }
28
29
    protected function nameSpacesRequired(): array
30
    {
31
        $array = [];
32
        foreach ($this->Config()->get('contact_form_classes') as $className) {
33
            $explode = explode('\\', $className);
34
            if (count($explode) === 1) {
35
                $array[] = $className;
36
            } elseif (count($explode) > 2) {
37
                $array[] = $className[0] . '\\' . $className[1];
38
            }
39
        }
40
41
        return $array;
42
    }
43
}
44