https://bugzilla.wikimedia.org/show_bug.cgi?id=35388
Max <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Max <[email protected]> 2012-04-23 13:37:51 UTC --- See here the solution I found: http://www.mediawiki.org/wiki/Extension_talk:DisableSpecialPages I found out what's causing the infinite loop: <code>SpecialPage::resolveAlias</code> has been deprecated since 1.18 Instead you should use <code>SpecialPageFactory::resolveAlias</code>. Problem is this has the following stack: <pre>SpecialPageFactory::resolveAlias --> SpecialPageFactory::getAliasList --> SpecialPageFactory::getList --> wfRunHooks( 'SpecialPage_initList', array( &self::$mList ) );</pre> So it's pretty obvious what the problem is. I don't see why we need the canonical name, because if you look [[Manual:Special_pages#Disabling_Special:UserLogin_and_Special:UserLogout_pages|here]] it's pretty clear how to disable built-in special pages. I made the following changes in order to make it work with 1.18.2: * removed this function, not needed: <code>efDspMakeTitle()</code> * new version of <code>efDspHook()</code>: <pre> function efDspHook( &$aSpecialPages ) { global $wgDisabledSpecialPages; if ( !empty ( $wgDisabledSpecialPages ) ) { foreach( $wgDisabledSpecialPages as $page ) { if( !efDspWhitelisted( $page ) && isset( $aSpecialPages[$page] ) ) unset( $aSpecialPages[$page] ); } } return true; } </pre> -- Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
