Sergio Cambra
2014-07-04 03aed0af9e6066b0c3b3468b0fabe78ff63666ef
interface/web/mail/mail_domain_edit.php
@@ -255,6 +255,27 @@
      parent::onSubmit();
   }
   function onAfterInsert() {
      global $app, $conf;
      // Spamfilter policy
      $policy_id = $app->functions->intval($page_form->dataRecord["policy"]);
      if($policy_id > 0) {
         $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($page_form->dataRecord["domain"])."'");
         if($tmp_user["id"] > 0) {
            // There is already a record that we will update
            $app->db->datalogUpdate('spamfilter_users', "policy_id = $policy_id", 'id', $tmp_user["id"]);
         } else {
            $tmp_domain = $app->db->queryOneRecord("SELECT sys_groupid FROM mail_domain WHERE domain_id = ".$page_form->id);
            // We create a new record
            $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"].", ".$app->functions->intval($tmp_domain["sys_groupid"]).", 'riud', 'riud', '', ".$app->functions->intval($page_form->dataRecord["server_id"]).", 5, ".$app->functions->intval($policy_id).", '@".$app->db->quote($page_form->dataRecord["domain"])."', '@".$app->db->quote($page_form->dataRecord["domain"])."', 'Y')";
            $app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
            unset($tmp_domain);
         }
      } // endif spamfilter policy
   }
   function onBeforeUpdate() {
      global $app, $conf;
@@ -281,6 +302,31 @@
      }
   }
   function onAfterUpdate() {
      global $app, $conf;
      // Spamfilter policy
      $policy_id = $app->functions->intval($page_form->dataRecord["policy"]);
      $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($page_form->dataRecord["domain"])."'");
      if($policy_id > 0) {
         if($tmp_user["id"] > 0) {
            // There is already a record that we will update
            $app->db->datalogUpdate('spamfilter_users', "policy_id = $policy_id", 'id', $tmp_user["id"]);
         } else {
            $tmp_domain = $app->db->queryOneRecord("SELECT sys_groupid FROM mail_domain WHERE domain_id = ".$page_form->id);
            // We create a new record
            $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"].", ".$app->functions->intval($tmp_domain["sys_groupid"]).", 'riud', 'riud', '', ".$app->functions->intval($page_form->dataRecord["server_id"]).", 5, ".$app->functions->intval($policy_id).", '@".$app->db->quote($page_form->dataRecord["domain"])."', '@".$app->db->quote($page_form->dataRecord["domain"])."', 'Y')";
            $app->db->datalogInsert('spamfilter_users', $insert_data, 'id');
            unset($tmp_domain);
         }
      } else {
         if($tmp_user["id"] > 0) {
            // There is already a record but the user shall have no policy, so we delete it
            $app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
         }
      } // endif spamfilter policy
   }
}
$page = new page_action;