52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace dokuwiki\Form;
 | 
						|
 | 
						|
/**
 | 
						|
 * Class TextareaElement
 | 
						|
 * @package dokuwiki\Form
 | 
						|
 */
 | 
						|
class TextareaElement extends InputElement {
 | 
						|
 | 
						|
    /**
 | 
						|
     * @var string the actual text within the area
 | 
						|
     */
 | 
						|
    protected $text;
 | 
						|
 | 
						|
    /**
 | 
						|
     * @param string $name The name of this form element
 | 
						|
     * @param string $label The label text for this element
 | 
						|
     */
 | 
						|
    public function __construct($name, $label) {
 | 
						|
        parent::__construct('textarea', $name, $label);
 | 
						|
        $this->attr('dir', 'auto');
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get or set the element's value
 | 
						|
     *
 | 
						|
     * This is the preferred way of setting the element's value
 | 
						|
     *
 | 
						|
     * @param null|string $value
 | 
						|
     * @return string|$this
 | 
						|
     */
 | 
						|
    public function val($value = null) {
 | 
						|
        if($value !== null) {
 | 
						|
            $this->text = cleanText($value);
 | 
						|
            return $this;
 | 
						|
        }
 | 
						|
        return $this->text;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * The HTML representation of this element
 | 
						|
     *
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    protected function mainElementHTML() {
 | 
						|
        if($this->useInput) $this->prefillInput();
 | 
						|
        return '<textarea ' . buildAttributes($this->attrs()) . '>' .
 | 
						|
        formText($this->val()) . '</textarea>';
 | 
						|
    }
 | 
						|
 | 
						|
}
 |