1<?php 2 3namespace dokuwiki\Form; 4 5/** 6 * Class TextareaElement 7 * @package dokuwiki\Form 8 */ 9class TextareaElement extends InputElement 10{ 11 /** 12 * @var string the actual text within the area 13 */ 14 protected $text; 15 16 /** 17 * @param string $name The name of this form element 18 * @param string $label The label text for this element 19 */ 20 public function __construct($name, $label) 21 { 22 parent::__construct('textarea', $name, $label); 23 $this->attr('dir', 'auto'); 24 } 25 26 /** 27 * Get or set the element's value 28 * 29 * This is the preferred way of setting the element's value 30 * 31 * @param null|string $value 32 * @return string|$this 33 */ 34 public function val($value = null) 35 { 36 if ($value !== null) { 37 $this->text = cleanText($value); 38 return $this; 39 } 40 return $this->text; 41 } 42 43 /** 44 * The HTML representation of this element 45 * 46 * @return string 47 */ 48 protected function mainElementHTML() 49 { 50 if ($this->useInput) $this->prefillInput(); 51 return '<textarea ' . buildAttributes($this->attrs()) . '>' . 52 formText($this->val()) . '</textarea>'; 53 } 54} 55