use MediaWiki\Special\SpecialPageFactory;
use MessageSpecifier;
use MWException;
-use MWNamespace;
+use NamespaceInfo;
use RequestContext;
use SpecialPage;
use Title;
$whitelistRead,
$whitelistReadRegexp,
$emailConfirmToEdit,
- $blockDisablesLogin
+ $blockDisablesLogin,
+ NamespaceInfo $nsInfo
) {
$this->specialPageFactory = $specialPageFactory;
$this->whitelistRead = $whitelistRead;
$this->whitelistReadRegexp = $whitelistReadRegexp;
$this->emailConfirmToEdit = $emailConfirmToEdit;
$this->blockDisablesLogin = $blockDisablesLogin;
+ $this->nsInfo = $nsInfo;
}
/**
return $errors;
}
- $isSubPage = MWNamespace::hasSubpages( $page->getNamespace() ) ?
+ $isSubPage = $this->nsInfo->hasSubpages( $page->getNamespace() ) ?
strpos( $page->getText(), '/' ) !== false : false;
if ( $action == 'create' ) {
if (
- ( MWNamespace::isTalk( $page->getNamespace() ) && !$user->isAllowed( 'createtalk' ) ) ||
- ( !MWNamespace::isTalk( $page->getNamespace() ) && !$user->isAllowed( 'createpage' ) )
+ ( $this->nsInfo->isTalk( $page->getNamespace() ) &&
+ !$user->isAllowed( 'createtalk' ) ) ||
+ ( !$this->nsInfo->isTalk( $page->getNamespace() ) &&
+ !$user->isAllowed( 'createpage' ) )
) {
$errors[] = $user->isAnon() ? [ 'nocreatetext' ] : [ 'nocreate-loggedin' ];
}
}
} elseif ( $action == 'move' ) {
// Check for immobile pages
- if ( !MWNamespace::isMovable( $page->getNamespace() ) ) {
+ if ( !$this->nsInfo->isMovable( $page->getNamespace() ) ) {
// Specific message for this case
$errors[] = [ 'immobile-source-namespace', $page->getNsText() ];
} elseif ( !$page->isMovable() ) {
$errors[] = [ 'immobile-source-page' ];
}
} elseif ( $action == 'move-target' ) {
- if ( !MWNamespace::isMovable( $page->getNamespace() ) ) {
+ if ( !$this->nsInfo->isMovable( $page->getNamespace() ) ) {
$errors[] = [ 'immobile-target-namespace', $page->getNsText() ];
} elseif ( !$page->isMovable() ) {
$errors[] = [ 'immobile-target-page' ];
$config->get( 'WhitelistRead' ),
$config->get( 'WhitelistReadRegexp' ),
$config->get( 'EmailConfirmToEdit' ),
- $config->get( 'BlockDisablesLogin' ) );
+ $config->get( 'BlockDisablesLogin' ),
+ $services->getNamespaceInfo()
+ );
},
'PreferencesFactory' => function ( MediaWikiServices $services ) : PreferencesFactory {