Skip to content

Commit 3f2704a

Browse files
author
Marius Burkard
committed
- add chekc whether to delete rspamd conf file for user
1 parent b58ed2d commit 3f2704a

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

server/plugins-available/rspamd_plugin.inc.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,17 @@ function user_settings_update($event_name, $data) {
220220
$settings_file = $this->users_config_dir . str_replace('@', '_', $settings_name) . '.conf';
221221
//$app->log('Settings file for rspamd is ' . $settings_file, LOGLEVEL_WARN);
222222
if($mode === 'delete') {
223-
if(is_file($settings_file)) {
223+
$delete_file = true;
224+
if($type === 'spamfilter_user') {
225+
$search_for_policy[] = $email_address;
226+
$search_for_policy[] = substr($email_address, strpos($email_address, '@'));
227+
228+
$policy = $app->db->queryOneRecord("SELECT p.* FROM spamfilter_users as u INNER JOIN spamfilter_policy as p ON (p.id = u.policy_id) WHERE u.server_id = ? AND u.email IN ? ORDER BY u.priority DESC", $conf['server_id'], $search_for_policy);
229+
if($policy) {
230+
$delete_file = false;
231+
}
232+
}
233+
if($delete_file === true && is_file($settings_file)) {
224234
unlink($settings_file);
225235
}
226236
} else {

0 commit comments

Comments
 (0)