2013-11-19 12:55:50 +00:00
|
|
|
<?php
|
2013-11-19 13:08:16 +00:00
|
|
|
|
2013-11-19 12:55:50 +00:00
|
|
|
class HTMLHiddenField extends HTMLFormField {
|
2014-10-09 17:21:31 +00:00
|
|
|
protected $outputAsDefault = true;
|
|
|
|
|
|
2013-11-19 12:55:50 +00:00
|
|
|
public function __construct( $params ) {
|
|
|
|
|
parent::__construct( $params );
|
|
|
|
|
|
2014-10-09 17:21:31 +00:00
|
|
|
if ( isset( $this->mParams['output-as-default'] ) ) {
|
|
|
|
|
$this->outputAsDefault = (bool)$this->mParams['output-as-default'];
|
|
|
|
|
}
|
|
|
|
|
|
2013-11-19 12:55:50 +00:00
|
|
|
# Per HTML5 spec, hidden fields cannot be 'required'
|
2016-10-13 05:34:26 +00:00
|
|
|
# https://www.w3.org/TR/html5/forms.html#hidden-state-%28type=hidden%29
|
2013-11-19 13:08:16 +00:00
|
|
|
unset( $this->mParams['required'] );
|
2013-11-19 12:55:50 +00:00
|
|
|
}
|
|
|
|
|
|
2014-10-09 17:21:31 +00:00
|
|
|
public function getHiddenFieldData( $value ) {
|
2016-02-17 09:09:32 +00:00
|
|
|
$params = [];
|
2013-11-19 12:55:50 +00:00
|
|
|
if ( $this->mID ) {
|
2013-11-19 13:08:16 +00:00
|
|
|
$params['id'] = $this->mID;
|
2013-11-19 12:55:50 +00:00
|
|
|
}
|
|
|
|
|
|
2014-10-09 17:21:31 +00:00
|
|
|
if ( $this->outputAsDefault ) {
|
|
|
|
|
$value = $this->mDefault;
|
|
|
|
|
}
|
|
|
|
|
|
2016-02-17 09:09:32 +00:00
|
|
|
return [ $this->mName, $value, $params ];
|
2014-10-09 17:21:31 +00:00
|
|
|
}
|
2013-11-19 12:55:50 +00:00
|
|
|
|
2014-10-09 17:21:31 +00:00
|
|
|
public function getTableRow( $value ) {
|
|
|
|
|
list( $name, $value, $params ) = $this->getHiddenFieldData( $value );
|
|
|
|
|
$this->mParent->addHiddenField( $name, $value, $params );
|
2013-11-19 12:55:50 +00:00
|
|
|
return '';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2014-08-14 18:22:52 +00:00
|
|
|
* @param string $value
|
|
|
|
|
* @return string
|
2013-11-19 12:55:50 +00:00
|
|
|
* @since 1.20
|
|
|
|
|
*/
|
|
|
|
|
public function getDiv( $value ) {
|
|
|
|
|
return $this->getTableRow( $value );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2014-08-14 18:22:52 +00:00
|
|
|
* @param string $value
|
|
|
|
|
* @return string
|
2013-11-19 12:55:50 +00:00
|
|
|
* @since 1.20
|
|
|
|
|
*/
|
|
|
|
|
public function getRaw( $value ) {
|
|
|
|
|
return $this->getTableRow( $value );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getInputHTML( $value ) {
|
|
|
|
|
return '';
|
|
|
|
|
}
|
2015-09-15 21:49:25 +00:00
|
|
|
|
|
|
|
|
public function canDisplayErrors() {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2015-11-04 18:38:01 +00:00
|
|
|
|
|
|
|
|
public function hasVisibleOutput() {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2013-11-19 13:08:16 +00:00
|
|
|
}
|