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

📄 group.php

📁 完美的在线教育系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/* vim: set expandtab tabstop=4 shiftwidth=4: */// +----------------------------------------------------------------------+// | PHP version 4.0                                                      |// +----------------------------------------------------------------------+// | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group             |// +----------------------------------------------------------------------+// | This source file is subject to version 2.0 of the PHP license,       |// | that is bundled with this package in the file LICENSE, and is        |// | available at through the world-wide-web at                           |// | http://www.php.net/license/2_02.txt.                                 |// | If you did not receive a copy of the PHP license and are unable to   |// | obtain it through the world-wide-web, please send a note to          |// | license@php.net so we can mail you a copy immediately.               |// +----------------------------------------------------------------------+// | Authors: Adam Daniel <adaniel1@eesus.jnj.com>                        |// |          Bertrand Mansion <bmansion@mamasam.com>                     |// +----------------------------------------------------------------------+//// $Id: group.php 6184 2005-09-07 10:08:17Z bmol $require_once("HTML/QuickForm/element.php");/** * HTML class for a form element group *  * @author       Adam Daniel <adaniel1@eesus.jnj.com> * @author       Bertrand Mansion <bmansion@mamasam.com> * @version      1.0 * @since        PHP4.04pl1 * @access       public */class HTML_QuickForm_group extends HTML_QuickForm_element{    // {{{ properties            /**     * Name of the element     * @var       string     * @since     1.0     * @access    private     */    var $_name = '';    /**     * Array of grouped elements     * @var       array     * @since     1.0     * @access    private     */    var $_elements = array();    /**     * String to separate elements     * @var       mixed     * @since     2.5     * @access    private     */    var $_separator = null;    /**     * Required elements in this group     * @var       array     * @since     2.5     * @access    private     */    var $_required = array();   /**    * Whether to change elements' names to $groupName[$elementName] or leave them as is     * @var      bool    * @since    3.0    * @access   private    */    var $_appendName = true;    // }}}    // {{{ constructor    /**     * Class constructor     *      * @param     string    $elementName    (optional)Group name     * @param     array     $elementLabel   (optional)Group label     * @param     array     $elements       (optional)Group elements     * @param     mixed     $separator      (optional)Use a string for one separator,     *                                      use an array to alternate the separators.     * @param     bool      $appendName     (optional)whether to change elements' names to     *                                      the form $groupName[$elementName] or leave      *                                      them as is.     * @since     1.0     * @access    public     * @return    void     */    function HTML_QuickForm_group($elementName=null, $elementLabel=null, $elements=null, $separator=null, $appendName = true)    {        $this->HTML_QuickForm_element($elementName, $elementLabel);        $this->_type = 'group';        if (isset($elements) && is_array($elements)) {            $this->setElements($elements);        }        if (isset($separator)) {            $this->_separator = $separator;        }        if (isset($appendName)) {            $this->_appendName = $appendName;        }    } //end constructor        // }}}    // {{{ setName()    /**     * Sets the group name     *      * @param     string    $name   Group name     * @since     1.0     * @access    public     * @return    void     */    function setName($name)    {        $this->_name = $name;    } //end func setName        // }}}    // {{{ getName()    /**     * Returns the group name     *      * @since     1.0     * @access    public     * @return    string     */    function getName()    {        return $this->_name;    } //end func getName    // }}}    // {{{ setValue()    /**     * Sets values for group's elements     *      * @param     mixed    Values for group's elements     * @since     1.0     * @access    public     * @return    void     */    function setValue($value)    {        $this->_createElementsIfNotExist();        foreach (array_keys($this->_elements) as $key) {            if (!$this->_appendName) {                $v = $this->_elements[$key]->_findValue($value);                if (null !== $v) {                    $this->_elements[$key]->onQuickFormEvent('setGroupValue', $v, $this);                }            } else {                $elementName = $this->_elements[$key]->getName();                $index       = strlen($elementName) ? $elementName : $key;                if (is_array($value)) {                    if (isset($value[$index])) {                        $this->_elements[$key]->onQuickFormEvent('setGroupValue', $value[$index], $this);                    }                } elseif (isset($value)) {                    $this->_elements[$key]->onQuickFormEvent('setGroupValue', $value, $this);                }            }        }    } //end func setValue        // }}}    // {{{ getValue()    /**     * Returns the value of the group     *     * @since     1.0     * @access    public     * @return    mixed     */    function getValue()    {        $value = null;        foreach (array_keys($this->_elements) as $key) {            $element =& $this->_elements[$key];            switch ($element->getType()) {                case 'radio':                     $v = $element->getChecked()? $element->getValue(): null;                    break;                case 'checkbox':                     $v = $element->getChecked()? true: null;                    break;                default:                    $v = $element->getValue();            }            if (null !== $v) {                $elementName = $element->getName();                if (is_null($elementName)) {                    $value = $v;                } else {                    if (!is_array($value)) {                        $value = is_null($value)? array(): array($value);                    }                    if ('' === $elementName) {                        $value[] = $v;                    } else {                        $value[$elementName] = $v;                    }                }            }        }        return $value;    } // end func getValue    // }}}    // {{{ setElements()    /**     * Sets the grouped elements     *     * @param     array     $elements   Array of elements     * @since     1.1     * @access    public     * @return    void     */    function setElements($elements)    {        $this->_elements = array_values($elements);        if ($this->_flagFrozen) {            $this->freeze();        }    } // end func setElements    // }}}    // {{{ getElements()    /**     * Gets the grouped elements     *     * @since     2.4     * @access    public     * @return    array     */    function &getElements()    {        $this->_createElementsIfNotExist();        return $this->_elements;    } // end func getElements    // }}}    // {{{ getGroupType()    /**     * Gets the group type based on its elements     * Will return 'mixed' if elements contained in the group     * are of different types.     *     * @access    public     * @return    string    group elements type     */    function getGroupType()    {        $this->_createElementsIfNotExist();        $prevType = '';        foreach (array_keys($this->_elements) as $key) {            $type = $this->_elements[$key]->getType();            if ($type != $prevType && $prevType != '') {                return 'mixed';            }            $prevType = $type;        }        return $type;    } // end func getGroupType    // }}}    // {{{ toHtml()    /**     * Returns Html for the group     *      * @since       1.0     * @access      public     * @return      string     */    function toHtml()

⌨️ 快捷键说明

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