$this->getOutput()->addModuleStyles( 'mediawiki.special' );
+ $linkRenderer = $this->getLinkRenderer();
# Link to the user's contributions, if applicable
if ( $this->target instanceof User ) {
$contribsPage = SpecialPage::getTitleFor( 'Contributions', $this->target->getName() );
- $links[] = Linker::link(
+ $links[] = $linkRenderer->makeLink(
$contribsPage,
- $this->msg( 'ipb-blocklist-contribs', $this->target->getName() )->escaped()
+ $this->msg( 'ipb-blocklist-contribs', $this->target->getName() )->text()
);
}
$message = $this->msg( 'ipb-unblock' )->parse();
$list = SpecialPage::getTitleFor( 'Unblock' );
}
- $links[] = Linker::linkKnown( $list, $message, [] );
+ $links[] = $linkRenderer->makeKnownLink(
+ $list,
+ new HtmlArmor( $message )
+ );
# Link to the block list
- $links[] = Linker::linkKnown(
+ $links[] = $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'BlockList' ),
- $this->msg( 'ipb-blocklist' )->escaped()
+ $this->msg( 'ipb-blocklist' )->text()
);
$user = $this->getUser();
# Link to edit the block dropdown reasons, if applicable
if ( $user->isAllowed( 'editinterface' ) ) {
- $links[] = Linker::linkKnown(
+ $links[] = $linkRenderer->makeKnownLink(
$this->msg( 'ipbreason-dropdown' )->inContentLanguage()->getTitle(),
- $this->msg( 'ipb-edit-dropdown' )->escaped(),
+ $this->msg( 'ipb-edit-dropdown' )->text(),
[],
[ 'action' => 'edit' ]
);
return [ 'ipb-blockingself', 'ipb-confirmaction' ];
}
} elseif ( $type == Block::TYPE_RANGE ) {
+ $user = null;
$userId = 0;
} elseif ( $type == Block::TYPE_IP ) {
+ $user = null;
$target = $target->getName();
$userId = 0;
} else {
return $reason;
}
+ $priorBlock = null;
# Try to insert block. Is there a conflicting block?
$status = $block->insert();
if ( !$status ) {
# This returns direct blocks before autoblocks/rangeblocks, since we should
# be sure the user is blocked by now it should work for our purposes
$currentBlock = Block::newFromTarget( $target );
-
if ( $block->equals( $currentBlock ) ) {
return [ [ 'ipb_already_blocked', $block->getTarget() ] ];
}
-
# If the name was hidden and the blocking user cannot hide
# names, then don't allow any block changes...
if ( $currentBlock->mHideName && !$performer->isAllowed( 'hideuser' ) ) {
return [ 'cant-see-hidden-user' ];
}
+ $priorBlock = clone $currentBlock;
$currentBlock->isHardblock( $block->isHardblock() );
$currentBlock->prevents( 'createaccount', $block->prevents( 'createaccount' ) );
$currentBlock->mExpiry = $block->mExpiry;
$logaction = 'block';
}
- Hooks::run( 'BlockIpComplete', [ $block, $performer ] );
+ Hooks::run( 'BlockIpComplete', [ $block, $performer, $priorBlock ] );
# Set *_deleted fields if requested
if ( $data['HideUser'] ) {