summaryrefslogtreecommitdiff
path: root/platform/www/inc/Form/TextareaElement.php
diff options
context:
space:
mode:
Diffstat (limited to 'platform/www/inc/Form/TextareaElement.php')
-rw-r--r--platform/www/inc/Form/TextareaElement.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/platform/www/inc/Form/TextareaElement.php b/platform/www/inc/Form/TextareaElement.php
new file mode 100644
index 0000000..92741ee
--- /dev/null
+++ b/platform/www/inc/Form/TextareaElement.php
@@ -0,0 +1,51 @@
+<?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>';
+ }
+
+}