Skip to content

Commit f669291

Browse files
committed
Fixed spamfilter items that were not replicated to all servers they belong to.
1 parent 4f68a7f commit f669291

File tree

8 files changed

+43
-28
lines changed

8 files changed

+43
-28
lines changed

install/dist/lib/fedora.lib.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,7 @@ public function install_ispconfig()
596596

597597
if($conf['mysql']['master_slave_setup'] == 'y') {
598598
$this->dbmaster->query($sql);
599+
$this->db->query($sql);
599600
} else {
600601
$this->db->query($sql);
601602
}

install/dist/lib/opensuse.lib.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,7 @@ public function install_ispconfig()
614614

615615
if($conf['mysql']['master_slave_setup'] == 'y') {
616616
$this->dbmaster->query($sql);
617+
$this->db->query($sql);
617618
} else {
618619
$this->db->query($sql);
619620
}

install/lib/installer_base.lib.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -884,6 +884,7 @@ public function install_ispconfig()
884884

885885
if($conf['mysql']['master_slave_setup'] == 'y') {
886886
$this->dbmaster->query($sql);
887+
$this->db->query($sql);
887888
} else {
888889
$this->db->query($sql);
889890
}

interface/web/admin/server_config_edit.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ function onUpdateSave($sql) {
8383
$server_config_array[$section] = $app->tform->encode($this->dataRecord,$section);
8484
$server_config_str = $app->ini_parser->get_ini_string($server_config_array);
8585

86-
$sql = "UPDATE server SET config = '".$app->db->quote($server_config_str)."' WHERE server_id = ".$server_id;
87-
$app->db->query($sql);
86+
$app->db->datalogUpdate('server', "SET config = '".$app->db->quote($server_config_str)."'", 'server_id', $server_id);
8887
}
8988

9089
}

interface/web/mail/mail_domain_del.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,11 @@ function onBeforeDelete() {
7777
$app->db->datalogDelete('mail_user','mailuser_id',$rec['id']);
7878
}
7979

80-
80+
// Delete all spamfilters that belong to this domain
81+
$records = $app->db->queryAllRecords("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($domain)."'");
82+
foreach($records as $rec) {
83+
$app->db->datalogDelete('spamfilter_users','id',$rec['id']);
84+
}
8185

8286
}
8387
}

