Extension talk:DisableSpecialPages/Archive

"Allpages" don't work: $wgDisabledSpecialPages = array( 'Allpages' ); You need to specify page name like: $wgDisabledSpecialPages = array( 'Recentchanges' );

Broken in 1.15.2 ?

Working
Working great for me as of 1.15.3. Not 'Allpages', but fine with a defined array.

Interferes with some extensions?
I can't seem to run this and Extension:ArticleComments simultaneously. ArticleComments creates a special page (for processing comments) at time of installation, and while the new page shows up in the Special Page menu, opening it (or submitting a comment) results in the "No such special page" error. I suspect that any other extensions that create a Special Page might end up having the same problem, so if anyone is having a problem with a new extension, disable this in LocalSettings.php.

Perhaps this issue could be addressed in a code update?

Incompatible with 1.18.1
See this submited bug for more details: https://bugzilla.wikimedia.org/show_bug.cgi?id=35388

Update: 22-03-2012

I found out what's causing the infinite loop:  has been deprecated since 1.18 Instead you should use. Problem is this has the following stack: SpecialPageFactory::resolveAlias --> SpecialPageFactory::getAliasList --> SpecialPageFactory::getList --> wfRunHooks( 'SpecialPage_initList', array( &self::$mList ) );

So it's pretty obvious what the problem is. I don't see why we need the canonical name, because if you look 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: function efDspHook( &$aSpecialPages ) { global $wgDisabledSpecialPages; if ( !empty ( $wgDisabledSpecialPages ) ) { foreach( $wgDisabledSpecialPages as $page ) { if( !efDspWhitelisted( $page ) && isset( $aSpecialPages[$page] ) ) unset( $aSpecialPages[$page] ); } }	return true; }
 * removed this function, not needed:
 * new version of :