| #
9db5ea06 |
| 06-May-2026 |
Andreas Gohr <andi@splitbrain.org> |
Merge branch 'parser-work'
* parser-work: use new ModeRegistry constant in info plugin keep historic typo in value but not in constant remove unused rewriteBlocks property from Handler supre
Merge branch 'parser-work'
* parser-work: use new ModeRegistry constant in info plugin keep historic typo in value but not in constant remove unused rewriteBlocks property from Handler supress code sniffer warning on deprecation wrapper migrate parser tests to modern namespaced classes clean up Acronym and Preformatted move handler methods into ParserMode classes and rename Handler decouple hardcoded mode names in Eol and Preformatted add unit tests for ModeRegistry split Formatting into individual classes per formatting type introduce ModeRegistry to encapsulate parser mode categories deduplicate finalise() across rewriter subclasses remove unused Doku_Handler::fetch() method remove dead ParallelRegex::apply() method replace magic strings with class constants in Lexer
show more ...
|
| #
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 ...
|
| #
9313ce6d |
| 08-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: fix TypeError when $highlight is passed uninitialized
FulltextSearch::pageSearch() type-hints $highlight as array, but callers passed uninitialized variables (null). Initialize to [] at
SearchIndex: fix TypeError when $highlight is passed uninitialized
FulltextSearch::pageSearch() type-hints $highlight as array, but callers passed uninitialized variables (null). Initialize to [] at all call sites and add a guard in the deprecated ft_pageSearch() wrapper.
show more ...
|
| #
e1272c08 |
| 07-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: add backward compatibility wrappers
Add deprecated wrappers for idx_* and ft_* functions that were removed when inc/indexer.php and inc/fulltext.php were replaced by the new Search clas
SearchIndex: add backward compatibility wrappers
Add deprecated wrappers for idx_* and ft_* functions that were removed when inc/indexer.php and inc/fulltext.php were replaced by the new Search classes. These wrappers delegate to the new architecture and ensure existing plugins continue to work.
Deprecated standalone functions: idx_get_indexer, idx_getIndex, idx_lookup, idx_listIndexLengths, idx_indexLengths, ft_pageSearch, ft_backlinks, ft_mediause, ft_pageLookup, ft_snippet, ft_pagesorter, ft_snippet_re_preprocess, ft_queryParser.
Deprecated methods on Indexer: lookupKey, getPages, addMetaKeys, renameMetaValue, getPID, lookup.
Also migrates remaining core callers (Ajax, FeedCreator, ApiCore) to use the new classes directly and fixes a UTF-8 case folding bug in MetadataSearch title lookups.
show more ...
|
| #
83b3accc |
| 06-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: rewrite Indexer to use Collection classes
Replace the intermediate #2943 classes (FulltextIndex, MetadataIndex) with the new Collection-based architecture. The Indexer is now a thin sta
SearchIndex: rewrite Indexer to use Collection classes
Replace the intermediate #2943 classes (FulltextIndex, MetadataIndex) with the new Collection-based architecture. The Indexer is now a thin stateless orchestrator that delegates all index work to collections.
Key changes: - Indexer no longer extends AbstractIndex; page name passed to methods - addPage/deletePage/clear use PageTitleCollection, PageFulltextCollection, and PageMetaCollection - New PageMetaCollection replaces separate ReferencesCollection and MediaCollection with a single class that handles arbitrary metadata keys dynamically - Shared writable FileIndex('page') passed to all collections - Logger callback replaces verbose parameter - Methods return void instead of bool - Index classes implement IteratorAggregate for clean data access - Indexer tests consolidated into namespaced IndexerTest.php - All callers updated to new stateless API
show more ...
|
| #
9df9f0c8 |
| 27-Oct-2025 |
Andreas Gohr <gohr@cosmocode.de> |
Merge branch 'master' into searchIndex-finish
There were a lot of conflicts to resolve. Not all of them may have been resolved correctly...
* master: (1094 commits) Login accessibility improvemen
Merge branch 'master' into searchIndex-finish
There were a lot of conflicts to resolve. Not all of them may have been resolved correctly...
* master: (1094 commits) Login accessibility improvements Translation update (it) translation update translation update translation update translation update translation update translation update translation update translation update translation update translation update translation update translation update Remove HTML from strings based on title and tagline SECURITY: fix XSS vulnerability. fixes #4512 translation update Fix typos in usermanager English strings Replace hardcoded message by localized string set DOKU_INC in rector ...
show more ...
|
| #
8864f727 |
| 22-Nov-2024 |
Andreas Gohr <andi@splitbrain.org> |
remove deprecated code
This removes code that has been marked as deprecated before 2020.
|
| #
f9a94e78 |
| 31-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
deprecate ptln()
This method was used to ensure some basic readability in the created HTML sources long before Firebug and later the builtin inspector tools in browsers pretty printed the HTML for y
deprecate ptln()
This method was used to ensure some basic readability in the created HTML sources long before Firebug and later the builtin inspector tools in browsers pretty printed the HTML for you. Today, this is no longer needed.
This adds a custom rector rule to automatically change all occurances to echo statements.
show more ...
|
| #
a0aeafaa |
| 30-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
define custom renames
Automatically rename occurances of deprecated functions and classes. These renames will come in even more handy when rector is applied to 3rd party plugins.
|
| #
723f2b49 |
| 02-Jul-2022 |
Gerrit Uitslag <klapinklapin@gmail.com> |
add deprecated IXR classes
|
| #
4d69838b |
| 28-Sep-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
add missing namespace to fallbacks
|
| #
cc3a3cde |
| 26-Sep-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
change MetadataSearch and FulltextSearch to non-singleton
singleton is not effective to reduce multiple instantiations, especially for MetadataSearch which is frequently used in ajax call.
|
| #
a32da6dd |
| 25-Sep-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
change Index objects to non-singleton
Indexer, FulltextIndex, MetadataIndex uses common directory to store *.idx files, but this does not mean they should be singleton objects to avoid lock confrict
change Index objects to non-singleton
Indexer, FulltextIndex, MetadataIndex uses common directory to store *.idx files, but this does not mean they should be singleton objects to avoid lock confrictions.
show more ...
|
| #
22df7655 |
| 24-Jun-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
fix deprecated.php
|
| #
558f089b |
| 24-Jun-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
make FulltextIndex::getIndexLengths() public
Third-party plugins may use this method. The [cloud plugin](https://github.com/dokufreaks/plugin-cloud) uses idx_indexLength().
|
| #
b4c31a26 |
| 20-Feb-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
idx_get_indexer() returns MetadataIndex
According to the development manual, for [Metadata index](https://www.dokuwiki.org/devel:metadata#metadata_index), indexer object supports `addMetaKeys()`, `
idx_get_indexer() returns MetadataIndex
According to the development manual, for [Metadata index](https://www.dokuwiki.org/devel:metadata#metadata_index), indexer object supports `addMetaKeys()`, `lookupKey()`, and `getpages()`. This means that `idx_get_indexer()` should return MetadataIndex object.
show more ...
|
| #
9329b002 |
| 02-Feb-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
change static methods into instance methods
|
| #
4a90f94b |
| 02-Feb-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
move backlinks() and mediause() into MediaIndex class
|
| #
6f58ff65 |
| 01-Feb-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
obsolete fulltext.php and indexer.php files
define deprecated functions in deprecated.php file. fix load.php, loading fulltext.php and indexer.php is nolonger necessary.
|
| #
6225b270 |
| 28-Dec-2019 |
Michael Große <mic.grosse@googlemail.com> |
Extract dokuwiki\Search\Indexer class
Not sure why Doku_Indexer caused phpcs to complain about the class name not being in PascalCase, but Doku_Handler didn't.
The namespace and new class name w
Extract dokuwiki\Search\Indexer class
Not sure why Doku_Indexer caused phpcs to complain about the class name not being in PascalCase, but Doku_Handler didn't.
The namespace and new class name was selected to be compatible with the upcoming changes in #2943. This should hpopefully reduce the overall hassle of touching the same code base.
show more ...
|
| #
820934dc |
| 19-May-2019 |
Andreas Gohr <andi@splitbrain.org> |
Merge branch 'psr2-pluginredux' into psr2
* psr2-pluginredux: Minor optimizations in PluginController Snake to Camel case fixes inn PluginController Fix snake->camel case, doc blocks minor c
Merge branch 'psr2-pluginredux' into psr2
* psr2-pluginredux: Minor optimizations in PluginController Snake to Camel case fixes inn PluginController Fix snake->camel case, doc blocks minor code simplification snake to camel case fixes in EventHandler Move list of plugin types to plugin controller constant Avoid accessing the evet system before it's intialized Avoid processing events before the Event System is intiialized isEnabled instead of isDisabled removed get_directory() method from PluginController fix type hints moved plugin controller to Extension namespace removed deleted file from autoloader deprecated trigger_event() in favor of a static method on Event First go at moving the plugin classes into their own namespace
show more ...
|
| #
451969ab |
| 22-Apr-2019 |
Michael Große <mic.grosse@googlemail.com> |
Move Subscription class to deprecated.php
This class has been replaced by the classes in the dokuwiki/Subscriptions namespace.
|
| #
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
|