https://bugzilla.wikimedia.org/show_bug.cgi?id=17329
Summary: Message handling in parser
Product: MediaWiki
Version: 1.15-svn
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: Normal
Component: Page rendering
AssignedTo: [email protected]
ReportedBy: [email protected]
Blocks: 9762,14959,16129,16744
There are some bugs open about strip markers being exposed, see bug 9762, bug
14959, bug 16129, bug 16744 (perhaps more?)
The issue seems to be always the same: Some tag extension or parser function
innocently calling wfMsgExt(..'parse'), wfMsgExt(..'parseinline') or in case of
transcluded special pages also $wgOut->addWikiText().
>From within a parse, these calls lead to recursive execution of
$wgParser->parse() and thus clearing strip state.
Some possible solutions I can think of:
* Fix all extensions and special pages that call these functions by replacing
them with the appropriate non-parsing version of wfMsgWhatever AND add a big
warning to the appropriate places to keep extension authors from using the
former.
* Use another parser for message parsing. Luckily, this is already done within
MessageCache::transform, so we could just reuse this second parser for
$wgOut->parse().
* Add an own message parsing function to the parser
The third is probably the cleanest solution, as it would also fix the
dependency of $wgTitle, but a bit hard to implement, as all the tag extensions
and parser functions would have to be changed, too.
So, for now, the second solution seems the easiest and most reasonable to me.
I'll add a patch for this in a moment, to clarify.
--
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l