$action = $wgRequest->getVal( 'action', 'view' );
$title = $wgRequest->getVal( 'title' );
-$action = rtrim( $action );
if ($wgRequest->getVal( 'printable' ) == 'yes') {
$wgOut->setPrintable();
}
}
$ns = $wgTitle->getNamespace();
+
+ // Namespace might change when using redirects
+ if($action == 'view' && !$wgRequest->getVal( 'oldid' ) ) {
+ $wgArticle = new Article( $wgTitle );
+ $rTitle = Title::newFromRedirect( $wgArticle->fetchContent() );
+ if($rTitle) {
+ # Reload from the page pointed to later
+ $wgArticle->mContentLoaded = false;
+ $ns = $rTitle->getNamespace();
+ }
+ }
+
+ // Categories and images are handled by a different class
if ( $ns == NS_IMAGE ) {
+ unset($wgArticle);
require_once( 'includes/ImagePage.php' );
$wgArticle = new ImagePage( $wgTitle );
} elseif ( $wgUseCategoryMagic && $ns == NS_CATEGORY ) {
+ unset($wgArticle);
require_once( 'includes/CategoryPage.php' );
$wgArticle = new CategoryPage( $wgTitle );
- } else {
- $wgArticle = new Article( $wgTitle );
}
if ( in_array( $action, $wgDisabledActions ) ) {
case 'markpatrolled':
case 'validate':
case 'render':
+ case 'deletetrackback':
$wgArticle->$action();
break;
case 'print':