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

Source for file textarea.php

Documentation is available at textarea.php

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
  3.  
  4. /**
  5.  * HTML class for a textarea type field
  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: textarea.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.  * HTML class for a textarea type field
  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.  */
  40. {
  41.     // {{{ properties
  42.  
  43.     /**
  44.      * Field value
  45.      * @var       string 
  46.      * @since     1.0
  47.      * @access    private
  48.      */
  49.     var $_value = null;
  50.  
  51.     // }}}
  52.     // {{{ constructor
  53.         
  54.     /**
  55.      * Class constructor
  56.      * 
  57.      * @param     string    Input field name attribute
  58.      * @param     mixed     Label(s) for a field
  59.      * @param     mixed     Either a typical HTML attribute string or an associative array
  60.      * @since     1.0
  61.      * @access    public
  62.      * @return    void 
  63.      */
  64.     function HTML_QuickForm_textarea($elementName=null$elementLabel=null$attributes=null)
  65.     {
  66.         HTML_QuickForm_element::HTML_QuickForm_element($elementName$elementLabel$attributes);
  67.         $this->_persistantFreeze = true;
  68.         $this->_type 'textarea';
  69.     //end constructor
  70.     
  71.     // }}}
  72.     // {{{ setName()
  73.  
  74.     /**
  75.      * Sets the input field name
  76.      * 
  77.      * @param     string    $name   Input field name attribute
  78.      * @since     1.0
  79.      * @access    public
  80.      * @return    void 
  81.      */
  82.     function setName($name)
  83.     {
  84.         $this->updateAttributes(array('name'=>$name));
  85.     //end func setName
  86.     
  87.     // }}}
  88.     // {{{ getName()
  89.  
  90.     /**
  91.      * Returns the element name
  92.      * 
  93.      * @since     1.0
  94.      * @access    public
  95.      * @return    string 
  96.      */
  97.     function getName()
  98.     {
  99.         return $this->getAttribute('name');
  100.     //end func getName
  101.  
  102.     // }}}
  103.     // {{{ setValue()
  104.  
  105.     /**
  106.      * Sets value for textarea element
  107.      * 
  108.      * @param     string    $value  Value for textarea element
  109.      * @since     1.0
  110.      * @access    public
  111.      * @return    void 
  112.      */
  113.     function setValue($value)
  114.     {
  115.         $this->_value $value;
  116.     //end func setValue
  117.     
  118.     // }}}
  119.     // {{{ getValue()
  120.  
  121.     /**
  122.      * Returns the value of the form element
  123.      *
  124.      * @since     1.0
  125.      * @access    public
  126.      * @return    string 
  127.      */
  128.     function getValue()
  129.     {
  130.         return $this->_value;
  131.     // end func getValue
  132.  
  133.     // }}}
  134.     // {{{ setWrap()
  135.  
  136.     /**
  137.      * Sets wrap type for textarea element
  138.      * 
  139.      * @param     string    $wrap  Wrap type
  140.      * @since     1.0
  141.      * @access    public
  142.      * @return    void 
  143.      */
  144.     function setWrap($wrap)
  145.     {
  146.         $this->updateAttributes(array('wrap' => $wrap));
  147.     //end func setWrap
  148.     
  149.     // }}}
  150.     // {{{ setRows()
  151.  
  152.     /**
  153.      * Sets height in rows for textarea element
  154.      * 
  155.      * @param     string    $rows  Height expressed in rows
  156.      * @since     1.0
  157.      * @access    public
  158.      * @return    void 
  159.      */
  160.     function setRows($rows)
  161.     {
  162.         $this->updateAttributes(array('rows' => $rows));
  163.     //end func setRows
  164.  
  165.     // }}}
  166.     // {{{ setCols()
  167.  
  168.     /**
  169.      * Sets width in cols for textarea element
  170.      * 
  171.      * @param     string    $cols  Width expressed in cols
  172.      * @since     1.0
  173.      * @access    public
  174.      * @return    void 
  175.      */ 
  176.     function setCols($cols)
  177.     {
  178.         $this->updateAttributes(array('cols' => $cols));
  179.     //end func setCols
  180.  
  181.     // }}}
  182.     // {{{ toHtml()
  183.  
  184.     /**
  185.      * Returns the textarea element in HTML
  186.      * 
  187.      * @since     1.0
  188.      * @access    public
  189.      * @return    string 
  190.      */
  191.     function toHtml()
  192.     {
  193.         if ($this->_flagFrozen{
  194.             return $this->getFrozenHtml();
  195.         else {
  196.             return $this->_getTabs(.
  197.                    '<textarea' $this->_getAttrString($this->_attributes'>' .
  198.                    // because we wrap the form later we don't want the text indented
  199.                    preg_replace("/(\r\n|\n|\r)/"'&#010;'htmlspecialchars($this->_value)) .
  200.                    '</textarea>';
  201.         }
  202.     //end func toHtml
  203.     
  204.     // }}}
  205.     // {{{ getFrozenHtml()
  206.  
  207.     /**
  208.      * Returns the value of field without HTML tags (in this case, value is changed to a mask)
  209.      * 
  210.      * @since     1.0
  211.      * @access    public
  212.      * @return    string 
  213.      */
  214.     function getFrozenHtml()
  215.     {
  216.         $value htmlspecialchars($this->getValue());
  217.         if ($this->getAttribute('wrap'== 'off'{
  218.             $html $this->_getTabs('<pre>' $value."</pre>\n";
  219.         else {
  220.             $html nl2br($value)."\n";
  221.         }
  222.         return $html $this->_getPersistantData();
  223.     //end func getFrozenHtml
  224.  
  225.     // }}}
  226.  
  227. //end class HTML_QuickForm_textarea
  228. ?>

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