-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
FieldSet.php
80 lines (72 loc) · 1.68 KB
/
FieldSet.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
declare(strict_types=1);
namespace Ease\Html;
/**
* @author Vítězslav Dvořák <info@vitexsoftware.cz>, Jana Viktorie Borbina <jana@borbina.com>
*
* Html Fieldset.
*/
class FieldSet extends PairTag
{
/**
* Frame legend.
*
* @var mixed
*/
public $legend = null;
/**
* Object with legend tag.
*
* @var PairTag
*/
public $legendTag = null;
/**
* Frame content.
*
* @var mixed
*/
public $content = null;
/**
* Displays the frame.
*
* @param string|mixed $legend frame title in text format or ease framework object
* @param mixed $content elements inserted into the frame
*/
public function __construct($legend, $content = null)
{
$this->setTagName($legend);
$this->legend = $legend;
$this->legendTag = $this->addItem(new PairTag(
'legend',
null,
$this->legend
));
if ($content) {
$this->content = $this->addItem($content);
}
parent::__construct('fieldset');
}
/**
* Legend settings.
*
* @param string $legend description
*/
public function setLegend($legend)
{
$this->legend = $legend;
}
/**
* Inserts the legend.
*/
public function finalize()
{
if ($this->legend) {
if (is_object(reset($this->pageParts))) {
reset($this->pageParts)->pageParts = [$this->legend];
} else {
array_unshift($this->pageParts, $this->legendTag);
reset($this->pageParts)->pageParts = [$this->legend];
}
}
}
}