| #
b73ece99
|
| 10-Jun-2026 |
Andreas Gohr <andi@splitbrain.org> |
Merge branch 'master' into gfm
* master: Rector and PHPCS fixes Update deleted files Make common_pageinfo tests independent of execution order Translation update (sk) chore: adjust o
Merge branch 'master' into gfm
* master: Rector and PHPCS fixes Update deleted files Make common_pageinfo tests independent of execution order Translation update (sk) chore: adjust overlong line fix(auth): scope media ACL checks to the namespace refactor(search): extract LegacyIndexer wrapper for BC contract Translation update (ro) fix(authad): avoid warning when initAdLdap is called before opts is populated fix(infoutils): fix synology os-release file parsing remove valid_input_set(), inline the only remaining callers Update copyright year in README fix(mail): keep '&' intact in mailto links with multiple query params
# Conflicts: # inc/Parsing/ParserMode/Internallink.php
show more ...
|
| #
2e43b799
|
| 04-Jun-2026 |
Andreas Gohr <gohr@cosmocode.de> |
Render locale and plugin-bundled text as DokuWiki syntax
Static "intro" text shipped with DokuWiki, templates and plugins — inc/lang/*/*.txt, template locale files, each plugin's lang/<lc>/*.txt — i
Render locale and plugin-bundled text as DokuWiki syntax
Static "intro" text shipped with DokuWiki, templates and plugins — inc/lang/*/*.txt, template locale files, each plugin's lang/<lc>/*.txt — is authored in DokuWiki syntax. It is a core/plugin asset, not user content. When an admin configures the wiki for Markdown the DW link and monospace modes are not loaded, so these files render as literal text: [[wiki:syntax]] and ''Save'' pairs survive into the HTML.
Pin those entry points to the 'dw' flavour via the override added in the previous commit:
- p_locale_xhtml() and tpl_locale_xhtml() pass 'dw'. - PluginTrait::locale_xhtml() passes 'dw'. - PluginTrait::render_text() / PluginInterface::render_text() gain a $syntax parameter defaulting to 'dw'. The default is 'dw', not null, because the method predates GFM and its callers pass DW-syntax strings; plugins rendering user content opt back into the configured syntax with render_text($text, 'xhtml', null).
Locale output is now deterministic across a syntax switch, so its caches get over-invalidated but never under-invalidated — acceptable, as the locale render path is rare and cheap.
show more ...
|
| #
73dc0a89
|
| 06-May-2026 |
Andreas Gohr <andi@splitbrain.org> |
fix(mail): keep '&' intact in mailto links with multiple query params
Move the email-handling helpers (obfuscate, mail_isvalid, mail_quotedprintable_encode, mail_setup) out of the procedural inc/mai
fix(mail): keep '&' intact in mailto links with multiple query params
Move the email-handling helpers (obfuscate, mail_isvalid, mail_quotedprintable_encode, mail_setup) out of the procedural inc/mail.php into a namespaced dokuwiki\MailUtils class plus a new Mailer::configInit(), and add a separate MailUtils::obfuscateUrl() for the mailto-href context.
The xhtml renderer and PluginTrait now build the link label and the href separately: the address half is run through the mailguard obfuscation, the query string is preserved verbatim with only HTML escaping applied. This fixes #1690 — in 'visible' mode the previous code rawurlencoded the entire address+query, turning '?' into '%3F' and breaking multi-parameter mailto links; in all modes the query string is no longer mangled by the [at]/[dot] substitution.
Core call sites (Mailer, auth, LegacyApiCore, common, the xhtml renderer, the parser, the bundled config/styling/usermanager plugins) are migrated to MailUtils directly. The old top-level functions and PREG_PATTERN_VALID_EMAIL constant remain as deprecated shims with rector mappings.
Tests for obfuscate / mail_isvalid / mail_quotedprintable_encode are consolidated into a single _test/tests/MailUtilsTest.php and extended with regression coverage for the multi-parameter, double-escape and URL-shape cases.
Closes #1690 Replaces #1964
show more ...
|
| #
093fe67e
|
| 07-Mar-2026 |
Andreas Gohr <andi@splitbrain.org> |
updated rector and applied it
|
| #
2c978aed
|
| 09-Feb-2024 |
Andreas Gohr <andi@splitbrain.org> |
sprintf expects ...args instead of an array. fixes #4193
|
| #
e9472a98
|
| 06-Feb-2024 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Fix false errors when calling getInfo() from some plugins
|
| #
3d041397
|
| 21-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
ensure plugin.info.txt data is complete. fixes #4033
|
| #
d4f83172
|
| 31-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
code style: line breaks
|
| #
a19c9aa0
|
| 30-Aug-2023 |
Gerrit Uitslag <klapinklapin@gmail.com> |
recover comments in list
|
| #
dccd6b2b
|
| 30-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
coding style: function call spacing
|
| #
1490c177
|
| 29-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
Apply rector fixes to inc/Extension and inc/Debug
|
| #
ec34bb30
|
| 19-Oct-2022 |
Andreas Gohr <andi@splitbrain.org> |
Update core code to make use of sexplode()
This makes use of our own explode mechanism everywhere were we expect a fixed number of results.
|
| #
e1d9dcc8
|
| 15-Jun-2018 |
Andreas Gohr <andi@splitbrain.org> |
First go at moving the plugin classes into their own namespace
|