'Lonelypages' => array( 'SpecialPage', 'Lonelypages' ),
'Fewestrevisions' => array( 'SpecialPage', 'Fewestrevisions' ),
'Withoutinterwiki' => array( 'SpecialPage', 'Withoutinterwiki' ),
- 'Protectedpages' => array( 'SpecialPage', 'Protectedpages' ),
- 'Protectedtitles' => array( 'SpecialPage', 'Protectedtitles' ),
+ 'Protectedpages' => 'SpecialProtectedpages',
+ 'Protectedtitles' => 'SpecialProtectedtitles',
'Shortpages' => array( 'SpecialPage', 'Shortpages' ),
'Uncategorizedcategories' => array( 'SpecialPage', 'Uncategorizedcategories' ),
'Uncategorizedimages' => array( 'SpecialPage', 'Uncategorizedimages' ),
# List of pages
'Allpages' => 'SpecialAllpages',
'Prefixindex' => 'SpecialPrefixindex',
- 'Categories' => array( 'SpecialPage', 'Categories' ),
+ 'Categories' => 'SpecialCategories',
'Disambiguations' => array( 'SpecialPage', 'Disambiguations' ),
'Listredirects' => array( 'SpecialPage', 'Listredirects' ),
'CreateAccount' => array( 'SpecialRedirectToSpecial', 'CreateAccount', 'Userlogin', 'signup', array( 'uselang' ) ),
# Users and rights
- 'Blockip' => array( 'SpecialPage', 'Blockip', 'block' ),
- 'Ipblocklist' => array( 'SpecialPage', 'Ipblocklist' ),
+ 'Blockip' => 'IPBlockForm',
+ 'Ipblocklist' => 'IPUnblockForm',
'Unblock' => array( 'SpecialRedirectToSpecial', 'Unblock', 'Ipblocklist', false, array( 'uselang', 'ip', 'id' ), array( 'action' => 'unblock' ) ),
'Resetpass' => 'SpecialResetpass',
'DeletedContributions' => 'DeletedContributionsPage',
'Contributions' => 'SpecialContributions',
'Listgrouprights' => 'SpecialListGroupRights',
'Listusers' => array( 'SpecialPage', 'Listusers' ),
+ 'Listadmins' => array( 'SpecialRedirectToSpecial', 'Listadmins', 'Listusers', 'sysop' ),
+ 'Listbots' => array( 'SpecialRedirectToSpecial', 'Listbots', 'Listusers', 'bot' ),
'Activeusers' => 'SpecialActiveUsers',
'Userrights' => 'UserrightsPage',
# Recent changes and logs
'Newimages' => array( 'IncludableSpecialPage', 'Newimages' ),
- 'Log' => array( 'SpecialPage', 'Log' ),
+ 'Log' => 'SpecialLog',
'Watchlist' => array( 'SpecialPage', 'Watchlist' ),
'Newpages' => 'SpecialNewpages',
'Recentchanges' => 'SpecialRecentchanges',
# Media reports and uploads
'Listfiles' => array( 'SpecialPage', 'Listfiles' ),
- 'Filepath' => array( 'SpecialPage', 'Filepath' ),
+ 'Filepath' => 'SpecialFilepath',
'MIMEsearch' => array( 'SpecialPage', 'MIMEsearch' ),
'FileDuplicateSearch' => array( 'SpecialPage', 'FileDuplicateSearch' ),
'Upload' => 'SpecialUpload',
'Statistics' => 'SpecialStatistics',
'Allmessages' => 'SpecialAllmessages',
'Version' => 'SpecialVersion',
- 'Lockdb' => array( 'SpecialPage', 'Lockdb', 'siteadmin' ),
- 'Unlockdb' => array( 'SpecialPage', 'Unlockdb', 'siteadmin' ),
+ 'Lockdb' => 'SpecialLockdb',
+ 'Unlockdb' => 'SpecialUnlockdb',
# Redirecting special pages
'LinkSearch' => array( 'SpecialPage', 'LinkSearch' ),
'Mostrevisions' => array( 'SpecialPage', 'Mostrevisions' ),
# Page tools
+ 'ComparePages' => 'SpecialComparePages',
'Export' => 'SpecialExport',
'Import' => 'SpecialImport',
- 'Undelete' => array( 'SpecialPage', 'Undelete', 'deletedhistory' ),
+ 'Undelete' => 'UndeleteForm',
'Whatlinkshere' => 'SpecialWhatlinkshere',
'MergeHistory' => 'SpecialMergeHistory',
# Unlisted / redirects
'Blankpage' => 'SpecialBlankpage',
- 'Blockme' => array( 'UnlistedSpecialPage', 'Blockme' ),
+ 'Blockme' => 'SpecialBlockme',
'Emailuser' => 'SpecialEmailUser',
- 'Listadmins' => array( 'SpecialRedirectToSpecial', 'Listadmins', 'Listusers', 'sysop' ),
- 'Listbots' => array( 'SpecialRedirectToSpecial', 'Listbots', 'Listusers', 'bot' ),
- 'Movepage' => array( 'UnlistedSpecialPage', 'Movepage' ),
- 'Mycontributions' => array( 'SpecialMycontributions' ),
- 'Mypage' => array( 'SpecialMypage' ),
- 'Mytalk' => array( 'SpecialMytalk' ),
+ 'Movepage' => 'MovePageForm',
+ 'Mycontributions' => 'SpecialMycontributions',
+ 'Mypage' => 'SpecialMypage',
+ 'Mytalk' => 'SpecialMytalk',
'Revisiondelete' => 'SpecialRevisionDelete',
- 'Specialpages' => array( 'UnlistedSpecialPage', 'Specialpages' ),
- 'Userlogout' => array( 'UnlistedSpecialPage', 'Userlogout' ),
+ 'RevisionMove' => 'SpecialRevisionMove',
+ 'Specialpages' => 'SpecialSpecialpages',
+ 'Userlogout' => 'SpecialUserlogout',
);
static public $mAliases;
static function initList() {
global $wgSpecialPages;
global $wgDisableCounters, $wgDisableInternalSearch, $wgEmailAuthentication;
+ global $wgEnableSelenium;
if ( self::$mListInitialised ) {
return;
self::$mList['Invalidateemail'] = 'EmailInvalidation';
}
+ if ( $wgEnableSelenium ) {
+ self::$mList['Selenium'] = 'SpecialSelenium';
+ }
+
# Add extension special pages
self::$mList = array_merge( self::$mList, $wgSpecialPages );
* an associative record to $wgSpecialPages. This avoids autoloading SpecialPage.
*
* @param $page SpecialPage
+ * Deprecated in 1.7, warnings in 1.17, might be removed in 1.20
*/
static function addPage( &$page ) {
+ wfDeprecated( __METHOD__ );
if ( !self::$mListInitialised ) {
self::initList();
}
$found = false;
foreach ( $aliases as $n => $values ) {
if ( strcasecmp( $name, $n ) === 0 ) {
- wfWarn( "Found alias defined for $n when searching for special page aliases
-for $name. Case mismatch?" );
+ wfWarn( "Found alias defined for $n when searching for" .
+ "special page aliases for $name. Case mismatch?" );
$name = $values[0];
$found = true;
break;
}
}
- if ( !$found ) wfWarn( "Did not find alias for special page '$name'.
-Perhaps no page aliases are defined for it?" );
+ if ( !$found ) {
+ wfWarn( "Did not find alias for special page '$name'." .
+ "Perhaps no aliases are defined for it?" );
+ }
}
if ( $subpage !== false && !is_null( $subpage ) ) {
$name = "$name/$subpage";
$this->mRestriction = $restriction;
$this->mListed = $listed;
$this->mIncludable = $includable;
- if ( $function == false ) {
+ if ( !$function ) {
$this->mFunction = 'wfSpecial'.$name;
} else {
$this->mFunction = $function;
}
$out = wfMsgNoTrans( $msg );
if ( ! wfEmptyMsg( $msg, $out ) and $out !== '' and ! $this->including() ) {
- $wgOut->wrapWikiMsg( "<div class='mw-specialpage-summary'>\n$1</div>", $msg );
+ $wgOut->wrapWikiMsg( "<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
}
}
class UnlistedSpecialPage extends SpecialPage
{
function UnlistedSpecialPage( $name, $restriction = '', $function = false, $file = 'default' ) {
- SpecialPage::SpecialPage( $name, $restriction, false, $function, $file );
+ parent::SpecialPage( $name, $restriction, false, $function, $file );
}
}
class IncludableSpecialPage extends SpecialPage
{
function IncludableSpecialPage( $name, $restriction = '', $listed = true, $function = false, $file = 'default' ) {
- SpecialPage::SpecialPage( $name, $restriction, $listed, $function, $file, true );
+ parent::SpecialPage( $name, $restriction, $listed, $function, $file, true );
}
}