Legoktm has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/322946

Change subject: Delete linter rows when pages are deleted
......................................................................

Delete linter rows when pages are deleted

Bug: T151281
Change-Id: I3b113d0729b288683d9bc6c2f552b99ed2890f5c
---
M extension.json
M includes/Hooks.php
2 files changed, 22 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Linter 
refs/changes/46/322946/1

diff --git a/extension.json b/extension.json
index ee3efe6..78766e3 100644
--- a/extension.json
+++ b/extension.json
@@ -23,7 +23,8 @@
        },
        "Hooks": {
                "LoadExtensionSchemaUpdates": 
"MediaWiki\\Linter\\Hooks::onLoadExtensionSchemaUpdates",
-               "EditFormInitialText": 
"MediaWiki\\Linter\\Hooks::onEditFormInitialText"
+               "EditFormInitialText": 
"MediaWiki\\Linter\\Hooks::onEditFormInitialText",
+               "WikiPageDeletionUpdates": 
"MediaWiki\\Linter\\Hooks::onWikiPageDeletionUpdates"
        },
        "APIModules": {
                "record-lint": "MediaWiki\\Linter\\ApiRecordLint"
diff --git a/includes/Hooks.php b/includes/Hooks.php
index 5c94acb..ca0df15 100644
--- a/includes/Hooks.php
+++ b/includes/Hooks.php
@@ -20,8 +20,11 @@
 
 namespace MediaWiki\Linter;
 
+use Content;
 use DatabaseUpdater;
 use EditPage;
+use MWCallableUpdate;
+use WikiPage;
 
 class Hooks {
        /**
@@ -62,4 +65,21 @@
                ] );
                $out->addModules( 'ext.linter.edit' );
        }
+
+       /**
+        * Hook: WikiPageDeletionUpdates
+        *
+        * Remove entries from the linter table upon page deletion
+        *
+        * @param WikiPage $wikiPage
+        * @param Content $content
+        * @param array $updates
+        */
+       public static function onWikiPageDeletionUpdates( WikiPage $wikiPage, 
Content $content, array &$updates ) {
+               $id = $wikiPage->getId();
+               $updates[] = new MWCallableUpdate( function() use ( $id ) {
+                       $database = new Database( $id );
+                       $database->setForPage( [] );
+               } );
+       }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3b113d0729b288683d9bc6c2f552b99ed2890f5c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Linter
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>

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

Reply via email to