xref: /plugin/struct/types/Wiki.php (revision fa04b28c8e5db215f2d38751b0b1b540f2561b9a)
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 = rtrim($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 $rawvalue
35     * @return string
36     */
37    public function valueEditor($name, $rawvalue) {
38        $class = 'struct_'.strtolower($this->getClass());
39        $name = hsc($name);
40        $rawvalue = formText($rawvalue);
41
42        $html = "<textarea name=\"$name\" class=\"$class\">$rawvalue</textarea>";
43        return "$html";
44    }
45
46}
47