interface/web/mail/mail_domain_edit.php

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,13 @@ function onAfterInsert() {
163163
$tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".mysql_real_escape_string($this->dataRecord["domain"])."'");
164164
if($tmp_user["id"] > 0) {
165165
// There is already a record that we will update
166-
$sql = "UPDATE spamfilter_users SET policy_id = $ploicy_id WHERE id = ".$tmp_user["id"];
167-
$app->db->query($sql);
166+
$app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
168167
} else {
169168
$tmp_domain = $app->db->queryOneRecord("SELECT sys_groupid FROM mail_domain WHERE domain_id = ".$this->id);
170169
// We create a new record
171-
$sql = "INSERT INTO `spamfilter_users` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
172-
VALUES (".$_SESSION["s"]["user"]["userid"].", ".$tmp_domain["sys_groupid"].", 'riud', 'riud', '', ".$this->dataRecord["server_id"].", 5, ".$policy_id.", '@".mysql_real_escape_string($this->dataRecord["domain"])."', '@".mysql_real_escape_string($this->dataRecord["domain"])."', 'Y')";
173-
$app->db->query($sql);
170+
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
171+
VALUES (".$_SESSION["s"]["user"]["userid"].", ".$tmp_domain["sys_groupid"].", 'riud', 'riud', '', ".$this->dataRecord["server_id"].", 5, ".$policy_id.", '@".mysql_real_escape_string($this->dataRecord["domain"])."', '@".mysql_real_escape_string($this->dataRecord["domain"])."', 'Y')"
172+
$app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
174173
unset($tmp_domain);
175174
}
176175
} // endif spamfilter policy
@@ -214,21 +213,19 @@ function onAfterUpdate() {
214213
if($policy_id > 0) {
215214
if($tmp_user["id"] > 0) {
216215
// There is already a record that we will update
217-
$sql = "UPDATE spamfilter_users SET policy_id = $policy_id WHERE id = ".$tmp_user["id"];
218-
$app->db->query($sql);
216+
$app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
219217
} else {
220218
$tmp_domain = $app->db->queryOneRecord("SELECT sys_groupid FROM mail_domain WHERE domain_id = ".$this->id);
221219
// We create a new record
222-
$sql = "INSERT INTO `spamfilter_users` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
223-
VALUES (".$_SESSION["s"]["user"]["userid"].", ".$tmp_domain["sys_groupid"].", 'riud', 'riud', '', ".$this->dataRecord["server_id"].", 5, ".$policy_id.", '@".mysql_real_escape_string($this->dataRecord["domain"])."', '@".mysql_real_escape_string($this->dataRecord["domain"])."', 'Y')";
224-
$app->db->query($sql);
220+
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
221+
VALUES (".$_SESSION["s"]["user"]["userid"].", ".$tmp_domain["sys_groupid"].", 'riud', 'riud', '', ".$this->dataRecord["server_id"].", 5, ".$policy_id.", '@".mysql_real_escape_string($this->dataRecord["domain"])."', '@".mysql_real_escape_string($this->dataRecord["domain"])."', 'Y')"
222+
$app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
225223
unset($tmp_domain);
226224
}
227-
}else {
225+
} else {
228226
if($tmp_user["id"] > 0) {
229227
// There is already a record but the user shall have no policy, so we delete it
230-
$sql = "DELETE FROM spamfilter_users WHERE id = ".$tmp_user["id"];
231-
$app->db->query($sql);
228+
$app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
232229
}
233230
} // endif spamfilter policy
234231

interface/web/mail/mail_user_del.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,22 @@
4545
//* Check permissions for module
4646
$app->auth->check_module_permissions('mail');
4747

48-
$app->uses("tform_actions");
49-
$app->tform_actions->onDelete();
48+
// Loading classes
49+
$app->uses('tpl,tform,tform_actions');
50+
$app->load('tform_actions');
51+
52+
class page_action extends tform_actions {
53+
54+
function onBeforeDelete() {
55+
global $app; $conf;
56+
57+
$tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '".mysql_real_escape_string($this->dataRecord["email"])."'");
58+
$app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
59+
60+
}
61+
}
62+
63+
$page = new page_action;
64+
$page->onDelete();
5065

5166
?>

interface/web/mail/mail_user_edit.php

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -208,13 +208,12 @@ function onAfterInsert() {
208208
$tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '".mysql_real_escape_string($this->dataRecord["email"])."'");
209209
if($tmp_user["id"] > 0) {
210210
// There is already a record that we will update
211-
$sql = "UPDATE spamfilter_users SET policy_id = $ploicy_id WHERE id = ".$tmp_user["id"];
212-
$app->db->query($sql);
211+
$app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
213212
} else {
214213
// We create a new record
215-
$sql = "INSERT INTO `spamfilter_users` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
214+
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
216215
VALUES (".$_SESSION["s"]["user"]["userid"].", ".$domain["sys_groupid"].", 'riud', 'riud', '', ".$domain["server_id"].", 1, ".$policy_id.", '".mysql_real_escape_string($this->dataRecord["email"])."', '".mysql_real_escape_string($this->dataRecord["email"])."', 'Y')";
217-
$app->db->query($sql);
216+
$app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
218217
}
219218
} // endif spamfilter policy
220219

@@ -234,19 +233,17 @@ function onAfterUpdate() {
234233
if($policy_id > 0) {
235234
if($tmp_user["id"] > 0) {
236235
// There is already a record that we will update
237-
$sql = "UPDATE spamfilter_users SET policy_id = $policy_id WHERE id = ".$tmp_user["id"];
238-
$app->db->query($sql);
236+
$app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
239237
} else {
240238
// We create a new record
241-
$sql = "INSERT INTO `spamfilter_users` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
239+
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
242240
VALUES (".$_SESSION["s"]["user"]["userid"].", ".$domain["sys_groupid"].", 'riud', 'riud', '', ".$domain["server_id"].", 1, ".$policy_id.", '".mysql_real_escape_string($this->dataRecord["email"])."', '".mysql_real_escape_string($this->dataRecord["email"])."', 'Y')";
243-
$app->db->query($sql);
241+
$app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
244242
}
245243
}else {
246244
if($tmp_user["id"] > 0) {
247245
// There is already a record but the user shall have no policy, so we delete it
248-
$sql = "DELETE FROM spamfilter_users WHERE id = ".$tmp_user["id"];
249-
$app->db->query($sql);
246+
$app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
250247
}
251248
} // endif spamfilter policy
252249
}

0 commit comments

Comments
 (0)