xref: /dokuwiki/inc/Parsing/ParserMode/Base.php (revision 56c730b56ef2746acf3b1a27c69bada1239535bd)
1<?php
2
3namespace dokuwiki\Parsing\ParserMode;
4
5use dokuwiki\Parsing\Handler;
6use dokuwiki\Parsing\ModeRegistry;
7
8class Base extends AbstractMode
9{
10    /**
11     * Base constructor.
12     */
13    public function __construct()
14    {
15        $this->allowedModes = ModeRegistry::getInstance()->getModesForCategories([
16            ModeRegistry::CATEGORY_CONTAINER,
17            ModeRegistry::CATEGORY_BASEONLY,
18            ModeRegistry::CATEGORY_PARAGRAPHS,
19            ModeRegistry::CATEGORY_FORMATTING,
20            ModeRegistry::CATEGORY_SUBSTITUTION,
21            ModeRegistry::CATEGORY_PROTECTED,
22            ModeRegistry::CATEGORY_DISABLED,
23        ]);
24    }
25
26    /** @inheritdoc */
27    public function getSort()
28    {
29        return 0;
30    }
31
32    /** @inheritdoc */
33    public function handle($match, $state, $pos, Handler $handler)
34    {
35        if ($state === DOKU_LEXER_UNMATCHED) {
36            $handler->addCall('cdata', [$match], $pos);
37            return true;
38        }
39        return false;
40    }
41}
42