From 1d26a51fb00a0623bff90dbef966169aee1f06a5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Wed, 12 Oct 2005 06:11:37 +0000 Subject: [PATCH] * Rewrote getRedirect() to be extendable by extensions though $wgHooks --- includes/SpecialPage.php | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/includes/SpecialPage.php b/includes/SpecialPage.php index ef563b2d1f..97b42fad91 100644 --- a/includes/SpecialPage.php +++ b/includes/SpecialPage.php @@ -181,20 +181,17 @@ class SpecialPage */ function getRedirect( $name ) { global $wgUser; - switch ( $name ) { - case 'Mypage': - return Title::makeTitle( NS_USER, $wgUser->getName() ); - case 'Mytalk': - return Title::makeTitle( NS_USER_TALK, $wgUser->getName() ); - case 'Mycontributions': - return Title::makeTitle( NS_SPECIAL, 'Contributions/' . $wgUser->getName() ); - case 'Listadmins': - return Title::makeTitle( NS_SPECIAL, 'Listusers/sysop' ); # @bug 2832 - case 'Randompage': - return Title::makeTitle( NS_SPECIAL, 'Random' ); - default: - return NULL; - } + + static $redirects = array( + 'Mypage' => Title::makeTitle( NS_USER, $wgUser->getName() ), + 'Mytalk' => Title::makeTitle( NS_USER_TALK, $wgUser->getName() ), + 'Mycontributions' => Title::makeTitle( NS_SPECIAL, 'Contributions/' . $wgUser->getName() ), + 'Listadmins' => Title::makeTitle( NS_SPECIAL, 'Listusers/sysop' ), # @bug 2832 + 'Randompage' => Title::makeTitle( NS_SPECIAL, 'Random' ) + ); + wfRunHooks( 'SpecialPageGetRedirect', array( &$redirects ) ); + + return isset( $redirects[$name] ) ? $redirects[$name] : null; } /** -- 2.20.1