Source for file color.php
Documentation is available at color.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
* Color Form Field class for the Joomla Platform.
* This implementation is designed to be compatible with HTML5's <input type="color">
* @package Joomla.Platform
* @link http://www.w3.org/TR/html-markup/input.color.html
protected $type =
'Color';
* 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)
$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)
$return =
parent::setup($element, $value, $group);
* Method to get the field input markup.
* @return string The field input markup.
// Translate placeholder text
// Control value can be: hue (default), saturation, brightness, wheel or simple
// Position of the panel can be: right (default), left, top or bottom
$position =
' data-position="' .
$this->position .
'"';
$onchange =
!empty($this->onchange) ?
' onchange="' .
$this->onchange .
'"' :
'';
$required =
$this->required ?
' required aria-required="true"' :
'';
$disabled =
$this->disabled ?
' disabled' :
'';
$autofocus =
$this->autofocus ?
' autofocus' :
'';
if (!$color ||
in_array($color, array('none', 'transparent')))
elseif ($color['0'] !=
'#')
if ($control ==
'simple')
$class =
' class="' .
trim('simplecolors chzn-done ' .
$class) .
'"';
JHtml::_('behavior.simplecolorpicker');
$split =
$split ?
$split :
3;
$html[] =
'<select name="' .
$this->name .
'" id="' .
$this->id .
'"' .
$disabled .
$required
.
$class .
$position .
$onchange .
$autofocus .
' style="visibility:hidden;width:22px;height:1px">';
foreach ($colors as $i =>
$c)
$html[] =
'<option' .
($c ==
$color ?
' selected="selected"' :
'') .
'>' .
$c .
'</option>';
if (($i +
1) %
$split ==
0)
$html[] =
'<option>-</option>';
$class =
' class="' .
trim('minicolors ' .
$class) .
'"';
$control =
$control ?
' data-control="' .
$control .
'"' :
'';
$readonly =
$this->readonly ?
' readonly' :
'';
$hint =
$hint ?
' placeholder="' .
$hint .
'"' :
' placeholder="#rrggbb"';
$autocomplete =
!$this->autocomplete ?
' autocomplete="off"' :
'';
// Including fallback code for HTML5 non supported browsers.
JHtml::_('script', 'system/html5fallback.js', false, true);
JHtml::_('behavior.colorpicker');
return '<input type="text" name="' .
$this->name .
'" id="' .
$this->id .
'"' .
' value="'
.
htmlspecialchars($color, ENT_COMPAT, 'UTF-8') .
'"' .
$hint .
$class .
$position .
$control
.
$readonly .
$disabled .
$required .
$onchange .
$autocomplete .
$autofocus .
'/>';
Documentation generated on Tue, 19 Nov 2013 14:56:05 +0100 by phpDocumentor 1.4.3