if ( $permErrors ) {
wfDebug( __METHOD__ . ": User can't edit\n" );
// Auto-block user's IP if the account was "hard" blocked
- $user = $wgUser;
- DeferredUpdates::addCallableUpdate( function() use ( $user ) {
- $user->spreadAnyEditBlock();
- } );
-
+ if ( !wfReadOnly() ) {
+ $user = $wgUser;
+ DeferredUpdates::addCallableUpdate( function () use ( $user ) {
+ $user->spreadAnyEditBlock();
+ } );
+ }
$this->displayPermissionsError( $permErrors );
return;
* Get the content of the wanted revision, without section extraction.
*
* The result of this function can be used to compare user's input with
- * section replaced in its context (using WikiPage::replaceSection())
+ * section replaced in its context (using WikiPage::replaceSectionAtRev())
* to the original text of the edit.
*
* This differs from Article::getContent() that when a missing revision is
// is if an extension hook aborted from inside ArticleSave.
// Render the status object into $this->hookError
// FIXME this sucks, we should just use the Status object throughout
- $this->hookError = '<div class="error">' . $status->getWikitext() .
+ $this->hookError = '<div class="error">' . $status->getWikiText() .
'</div>';
return true;
}
if ( $wgUser->isBlockedFrom( $this->mTitle, false ) ) {
// Auto-block user's IP if the account was "hard" blocked
- $wgUser->spreadAnyEditBlock();
+ if ( !wfReadOnly() ) {
+ $wgUser->spreadAnyEditBlock();
+ }
# Check block state against master, thus 'false'.
$status->setResult( false, self::AS_BLOCKED_PAGE_FOR_USER );
return $status;
} elseif ( $this->section != '' ) {
# Try to get a section anchor from the section source, redirect
# to edited section if header found.
- # XXX: Might be better to integrate this into Article::replaceSection
+ # XXX: Might be better to integrate this into Article::replaceSectionAtRev
# for duplicate heading checking and maybe parsing.
$hasmatch = preg_match( "/^ *([=]{1,6})(.*?)(\\1) *\\n/i", $this->textbox1, $matches );
# We can't deal with anchors, includes, html etc in the header for now,
$watch = $this->watchthis;
// Do this in its own transaction to reduce contention...
DeferredUpdates::addCallableUpdate( function () use ( $user, $title, $watch ) {
- if ( $watch == $user->isWatched( $title, WatchedItem::IGNORE_USER_RIGHTS ) ) {
+ if ( $watch == $user->isWatched( $title, User::IGNORE_USER_RIGHTS ) ) {
return; // nothing to change
}
WatchAction::doWatchOrUnwatch( $watch, $title, $user );