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 );
# that edit() already checked just in case someone tries to sneak
# in the back door with a hand-edited submission URL.
- if ( 'save' == $this->formtype ) {
+ if ( $this->formtype == 'save' ) {
$resultDetails = null;
$status = $this->attemptSave( $resultDetails );
if ( !$this->handleStatus( $status, $resultDetails ) ) {
# First time through: get contents, set time for conflict
# checking, etc.
- if ( 'initial' == $this->formtype || $this->firsttime ) {
+ if ( $this->formtype == 'initial' || $this->firsttime ) {
if ( $this->initialiseForm() === false ) {
$out = $this->context->getOutput();
if ( $out->getRedirect() === '' ) { // mcrundo hack redirects, don't override it
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',
// Put these up at the top to ensure they aren't lost on early form submission
$this->showFormBeforeText();
- if ( $this->wasDeletedSinceLastEdit() && 'save' == $this->formtype ) {
+ if ( $this->wasDeletedSinceLastEdit() && $this->formtype == 'save' ) {
$username = $this->lastDelete->user_name;
$comment = CommentStore::getStore()
->getComment( 'log_comment', $this->lastDelete )->text;