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

📄 checkbox.php

📁 完美的在线教育系统
💻 PHP
字号:
<?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: checkbox.php 6184 2005-09-07 10:08:17Z bmol $require_once("HTML/QuickForm/input.php");/** * HTML class for a checkbox type field *  * @author       Adam Daniel <adaniel1@eesus.jnj.com> * @author       Bertrand Mansion <bmansion@mamasam.com> * @version      1.1 * @since        PHP4.04pl1 * @access       public */class HTML_QuickForm_checkbox extends HTML_QuickForm_input{    // {{{ properties    /**     * Checkbox display text     * @var       string     * @since     1.1     * @access    private     */    var $_text = '';    // }}}    // {{{ constructor    /**     * Class constructor     *      * @param     string    $elementName    (optional)Input field name attribute     * @param     string    $elementLabel   (optional)Input field value     * @param     string    $text           (optional)Checkbox display text     * @param     mixed     $attributes     (optional)Either a typical HTML attribute string      *                                      or an associative array     * @since     1.0     * @access    public     * @return    void     */    function HTML_QuickForm_checkbox($elementName=null, $elementLabel=null, $text='', $attributes=null)    {        HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes);        $this->_persistantFreeze = true;        $this->_text = $text;        $this->setType('checkbox');        $this->updateAttributes(array('value'=>1));        $this->_generateId();    } //end constructor        // }}}    // {{{ setChecked()    /**     * Sets whether a checkbox is checked     *      * @param     bool    $checked  Whether the field is checked or not     * @since     1.0     * @access    public     * @return    void     */    function setChecked($checked)    {        if (!$checked) {            $this->removeAttribute('checked');        } else {            $this->updateAttributes(array('checked'=>'checked'));        }    } //end func setChecked    // }}}    // {{{ getChecked()    /**     * Returns whether a checkbox is checked     *      * @since     1.0     * @access    public     * @return    bool     */    function getChecked()    {        return (bool)$this->getAttribute('checked');    } //end func getChecked        // }}}    // {{{ toHtml()    /**     * Returns the checkbox element in HTML     *      * @since     1.0     * @access    public     * @return    string     */    function toHtml()    {        if (0 == strlen($this->_text)) {            $label = '';        } elseif ($this->_flagFrozen) {            $label = $this->_text;        } else {            $label = '<label for="' . $this->getAttribute('id') . '">' . $this->_text . '</label>';        }        return HTML_QuickForm_input::toHtml() . $label;    } //end func toHtml        // }}}    // {{{ getFrozenHtml()    /**     * Returns the value of field without HTML tags     *      * @since     1.0     * @access    public     * @return    string     */    function getFrozenHtml()    {        if ($this->getChecked()) {            return '<tt>[x]</tt>' .                   $this->_getPersistantData();        } else {            return '<tt>[ ]</tt>';        }    } //end func getFrozenHtml    // }}}    // {{{ setText()    /**     * Sets the checkbox text     *      * @param     string    $text       * @since     1.1     * @access    public     * @return    void     */    function setText($text)    {        $this->_text = $text;    } //end func setText    // }}}    // {{{ getText()    /**     * Returns the checkbox text      *      * @since     1.1     * @access    public     * @return    string     */    function getText()    {        return $this->_text;    } //end func getText    // }}}    // {{{ setValue()    /**     * Sets the value of the form element     *     * @param     string    $value      Default value of the form element     * @since     1.0     * @access    public     * @return    void     */    function setValue($value)    {        return $this->setChecked($value);    } // end func setValue    // }}}    // {{{ getValue()    /**     * Returns the value of the form element     *     * @since     1.0     * @access    public     * @return    bool     */    function getValue()    {        return $this->getChecked();    } // end func getValue    // }}}    // {{{ 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':                // constant values override both default and submitted ones                // default values are overriden by submitted                $value = $this->_findValue($caller->_constantValues);                if (null === $value) {                    // if no boxes were checked, then there is no value in the array                    // yet we don't want to display default value in this case                    if ($caller->isSubmitted()) {                        $value = $this->_findValue($caller->_submitValues);                    } else {                        $value = $this->_findValue($caller->_defaultValues);                    }                }                if (null !== $value) {                    $this->setChecked($value);                }                break;            case 'setGroupValue':                $this->setChecked($arg);                break;            default:                parent::onQuickFormEvent($event, $arg, $caller);        }        return true;    } // end func onQuickFormEvent    // }}}    // {{{ exportValue()   /**    * Return true if the checkbox is checked, null if it is not checked (getValue() returns false)    */    function exportValue(&$submitValues, $assoc = false)    {        $value = $this->_findValue($submitValues);        if (null === $value) {            $value = $this->getChecked()? true: null;        }        return $this->_prepareValue($value, $assoc);    }        // }}}} //end class HTML_QuickForm_checkbox?>

⌨️ 快捷键说明

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