diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2014-12-27 15:41:37 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2014-12-31 11:43:28 +0100 |
commit | c1f9b1f7b1b77776192048005dcc66dcf3df2bfb (patch) | |
tree | 2b38796e738dd74cb42ecd9bfd151803108386bc /includes/htmlform/HTMLTextField.php | |
parent | b88ab0086858470dd1f644e64cb4e4f62bb2be9b (diff) |
Update to MediaWiki 1.24.1
Diffstat (limited to 'includes/htmlform/HTMLTextField.php')
-rw-r--r-- | includes/htmlform/HTMLTextField.php | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/includes/htmlform/HTMLTextField.php b/includes/htmlform/HTMLTextField.php new file mode 100644 index 00000000..10bc67f0 --- /dev/null +++ b/includes/htmlform/HTMLTextField.php @@ -0,0 +1,65 @@ +<?php + +class HTMLTextField extends HTMLFormField { + function getSize() { + return isset( $this->mParams['size'] ) ? $this->mParams['size'] : 45; + } + + function getInputHTML( $value ) { + $attribs = array( + 'id' => $this->mID, + 'name' => $this->mName, + 'size' => $this->getSize(), + 'value' => $value, + ) + $this->getTooltipAndAccessKey(); + + if ( $this->mClass !== '' ) { + $attribs['class'] = $this->mClass; + } + + # @todo Enforce pattern, step, required, readonly on the server side as + # well + $allowedParams = array( + 'min', + 'max', + 'pattern', + 'title', + 'step', + 'placeholder', + 'list', + 'maxlength', + 'tabindex', + 'disabled', + 'required', + 'autofocus', + 'multiple', + 'readonly' + ); + + $attribs += $this->getAttributes( $allowedParams ); + + # Implement tiny differences between some field variants + # here, rather than creating a new class for each one which + # is essentially just a clone of this one. + $type = 'text'; + if ( isset( $this->mParams['type'] ) ) { + switch ( $this->mParams['type'] ) { + case 'int': + $type = 'number'; + break; + case 'float': + $type = 'number'; + $attribs['step'] = 'any'; + break; + # Pass through + case 'email': + case 'password': + case 'file': + case 'url': + $type = $this->mParams['type']; + break; + } + } + return Html::input( $this->mName, $value, $type, $attribs ); + } +} |