MessageCache: Don't get a ParserOptions for $wgUser before the end of Setup.php
authorBrad Jorsch <bjorsch@wikimedia.org>
Fri, 29 Jan 2016 19:30:25 +0000 (14:30 -0500)
committerBrad Jorsch <bjorsch@wikimedia.org>
Fri, 29 Jan 2016 19:30:25 +0000 (14:30 -0500)
Until Setup.php completes, we can't access the "current" user and trying
to do so logs a warning. So don't try.

Bug: T124367
Change-Id: If31230407829c04f34d9cfefcbb97edacb949b6d

includes/cache/MessageCache.php

index 24df574..6b938f1 100644 (file)
@@ -168,7 +168,18 @@ class MessageCache {
         * @return ParserOptions
         */
        function getParserOptions() {
+               global $wgFullyInitialised, $wgContLang;
+
                if ( !$this->mParserOptions ) {
+                       if ( !$wgFullyInitialised ) {
+                               // $wgUser isn't unstubbable yet, so don't try to get a
+                               // ParserOptions for it. And don't cache this ParserOptions
+                               // either.
+                               $po = new ParserOptions( new User, $wgContLang );
+                               $po->setEditSection( false );
+                               return $po;
+                       }
+
                        $this->mParserOptions = new ParserOptions;
                        $this->mParserOptions->setEditSection( false );
                }