tbrehm
2008-12-20 f669291d8a32dd78f7fb2ab05470c7a5c7e402bf
Fixed spamfilter items that were not replicated to all servers they belong to.
8 files modified
71 ■■■■■ changed files
install/dist/lib/fedora.lib.php 1 ●●●● patch | view | raw | blame | history
install/dist/lib/opensuse.lib.php 1 ●●●● patch | view | raw | blame | history
install/lib/installer_base.lib.php 1 ●●●● patch | view | raw | blame | history
interface/web/admin/server_config_edit.php 3 ●●●● patch | view | raw | blame | history
interface/web/mail/mail_domain_del.php 6 ●●●● patch | view | raw | blame | history
interface/web/mail/mail_domain_edit.php 23 ●●●●● patch | view | raw | blame | history
interface/web/mail/mail_user_del.php 19 ●●●● patch | view | raw | blame | history
interface/web/mail/mail_user_edit.php 17 ●●●●● patch | view | raw | blame | history
install/dist/lib/fedora.lib.php
@@ -596,6 +596,7 @@
        
        if($conf['mysql']['master_slave_setup'] == 'y') {
            $this->dbmaster->query($sql);
            $this->db->query($sql);
        } else {
            $this->db->query($sql);
        }
install/dist/lib/opensuse.lib.php
@@ -614,6 +614,7 @@
        
        if($conf['mysql']['master_slave_setup'] == 'y') {
            $this->dbmaster->query($sql);
            $this->db->query($sql);
        } else {
            $this->db->query($sql);
        }
install/lib/installer_base.lib.php
@@ -884,6 +884,7 @@
        
        if($conf['mysql']['master_slave_setup'] == 'y') {
            $this->dbmaster->query($sql);
            $this->db->query($sql);
        } else {
            $this->db->query($sql);
        }
interface/web/admin/server_config_edit.php
@@ -83,8 +83,7 @@
        $server_config_array[$section] = $app->tform->encode($this->dataRecord,$section);
        $server_config_str = $app->ini_parser->get_ini_string($server_config_array);
        
        $sql = "UPDATE server SET config = '".$app->db->quote($server_config_str)."' WHERE server_id = ".$server_id;
        $app->db->query($sql);
        $app->db->datalogUpdate('server', "SET config = '".$app->db->quote($server_config_str)."'", 'server_id', $server_id);
    }
    
}
interface/web/mail/mail_domain_del.php
@@ -77,7 +77,11 @@
            $app->db->datalogDelete('mail_user','mailuser_id',$rec['id']);
        }
        
        // Delete all spamfilters that belong to this domain
        $records = $app->db->queryAllRecords("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($domain)."'");
        foreach($records as $rec) {
            $app->db->datalogDelete('spamfilter_users','id',$rec['id']);
        }
        
    }
}
interface/web/mail/mail_domain_edit.php
@@ -163,14 +163,13 @@
            $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".mysql_real_escape_string($this->dataRecord["domain"])."'");
            if($tmp_user["id"] > 0) {
                // There is already a record that we will update
                $sql = "UPDATE spamfilter_users SET policy_id = $ploicy_id WHERE id = ".$tmp_user["id"];
                $app->db->query($sql);
                $app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
            } else {
                $tmp_domain = $app->db->queryOneRecord("SELECT sys_groupid FROM mail_domain WHERE domain_id = ".$this->id);
                // We create a new record
                $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`)
                        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')";
                $app->db->query($sql);
                $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
                        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')"
                $app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
                unset($tmp_domain);
            }
        }  // endif spamfilter policy
@@ -214,21 +213,19 @@
        if($policy_id > 0) {
            if($tmp_user["id"] > 0) {
                // There is already a record that we will update
                $sql = "UPDATE spamfilter_users SET policy_id = $policy_id WHERE id = ".$tmp_user["id"];
                $app->db->query($sql);
                $app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
            } else {
                $tmp_domain = $app->db->queryOneRecord("SELECT sys_groupid FROM mail_domain WHERE domain_id = ".$this->id);
                // We create a new record
                $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`)
                        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')";
                $app->db->query($sql);
                $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
                        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')"
                $app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
                unset($tmp_domain);
            }
        }else {
        } else {
            if($tmp_user["id"] > 0) {
                // There is already a record but the user shall have no policy, so we delete it
                $sql = "DELETE FROM spamfilter_users WHERE id = ".$tmp_user["id"];
                $app->db->query($sql);
                $app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
            }
        } // endif spamfilter policy
        
interface/web/mail/mail_user_del.php
@@ -45,7 +45,22 @@
//* Check permissions for module
$app->auth->check_module_permissions('mail');
$app->uses("tform_actions");
$app->tform_actions->onDelete();
// Loading classes
$app->uses('tpl,tform,tform_actions');
$app->load('tform_actions');
class page_action extends tform_actions {
    function onBeforeDelete() {
        global $app; $conf;
            $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '".mysql_real_escape_string($this->dataRecord["email"])."'");
            $app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
        }
}
$page = new page_action;
$page->onDelete();
?>
interface/web/mail/mail_user_edit.php
@@ -208,13 +208,12 @@
            $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '".mysql_real_escape_string($this->dataRecord["email"])."'");
            if($tmp_user["id"] > 0) {
                // There is already a record that we will update
                $sql = "UPDATE spamfilter_users SET policy_id = $ploicy_id WHERE id = ".$tmp_user["id"];
                $app->db->query($sql);
                $app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
            } else {
                // We create a new record
                $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`)
                $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
                        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')";
                $app->db->query($sql);
                $app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
            }
        }  // endif spamfilter policy
        
@@ -234,19 +233,17 @@
            if($policy_id > 0) {
                if($tmp_user["id"] > 0) {
                    // There is already a record that we will update
                    $sql = "UPDATE spamfilter_users SET policy_id = $policy_id WHERE id = ".$tmp_user["id"];
                    $app->db->query($sql);
                    $app->db->datalogUpdate('spamfilter_users', "SET policy_id = $ploicy_id", 'id', $tmp_user["id"]);
                } else {
                    // We create a new record
                    $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`)
                    $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`)
                            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')";
                    $app->db->query($sql);
                    $app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
                }
            }else {
                if($tmp_user["id"] > 0) {
                    // There is already a record but the user shall have no policy, so we delete it
                    $sql = "DELETE FROM spamfilter_users WHERE id = ".$tmp_user["id"];
                    $app->db->query($sql);
                    $app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
                }
            } // endif spamfilter policy
        }