Source for file text.php
Documentation is available at text.php
* @package Joomla.Platform
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
* Form Field class for the Joomla Platform.
* Supports a one line text field.
* @package Joomla.Platform
* @link http://www.w3.org/TR/html-markup/input.text.html#input.text
protected $type =
'Text';
* The allowable maxlength of the field.
* The mode of input associated with the field.
* The name of the form field direction (ltr or rtl).
* Method to get certain otherwise inaccessible properties from the form field object.
* @param string $name The property name for which to the the value.
* @return mixed The property value or null.
public function __get($name)
return parent::__get($name);
* Method to set certain otherwise inaccessible properties of the form field object.
* @param string $name The property name for which to the the value.
* @param mixed $value The value of the property.
public function __set($name, $value)
$value = (string)
$value;
$value =
($value ==
$name ||
$value ==
'true' ||
$value ==
'1');
$this->name = (string)
$value;
parent::__set($name, $value);
* Method to attach a JForm object to the field.
* @param SimpleXMLElement $element The SimpleXMLElement object representing the <field /> tag for the form field object.
* @param mixed $value The form field value to validate.
* @param string $group The field name group control value. This acts as as an array container for the field.
* For example if the field has name="foo" and the group value is set to "bar" then the
* full field name would end up being "bar[foo]".
* @return boolean True on success.
* @see JFormField::setup()
public function setup(SimpleXMLElement $element, $value, $group =
null)
$result =
parent::setup($element, $value, $group);
$inputmode = (string)
$this->element['inputmode'];
$dirname = (string)
$this->element['dirname'];
$inputmode =
explode(' ', $inputmode);
$defaultInputmode =
in_array('default', $inputmode) ?
JText::_("JLIB_FORM_INPUTMODE") .
' ' :
'';
foreach (array_keys($inputmode, 'default') as $key)
$dirname =
((string)
$dirname ==
'dirname' ||
$dirname ==
'true' ||
$dirname ==
'1');
* Method to get the field input markup.
* @return string The field input markup.
// Translate placeholder text
// Initialize some field attributes.
$size =
!empty($this->size) ?
' size="' .
$this->size .
'"' :
'';
$class =
!empty($this->class) ?
' class="' .
$this->class .
'"' :
'';
$readonly =
$this->readonly ?
' readonly' :
'';
$disabled =
$this->disabled ?
' disabled' :
'';
$required =
$this->required ?
' required aria-required="true"' :
'';
$hint =
$hint ?
' placeholder="' .
$hint .
'"' :
'';
$autocomplete =
$autocomplete ==
' autocomplete="on"' ?
'' :
$autocomplete;
$autofocus =
$this->autofocus ?
' autofocus' :
'';
$spellcheck =
$this->spellcheck ?
'' :
' spellcheck="false"';
$pattern =
!empty($this->pattern) ?
' pattern="' .
$this->pattern .
'"' :
'';
$dirname =
!empty($this->dirname) ?
' dirname="' .
$this->dirname .
'"' :
'';
// Initialize JavaScript field attributes.
$onchange =
!empty($this->onchange) ?
' onchange="' .
$this->onchange .
'"' :
'';
// Including fallback code for HTML5 non supported browsers.
JHtml::_('script', 'system/html5fallback.js', false, true);
// Get the field suggestions.
$html[] =
JHtml::_('select.suggestionlist', $options, 'value', 'text', $this->id .
'_datalist"');
$list =
' list="' .
$this->id .
'_datalist"';
$html[] =
'<input type="text" name="' .
$this->name .
'" id="' .
$this->id .
'"' .
$dirname .
' value="'
.
htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') .
'"' .
$class .
$size .
$disabled .
$readonly .
$list
.
$hint .
$onchange .
$maxLength .
$required .
$autocomplete .
$autofocus .
$spellcheck .
$inputmode .
$pattern .
' />';
* Method to get the field suggestions.
* @return array The field option objects.
foreach ($this->element->children() as $option)
// Only add <option /> elements.
if ($option->getName() !=
'option')
// Create a new option object based on the <option /> element.
'select.option', (string)
$option['value'],
Documentation generated on Tue, 19 Nov 2013 15:15:39 +0100 by phpDocumentor 1.4.3