<?php
/**
 * A class for rendering textareas.
 */
class form_widget_textarea implements form_widget
{
    ////////////////////////////////////////////////////////////////////////////
    // Construct and destruct functions.

    ////////////////////////////////////////////////////////////////////////////
    // Overload functions.

    ////////////////////////////////////////////////////////////////////////////
    // Interface functions.

    /**
     * Renders a textarea.
     *
     * @param array (optional) $option The options.
     * @key string 'value' The textarea value.
     * @key string * A textarea attribute.
     * @return string The rendered textarea.
     */
    public static function render(array $option = array())
    {
        $value = (array_key_exists('value', $option)) ? $option['value'] : '';
        unset($option['value']);
        $textarea = '<textarea';
        
        foreach ($option as $k => $v)
        {
            $textarea .= ' ' . $k . '="' . htmlspecialchars($v) . '"';
        }
        
        $textarea .= '>' . htmlspecialchars($value) . '</textarea>';
        return $textarea;
    }
    
    ////////////////////////////////////////////////////////////////////////////
    // Internal functions.
}
