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

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

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

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