Introduce separate log action for deleting pages on move
Since T106119, moves that overwrite a redirect produce a deletion log entry. It should be possibleto identify such deletions within other ones. Note that this patch only applies for actions in the future because there is no way to easily identify these cases for the software (until now). Bug: T145991 Change-Id: I3c006bca57351d82031c4fdce0c53f65d630b0d9
This commit is contained in:
parent
9b4cea6d2e
commit
2ee4c67286
7 changed files with 13 additions and 3 deletions
|
|
@ -7510,6 +7510,7 @@ $wgLogActionsHandlers = [
|
|||
'contentmodel/change' => 'ContentModelLogFormatter',
|
||||
'contentmodel/new' => 'ContentModelLogFormatter',
|
||||
'delete/delete' => 'DeleteLogFormatter',
|
||||
'delete/delete_redir' => 'DeleteLogFormatter',
|
||||
'delete/event' => 'DeleteLogFormatter',
|
||||
'delete/restore' => 'DeleteLogFormatter',
|
||||
'delete/revision' => 'DeleteLogFormatter',
|
||||
|
|
@ -7561,6 +7562,7 @@ $wgActionFilteredLogs = [
|
|||
],
|
||||
'delete' => [
|
||||
'delete' => [ 'delete' ],
|
||||
'delete_redir' => [ 'delete_redir' ],
|
||||
'restore' => [ 'restore' ],
|
||||
'event' => [ 'event' ],
|
||||
'revision' => [ 'revision' ],
|
||||
|
|
|
|||
|
|
@ -457,7 +457,9 @@ class MovePage {
|
|||
$nt->getArticleID(),
|
||||
/* $commit */ false,
|
||||
$errs,
|
||||
$user
|
||||
$user,
|
||||
[],
|
||||
'delete_redir'
|
||||
);
|
||||
|
||||
if ( !$status->isGood() ) {
|
||||
|
|
|
|||
|
|
@ -762,6 +762,7 @@ class RecentChange {
|
|||
# # Get pageStatus for email notification
|
||||
switch ( $type . '-' . $action ) {
|
||||
case 'delete-delete':
|
||||
case 'delete-delete_redir':
|
||||
$pageStatus = 'deleted';
|
||||
break;
|
||||
case 'move-move':
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ class DeleteLogFormatter extends LogFormatter {
|
|||
|
||||
switch ( $this->entry->getSubtype() ) {
|
||||
case 'delete': // Show undelete link
|
||||
case 'delete_redir':
|
||||
if ( $user->isAllowed( 'undelete' ) ) {
|
||||
$message = 'undeletelink';
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -2861,7 +2861,7 @@ class WikiPage implements Page, IDBAccessObject {
|
|||
*/
|
||||
public function doDeleteArticleReal(
|
||||
$reason, $suppress = false, $u1 = null, $u2 = null, &$error = '', User $user = null,
|
||||
$tags = []
|
||||
$tags = [], $logsubtype = 'delete'
|
||||
) {
|
||||
global $wgUser, $wgContentHandlerUseDB;
|
||||
|
||||
|
|
@ -2992,7 +2992,7 @@ class WikiPage implements Page, IDBAccessObject {
|
|||
// Log the deletion, if the page was suppressed, put it in the suppression log instead
|
||||
$logtype = $suppress ? 'suppress' : 'delete';
|
||||
|
||||
$logEntry = new ManualLogEntry( $logtype, 'delete' );
|
||||
$logEntry = new ManualLogEntry( $logtype, $logsubtype );
|
||||
$logEntry->setPerformer( $user );
|
||||
$logEntry->setTarget( $logTitle );
|
||||
$logEntry->setComment( $reason );
|
||||
|
|
|
|||
|
|
@ -3825,6 +3825,7 @@
|
|||
"htmlform-user-not-valid": "<strong>$1</strong> isn't a valid username.",
|
||||
"rawmessage": "$1",
|
||||
"logentry-delete-delete": "$1 {{GENDER:$2|deleted}} page $3",
|
||||
"logentry-delete-delete_redir": "$1 {{GENDER:$2|deleted}} redirect $3 by overwriting",
|
||||
"logentry-delete-restore": "$1 {{GENDER:$2|restored}} page $3",
|
||||
"logentry-delete-event": "$1 {{GENDER:$2|changed}} visibility of {{PLURAL:$5|a log event|$5 log events}} on $3: $4",
|
||||
"logentry-delete-revision": "$1 {{GENDER:$2|changed}} visibility of {{PLURAL:$5|a revision|$5 revisions}} on page $3: $4",
|
||||
|
|
@ -4130,6 +4131,7 @@
|
|||
"log-action-filter-contentmodel-change": "Change of Contentmodel",
|
||||
"log-action-filter-contentmodel-new": "Creation of page with non-standard Contentmodel",
|
||||
"log-action-filter-delete-delete": "Page deletion",
|
||||
"log-action-filter-delete-delete_redir": "Redirect overwrite",
|
||||
"log-action-filter-delete-restore": "Page undeletion",
|
||||
"log-action-filter-delete-event": "Log deletion",
|
||||
"log-action-filter-delete-revision": "Revision deletion",
|
||||
|
|
|
|||
|
|
@ -4009,6 +4009,7 @@
|
|||
"htmlform-user-not-valid": "Error message shown if the name provided by the user isn't a valid username. $1 is the username.",
|
||||
"rawmessage": "{{notranslate}} Used to pass arbitrary text as a message specifier array",
|
||||
"logentry-delete-delete": "{{Logentry|[[Special:Log/delete]]}}",
|
||||
"logentry-delete-delete_redir": "{{Logentry|[[Special:Log/delete]]}}",
|
||||
"logentry-delete-restore": "{{Logentry|[[Special:Log/delete]]}}",
|
||||
"logentry-delete-event": "{{Logentry|[[Special:Log/delete]]}}\n{{Logentryparam}}\n* $5 - count of affected log events",
|
||||
"logentry-delete-revision": "{{Logentry|[[Special:Log/delete]]}}\n{{Logentryparam}}\n* $5 - the number of affected revisions of the page $3",
|
||||
|
|
@ -4314,6 +4315,7 @@
|
|||
"log-action-filter-contentmodel-change": "{{doc-log-action-filter-action|contentmodel|change}}",
|
||||
"log-action-filter-contentmodel-new": "{{doc-log-action-filter-action|contentmodel|new}}",
|
||||
"log-action-filter-delete-delete": "{{doc-log-action-filter-action|delete|delete}}",
|
||||
"log-action-filter-delete-delete_redir": "{{doc-log-action-filter-action|delete|delete_redir}}",
|
||||
"log-action-filter-delete-restore": "{{doc-log-action-filter-action|delete|restore}}",
|
||||
"log-action-filter-delete-event": "{{doc-log-action-filter-action|delete|event}}",
|
||||
"log-action-filter-delete-revision": "{{doc-log-action-filter-action|delete|revision}}",
|
||||
|
|
|
|||
Loading…
Reference in a new issue