$article = $this->initializeArticle();
if ( is_object( $article ) ) {
$pageView = true;
- /**
- * $wgArticle is deprecated, do not use it.
- * @deprecated since 1.18
- */
- global $wgArticle;
- $wgArticle = new DeprecatedGlobal( 'wgArticle', $article, '1.18' );
-
$this->performAction( $article, $requestTitle );
} elseif ( is_string( $article ) ) {
$output->redirect( $article );
$request = $this->context->getRequest();
+ // Send Ajax requests to the Ajax dispatcher.
+ if ( $wgUseAjax && $request->getVal( 'action', 'view' ) == 'ajax' ) {
+
+ // Set a dummy title, because $wgTitle == null might break things
+ $title = Title::makeTitle( NS_MAIN, 'AJAX' );
+ $this->context->setTitle( $title );
+ $wgTitle = $title;
+
+ $dispatcher = new AjaxDispatcher();
+ $dispatcher->performAction();
+ wfProfileOut( __METHOD__ );
+ return;
+ }
+
+ // Get title from request parameters,
+ // is set on the fly by parseTitle the first time.
+ $title = $this->getTitle();
+ $action = $this->getAction();
+ $wgTitle = $title;
+
// If the user has forceHTTPS set to true, or if the user
// is in a group requiring HTTPS, or if they have the HTTPS
// preference set, redirect them to HTTPS.
+ // Note: Do this after $wgTitle is setup, otherwise the hooks run from
+ // isLoggedIn() will do all sorts of weird stuff.
if (
(
$request->getCookie( 'forceHTTPS', '' ) ||
return;
}
- // Send Ajax requests to the Ajax dispatcher.
- if ( $wgUseAjax && $request->getVal( 'action', 'view' ) == 'ajax' ) {
-
- // Set a dummy title, because $wgTitle == null might break things
- $title = Title::makeTitle( NS_MAIN, 'AJAX' );
- $this->context->setTitle( $title );
- $wgTitle = $title;
-
- $dispatcher = new AjaxDispatcher();
- $dispatcher->performAction();
- wfProfileOut( __METHOD__ );
- return;
- }
-
- // Get title from request parameters,
- // is set on the fly by parseTitle the first time.
- $title = $this->getTitle();
- $action = $this->getAction();
- $wgTitle = $title;
-
if ( $wgUseFileCache && $title->getNamespace() >= 0 ) {
wfProfileIn( 'main-try-filecache' );
if ( HTMLFileCache::useFileCache( $this->context ) ) {
$cache->loadFromFileCache( $this->context );
}
// Do any stats increment/watchlist stuff
+ // Assume we're viewing the latest revision (this should always be the case with file cache)
$this->context->getWikiPage()->doViewUpdates( $this->context->getUser() );
// Tell OutputPage that output is taken care of
$this->context->getOutput()->disable();
// We don't want exceptions thrown during job execution to
// be reported to the user since the output is already sent.
// Instead we just log them.
- wfDebugLog( 'exception', $e->getLogMessage() );
+ MWExceptionHandler::logException( $e );
}
}
}