xref: /plugin/struct/types/Wiki.php (revision 93ca6f4f4326051070b84b0a5019072b884cd2c5)
1<?php
2namespace dokuwiki\plugin\struct\types;
3
4class Wiki extends AbstractBaseType {
5
6    /**
7     * @param int|string $value
8     * @param \Doku_Renderer $R
9     * @param string $mode
10     * @return bool
11     */
12    public function renderValue($value, \Doku_Renderer $R, $mode) {
13        $doc = p_render($mode, p_get_instructions($value), $info);
14        $R->doc .= $doc; // FIXME this probably does not work for all renderers
15        return true;
16    }
17
18    /**
19     * Clean line endings
20     *
21     * @param int|string $rawvalue
22     * @return int|string
23     */
24    public function validate($rawvalue) {
25        $rawvalue = parent::validate($rawvalue);
26        $rawvalue = cleanText($rawvalue);
27        return $rawvalue;
28    }
29
30    /**
31     * Use a text area for input
32     *
33     * @param string $name
34     * @param string $value
35     * @param bool $isRaw ignored
36     * @return string
37     */
38    public function valueEditor($name, $value, $isRaw = false) {
39        $class = 'struct_'.strtolower($this->getClass());
40        $name = hsc($name);
41        $value = formText($value);
42
43        $html = "<textarea name=\"$name\" class=\"$class\">$value</textarea>";
44        return "$html";
45    }
46
47}
48