* @param Article $article
*/
public function __construct( Article $article ) {
- global $wgOOUIEditPage;
-
$this->mArticle = $article;
$this->page = $article->getPage(); // model object
$this->mTitle = $article->getTitle();
$handler = ContentHandler::getForModelID( $this->contentModel );
$this->contentFormat = $handler->getDefaultFormat();
- $this->oouiEnabled = $wgOOUIEditPage;
+ $this->oouiEnabled = $this->context->getConfig()->get( 'OOUIEditPage' );
}
/**
return $status;
}
+ /**
+ * Log when a page was successfully saved after the edit conflict view
+ */
+ private function incrementResolvedConflicts() {
+ global $wgRequest;
+
+ if ( $wgRequest->getText( 'mode' ) !== 'conflict' ) {
+ return;
+ }
+
+ $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
+ $stats->increment( 'edit.failures.conflict.resolved' );
+ }
+
/**
* Handle status, such as after attempt save
*
if ( $status->value == self::AS_SUCCESS_UPDATE
|| $status->value == self::AS_SUCCESS_NEW_ARTICLE
) {
+ $this->incrementResolvedConflicts();
+
$this->didSave = true;
if ( !$resultDetails['nullEdit'] ) {
$this->setPostEditCookie( $status->value );
$wgOut->addHTML( $this->editFormTextBeforeContent );
if ( !$this->isCssJsSubpage && $showToolbar && $wgUser->getOption( 'showtoolbar' ) ) {
- $wgOut->addHTML( EditPage::getEditToolbar( $this->mTitle ) );
+ $wgOut->addHTML( self::getEditToolbar( $this->mTitle ) );
}
if ( $this->blankArticle ) {
}
}
+ /**
+ * Inserts optional text shown below edit and upload forms. Can be used to offer special characters not present on
+ * most keyboards for copying/pasting.
+ */
protected function showEditTools() {
global $wgOut;
$wgOut->addHTML( '<div class="mw-editTools">' .