0byt3m1n1 - D7net
0byt3m1n1 - D7net
Path:
/
home
/
s13cf5ef
/
www
/
tuscamisetaspersonalizadas
/
libraries
/
joomla
/
html
/
[
Home
]
Name File: parameter.php
< back
<?php /** * @package Joomla.Platform * @subpackage HTML * * @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('JPATH_PLATFORM') or die; // Register the element class with the loader. JLoader::register('JElement', dirname(__FILE__) . '/parameter/element.php'); /** * Parameter handler * * @package Joomla.Platform * @subpackage Parameter * @since 11.1 * @deprecated 12.1 Use JForm instead */ class JParameter extends JRegistry { /** * @var string The raw params string * @since 11.1 */ protected $_raw = null; /** * @var object The XML params element * @since 11.1 */ protected $_xml = null; /** * @var array Loaded elements * @since 11.1 */ protected $_elements = array(); /** * @var array Directories, where element types can be stored * @since 11.1 */ protected $_elementPath = array(); /** * Constructor * * @param string $data The raw parms text. * @param string $path Path to the XML setup file. * * @deprecated 12.1 * @since 11.1 */ public function __construct($data = '', $path = '') { // Deprecation warning. JLog::add('JParameter::__construct is deprecated.', JLog::WARNING, 'deprecated'); parent::__construct('_default'); // Set base path. $this->_elementPath[] = dirname(__FILE__) . '/parameter/element'; if ($data = trim($data)) { if (strpos($data, '{') === 0) { $this->loadString($data); } else { $this->loadINI($data); } } if ($path) { $this->loadSetupFile($path); } $this->_raw = $data; } /** * Sets a default value if not alreay assigned. * * @param string $key The name of the parameter. * @param string $default An optional value for the parameter. * @param string $group An optional group for the parameter. * * @return string The value set, or the default if the value was not previously set (or null). * * @deprecated 12.1 * @since 11.1 */ public function def($key, $default = '', $group = '_default') { // Deprecation warning. JLog::add('JParameter::def is deprecated.', JLog::WARNING, 'deprecated'); $value = $this->get($key, (string) $default, $group); return $this->set($key, $value); } /** * Sets the XML object from custom XML files. * * @param JSimpleXMLElement &$xml An XML object. * * @return void * * @deprecated 12.1 * @since 11.1 */ public function setXML(&$xml) { // Deprecation warning. JLog::add('JParameter::setXML is deprecated.', JLog::WARNING, 'deprecated'); if (is_object($xml)) { if ($group = $xml->attributes('group')) { $this->_xml[$group] = $xml; } else { $this->_xml['_default'] = $xml; } if ($dir = $xml->attributes('addpath')) { $this->addElementPath(JPATH_ROOT . str_replace('/', DS, $dir)); } } } /** * Bind data to the parameter. * * @param mixed $data An array or object. * @param string $group An optional group that the data should bind to. The default group is used if not supplied. * * @return boolean True if the data was successfully bound, false otherwise. * * @deprecated 12.1 * @since 11.1 */ public function bind($data, $group = '_default') { // Deprecation warning. JLog::add('JParameter::bind is deprecated.', JLog::WARNING, 'deprecated'); if (is_array($data)) { return $this->loadArray($data); } elseif (is_object($data)) { return $this->loadObject($data); } else { return $this->loadString($data); } } /** * Render the form control. * * @param string $name An optional name of the HTML form control. The default is 'params' if not supplied. * @param string $group An optional group to render. The default group is used if not supplied. * * @return string HTML * * @deprecated 12.1 * @since 11.1 */ public function render($name = 'params', $group = '_default') { // Deprecation warning. JLog::add('JParameter::render is deprecated.', JLog::WARNING, 'deprecated'); if (!isset($this->_xml[$group])) { return false; } $params = $this->getParams($name, $group); $html = array(); if ($description = $this->_xml[$group]->attributes('description')) { // Add the params description to the display $desc = JText::_($description); $html[] = '<p class="paramrow_desc">' . $desc . '</p>'; } foreach ($params as $param) { if ($param[0]) { $html[] = $param[0]; $html[] = $param[1]; } else { $html[] = $param[1]; } } if (count($params) < 1) { $html[] = "<p class=\"noparams\">" . JText::_('JLIB_HTML_NO_PARAMETERS_FOR_THIS_ITEM') . "</p>"; } return implode(PHP_EOL, $html); } /** * Render all parameters to an array. * * @param string $name An optional name of the HTML form control. The default is 'params' if not supplied. * @param string $group An optional group to render. The default group is used if not supplied. * * @return array * * @deprecated 12.1 * @since 11.1 */ public function renderToArray($name = 'params', $group = '_default') { // Deprecation warning. JLog::add('JParameter::renderToArray is deprecated.', JLog::WARNING, 'deprecated'); if (!isset($this->_xml[$group])) { return false; } $results = array(); foreach ($this->_xml[$group]->children() as $param) { $result = $this->getParam($param, $name, $group); $results[$result[5]] = $result; } return $results; } /** * Return the number of parameters in a group. * * @param string $group An optional group. The default group is used if not supplied. * * @return mixed False if no params exist or integer number of parameters that exist. * * @deprecated 12.1 * @since 11.1 */ public function getNumParams($group = '_default') { // Deprecation warning. JLog::add('JParameter::getNumParams is deprecated.', JLog::WARNING, 'deprecated'); if (!isset($this->_xml[$group]) || !count($this->_xml[$group]->children())) { return false; } else { return count($this->_xml[$group]->children()); } } /** * Get the number of params in each group. * * @return array Array of all group names as key and parameters count as value. * * @deprecated 12.1 * @since 11.1 */ public function getGroups() { // Deprecation warning. JLog::add('JParameter::getGroups is deprecated.', JLog::WARNING, 'deprecated'); if (!is_array($this->_xml)) { return false; } $results = array(); foreach ($this->_xml as $name => $group) { $results[$name] = $this->getNumParams($name); } return $results; } /** * Render all parameters. * * @param string $name An optional name of the HTML form control. The default is 'params' if not supplied. * @param string $group An optional group to render. The default group is used if not supplied. * * @return array An array of all parameters, each as array of the label, the form element and the tooltip. * * @deprecated 12.1 * @since 11.1 */ public function getParams($name = 'params', $group = '_default') { // Deprecation warning. JLog::add('JParameter::getParams is deprecated.', JLog::WARNING, 'deprecated'); if (!isset($this->_xml[$group])) { return false; } $results = array(); foreach ($this->_xml[$group]->children() as $param) { $results[] = $this->getParam($param, $name, $group); } return $results; } /** * Render a parameter type. * * @param object &$node A parameter XML element. * @param string $control_name An optional name of the HTML form control. The default is 'params' if not supplied. * @param string $group An optional group to render. The default group is used if not supplied. * * @return array Any array of the label, the form element and the tooltip. * * @deprecated 12.1 * @since 11.1 */ public function getParam(&$node, $control_name = 'params', $group = '_default') { // Deprecation warning. JLog::add('JParameter::__construct is deprecated.', JLog::WARNING, 'deprecated'); // Get the type of the parameter. $type = $node->attributes('type'); $element = $this->loadElement($type); // Check for an error. if ($element === false) { $result = array(); $result[0] = $node->attributes('name'); $result[1] = JText::_('Element not defined for type') . ' = ' . $type; $result[5] = $result[0]; return $result; } // Get value. $value = $this->get($node->attributes('name'), $node->attributes('default'), $group); return $element->render($node, $value, $control_name); } /** * Loads an XML setup file and parses it. * * @param string $path A path to the XML setup file. * * @return object * * @deprecated 12.1 * @since 11.1 */ public function loadSetupFile($path) { $result = false; if ($path) { $xml = JFactory::getXMLParser('Simple'); if ($xml->loadFile($path)) { if ($params = $xml->document->params) { foreach ($params as $param) { $this->setXML($param); $result = true; } } } } else { $result = true; } return $result; } /** * Loads an element type. * * @param string $type The element type. * @param boolean $new False (default) to reuse parameter elements; true to load the parameter element type again. * * @return object * * @deprecated 12.1 * @since 11.1 */ public function loadElement($type, $new = false) { $signature = md5($type); if ((isset($this->_elements[$signature]) && !($this->_elements[$signature] instanceof __PHP_Incomplete_Class)) && $new === false) { return $this->_elements[$signature]; } $elementClass = 'JElement' . $type; if (!class_exists($elementClass)) { if (isset($this->_elementPath)) { $dirs = $this->_elementPath; } else { $dirs = array(); } $file = JFilterInput::getInstance()->clean(str_replace('_', DS, $type) . '.php', 'path'); jimport('joomla.filesystem.path'); if ($elementFile = JPath::find($dirs, $file)) { include_once $elementFile; } else { $false = false; return $false; } } if (!class_exists($elementClass)) { $false = false; return $false; } $this->_elements[$signature] = new $elementClass($this); return $this->_elements[$signature]; } /** * Add a directory where JParameter should search for element types. * * You may either pass a string or an array of directories. * * JParameter will be searching for a element type in the same * order you added them. If the parameter type cannot be found in * the custom folders, it will look in * JParameter/types. * * @param mixed $path Directory (string) or directories (array) to search. * * @return void * * @deprecated 12.1 * @since 11.1 */ public function addElementPath($path) { // Just force path to array. settype($path, 'array'); // Loop through the path directories. foreach ($path as $dir) { // No surrounding spaces allowed! $dir = trim($dir); // Add trailing separators as needed. if (substr($dir, -1) != DIRECTORY_SEPARATOR) { // Directory $dir .= DIRECTORY_SEPARATOR; } // Add to the top of the search dirs. array_unshift($this->_elementPath, $dir); } } }
©
2018. | Recode by D7net