From 63368e9ead6a8405c58c5ad843aa9907ccb52985 Mon Sep 17 00:00:00 2001 From: Jesse Norell Date: Thu, 15 Jul 2021 15:42:39 -0600 Subject: [PATCH] remove spamfilter_wblist entries when removing spamfilter_users --- interface/web/mail/mail_user_del.php | 9 +++++++- interface/web/mail/spamfilter_users_del.php | 23 ++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/interface/web/mail/mail_user_del.php b/interface/web/mail/mail_user_del.php index dc92047331..1f19166ef7 100644 --- a/interface/web/mail/mail_user_del.php +++ b/interface/web/mail/mail_user_del.php @@ -55,6 +55,14 @@ class page_action extends tform_actions { global $app; $conf; $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = ?", $this->dataRecord["email"]); + if (is_array($tmp_user) && isset($tmp_user['id'])) { + $tmp_wblists = $app->db->queryAllRecords("SELECT wblist_id FROM spamfilter_wblist WHERE rid = ?", $tmp_user['id']); + if(is_array($tmp_wblists)) { + foreach($tmp_wblists as $tmp) { + $app->db->datalogDelete('spamfilter_wblist', 'wblist_id', $tmp['wblist_id']); + } + } + } $app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]); $tmp_filters = $app->db->queryAllRecords("SELECT filter_id FROM mail_user_filter WHERE mailuser_id = ?", $this->id); @@ -71,4 +79,3 @@ class page_action extends tform_actions { $page = new page_action; $page->onDelete(); -?> diff --git a/interface/web/mail/spamfilter_users_del.php b/interface/web/mail/spamfilter_users_del.php index 0dc92935c1..a243803f9f 100644 --- a/interface/web/mail/spamfilter_users_del.php +++ b/interface/web/mail/spamfilter_users_del.php @@ -45,7 +45,24 @@ require_once '../../lib/app.inc.php'; //* Check permissions for module $app->auth->check_module_permissions('mail'); -$app->uses("tform_actions"); -$app->tform_actions->onDelete(); +$app->uses('tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + function onBeforeDelete() { + global $app; $conf; + + $tmp_wblists = $app->db->queryAllRecords("SELECT wblist_id FROM spamfilter_wblist WHERE rid = ?", $this->id); + if(is_array($tmp_wblists)) { + foreach($tmp_wblists as $tmp) { + $app->db->datalogDelete('spamfilter_wblist', 'wblist_id', $tmp['wblist_id']); + } + } + } + +} + +$page = new page_action; +$page->onDelete(); -?> -- GitLab