HTML_QuickForm
[ class tree: HTML_QuickForm ] [ index: HTML_QuickForm ] [ all elements ]

Source for file input.php

Documentation is available at input.php

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
  3.  
  4. /**
  5.  * Base class for <input /> form elements
  6.  * 
  7.  * PHP versions 4 and 5
  8.  *
  9.  * LICENSE: This source file is subject to version 3.01 of the PHP license
  10.  * that is available through the world-wide-web at the following URI:
  11.  * http://www.php.net/license/3_01.txt If you did not receive a copy of
  12.  * the PHP License and are unable to obtain it through the web, please
  13.  * send a note to license@php.net so we can mail you a copy immediately.
  14.  *
  15.  * @category    HTML
  16.  * @package     HTML_QuickForm
  17.  * @author      Adam Daniel <adaniel1@eesus.jnj.com>
  18.  * @author      Bertrand Mansion <bmansion@mamasam.com>
  19.  * @copyright   2001-2011 The PHP Group
  20.  * @license     http://www.php.net/license/3_01.txt PHP License 3.01
  21.  * @version     CVS: $Id: input.php 317587 2011-10-01 07:55:53Z avb $
  22.  * @link        http://pear.php.net/package/HTML_QuickForm
  23.  */
  24.  
  25. /**
  26.  * Base class for form elements
  27.  */ 
  28. require_once 'HTML/QuickForm/element.php';
  29.  
  30. /**
  31.  * Base class for <input /> form elements
  32.  * 
  33.  * @category    HTML
  34.  * @package     HTML_QuickForm
  35.  * @author      Adam Daniel <adaniel1@eesus.jnj.com>
  36.  * @author      Bertrand Mansion <bmansion@mamasam.com>
  37.  * @version     Release: 3.2.13
  38.  * @since       1.0
  39.  * @abstract
  40.  */
  41. {
  42.     // {{{ constructor
  43.  
  44.     /**
  45.      * Class constructor
  46.      * 
  47.      * @param    string     Input field name attribute
  48.      * @param    mixed      Label(s) for the input field
  49.      * @param    mixed      Either a typical HTML attribute string or an associative array
  50.      * @since     1.0
  51.      * @access    public
  52.      * @return    void 
  53.      */
  54.     function HTML_QuickForm_input($elementName=null$elementLabel=null$attributes=null)
  55.     {
  56.         $this->HTML_QuickForm_element($elementName$elementLabel$attributes);
  57.     //end constructor
  58.  
  59.     // }}}
  60.     // {{{ setType()
  61.  
  62.     /**
  63.      * Sets the element type
  64.      *
  65.      * @param     string    $type   Element type
  66.      * @since     1.0
  67.      * @access    public
  68.      * @return    void 
  69.      */
  70.     function setType($type)
  71.     {
  72.         $this->_type $type;
  73.         $this->updateAttributes(array('type'=>$type));
  74.     // end func setType
  75.     
  76.     // }}}
  77.     // {{{ setName()
  78.  
  79.     /**
  80.      * Sets the input field name
  81.      * 
  82.      * @param     string    $name   Input field name attribute
  83.      * @since     1.0
  84.      * @access    public
  85.      * @return    void 
  86.      */
  87.     function setName($name)
  88.     {
  89.         $this->updateAttributes(array('name'=>$name));
  90.     //end func setName
  91.     
  92.     // }}}
  93.     // {{{ getName()
  94.  
  95.     /**
  96.      * Returns the element name
  97.      * 
  98.      * @since     1.0
  99.      * @access    public
  100.      * @return    string 
  101.      */
  102.     function getName()
  103.     {
  104.         return $this->getAttribute('name');
  105.     //end func getName
  106.     
  107.     // }}}
  108.     // {{{ setValue()
  109.  
  110.     /**
  111.      * Sets the value of the form element
  112.      *
  113.      * @param     string    $value      Default value of the form element
  114.      * @since     1.0
  115.      * @access    public
  116.      * @return    void 
  117.      */
  118.     function setValue($value)
  119.     {
  120.         $this->updateAttributes(array('value'=>$value));
  121.     // end func setValue
  122.  
  123.     // }}}
  124.     // {{{ getValue()
  125.  
  126.     /**
  127.      * Returns the value of the form element
  128.      *
  129.      * @since     1.0
  130.      * @access    public
  131.      * @return    string 
  132.      */
  133.     function getValue()
  134.     {
  135.         return $this->getAttribute('value');
  136.     // end func getValue
  137.     
  138.     // }}}
  139.     // {{{ toHtml()
  140.  
  141.     /**
  142.      * Returns the input field in HTML
  143.      * 
  144.      * @since     1.0
  145.      * @access    public
  146.      * @return    string 
  147.      */
  148.     function toHtml()
  149.     {
  150.         if ($this->_flagFrozen{
  151.             return $this->getFrozenHtml();
  152.         else {
  153.             return $this->_getTabs('<input' $this->_getAttrString($this->_attributes' />';
  154.         }
  155.     //end func toHtml
  156.  
  157.     // }}}
  158.     // {{{ onQuickFormEvent()
  159.  
  160.     /**
  161.      * Called by HTML_QuickForm whenever form event is made on this element
  162.      *
  163.      * @param     string    $event  Name of event
  164.      * @param     mixed     $arg    event arguments
  165.      * @param     object    &$caller calling object
  166.      * @since     1.0
  167.      * @access    public
  168.      * @return    void 
  169.      * @throws
  170.      */
  171.     function onQuickFormEvent($event$arg&$caller)
  172.     {
  173.         // do not use submit values for button-type elements
  174.         $type $this->getType();
  175.         if (('updateValue' != $event||
  176.             ('submit' != $type && 'reset' != $type && 'image' != $type && 'button' != $type)) {
  177.             parent::onQuickFormEvent($event$arg$caller);
  178.         else {
  179.             $value $this->_findValue($caller->_constantValues);
  180.             if (null === $value{
  181.                 $value $this->_findValue($caller->_defaultValues);
  182.             }
  183.             if (null !== $value{
  184.                 $this->setValue($value);
  185.             }
  186.         }
  187.         return true;
  188.     // end func onQuickFormEvent
  189.  
  190.     // }}}
  191.     // {{{ exportValue()
  192.  
  193.    /**
  194.     * We don't need values from button-type elements (except submit) and files
  195.     */
  196.     function exportValue(&$submitValues$assoc = false)
  197.     {
  198.         $type $this->getType();
  199.         if ('reset' == $type || 'image' == $type || 'button' == $type || 'file' == $type{
  200.             return null;
  201.         else {
  202.             return parent::exportValue($submitValues$assoc);
  203.         }
  204.     }
  205.     
  206.     // }}}
  207. // end class HTML_QuickForm_element
  208. ?>

Documentation generated on Sat, 01 Oct 2011 09:00:12 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.