Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 20 |
|
0.00% |
0 / 9 |
CRAP | |
0.00% |
0 / 1 |
HTMLHiddenField | |
0.00% |
0 / 19 |
|
0.00% |
0 / 9 |
156 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 4 |
|
0.00% |
0 / 1 |
6 | |||
getHiddenFieldData | |
0.00% |
0 / 6 |
|
0.00% |
0 / 1 |
12 | |||
getTableRow | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
2 | |||
getDiv | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getRaw | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getCodex | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getInputHTML | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
canDisplayErrors | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
hasVisibleOutput | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace MediaWiki\HTMLForm\Field; |
4 | |
5 | use MediaWiki\HTMLForm\HTMLFormField; |
6 | |
7 | /* |
8 | * @stable to extend |
9 | */ |
10 | class HTMLHiddenField extends HTMLFormField { |
11 | protected $outputAsDefault = true; |
12 | |
13 | /** |
14 | * @stable to call |
15 | * @inheritDoc |
16 | */ |
17 | public function __construct( $params ) { |
18 | parent::__construct( $params ); |
19 | |
20 | if ( isset( $this->mParams['output-as-default'] ) ) { |
21 | $this->outputAsDefault = (bool)$this->mParams['output-as-default']; |
22 | } |
23 | |
24 | # Per HTML5 spec, hidden fields cannot be 'required' |
25 | # https://www.w3.org/TR/html5/forms.html#hidden-state-%28type=hidden%29 |
26 | unset( $this->mParams['required'] ); |
27 | } |
28 | |
29 | public function getHiddenFieldData( $value ) { |
30 | $params = []; |
31 | if ( $this->mID ) { |
32 | $params['id'] = $this->mID; |
33 | } |
34 | |
35 | if ( $this->outputAsDefault ) { |
36 | $value = $this->mDefault; |
37 | } |
38 | |
39 | return [ $this->mName, $value, $params ]; |
40 | } |
41 | |
42 | public function getTableRow( $value ) { |
43 | [ $name, $value, $params ] = $this->getHiddenFieldData( $value ); |
44 | $this->mParent->addHiddenField( $name, $value, $params ); |
45 | return ''; |
46 | } |
47 | |
48 | /** |
49 | * @param string $value |
50 | * @return string |
51 | * @since 1.20 |
52 | */ |
53 | public function getDiv( $value ) { |
54 | return $this->getTableRow( $value ); |
55 | } |
56 | |
57 | /** |
58 | * @param string $value |
59 | * @return string |
60 | * @since 1.20 |
61 | */ |
62 | public function getRaw( $value ) { |
63 | return $this->getTableRow( $value ); |
64 | } |
65 | |
66 | public function getCodex( $value ) { |
67 | return $this->getTableRow( $value ); |
68 | } |
69 | |
70 | public function getInputHTML( $value ) { |
71 | return ''; |
72 | } |
73 | |
74 | public function canDisplayErrors() { |
75 | return false; |
76 | } |
77 | |
78 | public function hasVisibleOutput() { |
79 | return false; |
80 | } |
81 | } |
82 | |
83 | /** @deprecated class alias since 1.42 */ |
84 | class_alias( HTMLHiddenField::class, 'HTMLHiddenField' ); |