⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 group.php

📁 Piwik#Opensourcewebanalytics一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大.无色提示:按照需要PHP5.1以上和MySQL数据库支持。
💻 PHP
📖 第 1 页 / 共 2 页
字号:
     * @since       1.0     * @access      public     * @return      string     */    function toHtml()    {        include_once('HTML/QuickForm/Renderer/Default.php');        $renderer = new HTML_QuickForm_Renderer_Default();        $renderer->setElementTemplate('{element}');        $this->accept($renderer);        return $renderer->toHtml();    } //end func toHtml        // }}}    // {{{ getElementName()    /**     * Returns the element name inside the group such as found in the html form     *      * @param     mixed     $index  Element name or element index in the group     * @since     3.0     * @access    public     * @return    mixed     string with element name, false if not found     */    function getElementName($index)    {        $this->_createElementsIfNotExist();        $elementName = false;        if (is_int($index) && isset($this->_elements[$index])) {            $elementName = $this->_elements[$index]->getName();            if (isset($elementName) && $elementName == '') {                $elementName = $index;            }            if ($this->_appendName) {                if (is_null($elementName)) {                    $elementName = $this->getName();                } else {                    $elementName = $this->getName().'['.$elementName.']';                }            }        } elseif (is_string($index)) {            foreach (array_keys($this->_elements) as $key) {                $elementName = $this->_elements[$key]->getName();                if ($index == $elementName) {                    if ($this->_appendName) {                        $elementName = $this->getName().'['.$elementName.']';                    }                    break;                } elseif ($this->_appendName && $this->getName().'['.$elementName.']' == $index) {                    break;                }            }        }        return $elementName;    } //end func getElementName    // }}}    // {{{ getFrozenHtml()    /**     * Returns the value of field without HTML tags     *      * @since     1.3     * @access    public     * @return    string     */    function getFrozenHtml()    {        $flags = array();        $this->_createElementsIfNotExist();        foreach (array_keys($this->_elements) as $key) {            if (false === ($flags[$key] = $this->_elements[$key]->isFrozen())) {                $this->_elements[$key]->freeze();            }        }        $html = $this->toHtml();        foreach (array_keys($this->_elements) as $key) {            if (!$flags[$key]) {                $this->_elements[$key]->unfreeze();            }        }        return $html;    } //end func getFrozenHtml    // }}}    // {{{ onQuickFormEvent()    /**     * Called by HTML_QuickForm whenever form event is made on this element     *     * @param     string    $event  Name of event     * @param     mixed     $arg    event arguments     * @param     object    &$caller calling object     * @since     1.0     * @access    public     * @return    void     */    function onQuickFormEvent($event, $arg, &$caller)    {        switch ($event) {            case 'updateValue':                $this->_createElementsIfNotExist();                foreach (array_keys($this->_elements) as $key) {                    if ($this->_appendName) {                        $elementName = $this->_elements[$key]->getName();                        if (is_null($elementName)) {                            $this->_elements[$key]->setName($this->getName());                        } elseif ('' === $elementName) {                            $this->_elements[$key]->setName($this->getName() . '[' . $key . ']');                        } else {                            $this->_elements[$key]->setName($this->getName() . '[' . $elementName . ']');                        }                    }                    $this->_elements[$key]->onQuickFormEvent('updateValue', $arg, $caller);                    if ($this->_appendName) {                        $this->_elements[$key]->setName($elementName);                    }                }                break;            default:                parent::onQuickFormEvent($event, $arg, $caller);        }        return true;    } // end func onQuickFormEvent    // }}}    // {{{ accept()   /**    * Accepts a renderer    *    * @param HTML_QuickForm_Renderer    renderer object    * @param bool                       Whether a group is required    * @param string                     An error message associated with a group    * @access public    * @return void     */    function accept(&$renderer, $required = false, $error = null)    {        $this->_createElementsIfNotExist();        $renderer->startGroup($this, $required, $error);        $name = $this->getName();        foreach (array_keys($this->_elements) as $key) {            $element =& $this->_elements[$key];                        if ($this->_appendName) {                $elementName = $element->getName();                if (isset($elementName)) {                    $element->setName($name . '['. (strlen($elementName)? $elementName: $key) .']');                } else {                    $element->setName($name);                }            }            $required = !$element->isFrozen() && in_array($element->getName(), $this->_required);            $element->accept($renderer, $required);            // restore the element's name            if ($this->_appendName) {                $element->setName($elementName);            }        }        $renderer->finishGroup($this);    } // end func accept    // }}}    // {{{ exportValue()   /**    * As usual, to get the group's value we access its elements and call    * their exportValue() methods    */    function exportValue(&$submitValues, $assoc = false)    {        $value = null;        foreach (array_keys($this->_elements) as $key) {            $elementName = $this->_elements[$key]->getName();            if ($this->_appendName) {                if (is_null($elementName)) {                    $this->_elements[$key]->setName($this->getName());                } elseif ('' === $elementName) {                    $this->_elements[$key]->setName($this->getName() . '[' . $key . ']');                } else {                    $this->_elements[$key]->setName($this->getName() . '[' . $elementName . ']');                }            }            $v = $this->_elements[$key]->exportValue($submitValues, $assoc);            if ($this->_appendName) {                $this->_elements[$key]->setName($elementName);            }            if (null !== $v) {                // Make $value an array, we will use it like one                if (null === $value) {                    $value = array();                }                if ($assoc) {                    // just like HTML_QuickForm::exportValues()                    $value = HTML_QuickForm::arrayMerge($value, $v);                } else {                    // just like getValue(), but should work OK every time here                    if (is_null($elementName)) {                        $value = $v;                    } elseif ('' === $elementName) {                        $value[] = $v;                    } else {                        $value[$elementName] = $v;                    }                }            }        }        // do not pass the value through _prepareValue, we took care of this already        return $value;    }    // }}}    // {{{ _createElements()   /**    * Creates the group's elements.    *     * This should be overriden by child classes that need to create their     * elements. The method will be called automatically when needed, calling    * it from the constructor is discouraged as the constructor is usually    * called _twice_ on element creation, first time with _no_ parameters.    *     * @access private    * @abstract    */    function _createElements()    {        // abstract    }    // }}}    // {{{ _createElementsIfNotExist()   /**    * A wrapper around _createElements()    *    * This method calls _createElements() if the group's _elements array    * is empty. It also performs some updates, e.g. freezes the created    * elements if the group is already frozen.    *    * @access private    */    function _createElementsIfNotExist()    {        if (empty($this->_elements)) {            $this->_createElements();            if ($this->_flagFrozen) {                $this->freeze();            }        }    }    // }}}    // {{{ freeze()    function freeze()    {        parent::freeze();        foreach (array_keys($this->_elements) as $key) {            $this->_elements[$key]->freeze();        }    }    // }}}    // {{{ unfreeze()    function unfreeze()    {        parent::unfreeze();        foreach (array_keys($this->_elements) as $key) {            $this->_elements[$key]->unfreeze();        }    }    // }}}    // {{{ setPersistantFreeze()    function setPersistantFreeze($persistant = false)    {        parent::setPersistantFreeze($persistant);        foreach (array_keys($this->_elements) as $key) {            $this->_elements[$key]->setPersistantFreeze($persistant);        }    }    // }}}} //end class HTML_QuickForm_group?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -