From 2b72964015e683cf107ef84de6a36c1baec52b3a Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Wed, 2 Mar 2016 13:31:18 -0800 Subject: [PATCH] Improve change content model log entry for page creations There really isn't a previous content model because the page didn't exist beforehand, so say the page was created with a non-default content model. Bug: T128645 Change-Id: Ibe0b124e3f3ceaaf3775f82e2646b7639a146a42 --- includes/DefaultSettings.php | 1 + includes/EditPage.php | 7 ++++--- includes/specials/SpecialChangeContentModel.php | 2 +- languages/i18n/en.json | 1 + languages/i18n/qqq.json | 1 + 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index e7c8651cf7..e4283ccaa9 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -7203,6 +7203,7 @@ $wgLogActionsHandlers = [ 'block/reblock' => 'BlockLogFormatter', 'block/unblock' => 'BlockLogFormatter', 'contentmodel/change' => 'ContentModelLogFormatter', + 'contentmodel/new' => 'ContentModelLogFormatter', 'delete/delete' => 'DeleteLogFormatter', 'delete/event' => 'DeleteLogFormatter', 'delete/restore' => 'DeleteLogFormatter', diff --git a/includes/EditPage.php b/includes/EditPage.php index 14550682a5..482fcc636c 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -2065,7 +2065,7 @@ class EditPage { if ( $changingContentModel ) { $this->addContentModelChangeLogEntry( $wgUser, - $oldContentModel, + $new ? false : $oldContentModel, $this->contentModel, $this->summary ); @@ -2076,12 +2076,13 @@ class EditPage { /** * @param User $user - * @param string $oldModel + * @param string|false $oldModel false if the page is being newly created * @param string $newModel * @param string $reason */ protected function addContentModelChangeLogEntry( User $user, $oldModel, $newModel, $reason ) { - $log = new ManualLogEntry( 'contentmodel', 'change' ); + $new = $oldModel === false; + $log = new ManualLogEntry( 'contentmodel', $new ? 'new' : 'change' ); $log->setPerformer( $user ); $log->setTarget( $this->mTitle ); $log->setComment( $reason ); diff --git a/includes/specials/SpecialChangeContentModel.php b/includes/specials/SpecialChangeContentModel.php index 56e568bc60..57c6fec5b5 100644 --- a/includes/specials/SpecialChangeContentModel.php +++ b/includes/specials/SpecialChangeContentModel.php @@ -185,7 +185,7 @@ class SpecialChangeContentModel extends FormSpecialPage { $flags |= EDIT_FORCE_BOT; } - $log = new ManualLogEntry( 'contentmodel', 'change' ); + $log = new ManualLogEntry( 'contentmodel', $this->oldRevision ? 'change' : 'new' ); $log->setPerformer( $user ); $log->setTarget( $this->title ); $log->setComment( $data['reason'] ); diff --git a/languages/i18n/en.json b/languages/i18n/en.json index 2b83ff6732..115b66f26a 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -2133,6 +2133,7 @@ "changecontentmodel-nodirectediting": "The $1 content model does not support direct editing", "log-name-contentmodel": "Content model change log", "log-description-contentmodel": "Events related to the content models of a page", + "logentry-contentmodel-new": "$1 {{GENDER:$2|created}} the page $3 using a non-default content model \"$5\"", "logentry-contentmodel-change": "$1 {{GENDER:$2|changed}} the content model of the page $3 from \"$4\" to \"$5\"", "logentry-contentmodel-change-revertlink": "revert", "logentry-contentmodel-change-revert": "revert", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index 5d8762dd2c..61463b3183 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -2309,6 +2309,7 @@ "changecontentmodel-nodirectediting": "Error message shown if the content model does not allow for direct editing. $1 is the localized name of the content model.", "log-name-contentmodel": "{{doc-logpage}}\n\nTitle of [[Special:Log/contentmodel]].", "log-description-contentmodel": "Text in [[Special:Log/contentmodel]].", + "logentry-contentmodel-new": "{{Logentry}}\n$4 is not used.\n$5 is the new content model.", "logentry-contentmodel-change": "{{Logentry}}\n$4 is the original content model.\n$5 is the new content model.", "logentry-contentmodel-change-revertlink": "Text on a link that reverts the content model change. {{identical|revertmove}}.", "logentry-contentmodel-change-revert": "Prefilled edit summary when reverting a content model change. {{identical|revertmove}}", -- 2.20.1