From: Aaron Schulz Date: Thu, 29 Sep 2011 17:39:14 +0000 (+0000) Subject: Fix for r97091: Extensions can cause anons to have their own language settings. Disti... X-Git-Tag: 1.31.0-rc.0~27373 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_aide%28?a=commitdiff_plain;h=4436a31e43606eb2153ae52d3cfb0f0d4f6a0479;p=lhc%2Fweb%2Fwiklou.git Fix for r97091: Extensions can cause anons to have their own language settings. Distinguish anon options from canonical options. --- diff --git a/includes/WikiPage.php b/includes/WikiPage.php index d5eba55661..d1ce051c81 100644 --- a/includes/WikiPage.php +++ b/includes/WikiPage.php @@ -1983,7 +1983,7 @@ class WikiPage extends Page { $edit->revid = $revid; $edit->newText = $text; $edit->pst = $this->preSaveTransform( $text, $user, $popts ); - $edit->popts = $this->makeParserOptions( new User ); + $edit->popts = $this->makeParserOptions( 'canonical' ); $edit->output = $wgParser->parse( $edit->pst, $this->mTitle, $edit->popts, true, true, $revid ); $edit->oldText = $this->getRawText(); @@ -2573,17 +2573,19 @@ class WikiPage extends Page { /** * Get parser options suitable for rendering the primary article wikitext - * @param User $user + * @param User|string $user User object or 'canonical' * @return ParserOptions */ - public function makeParserOptions( User $user ) { + public function makeParserOptions( $user ) { global $wgLanguageCode; - $options = ParserOptions::newFromUser( $user ); - $options->enableLimitReport(); // show inclusion/loop reports - $options->setTidy( true ); // fix bad HTML - if ( $user->isAnon() ) { + if ( $user instanceof User ) { // settings per user (even anons) + $options = ParserOptions::newFromUser( $user ); + } else { // canonical settings + $options = ParserOptions::newFromUser( new User ); $options->setUserLang( $wgLanguageCode ); # Must be set explicitily } + $options->enableLimitReport(); // show inclusion/loop reports + $options->setTidy( true ); // fix bad HTML return $options; }