jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/358405 )

Change subject: FileDeleteForm: Create log entry even if the page didn't exist
......................................................................


FileDeleteForm: Create log entry even if the page didn't exist

Deleting a file with no description page should still produce a log
entry.

Bug: T167712
Change-Id: Icc7d9d12365d38faa502689ceefb4d1ee5f60210
---
M includes/FileDeleteForm.php
1 file changed, 21 insertions(+), 1 deletion(-)

Approvals:
  Aaron Schulz: Looks good to me, but someone else must approve
  Legoktm: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/FileDeleteForm.php b/includes/FileDeleteForm.php
index f284d92..e7b4a1f 100644
--- a/includes/FileDeleteForm.php
+++ b/includes/FileDeleteForm.php
@@ -202,7 +202,27 @@
                        if ( $deleteStatus->isOK() ) {
                                $status = $file->delete( $reason, $suppress, 
$user );
                                if ( $status->isOK() ) {
-                                       $status->value = $deleteStatus->value; 
// log id
+                                       if ( $deleteStatus->value === null ) {
+                                               // No log ID from 
doDeleteArticleReal(), probably
+                                               // because the page/revision 
didn't exist, so create
+                                               // one here.
+                                               $logtype = $suppress ? 
'suppress' : 'delete';
+                                               $logEntry = new ManualLogEntry( 
$logtype, 'delete' );
+                                               $logEntry->setPerformer( $user 
);
+                                               $logEntry->setTarget( clone 
$title );
+                                               $logEntry->setComment( $reason 
);
+                                               $logEntry->setTags( $tags );
+                                               $logid = $logEntry->insert();
+                                               
$dbw->onTransactionPreCommitOrIdle(
+                                                       function () use ( $dbw, 
$logEntry, $logid ) {
+                                                               
$logEntry->publish( $logid );
+                                                       },
+                                                       __METHOD__
+                                               );
+                                               $status->value = $logid;
+                                       } else {
+                                               $status->value = 
$deleteStatus->value; // log id
+                                       }
                                        $dbw->endAtomic( __METHOD__ );
                                } else {
                                        // Page deleted but file still there? 
rollback page delete

-- 
To view, visit https://gerrit.wikimedia.org/r/358405
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Icc7d9d12365d38faa502689ceefb4d1ee5f60210
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Anomie <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Zhuyifei1999 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to