$this->isConflict = false;
wfDebug( __METHOD__ . ": conflict suppressed; new section\n" );
}
- } elseif ( $this->section == '' && $this->userWasLastToEdit( $wgUser->getId(), $this->edittime ) ) {
+ } elseif ( $this->section == '' && Revision::userWasLastToEdit( DB_MASTER, $this->mTitle->getArticleID(), $wgUser->getId(), $this->edittime ) ) {
# Suppress edit conflict with self, except for section edits where merging is required.
wfDebug( __METHOD__ . ": Suppressing edit conflict, same user.\n" );
$this->isConflict = false;
}
}
- /**
- * Check if no edits were made by other users since
- * the time a user started editing the page. Limit to
- * 50 revisions for the sake of performance.
- *
- * @param $id int
- * @param $edittime string
- *
- * @return bool
- */
- protected function userWasLastToEdit( $id, $edittime ) {
- if ( !$id ) return false;
- $dbw = wfGetDB( DB_MASTER );
- $res = $dbw->select( 'revision',
- 'rev_user',
- array(
- 'rev_page' => $this->mTitle->getArticleID(),
- 'rev_timestamp > ' . $dbw->addQuotes( $dbw->timestamp( $edittime ) )
- ),
- __METHOD__,
- array( 'ORDER BY' => 'rev_timestamp ASC', 'LIMIT' => 50 ) );
- foreach ( $res as $row ) {
- if ( $row->rev_user != $id ) {
- return false;
- }
- }
- return true;
- }
-
/**
* @private
* @todo document
if ( $this->mTriedSave && !$this->mTokenOk ) {
if ( $this->mTokenOkExceptSuffix ) {
$note = wfMessage( 'token_suffix_mismatch' )->plain() ;
+
} else {
$note = wfMessage( 'session_fail_preview' )->plain() ;
}
' [[#' . self::EDITFORM_ID . '|' . $wgLang->getArrow() . ' ' . wfMessage( 'continue-editing' )->text() . ']]';
}
- $parserOptions = ParserOptions::newFromUser( $wgUser );
+ $parserOptions = $this->mArticle->makeParserOptions( $this->mArticle->getContext() );
$parserOptions->setEditSection( false );
$parserOptions->setTidy( true );
$parserOptions->setIsPreview( true );
}
$rt = $content->getRedirectChain();
-
if ( $rt ) {
$previewHTML = $this->mArticle->viewRedirect( $rt, false );
} else {