$fields['Target']['type'] = 'hidden';
switch ( $type ) {
case Block::TYPE_IP:
- $fields['Name']['default'] = Linker::linkKnown(
+ $fields['Name']['default'] = $this->getLinkRenderer()->makeKnownLink(
SpecialPage::getTitleFor( 'Contributions', $target->getName() ),
$target->getName()
);
$fields['Name']['raw'] = true;
break;
case Block::TYPE_USER:
- $fields['Name']['default'] = Linker::link(
+ $fields['Name']['default'] = $this->getLinkRenderer()->makeLink(
$target->getUserPage(),
$target->getName()
);
/**
* Process the form
*
+ * Change tags can be provided via $data['Tags'], but the calling function
+ * must check if the tags can be added by the user prior to this function.
+ *
* @param array $data
* @param IContextSource $context
* @throws ErrorPageError
- * @return array|bool Array(message key, parameters) on failure, True on success
+ * @return array|bool Array( Array( message key, parameters ) ) on failure, True on success
*/
public static function processUnblock( array $data, IContextSource $context ) {
$performer = $context->getUser();
return [ 'unblock-hideuser' ];
}
+ $reason = [ 'hookaborted' ];
+ if ( !Hooks::run( 'UnblockUser', [ &$block, &$performer, &$reason ] ) ) {
+ return $reason;
+ }
+
# Delete block
if ( !$block->delete() ) {
- return [ 'ipb_cant_unblock', htmlspecialchars( $block->getTarget() ) ];
+ return [ [ 'ipb_cant_unblock', htmlspecialchars( $block->getTarget() ) ] ];
}
+ Hooks::run( 'UnblockUserComplete', [ $block, $performer ] );
+
# Unset _deleted fields as needed
if ( $block->mHideName ) {
# Something is deeply FUBAR if this is not a User object, but who knows?
$id = $block->getTarget() instanceof User
- ? $block->getTarget()->getID()
+ ? $block->getTarget()->getId()
: User::idFromName( $block->getTarget() );
RevisionDeleteUser::unsuppressUserName( $block->getTarget(), $id );
$page = Title::makeTitle( NS_USER, '#' . $block->getId() );
} else {
$page = $block->getTarget() instanceof User
- ? $block->getTarget()->getUserpage()
+ ? $block->getTarget()->getUserPage()
: Title::makeTitle( NS_USER, $block->getTarget() );
}
$logEntry->setTarget( $page );
$logEntry->setComment( $data['Reason'] );
$logEntry->setPerformer( $performer );
+ if ( isset( $data['Tags'] ) ) {
+ $logEntry->setTags( $data['Tags'] );
+ }
$logId = $logEntry->insert();
$logEntry->publish( $logId );