Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libs/HTML/QuickForm/Renderer/Array.php')
-rwxr-xr-xlibs/HTML/QuickForm/Renderer/Array.php678
1 files changed, 339 insertions, 339 deletions
diff --git a/libs/HTML/QuickForm/Renderer/Array.php b/libs/HTML/QuickForm/Renderer/Array.php
index b8eab80b7a..fd2fefc60e 100755
--- a/libs/HTML/QuickForm/Renderer/Array.php
+++ b/libs/HTML/QuickForm/Renderer/Array.php
@@ -1,340 +1,340 @@
-<?php
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * A concrete renderer for HTML_QuickForm, makes an array of form contents
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This source file is subject to version 3.01 of the PHP license
- * that is available through the world-wide-web at the following URI:
- * http://www.php.net/license/3_01.txt If you did not receive a copy of
- * the PHP License and are unable to obtain it through the web, please
- * send a note to license@php.net so we can mail you a copy immediately.
- *
- * @category HTML
- * @package HTML_QuickForm
- * @author Alexey Borzov <avb@php.net>
- * @author Adam Daniel <adaniel1@eesus.jnj.com>
- * @author Bertrand Mansion <bmansion@mamasam.com>
- * @author Thomas Schulz <ths@4bconsult.de>
- * @copyright 2001-2007 The PHP Group
- * @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version CVS: $Id$
- * @link http://pear.php.net/package/HTML_QuickForm
- */
-
-/**
- * An abstract base class for QuickForm renderers
- */
-require_once 'HTML/QuickForm/Renderer.php';
-
-/**
- * A concrete renderer for HTML_QuickForm, makes an array of form contents
- *
- * Based on old HTML_QuickForm::toArray() code.
- *
- * The form array structure is the following:
- * <pre>
- * array(
- * 'frozen' => 'whether the form is frozen',
- * 'javascript' => 'javascript for client-side validation',
- * 'attributes' => 'attributes for <form> tag',
- * 'requirednote => 'note about the required elements',
- * // if we set the option to collect hidden elements
- * 'hidden' => 'collected html of all hidden elements',
- * // if there were some validation errors:
- * 'errors' => array(
- * '1st element name' => 'Error for the 1st element',
- * ...
- * 'nth element name' => 'Error for the nth element'
- * ),
- * // if there are no headers in the form:
- * 'elements' => array(
- * element_1,
- * ...
- * element_N
- * )
- * // if there are headers in the form:
- * 'sections' => array(
- * array(
- * 'header' => 'Header text for the first header',
- * 'name' => 'Header name for the first header',
- * 'elements' => array(
- * element_1,
- * ...
- * element_K1
- * )
- * ),
- * ...
- * array(
- * 'header' => 'Header text for the Mth header',
- * 'name' => 'Header name for the Mth header',
- * 'elements' => array(
- * element_1,
- * ...
- * element_KM
- * )
- * )
- * )
- * );
- * </pre>
- *
- * where element_i is an array of the form:
- * <pre>
- * array(
- * 'name' => 'element name',
- * 'value' => 'element value',
- * 'type' => 'type of the element',
- * 'frozen' => 'whether element is frozen',
- * 'label' => 'label for the element',
- * 'required' => 'whether element is required',
- * 'error' => 'error associated with the element',
- * 'style' => 'some information about element style (e.g. for Smarty)',
- * // if element is not a group
- * 'html' => 'HTML for the element'
- * // if element is a group
- * 'separator' => 'separator for group elements',
- * 'elements' => array(
- * element_1,
- * ...
- * element_N
- * )
- * );
- * </pre>
- *
- * @category HTML
- * @package HTML_QuickForm
- * @author Alexey Borzov <avb@php.net>
- * @author Adam Daniel <adaniel1@eesus.jnj.com>
- * @author Bertrand Mansion <bmansion@mamasam.com>
- * @author Thomas Schulz <ths@4bconsult.de>
- * @version Release: 3.2.9
- * @since 3.0
- */
-class HTML_QuickForm_Renderer_Array extends HTML_QuickForm_Renderer
-{
- /**#@+
- * @access private
- */
- /**
- * An array being generated
- * @var array
- */
- var $_ary;
-
- /**
- * Number of sections in the form (i.e. number of headers in it)
- * @var integer
- */
- var $_sectionCount;
-
- /**
- * Current section number
- * @var integer
- */
- var $_currentSection;
-
- /**
- * Array representing current group
- * @var array
- */
- var $_currentGroup = null;
-
- /**
- * Additional style information for different elements
- * @var array
- */
- var $_elementStyles = array();
-
- /**
- * true: collect all hidden elements into string; false: process them as usual form elements
- * @var bool
- */
- var $_collectHidden = false;
-
- /**
- * true: render an array of labels to many labels, $key 0 named 'label', the rest "label_$key"
- * false: leave labels as defined
- * @var bool
- */
- var $_staticLabels = false;
- /**#@-*/
-
- /**
- * Constructor
- *
- * @param bool true: collect all hidden elements into string; false: process them as usual form elements
- * @param bool true: render an array of labels to many labels, $key 0 to 'label' and the oterh to "label_$key"
- * @access public
- */
- function HTML_QuickForm_Renderer_Array($collectHidden = false, $staticLabels = false)
- {
- $this->HTML_QuickForm_Renderer();
- $this->_collectHidden = $collectHidden;
- $this->_staticLabels = $staticLabels;
- } // end constructor
-
-
- /**
- * Returns the resultant array
- *
- * @access public
- * @return array
- */
- function toArray()
- {
- return $this->_ary;
- }
-
-
- function startForm(&$form)
- {
- $this->_ary = array(
- 'frozen' => $form->isFrozen(),
- 'javascript' => $form->getValidationScript(),
- 'attributes' => $form->getAttributes(true),
- 'requirednote' => $form->getRequiredNote(),
- 'errors' => array()
- );
- if ($this->_collectHidden) {
- $this->_ary['hidden'] = '';
- }
- $this->_elementIdx = 1;
- $this->_currentSection = null;
- $this->_sectionCount = 0;
- } // end func startForm
-
-
- function renderHeader(&$header)
- {
- $this->_ary['sections'][$this->_sectionCount] = array(
- 'header' => $header->toHtml(),
- 'name' => $header->getName()
- );
- $this->_currentSection = $this->_sectionCount++;
- } // end func renderHeader
-
-
- function renderElement(&$element, $required, $error)
- {
- $elAry = $this->_elementToArray($element, $required, $error);
- if (!empty($error)) {
- $this->_ary['errors'][$elAry['name']] = $error;
- }
- $this->_storeArray($elAry);
- } // end func renderElement
-
-
- function renderHidden(&$element)
- {
- if ($this->_collectHidden) {
- $this->_ary['hidden'] .= $element->toHtml() . "\n";
- } else {
- $this->renderElement($element, false, null);
- }
- } // end func renderHidden
-
-
- function startGroup(&$group, $required, $error)
- {
- $this->_currentGroup = $this->_elementToArray($group, $required, $error);
- if (!empty($error)) {
- $this->_ary['errors'][$this->_currentGroup['name']] = $error;
- }
- } // end func startGroup
-
-
- function finishGroup(&$group)
- {
- $this->_storeArray($this->_currentGroup);
- $this->_currentGroup = null;
- } // end func finishGroup
-
-
- /**
- * Creates an array representing an element
- *
- * @access private
- * @param HTML_QuickForm_element element being processed
- * @param bool Whether an element is required
- * @param string Error associated with the element
- * @return array
- */
- function _elementToArray(&$element, $required, $error)
- {
- $ret = array(
- 'name' => $element->getName(),
- 'value' => $element->getValue(),
- 'type' => $element->getType(),
- 'frozen' => $element->isFrozen(),
- 'required' => $required,
- 'error' => $error
- );
- // render label(s)
- $labels = $element->getLabel();
- if (is_array($labels) && $this->_staticLabels) {
- foreach($labels as $key => $label) {
- $key = is_int($key)? $key + 1: $key;
- if (1 === $key) {
- $ret['label'] = $label;
- } else {
- $ret['label_' . $key] = $label;
- }
- }
- } else {
- $ret['label'] = $labels;
- }
-
- // set the style for the element
- if (isset($this->_elementStyles[$ret['name']])) {
- $ret['style'] = $this->_elementStyles[$ret['name']];
- }
- if ('group' == $ret['type']) {
- $ret['separator'] = $element->_separator;
- $ret['elements'] = array();
- } else {
- $ret['html'] = $element->toHtml();
- }
- return $ret;
- }
-
-
- /**
- * Stores an array representation of an element in the form array
- *
- * @access private
- * @param array Array representation of an element
- * @return void
- */
- function _storeArray($elAry)
- {
- // where should we put this element...
- if (is_array($this->_currentGroup) && ('group' != $elAry['type'])) {
- $this->_currentGroup['elements'][] = $elAry;
- } elseif (isset($this->_currentSection)) {
- $this->_ary['sections'][$this->_currentSection]['elements'][] = $elAry;
- } else {
- $this->_ary['elements'][] = $elAry;
- }
- }
-
-
- /**
- * Sets a style to use for element rendering
- *
- * @param mixed element name or array ('element name' => 'style name')
- * @param string style name if $elementName is not an array
- * @access public
- * @return void
- */
- function setElementStyle($elementName, $styleName = null)
- {
- if (is_array($elementName)) {
- $this->_elementStyles = array_merge($this->_elementStyles, $elementName);
- } else {
- $this->_elementStyles[$elementName] = $styleName;
- }
- }
-}
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+
+/**
+ * A concrete renderer for HTML_QuickForm, makes an array of form contents
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.01 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_01.txt If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category HTML
+ * @package HTML_QuickForm
+ * @author Alexey Borzov <avb@php.net>
+ * @author Adam Daniel <adaniel1@eesus.jnj.com>
+ * @author Bertrand Mansion <bmansion@mamasam.com>
+ * @author Thomas Schulz <ths@4bconsult.de>
+ * @copyright 2001-2007 The PHP Group
+ * @license http://www.php.net/license/3_01.txt PHP License 3.01
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/HTML_QuickForm
+ */
+
+/**
+ * An abstract base class for QuickForm renderers
+ */
+require_once 'HTML/QuickForm/Renderer.php';
+
+/**
+ * A concrete renderer for HTML_QuickForm, makes an array of form contents
+ *
+ * Based on old HTML_QuickForm::toArray() code.
+ *
+ * The form array structure is the following:
+ * <pre>
+ * array(
+ * 'frozen' => 'whether the form is frozen',
+ * 'javascript' => 'javascript for client-side validation',
+ * 'attributes' => 'attributes for <form> tag',
+ * 'requirednote => 'note about the required elements',
+ * // if we set the option to collect hidden elements
+ * 'hidden' => 'collected html of all hidden elements',
+ * // if there were some validation errors:
+ * 'errors' => array(
+ * '1st element name' => 'Error for the 1st element',
+ * ...
+ * 'nth element name' => 'Error for the nth element'
+ * ),
+ * // if there are no headers in the form:
+ * 'elements' => array(
+ * element_1,
+ * ...
+ * element_N
+ * )
+ * // if there are headers in the form:
+ * 'sections' => array(
+ * array(
+ * 'header' => 'Header text for the first header',
+ * 'name' => 'Header name for the first header',
+ * 'elements' => array(
+ * element_1,
+ * ...
+ * element_K1
+ * )
+ * ),
+ * ...
+ * array(
+ * 'header' => 'Header text for the Mth header',
+ * 'name' => 'Header name for the Mth header',
+ * 'elements' => array(
+ * element_1,
+ * ...
+ * element_KM
+ * )
+ * )
+ * )
+ * );
+ * </pre>
+ *
+ * where element_i is an array of the form:
+ * <pre>
+ * array(
+ * 'name' => 'element name',
+ * 'value' => 'element value',
+ * 'type' => 'type of the element',
+ * 'frozen' => 'whether element is frozen',
+ * 'label' => 'label for the element',
+ * 'required' => 'whether element is required',
+ * 'error' => 'error associated with the element',
+ * 'style' => 'some information about element style (e.g. for Smarty)',
+ * // if element is not a group
+ * 'html' => 'HTML for the element'
+ * // if element is a group
+ * 'separator' => 'separator for group elements',
+ * 'elements' => array(
+ * element_1,
+ * ...
+ * element_N
+ * )
+ * );
+ * </pre>
+ *
+ * @category HTML
+ * @package HTML_QuickForm
+ * @author Alexey Borzov <avb@php.net>
+ * @author Adam Daniel <adaniel1@eesus.jnj.com>
+ * @author Bertrand Mansion <bmansion@mamasam.com>
+ * @author Thomas Schulz <ths@4bconsult.de>
+ * @version Release: 3.2.9
+ * @since 3.0
+ */
+class HTML_QuickForm_Renderer_Array extends HTML_QuickForm_Renderer
+{
+ /**#@+
+ * @access private
+ */
+ /**
+ * An array being generated
+ * @var array
+ */
+ var $_ary;
+
+ /**
+ * Number of sections in the form (i.e. number of headers in it)
+ * @var integer
+ */
+ var $_sectionCount;
+
+ /**
+ * Current section number
+ * @var integer
+ */
+ var $_currentSection;
+
+ /**
+ * Array representing current group
+ * @var array
+ */
+ var $_currentGroup = null;
+
+ /**
+ * Additional style information for different elements
+ * @var array
+ */
+ var $_elementStyles = array();
+
+ /**
+ * true: collect all hidden elements into string; false: process them as usual form elements
+ * @var bool
+ */
+ var $_collectHidden = false;
+
+ /**
+ * true: render an array of labels to many labels, $key 0 named 'label', the rest "label_$key"
+ * false: leave labels as defined
+ * @var bool
+ */
+ var $_staticLabels = false;
+ /**#@-*/
+
+ /**
+ * Constructor
+ *
+ * @param bool true: collect all hidden elements into string; false: process them as usual form elements
+ * @param bool true: render an array of labels to many labels, $key 0 to 'label' and the oterh to "label_$key"
+ * @access public
+ */
+ function HTML_QuickForm_Renderer_Array($collectHidden = false, $staticLabels = false)
+ {
+ $this->HTML_QuickForm_Renderer();
+ $this->_collectHidden = $collectHidden;
+ $this->_staticLabels = $staticLabels;
+ } // end constructor
+
+
+ /**
+ * Returns the resultant array
+ *
+ * @access public
+ * @return array
+ */
+ function toArray()
+ {
+ return $this->_ary;
+ }
+
+
+ function startForm(&$form)
+ {
+ $this->_ary = array(
+ 'frozen' => $form->isFrozen(),
+ 'javascript' => $form->getValidationScript(),
+ 'attributes' => $form->getAttributes(true),
+ 'requirednote' => $form->getRequiredNote(),
+ 'errors' => array()
+ );
+ if ($this->_collectHidden) {
+ $this->_ary['hidden'] = '';
+ }
+ $this->_elementIdx = 1;
+ $this->_currentSection = null;
+ $this->_sectionCount = 0;
+ } // end func startForm
+
+
+ function renderHeader(&$header)
+ {
+ $this->_ary['sections'][$this->_sectionCount] = array(
+ 'header' => $header->toHtml(),
+ 'name' => $header->getName()
+ );
+ $this->_currentSection = $this->_sectionCount++;
+ } // end func renderHeader
+
+
+ function renderElement(&$element, $required, $error)
+ {
+ $elAry = $this->_elementToArray($element, $required, $error);
+ if (!empty($error)) {
+ $this->_ary['errors'][$elAry['name']] = $error;
+ }
+ $this->_storeArray($elAry);
+ } // end func renderElement
+
+
+ function renderHidden(&$element)
+ {
+ if ($this->_collectHidden) {
+ $this->_ary['hidden'] .= $element->toHtml() . "\n";
+ } else {
+ $this->renderElement($element, false, null);
+ }
+ } // end func renderHidden
+
+
+ function startGroup(&$group, $required, $error)
+ {
+ $this->_currentGroup = $this->_elementToArray($group, $required, $error);
+ if (!empty($error)) {
+ $this->_ary['errors'][$this->_currentGroup['name']] = $error;
+ }
+ } // end func startGroup
+
+
+ function finishGroup(&$group)
+ {
+ $this->_storeArray($this->_currentGroup);
+ $this->_currentGroup = null;
+ } // end func finishGroup
+
+
+ /**
+ * Creates an array representing an element
+ *
+ * @access private
+ * @param HTML_QuickForm_element element being processed
+ * @param bool Whether an element is required
+ * @param string Error associated with the element
+ * @return array
+ */
+ function _elementToArray(&$element, $required, $error)
+ {
+ $ret = array(
+ 'name' => $element->getName(),
+ 'value' => $element->getValue(),
+ 'type' => $element->getType(),
+ 'frozen' => $element->isFrozen(),
+ 'required' => $required,
+ 'error' => $error
+ );
+ // render label(s)
+ $labels = $element->getLabel();
+ if (is_array($labels) && $this->_staticLabels) {
+ foreach($labels as $key => $label) {
+ $key = is_int($key)? $key + 1: $key;
+ if (1 === $key) {
+ $ret['label'] = $label;
+ } else {
+ $ret['label_' . $key] = $label;
+ }
+ }
+ } else {
+ $ret['label'] = $labels;
+ }
+
+ // set the style for the element
+ if (isset($this->_elementStyles[$ret['name']])) {
+ $ret['style'] = $this->_elementStyles[$ret['name']];
+ }
+ if ('group' == $ret['type']) {
+ $ret['separator'] = $element->_separator;
+ $ret['elements'] = array();
+ } else {
+ $ret['html'] = $element->toHtml();
+ }
+ return $ret;
+ }
+
+
+ /**
+ * Stores an array representation of an element in the form array
+ *
+ * @access private
+ * @param array Array representation of an element
+ * @return void
+ */
+ function _storeArray($elAry)
+ {
+ // where should we put this element...
+ if (is_array($this->_currentGroup) && ('group' != $elAry['type'])) {
+ $this->_currentGroup['elements'][] = $elAry;
+ } elseif (isset($this->_currentSection)) {
+ $this->_ary['sections'][$this->_currentSection]['elements'][] = $elAry;
+ } else {
+ $this->_ary['elements'][] = $elAry;
+ }
+ }
+
+
+ /**
+ * Sets a style to use for element rendering
+ *
+ * @param mixed element name or array ('element name' => 'style name')
+ * @param string style name if $elementName is not an array
+ * @access public
+ * @return void
+ */
+ function setElementStyle($elementName, $styleName = null)
+ {
+ if (is_array($elementName)) {
+ $this->_elementStyles = array_merge($this->_elementStyles, $elementName);
+ } else {
+ $this->_elementStyles[$elementName] = $styleName;
+ }
+ }
+}
?> \ No newline at end of file