Use the WikiPage object object instead of Title to get the page id and latest revision
authorAlexandre Emsenhuber <ialex@users.mediawiki.org>
Sun, 29 Jan 2012 20:35:32 +0000 (20:35 +0000)
committerAlexandre Emsenhuber <ialex@users.mediawiki.org>
Sun, 29 Jan 2012 20:35:32 +0000 (20:35 +0000)
includes/OutputPage.php

index 16e158d..2fb5744 100644 (file)
@@ -2829,13 +2829,20 @@ $templates
        public function getJSVars() {
                global $wgUseAjax, $wgEnableMWSuggest;
 
+               $latestRevID = 0;
+               $pageID = 0;
+               $canonicalName = false; # bug 21115
+
                $title = $this->getTitle();
                $ns = $title->getNamespace();
                $nsname = MWNamespace::exists( $ns ) ? MWNamespace::getCanonicalName( $ns ) : $title->getNsText();
+
                if ( $ns == NS_SPECIAL ) {
                        list( $canonicalName, /*...*/ ) = SpecialPageFactory::resolveAlias( $title->getDBkey() );
-               } else {
-                       $canonicalName = false; # bug 21115
+               } elseif ( $this->canUseWikiPage() ) {
+                       $wikiPage = $this->getWikiPage();
+                       $latestRevID = $wikiPage->getLatest();
+                       $pageID = $wikiPage->getId();
                }
 
                $lang = $title->getPageLanguage();
@@ -2860,8 +2867,8 @@ $templates
                        'wgNamespaceNumber' => $title->getNamespace(),
                        'wgPageName' => $title->getPrefixedDBKey(),
                        'wgTitle' => $title->getText(),
-                       'wgCurRevisionId' => $title->getLatestRevID(),
-                       'wgArticleId' => $title->getArticleId(),
+                       'wgCurRevisionId' => $latestRevID,
+                       'wgArticleId' => $pageID,
                        'wgIsArticle' => $this->isArticle(),
                        'wgAction' => Action::getActionName( $this->getContext() ),
                        'wgUserName' => $this->getUser()->isAnon() ? null : $this->getUser()->getName(),