<?php
/**
* @version $Id: element.php 20196 2011-01-09 02:40:25Z ian $
* @package Joomla.Framework
* @subpackage Parameter
* @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access
defined('JPATH_BASE') or die;
/**
* Parameter base class
*
* The JElement is the base class for all JElement types
*
* @abstract
* @package Joomla.Framework
* @subpackage Parameter
* @since 1.5
*/
class JElement extends JObject
{
/**
* element name
*
* This has to be set in the final
* renderer classes.
*
* @access protected
* @var string
*/
protected $_name = null;
/**
* reference to the object that instantiated the element
*
* @access protected
* @var object
*/
protected $_parent = null;
/**
* Constructor
*
* @access protected
*/
public function __construct($parent = null)
{
$this->_parent = $parent;
}
/**
* get the element name
*
* @access public
* @return string type of the parameter
*/
public function getName() {
return $this->_name;
}
public function render(&$xmlElement, $value, $control_name = 'params')
{
$name = $xmlElement->attributes('name');
$label = $xmlElement->attributes('label');
$descr = $xmlElement->attributes('description');
//make sure we have a valid label
$label = $label ? $label : $name;
$result[0] = $this->fetchTooltip($label, $descr, $xmlElement, $control_name, $name);
$result[1] = $this->fetchElement($name, $value, $xmlElement, $control_name);
$result[2] = $descr;
$result[3] = $label;
$result[4] = $value;
$result[5] = $name;
return $result;
}
public function fetchTooltip($label, $description, &$xmlElement, $control_name='', $name='')
{
$output = '<label id="'.$control_name.$name.'-lbl" for="'.$control_name.$name.'"';
if ($description) {
$output .= ' class="hasTip" title="'.JText::_($label).'::'.JText::_($description).'">';
} else {
$output .= '>';
}
$output .= JText::_($label).'</label>';
return $output;
}
public function fetchElement($name, $value, &$xmlElement, $control_name)
{
}
}