if ( $permErrors ) {
wfDebug( __METHOD__ . ": User can't edit\n" );
- // track block with a cookie if it doesn't exists already
- $this->context->getUser()->trackBlockWithCookie();
+ if ( $this->context->getUser()->getBlock() ) {
+ // track block with a cookie if it doesn't exists already
+ $this->context->getUser()->trackBlockWithCookie();
+
+ // Auto-block user's IP if the account was "hard" blocked
+ if ( !wfReadOnly() ) {
+ DeferredUpdates::addCallableUpdate( function () {
+ $this->context->getUser()->spreadAnyEditBlock();
+ } );
+ }
- // Auto-block user's IP if the account was "hard" blocked
- if ( !wfReadOnly() ) {
- DeferredUpdates::addCallableUpdate( function () {
- $this->context->getUser()->spreadAnyEditBlock();
- } );
+ $config = $this->context->getConfig();
+ if ( $config->get( 'EnableBlockNoticeStats' ) ) {
+ $wiki = $config->get( 'DBname' );
+ $statsd = MediaWikiServices::getInstance()->getStatsdDataFactory();
+ $statsd->increment( 'BlockNotices.' . $wiki . '.WikitextEditor.shown' );
+ }
}
$this->displayPermissionsError( $permErrors );
return $status;
}
- if ( $user->isBlockedFrom( $this->mTitle, false ) ) {
+ if ( $user->isBlockedFrom( $this->mTitle ) ) {
// Auto-block user's IP if the account was "hard" blocked
if ( !wfReadOnly() ) {
$user->spreadAnyEditBlock();
if ( !( $user && $user->isLoggedIn() ) && !$ip ) { # User does not exist
$out->wrapWikiMsg( "<div class=\"mw-userpage-userdoesnotexist error\">\n$1\n</div>",
[ 'userpage-userdoesnotexist', wfEscapeWikiText( $username ) ] );
- } elseif ( !is_null( $block ) && $block->getType() != Block::TYPE_AUTO ) {
- # Show log extract if the user is currently blocked
+ } elseif (
+ !is_null( $block ) &&
+ $block->getType() != Block::TYPE_AUTO &&
+ ( $block->isSitewide() || $user->isBlockedFrom( $this->mTitle ) )
+ ) {
+ // Show log extract if the user is sitewide blocked or is partially
+ // blocked and not allowed to edit their user page or user talk page
LogEventsList::showLogExtract(
$out,
'block',