https://bugzilla.wikimedia.org/show_bug.cgi?id=33318
Web browser: ---
Bug #: 33318
Summary: Internal call to ApiParse changes caller page
Product: MediaWiki
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: Unprioritized
Component: API
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected],
[email protected], [email protected]
Classification: Unclassified
I am using ApiMain class in my own MediaWiki extension.
I want to parse content of some wiki pages from my site and I use ApiMain like
following:
$innerRequest = new ApiMain(new FauxRequest(array(
"action" => "parse",
"pageid" => 223,
"prop" => "wikitext",
"format" => "php"
)));
$innerRequest->execute();
$data = $innerRequest->getResultData();
And if I activate my extension in any page like: {{#my_own_extension:}} caller
page will change content (header, category) to parsed paged. Its behavior very
strange.
I've found following code in ApiParse.php (method getParsedSectionOrText):
323 $pout = $articleObj->getParserOutput();
324 if ( $getWikitext ) {
325 $rev = Revision::newFromTitle( $titleObj );
326 if ( $rev ) {
327 $this->text = $rev->getText();
328 }
329 }
330 return $pout;
See line 323: method getParserOutput() uses global $wgParser and it changes
content of caller page.
It seems to me that It should use clone of global parser (or instance) - not
original. Content of caller page shouldn't change.
--
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