Improve change content model log entry for page creations
authorKunal Mehta <legoktm@member.fsf.org>
Wed, 2 Mar 2016 21:31:18 +0000 (13:31 -0800)
committerKunal Mehta <legoktm@member.fsf.org>
Mon, 7 Mar 2016 18:29:45 +0000 (10:29 -0800)
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
includes/EditPage.php
includes/specials/SpecialChangeContentModel.php
languages/i18n/en.json
languages/i18n/qqq.json

index e7c8651..e4283cc 100644 (file)
@@ -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',
index 1455068..482fcc6 100644 (file)
@@ -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 );
index 56e568b..57c6fec 100644 (file)
@@ -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'] );
index 2b83ff6..115b66f 100644 (file)
        "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",
index 5d8762d..61463b3 100644 (file)
        "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}}",