History log of /dokuwiki/inc/parserutils.php (Results 1 – 25 of 184)
Revision Date Author Comments
# 71096e46 18-Apr-2026 Andreas Gohr <andi@splitbrain.org>

move handler methods into ParserMode classes and rename Handler

Each ParserMode class now implements handle() from ModeInterface,
containing the token handling logic that previously lived as individ

move handler methods into ParserMode classes and rename Handler

Each ParserMode class now implements handle() from ModeInterface,
containing the token handling logic that previously lived as individual
methods on Doku_Handler.

The Handler class (formerly Doku_Handler) is the single dispatch point:
Lexer passes tokens to Handler::handleToken() which routes to mode
objects, plugins, or returns false. The Lexer only tokenizes and
resolves mapHandler aliases.

Key changes:
- Add handle() to ModeInterface, implemented by all mode classes
- Move Doku_Handler to dokuwiki\Parsing\Handler namespace
- File extends Code (shared parsing via $type property)
- Quotes uses mapHandler() + Handler::getModeName() for sub-modes
- Media::parseMedia() replaces Doku_Handler_Parse_Media()
- Code::parseHighlightOptions() replaces parse_highlight_options()
- Per-parse state (footnote, doublequote) stays on Handler
- Deprecated wrappers kept for base/header/internallink/media
- Class alias and rector rules added for backward compatibility

show more ...


# c8dd1b9d 16-Apr-2026 Andreas Gohr <andi@splitbrain.org>

introduce ModeRegistry to encapsulate parser mode categories

Replace the global $PARSER_MODES definition in inc/parser/parser.php
with a ModeRegistry singleton that initializes and manages the mode

introduce ModeRegistry to encapsulate parser mode categories

Replace the global $PARSER_MODES definition in inc/parser/parser.php
with a ModeRegistry singleton that initializes and manages the mode
categories. The global array is still populated for backward
compatibility with plugins that access it directly.

Mode constructors now use ModeRegistry::getModesForCategories()
instead of accessing the global directly. p_get_parsermodes() and
p_sort_modes() are moved to inc/deprecated.php as thin wrappers.

show more ...


# 743a6908 11-Apr-2026 splitbrain <86426+splitbrain@users.noreply.github.com>

�� Rector and PHPCS fixes


# 093fe67e 07-Mar-2026 Andreas Gohr <andi@splitbrain.org>

updated rector and applied it


# 99a0b426 22-Nov-2024 Andreas Gohr <andi@splitbrain.org>

mark nullable types explicitly

PHP 8.4 will throw a warning where type hints without a ?prefix are used
and nullable parameters can be passed.

I'm not sure if I found all occurances, but we still r

mark nullable types explicitly

PHP 8.4 will throw a warning where type hints without a ?prefix are used
and nullable parameters can be passed.

I'm not sure if I found all occurances, but we still rarely use type
hints, so it might not be many indeed.

show more ...


# 7a83f336 14-Nov-2023 Andreas Gohr <andi@splitbrain.org>

Merge pull request #4010 from maulanaaghnii/parserutilswarning

Parserutils Warning


# e6a82646 03-Sep-2023 Andreas Gohr <andi@splitbrain.org>

fix syntax plugin loading

It turns out our Syntax plugins never implemented the PluginInterface
(though they did use the PluginTrait). With our stricter type checking
in the plugin loader, these plu

fix syntax plugin loading

It turns out our Syntax plugins never implemented the PluginInterface
(though they did use the PluginTrait). With our stricter type checking
in the plugin loader, these plugins did not longer load.

show more ...


# d4f83172 31-Aug-2023 Andreas Gohr <andi@splitbrain.org>

code style: line breaks


# 7d34963b 31-Aug-2023 Andreas Gohr <andi@splitbrain.org>

coding style: control flow line breaks


# 177d6836 31-Aug-2023 Andreas Gohr <andi@splitbrain.org>

coding style: control flow whitespaces


# 73022918 30-Aug-2023 Andreas Gohr <andi@splitbrain.org>

coding style: PSR12.Classes.ClassInstantiation.MissingParentheses


# 316e3ee6 30-Aug-2023 Andreas Gohr <andi@splitbrain.org>

codestyle adjustments: EOF new lines


# 51bc2534 29-Aug-2023 Andreas Gohr <andi@splitbrain.org>

fix codesniffer violations


# 24870174 29-Aug-2023 Andreas Gohr <andi@splitbrain.org>

Apply rector fixes to the rest of inc


# fa1a0dc6 10-Jul-2023 TB Maulana Aghni <tubagus.maulana@runsystem.id>

Parserutils Warning


# 78b498a7 10-Mar-2023 Andreas Gohr <andi@splitbrain.org>

clean up parserutils (reformatting mostly)


# abca2f79 10-Mar-2023 Eduardo Mozart de Oliveira <2974895+eduardomozart@users.noreply.github.com>

Fix warning on PHP8+ when using the DokuWiki stylemanager

Fix PHP Warning message of "Trying to access array offset on value of type null" at the bottom of DokuWiki Config Style page. Fixes #3883


# bbe6b3a7 12-Oct-2022 Andreas Gohr <andi@splitbrain.org>

Remove the htmlok and phpok embedding options

Both options have grave security implications and novice users seem to
ignore advice about them. In the last decades I never came across a wiki
that had

Remove the htmlok and phpok embedding options

Both options have grave security implications and novice users seem to
ignore advice about them. In the last decades I never came across a wiki
that had legitimate use of these options.

If someone needs the functionality, it can easily be added back using a
plugin. But I prefer to give users one less option to shoot themselves
in the foot.

Removal of the translations for the config strings can follow after this
has been merged.

show more ...


# 65f6b58f 08-Jan-2022 Anna Dabrowska <dabrowska@cosmocode.de>

Allow more modifications in p_locale_xhtml event


# 6d0b5208 05-Jan-2022 Anna Dabrowska <dabrowska@cosmocode.de>

Include id in event data


# 75b4d506 05-Jan-2022 Anna Dabrowska <dabrowska@cosmocode.de>

Add event to p_locale_xhtml()

Allows plugins to modify localized text


# 056bf31f 06-Feb-2021 Damien Regad <dregad@mantisbt.org>

Fix various errors in PHPUnit tests on PHP 8


# 3a7140a1 15-Jun-2018 Andreas Gohr <andi@splitbrain.org>

moved plugin controller to Extension namespace


# cbb44eab 15-Jun-2018 Andreas Gohr <andi@splitbrain.org>

deprecated trigger_event() in favor of a static method on Event


# e1d9dcc8 15-Jun-2018 Andreas Gohr <andi@splitbrain.org>

First go at moving the plugin classes into their own namespace


12345678