Passed
Push — master ( 68d467...3da7f9 )
by Mikael
02:33
created

FormElementRadio::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 2
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
ccs 0
cts 4
cp 0
crap 2
1
<?php
2
3
namespace Anax\HTMLForm;
4
5
/**
6
 * Form element
7
 */
8
class FormElementRadio extends FormElement
9
{
10
    /**
11
     * Constructor
12
     *
13
     * @param string $name       of the element.
14
     * @param array  $attributes to set to the element. Default is an empty array.
15
     */
16
    public function __construct($name, $attributes = [])
17
    {
18
        parent::__construct($name, $attributes);
19
        $this['type']     = 'radio';
20
    }
21
22
23
24
    /**
25
     * Get HTML code for a element.
26
     *
27
     * @return string HTML code for the element.
28
     *
29
     * @SuppressWarnings(PHPMD.UnusedLocalVariable)
30
     */
31
    public function getHTML()
32
    {
33
        $details = $this->getHTMLDetails();
34
        extract($details);
35
36
        $ret = null;
37
        foreach ($this['values'] as $val) {
38
            $id .= $val;
39
            $item = $onlyValue  = htmlentities($val, ENT_QUOTES, $this->characterEncoding);
40
            $value = " value='{$onlyValue}'";
41
            $checked = isset($this['checked']) && $val === $this['checked']
42
                ? " checked='checked'"
43
                : null;
44
45
            $ret .= <<<EOD
46
<{$wrapperElement}{$wrapperClass}>
47
<input id='$id'{$type}{$class}{$name}{$value}{$autofocus}{$readonly}{$checked}{$title} />
48
<label for='$id'>$item</label>
49
{$messages}
50
</{$wrapperElement}>
51
EOD;
52
        }
53
54
        return <<<EOD
55
<{$wrapperElement}{$wrapperClass}>
56
<p class='cf-label'>{$label}</p>
57
{$ret}
58
<p class='cf-desc'>{$description}</p>
59
</{$wrapperElement}>
60
EOD;
61
    }
62
}
63