Skip to content

Commit b15761f

Browse files
committed
Fixes #6643
1 parent 1d02730 commit b15761f

File tree

1 file changed

+58
-56
lines changed

1 file changed

+58
-56
lines changed

server/plugins-available/rspamd_plugin.inc.php

Lines changed: 58 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -282,74 +282,76 @@ function user_settings_update($event_name, $data, $internal = false) {
282282
$app->system->mkdirpath($this->users_config_dir);
283283
}
284284

285-
if((!$this->isValidEmail($app->functions->idn_encode($email_address))) || !isset($data['new']['policy_id']) || intval($data['new']['policy_id']) == 0 && $type == 'spamfilter_user') {
286-
if(is_file($settings_file)) {
287-
unlink($settings_file);
288-
}
289-
} else {
290-
291-
$app->load('tpl');
292-
293-
$tpl = new tpl();
294-
if (file_exists($conf['rootpath']."/conf-custom/install/rspamd_users.inc.conf.master")) {
295-
$tpl->newTemplate($conf['rootpath']."/conf-custom/install/rspamd_users.inc.conf.master");
285+
if ($type == 'spamfilter_user'){
286+
if((!$this->isValidEmail($app->functions->idn_encode($email_address))) || !isset($data['new']['policy_id']) || intval($data['new']['policy_id']) == 0) {
287+
if(is_file($settings_file)) {
288+
unlink($settings_file);
289+
}
296290
} else {
297-
$tpl->newTemplate("rspamd_users.inc.conf.master");
298-
}
299291

300-
$tpl->setVar('record_identifier', 'ispc_' . $type . '_' . $entry_id);
301-
$tpl->setVar('priority', $settings_priority);
292+
$app->load('tpl');
302293

303-
if($type === 'spamfilter_user') {
304-
if($data[$use_data]['local'] === 'Y') {
305-
$tpl->setVar('to_email', $app->functions->idn_encode($email_address));
294+
$tpl = new tpl();
295+
if (file_exists($conf['rootpath']."/conf-custom/install/rspamd_users.inc.conf.master")) {
296+
$tpl->newTemplate($conf['rootpath']."/conf-custom/install/rspamd_users.inc.conf.master");
306297
} else {
307-
$tpl->setVar('from_email', $app->functions->idn_encode($email_address));
298+
$tpl->newTemplate("rspamd_users.inc.conf.master");
308299
}
309-
// unneded? $spamfilter appears unused
310-
$spamfilter = $data[$use_data];
311-
} else {
312-
$tpl->setVar('to_email', $app->functions->idn_encode($email_address));
313300

314-
// need to get matching spamfilter user if any
315-
// unneded? $spamfilter appears unused
316-
$spamfilter = $app->db->queryOneRecord('SELECT * FROM spamfilter_users WHERE `email` = ?', $email_address);
317-
}
301+
$tpl->setVar('record_identifier', 'ispc_' . $type . '_' . $entry_id);
302+
$tpl->setVar('priority', $settings_priority);
303+
304+
if($type === 'spamfilter_user') {
305+
if($data[$use_data]['local'] === 'Y') {
306+
$tpl->setVar('to_email', $app->functions->idn_encode($email_address));
307+
} else {
308+
$tpl->setVar('from_email', $app->functions->idn_encode($email_address));
309+
}
310+
// unneded? $spamfilter appears unused
311+
$spamfilter = $data[$use_data];
312+
} else {
313+
$tpl->setVar('to_email', $app->functions->idn_encode($email_address));
318314

319-
if(!isset($policy['rspamd_spam_tag_level'])) {
320-
$policy['rspamd_spam_tag_level'] = 6.0;
321-
}
322-
if(!isset($policy['rspamd_spam_tag_method'])) {
323-
$policy['rspamd_spam_tag_method'] = 'add_header';
324-
}
325-
if(!isset($policy['rspamd_spam_kill_level'])) {
326-
$policy['rspamd_spam_kill_level'] = 15.0;
327-
}
328-
if(!isset($policy['rspamd_virus_kill_level'])) {
329-
$policy['rspamd_virus_kill_level'] = floatval($policy['rspamd_spam_kill_level']) + 1000;
330-
}
315+
// need to get matching spamfilter user if any
316+
// unneded? $spamfilter appears unused
317+
$spamfilter = $app->db->queryOneRecord('SELECT * FROM spamfilter_users WHERE `email` = ?', $email_address);
318+
}
331319

332-
$tpl->setVar('rspamd_spam_tag_level', floatval($policy['rspamd_spam_tag_level']));
333-
$tpl->setVar('rspamd_spam_tag_method', $policy['rspamd_spam_tag_method']);
334-
$tpl->setVar('rspamd_spam_kill_level', floatval($policy['rspamd_spam_kill_level']));
335-
$tpl->setVar('rspamd_virus_kill_level', floatval($policy['rspamd_spam_kill_level']) + 1000);
320+
if(!isset($policy['rspamd_spam_tag_level'])) {
321+
$policy['rspamd_spam_tag_level'] = 6.0;
322+
}
323+
if(!isset($policy['rspamd_spam_tag_method'])) {
324+
$policy['rspamd_spam_tag_method'] = 'add_header';
325+
}
326+
if(!isset($policy['rspamd_spam_kill_level'])) {
327+
$policy['rspamd_spam_kill_level'] = 15.0;
328+
}
329+
if(!isset($policy['rspamd_virus_kill_level'])) {
330+
$policy['rspamd_virus_kill_level'] = floatval($policy['rspamd_spam_kill_level']) + 1000;
331+
}
336332

337-
if(isset($policy['spam_lover']) && $policy['spam_lover'] == 'Y') {
338-
$tpl->setVar('spam_lover', true);
339-
}
340-
if(isset($policy['virus_lover']) && $policy['virus_lover'] == 'Y') {
341-
$tpl->setVar('virus_lover', true);
342-
}
333+
$tpl->setVar('rspamd_spam_tag_level', floatval($policy['rspamd_spam_tag_level']));
334+
$tpl->setVar('rspamd_spam_tag_method', $policy['rspamd_spam_tag_method']);
335+
$tpl->setVar('rspamd_spam_kill_level', floatval($policy['rspamd_spam_kill_level']));
336+
$tpl->setVar('rspamd_virus_kill_level', floatval($policy['rspamd_spam_kill_level']) + 1000);
343337

344-
$tpl->setVar('greylisting', $greylisting);
338+
if(isset($policy['spam_lover']) && $policy['spam_lover'] == 'Y') {
339+
$tpl->setVar('spam_lover', true);
340+
}
341+
if(isset($policy['virus_lover']) && $policy['virus_lover'] == 'Y') {
342+
$tpl->setVar('virus_lover', true);
343+
}
345344

346-
if(isset($policy['rspamd_spam_greylisting_level'])) {
347-
$tpl->setVar('greylisting_level', floatval($policy['rspamd_spam_greylisting_level']));
348-
} else {
349-
$tpl->setVar('greylisting_level', 0.1);
350-
}
345+
$tpl->setVar('greylisting', $greylisting);
351346

352-
$app->system->file_put_contents($settings_file, $tpl->grab());
347+
if(isset($policy['rspamd_spam_greylisting_level'])) {
348+
$tpl->setVar('greylisting_level', floatval($policy['rspamd_spam_greylisting_level']));
349+
} else {
350+
$tpl->setVar('greylisting_level', 0.1);
351+
}
352+
353+
$app->system->file_put_contents($settings_file, $tpl->grab());
354+
}
353355
}
354356
}
355357

0 commit comments

Comments
 (0)