Hi All,
I am trying to customise the Special:Preferences page to remove tabs and
change certain form fields. My amendments are relatively simple to achieve
but editing includes/SpecialPreferences.php. However I would rather use an
extension and keep the core code intact. I have tried using the
SpecialPageExecuteBeforePage hook, but this seems not to work as expected
(see my extension code below). The following note in the core code,
includes/SpecialPage.php, stating that the SpecialPageExecuteBeforePage hook
needs to be fixed:
# FIXME: these hooks are broken for extensions and anything else that
subclasses SpecialPage.
If this hook is not due to be fixed soon will someone please offer another
way to amend the Special:Preferences page without hacking the core code?
My extension code:
$wgHooks['SpecialPageExecuteBeforePage'][] = 'CustomUserPreferencesPage';
function CustomUserPreferencesPage($specialpage, $par, $func) {
// Check if this hook has been called from the correct page
if ($specialpage->mName == 'Preferences') {
global $IP ;
$specialpage->file($IP .
"/extensions/CustomUserPreferencesPage/templates/CustomSpecialPreferences.php")
;
}
return true ;
}
Many thanks in advance,
Matthew
MediaWiki version 1.10.0
PHP version 5.2.2