web/Zend/View/Helper/FormTextarea.php
changeset 0 4eba9c11703f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/Zend/View/Helper/FormTextarea.php	Mon Dec 13 18:29:26 2010 +0100
@@ -0,0 +1,104 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_View
+ * @subpackage Helper
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id: FormTextarea.php 20096 2010-01-06 02:05:09Z bkarwin $
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+require_once 'Zend/View/Helper/FormElement.php';
+
+
+/**
+ * Helper to generate a "textarea" element
+ *
+ * @category   Zend
+ * @package    Zend_View
+ * @subpackage Helper
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_View_Helper_FormTextarea extends Zend_View_Helper_FormElement
+{
+    /**
+     * The default number of rows for a textarea.
+     *
+     * @access public
+     *
+     * @var int
+     */
+    public $rows = 24;
+
+    /**
+     * The default number of columns for a textarea.
+     *
+     * @access public
+     *
+     * @var int
+     */
+    public $cols = 80;
+
+    /**
+     * Generates a 'textarea' element.
+     *
+     * @access public
+     *
+     * @param string|array $name If a string, the element name.  If an
+     * array, all other parameters are ignored, and the array elements
+     * are extracted in place of added parameters.
+     *
+     * @param mixed $value The element value.
+     *
+     * @param array $attribs Attributes for the element tag.
+     *
+     * @return string The element XHTML.
+     */
+    public function formTextarea($name, $value = null, $attribs = null)
+    {
+        $info = $this->_getInfo($name, $value, $attribs);
+        extract($info); // name, value, attribs, options, listsep, disable
+
+        // is it disabled?
+        $disabled = '';
+        if ($disable) {
+            // disabled.
+            $disabled = ' disabled="disabled"';
+        }
+
+        // Make sure that there are 'rows' and 'cols' values
+        // as required by the spec.  noted by Orjan Persson.
+        if (empty($attribs['rows'])) {
+            $attribs['rows'] = (int) $this->rows;
+        }
+        if (empty($attribs['cols'])) {
+            $attribs['cols'] = (int) $this->cols;
+        }
+
+        // build the element
+        $xhtml = '<textarea name="' . $this->view->escape($name) . '"'
+                . ' id="' . $this->view->escape($id) . '"'
+                . $disabled
+                . $this->_htmlAttribs($attribs) . '>'
+                . $this->view->escape($value) . '</textarea>';
+
+        return $xhtml;
+    }
+}