GroupComponent::isValid()   A
last analyzed

Complexity

Conditions 4
Paths 3

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
rs 9.2
cc 4
eloc 5
nc 3
nop 0
1
<?php
2
3
namespace fieldwork\components;
4
5
class GroupComponent extends Component
6
{
7
8
    public function getHTML ($beforeTpl = '', $after = '', $prefix = '', $suffix = '')
9
    {
10
        $html = '';
11
        foreach ($this->children as $component)
12
            /* @var $component static */
13
            if ($component->isActive()) {
14
                $componentHTML = (
15
                ($component->isVisible() || $component->renderWhenHidden() == Field::RM_DEFAULT) ?
16
                    $component->getHTML() :
17
                    ($component->renderWhenHidden() == Field::RM_HIDDENFIELD ? $component->renderHiddenField() : '')
18
                );
19
                $globalSlug    = $component->getGlobalSlug();
20
                $before        = str_replace('%slug%', $globalSlug, $beforeTpl);
21
                $before        = str_replace('%classes%', implode(' ', $component->getWrapperClasses()), $before);
22
                $inner         = $component->isVisible() ? ($before . $componentHTML . $after) : $component->getHTML();
23
                $html .= $prefix . ($inner) . $suffix;
24
            }
25
26
        return $html;
27
    }
28
29
    public function isValid ()
30
    {
31
        foreach ($this->children as $component)
32
            /* @var $component Component */
33
            if (!$component->isValid() && $component->isActive())
34
                return false;
35
        return true;
36
    }
37
38
}