From: Ævar Arnfjörð Bjarmason Date: Wed, 12 Oct 2005 06:11:37 +0000 (+0000) Subject: * Rewrote getRedirect() to be extendable by extensions though $wgHooks X-Git-Tag: 1.6.0~1452 X-Git-Url: http://git.cyclocoop.org/%40spipnet%40?a=commitdiff_plain;h=1d26a51fb00a0623bff90dbef966169aee1f06a5;p=lhc%2Fweb%2Fwiklou.git * Rewrote getRedirect() to be extendable by extensions though $wgHooks --- 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; } /**