* Loads the current state of protection into the object.
*/
function loadData() {
- $levels = MWNamespace::getRestrictionLevels(
+ $levels = MediaWikiServices::getInstance()->getNamespaceInfo()->getRestrictionLevels(
$this->mTitle->getNamespace(), $this->mContext->getUser()
);
$this->mCascade = $this->mTitle->areRestrictionsCascading();
* Main entry point for action=protect and action=unprotect
*/
function execute() {
- if ( MWNamespace::getRestrictionLevels( $this->mTitle->getNamespace() ) === [ '' ] ) {
+ if (
+ MediaWikiServices::getInstance()->getNamespaceInfo()->getRestrictionLevels(
+ $this->mTitle->getNamespace()
+ ) === [ '' ]
+ ) {
throw new ErrorPageError( 'protect-badnamespace-title', 'protect-badnamespace-text' );
}
/**
* Show the input form with optional error message
*
- * @param string|null $err Error message or null if there's no error
+ * @param string|string[]|null $err Error message or null if there's no error
*/
function show( $err = null ) {
$out = $this->mContext->getOutput();
);
if ( !$status->isOK() ) {
- $this->show( $out->parseInline( $status->getWikiText() ) );
+ $this->show( $out->parseInlineAsInterface( $status->getWikiText() ) );
return false;
}
$user = $context->getUser();
$output = $context->getOutput();
$lang = $context->getLanguage();
- $conf = $context->getConfig();
- $cascadingRestrictionLevels = $conf->get( 'CascadingRestrictionLevels' );
- $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
$out = '';
if ( !$this->disabled ) {
$output->addModules( 'mediawiki.legacy.protect' );
- $output->addJsConfigVars( 'wgCascadeableLevels', $cascadingRestrictionLevels );
$out .= Xml::openElement( 'form', [ 'method' => 'post',
'action' => $this->mTitle->getLocalURL( 'action=protect' ),
'id' => 'mw-Protect-Form' ] );
// HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
// (e.g. emojis) count for two each. This limit is overridden in JS to instead count
- // Unicode codepoints (or 180 UTF-8 bytes for old schema).
+ // Unicode codepoints.
// Subtract arbitrary 75 to leave some space for the autogenerated null edit's summary
// and other texts chosen by dropdown menus on this page.
- $maxlength = $oldCommentSchema ? 180 : CommentStore::COMMENT_CHARACTER_LIMIT - 75;
+ $maxlength = CommentStore::COMMENT_CHARACTER_LIMIT - 75;
$out .= Xml::openElement( 'table', [ 'id' => 'mw-protect-table3' ] ) .
Xml::openElement( 'tbody' );
function buildSelector( $action, $selected ) {
// If the form is disabled, display all relevant levels. Otherwise,
// just show the ones this user can use.
- $levels = MWNamespace::getRestrictionLevels( $this->mTitle->getNamespace(),
+ $levels = MediaWikiServices::getInstance()->getNamespaceInfo()->getRestrictionLevels(
+ $this->mTitle->getNamespace(),
$this->disabled ? null : $this->mContext->getUser()
);
/**
* Show protection long extracts for this page
*
- * @param OutputPage &$out
- * @access private
+ * @param OutputPage $out
*/
- function showLogExtract( &$out ) {
+ private function showLogExtract( OutputPage $out ) {
# Show relevant lines from the protection log:
$protectLogPage = new LogPage( 'protect' );
$out->addHTML( Xml::element( 'h2', null, $protectLogPage->getName()->text() ) );