diff --git a/interface/web/dns/dns_a_edit.php b/interface/web/dns/dns_a_edit.php
index db23360a2cd82a8b6d2fc1776fed9aee3e0342fb..422da4f27d0a7718e77fa7e1cf51297aeae32bcd 100644
--- a/interface/web/dns/dns_a_edit.php
+++ b/interface/web/dns/dns_a_edit.php
@@ -1,134 +1,135 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
-
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_a_list.php b/interface/web/dns/dns_a_list.php
index c01aec69436fde760b710d4c61563552eccaea8a..681e1583955d5673b856489075c5d2ddb5db7e88 100644
--- a/interface/web/dns/dns_a_list.php
+++ b/interface/web/dns/dns_a_list.php
@@ -1,24 +1,24 @@
-auth->check_module_permissions('dns');
-
-$app->uses('listform_actions');
-$app->listform_actions->SQLExtWhere = "type = 'A'";
-
-$app->listform_actions->onLoad();
-
-
+auth->check_module_permissions('dns');
+
+$app->uses('listform_actions');
+$app->listform_actions->SQLExtWhere = "type = 'A'";
+
+$app->listform_actions->onLoad();
+
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_alias_edit.php b/interface/web/dns/dns_alias_edit.php
index 134fab55401856faffdf5f069c6b6f54f6246491..6ada3947940f2f66618883a4941753cf67f4d583 100644
--- a/interface/web/dns/dns_alias_edit.php
+++ b/interface/web/dns/dns_alias_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_cname_edit.php b/interface/web/dns/dns_cname_edit.php
index 1243f45604ba8a286a9c5f3c60efe0ad003d105e..47b7c5f1b87627fbdc8d8cf3df12e5b92a1a1b6a 100644
--- a/interface/web/dns/dns_cname_edit.php
+++ b/interface/web/dns/dns_cname_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_hinfo_edit.php b/interface/web/dns/dns_hinfo_edit.php
index 28e5a9cdcf16870553c3963cf39c8ad4c63a51f9..ae21a9e8afcd4e8ff5f9ac1ef7f51781b93b0d34 100644
--- a/interface/web/dns/dns_hinfo_edit.php
+++ b/interface/web/dns/dns_hinfo_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_mx_edit.php b/interface/web/dns/dns_mx_edit.php
index 6eef0ab942cf8af1a349cb2c44faefa65955f3af..14f42b357610720fc93deea64c405f7cae0509e5 100644
--- a/interface/web/dns/dns_mx_edit.php
+++ b/interface/web/dns/dns_mx_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_ns_edit.php b/interface/web/dns/dns_ns_edit.php
index 9cbeca6023451de429073aa61ab47ac44c5b8f83..9a339949068a8205ac2967e874c8042cab0ca76a 100644
--- a/interface/web/dns/dns_ns_edit.php
+++ b/interface/web/dns/dns_ns_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_ptr_edit.php b/interface/web/dns/dns_ptr_edit.php
index 5611f44ceab3f684b0cd070546514051fa60bf9b..dd7056132d21332a8e0459973cd8b5945bb7e581 100644
--- a/interface/web/dns/dns_ptr_edit.php
+++ b/interface/web/dns/dns_ptr_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_rp_edit.php b/interface/web/dns/dns_rp_edit.php
index 759eac4afd314b2255639d2f8adcd576c7f7136f..9f23158bf529bd1960b725f963a75b3bf8b27485 100644
--- a/interface/web/dns/dns_rp_edit.php
+++ b/interface/web/dns/dns_rp_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_rr_del.php b/interface/web/dns/dns_rr_del.php
index e0088d2fc94c7798a565a565095518895f1141fc..7a0b92d14514d7b9ef1e158cf027da0b5e51eb48 100644
--- a/interface/web/dns/dns_rr_del.php
+++ b/interface/web/dns/dns_rr_del.php
@@ -1,51 +1,51 @@
-auth->check_module_permissions('dns');
-
-$app->uses("tform_actions");
-$app->tform_actions->onDelete();
-
+auth->check_module_permissions('dns');
+
+$app->uses("tform_actions");
+$app->tform_actions->onDelete();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_soa_del.php b/interface/web/dns/dns_soa_del.php
index 0a1944b5f2a55b110cb9fbebf1eb99c36cfe1cd4..38e35bd67c2e2b91b07ac1d9dad9381947a5c63f 100644
--- a/interface/web/dns/dns_soa_del.php
+++ b/interface/web/dns/dns_soa_del.php
@@ -1,69 +1,69 @@
-auth->check_module_permissions('dns');
-
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onBeforeDelete() {
- global $app; $conf;
-
- if($app->tform->checkPerm($this->id,'d') == false) $app->error($app->lng('error_no_delete_permission'));
-
- // Delete all records that belog to this zone.
- $records = $app->db->queryAllRecords("SELECT id FROM dns_rr WHERE zone = '".intval($this->id)."'");
- foreach($records as $rec) {
- $app->db->datalogDelete('dns_rr','id',$rec['id']);
- }
- }
-}
-
-$page = new page_action;
-$page->onDelete();
-
+auth->check_module_permissions('dns');
+
+$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onBeforeDelete() {
+ global $app; $conf;
+
+ if($app->tform->checkPerm($this->id,'d') == false) $app->error($app->lng('error_no_delete_permission'));
+
+ // Delete all records that belog to this zone.
+ $records = $app->db->queryAllRecords("SELECT id FROM dns_rr WHERE zone = '".intval($this->id)."'");
+ foreach($records as $rec) {
+ $app->db->datalogDelete('dns_rr','id',$rec['id']);
+ }
+ }
+}
+
+$page = new page_action;
+$page->onDelete();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_soa_edit.php b/interface/web/dns/dns_soa_edit.php
index 6c10b06b71295ebc35638251c9514f625d4e497b..4342bc2f5e6dfe1499a939de52376c4879f449a5 100644
--- a/interface/web/dns/dns_soa_edit.php
+++ b/interface/web/dns/dns_soa_edit.php
@@ -1,173 +1,174 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_zone FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another maildomain.
- if($client["limit_dns_zone"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_soa WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_zone"]) {
- $app->error($app->tform->wordbook["limit_dns_zone_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onShowEnd() {
- global $app, $conf;
-
- // If user is admin, we will allow him to select to whom this record belongs
- if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
- // Getting Domains of the user
- $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0";
- $clients = $app->db->queryAllRecords($sql);
- $client_select = '';
- if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "";
- if(is_array($clients)) {
- foreach( $clients as $client) {
- $selected = ($client["groupid"] == @$this->dataRecord["sys_groupid"])?'SELECTED':'';
- $client_select .= "\r\n";
- }
- }
- $app->tpl->setVar("client_group_id",$client_select);
- }
-
- parent::onShowEnd();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- if($_SESSION["s"]["user"]["typ"] != 'admin') {
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_zone, default_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // When the record is updated
- if($this->id > 0) {
- // restore the server ID if the user is not admin and record is edited
- $tmp = $app->db->queryOneRecord("SELECT server_id FROM dns_soa WHERE id = ".intval($this->id));
- $this->dataRecord["server_id"] = $tmp["server_id"];
- unset($tmp);
- // When the record is inserted
- } else {
- // set the server ID to the default mailserver of the client
- $this->dataRecord["server_id"] = $client["default_dnsserver"];
-
- // Check if the user may add another maildomain.
- if($client["limit_dns_zone"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_soa WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_zone"]) {
- $app->error($app->tform->wordbook["limit_dns_zone_txt"]);
- }
- }
- }
- }
-
- // Set the serial
- $this->dataRecord["serial"] = time();
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // make sure that the record belongs to the client group and not the admin group when a dmin inserts it
- if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
- $client_group_id = intval($this->dataRecord["client_group_id"]);
- $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
- // And we want to update all rr records too, that belong to this record
- $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
- }
- if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($this->dataRecord["client_group_id"])) {
- $client_group_id = intval($this->dataRecord["client_group_id"]);
- $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
- // And we want to update all rr records too, that belong to this record
- $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
- }
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // make sure that the record belongs to the client group and not the admin group when a dmin inserts it
- if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
- $client_group_id = intval($this->dataRecord["client_group_id"]);
- $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
- // And we want to update all rr records too, that belong to this record
- $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
- }
- if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($this->dataRecord["client_group_id"])) {
- $client_group_id = intval($this->dataRecord["client_group_id"]);
- $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
- // And we want to update all rr records too, that belong to this record
- $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
- }
- }
-
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_zone FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another maildomain.
+ if($client["limit_dns_zone"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_soa WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_zone"]) {
+ $app->error($app->tform->wordbook["limit_dns_zone_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onShowEnd() {
+ global $app, $conf;
+
+ // If user is admin, we will allow him to select to whom this record belongs
+ if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+ // Getting Domains of the user
+ $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0";
+ $clients = $app->db->queryAllRecords($sql);
+ $client_select = '';
+ if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "";
+ if(is_array($clients)) {
+ foreach( $clients as $client) {
+ $selected = ($client["groupid"] == @$this->dataRecord["sys_groupid"])?'SELECTED':'';
+ $client_select .= "\r\n";
+ }
+ }
+ $app->tpl->setVar("client_group_id",$client_select);
+ }
+
+ parent::onShowEnd();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ if($_SESSION["s"]["user"]["typ"] != 'admin') {
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_zone, default_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // When the record is updated
+ if($this->id > 0) {
+ // restore the server ID if the user is not admin and record is edited
+ $tmp = $app->db->queryOneRecord("SELECT server_id FROM dns_soa WHERE id = ".intval($this->id));
+ $this->dataRecord["server_id"] = $tmp["server_id"];
+ unset($tmp);
+ // When the record is inserted
+ } else {
+ // set the server ID to the default mailserver of the client
+ $this->dataRecord["server_id"] = $client["default_dnsserver"];
+
+ // Check if the user may add another maildomain.
+ if($client["limit_dns_zone"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_soa WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_zone"]) {
+ $app->error($app->tform->wordbook["limit_dns_zone_txt"]);
+ }
+ }
+ }
+ }
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = ".$this->id);
+ $this->dataRecord["serial"] = $app->validate_dns->increase_serial($soa["serial"]);
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // make sure that the record belongs to the client group and not the admin group when a dmin inserts it
+ if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
+ $client_group_id = intval($this->dataRecord["client_group_id"]);
+ $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
+ // And we want to update all rr records too, that belong to this record
+ $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
+ }
+ if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($this->dataRecord["client_group_id"])) {
+ $client_group_id = intval($this->dataRecord["client_group_id"]);
+ $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
+ // And we want to update all rr records too, that belong to this record
+ $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
+ }
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // make sure that the record belongs to the client group and not the admin group when a dmin inserts it
+ if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
+ $client_group_id = intval($this->dataRecord["client_group_id"]);
+ $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
+ // And we want to update all rr records too, that belong to this record
+ $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
+ }
+ if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($this->dataRecord["client_group_id"])) {
+ $client_group_id = intval($this->dataRecord["client_group_id"]);
+ $app->db->query("UPDATE dns_soa SET sys_groupid = $client_group_id WHERE id = ".$this->id);
+ // And we want to update all rr records too, that belong to this record
+ $app->db->query("UPDATE dns_rr SET sys_groupid = $client_group_id WHERE zone = ".$this->id);
+ }
+ }
+
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_soa_list.php b/interface/web/dns/dns_soa_list.php
index 0f467820d5688b5c20e26c53737d63f16e92c4fa..1ea6cc463bb3abbc6365e2ac06d76a7664703fae 100644
--- a/interface/web/dns/dns_soa_list.php
+++ b/interface/web/dns/dns_soa_list.php
@@ -1,24 +1,24 @@
-auth->check_module_permissions('dns');
-
-$app->uses('listform_actions');
-// $app->listform_actions->SQLExtWhere = "access = 'REJECT'";
-
-$app->listform_actions->onLoad();
-
-
+auth->check_module_permissions('dns');
+
+$app->uses('listform_actions');
+// $app->listform_actions->SQLExtWhere = "access = 'REJECT'";
+
+$app->listform_actions->onLoad();
+
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_srv_edit.php b/interface/web/dns/dns_srv_edit.php
index b66c0a1448f643e37f91854082d052db1b28ce4c..2b3fe3435e1fb8c3da1266f069a1634d16b3d009 100644
--- a/interface/web/dns/dns_srv_edit.php
+++ b/interface/web/dns/dns_srv_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_template_del.php b/interface/web/dns/dns_template_del.php
index bfb343cbf861bb37ef07a2034edb6e33db29cb09..5aa1ff748f9ad52f48e5017da17c1accd309920e 100644
--- a/interface/web/dns/dns_template_del.php
+++ b/interface/web/dns/dns_template_del.php
@@ -1,58 +1,58 @@
-auth->check_module_permissions('dns');
-
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
-}
-
-$page = new page_action;
-$page->onDelete();
-
+auth->check_module_permissions('dns');
+
+$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+}
+
+$page = new page_action;
+$page->onDelete();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_template_edit.php b/interface/web/dns/dns_template_edit.php
index 3f596278392339b58bf5877847294c2187e4732b..ac2704e90a9719c55e4a9afc91bce9caf7e0f1b1 100644
--- a/interface/web/dns/dns_template_edit.php
+++ b/interface/web/dns/dns_template_edit.php
@@ -1,58 +1,58 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_template_list.php b/interface/web/dns/dns_template_list.php
index 20efa8d43d75b17f6363ea416a3fe5538a845616..4cde9a01330b2008f37c1b897f5ca05567ed02f2 100644
--- a/interface/web/dns/dns_template_list.php
+++ b/interface/web/dns/dns_template_list.php
@@ -1,24 +1,24 @@
-auth->check_module_permissions('dns');
-
-$app->uses('listform_actions');
-// $app->listform_actions->SQLExtWhere = "access = 'REJECT'";
-
-$app->listform_actions->onLoad();
-
-
+auth->check_module_permissions('dns');
+
+$app->uses('listform_actions');
+// $app->listform_actions->SQLExtWhere = "access = 'REJECT'";
+
+$app->listform_actions->onLoad();
+
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_txt_edit.php b/interface/web/dns/dns_txt_edit.php
index 95af18fa70e927cae3c9b6f7764bef4b93579593..4a4ecadd2077296433d048c58e96eaf359d51ed9 100644
--- a/interface/web/dns/dns_txt_edit.php
+++ b/interface/web/dns/dns_txt_edit.php
@@ -1,132 +1,134 @@
-auth->check_module_permissions('dns');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
-
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- }
-
- parent::onShowNew();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the parent soa record of the domain
- $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
-
- // Check if Domain belongs to user
- if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-
- // Check the client limits, if user is not the admin
- if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
- // Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- // Check if the user may add another mailbox.
- if($this->id == 0 && $client["limit_dns_record"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
- if($tmp["number"] >= $client["limit_dns_record"]) {
- $app->error($app->tform->wordbook["limit_dns_record_txt"]);
- }
- }
- } // end if user is not admin
-
-
- // Set the server ID of the rr record to the same server ID as the parent record.
- $this->dataRecord["server_id"] = $soa["server_id"];
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
-
- // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
- $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
- $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Update the serial number of the SOA record
- $soa_id = intval($_POST["zone"]);
- $serial = time();
- $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
- }
-}
-
-$page = new page_action;
-$page->onLoad();
-
+auth->check_module_permissions('dns');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,validate_dns');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onShowNew() {
+ global $app, $conf;
+
+ // we will check only users, not admins
+ if($_SESSION["s"]["user"]["typ"] == 'user') {
+
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ }
+
+ parent::onShowNew();
+ }
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Get the parent soa record of the domain
+ $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+
+ // Check if Domain belongs to user
+ if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
+
+ // Check the client limits, if user is not the admin
+ if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
+ // Get the limits of the client
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ // Check if the user may add another mailbox.
+ if($this->id == 0 && $client["limit_dns_record"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
+ if($tmp["number"] >= $client["limit_dns_record"]) {
+ $app->error($app->tform->wordbook["limit_dns_record_txt"]);
+ }
+ }
+ } // end if user is not admin
+
+
+ // Set the server ID of the rr record to the same server ID as the parent record.
+ $this->dataRecord["server_id"] = $soa["server_id"];
+
+ parent::onSubmit();
+ }
+
+ function onAfterInsert() {
+ global $app, $conf;
+
+ // Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
+ $soa = $app->db->queryOneRecord("SELECT sys_groupid FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $app->db->query("UPDATE dns_rr SET sys_groupid = ".$soa['sys_groupid']." WHERE id = ".$this->id);
+
+ // Update the serial number of the SOA record
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+
+ }
+
+ function onAfterUpdate() {
+ global $app, $conf;
+
+ // Update the serial number of the SOA record
+ $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
+ $soa_id = intval($_POST["zone"]);
+ $serial = $app->validate_dns->increase_serial($soa["serial"]);
+ $app->db->query("UPDATE dns_soa SET serial = $serial WHERE id = $soa_id");
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index 10ef7565b70eff3a1f7057adff7e3baeaa0aa093..27f19bed1895250c94e2c7e0182bc1f2ba963d34 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -1,212 +1,212 @@
-auth->check_module_permissions('dns');
-
-
-// Loading the template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl','templates/dns_wizard.htm');
-
-// import variables
-$template_id = (isset($_POST['template_id']))?intval($_POST['template_id']):1;
-$server_id = (isset($_POST['server_id']))?intval($_POST['server_id']):1;
-$sys_groupid = (isset($_POST['client_group_id']))?intval($_POST['client_group_id']):0;
-
-
-
-// Load the templates
-$records = $app->db->queryAllRecords("SELECT * FROM dns_template WHERE visible = 'y'");
-$template_id_option = '';
-foreach($records as $rec){
- $checked = ($rec['template_id'] == $template_id)?' SELECTED':'';
- $template_id_option .= '';
-}
-$app->tpl->setVar("template_id_option",$template_id_option);
-
-// If the user is administrator
-if($_SESSION['s']['user']['typ'] == 'admin') {
-
- // Load the list of servers
- $records = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE dns_server = 1 ORDER BY server_name");
- $server_id_option = '';
- foreach($records as $rec){
- $checked = ($rec['server_id'] == $server_id)?' SELECTED':'';
- $server_id_option .= '';
- }
- $app->tpl->setVar("server_id",$server_id_option);
-
- // load the list of clients
- $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0";
- $clients = $app->db->queryAllRecords($sql);
- $client_select = '';
- if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "";
- if(is_array($clients)) {
- foreach( $clients as $client) {
- $selected = ($client["groupid"] == $sys_groupid)?'SELECTED':'';
- $client_select .= "\r\n";
- }
- }
-
- $app->tpl->setVar("client_group_id",$client_select);
-
-}
-
-$template_record = $app->db->queryOneRecord("SELECT * FROM dns_template WHERE template_id = '$template_id'");
-$fields = explode(',',$template_record['fields']);
-if(is_array($fields)) {
- foreach($fields as $field) {
- $app->tpl->setVar($field."_VISIBLE",1);
- $field = strtolower($field);
- $app->tpl->setVar($field,$_POST[$field]);
- }
-}
-
-if($_POST['create'] == 1) {
-
- $error = '';
-
- if(isset($_POST['domain']) && $_POST['domain'] == '') $error .= $app->lng('error_domain_empty');
- if(isset($_POST['ip']) && $_POST['ip'] == '') $error .= $app->lng('error_ip_empty');
- if(isset($_POST['ns1']) && $_POST['ns1'] == '') $error .= $app->lng('error_ns1_empty');
- if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty');
- if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty');
-
-
- // replace template placeholders
- $tpl_content = $template_record['template'];
- if($_POST['domain'] != '') $tpl_content = str_replace('{DOMAIN}',$_POST['domain'],$tpl_content);
- if($_POST['ip'] != '') $tpl_content = str_replace('{IP}',$_POST['ip'],$tpl_content);
- if($_POST['ns1'] != '') $tpl_content = str_replace('{NS1}',$_POST['ns1'],$tpl_content);
- if($_POST['ns2'] != '') $tpl_content = str_replace('{NS2}',$_POST['ns2'],$tpl_content);
- if($_POST['email'] != '') $tpl_content = str_replace('{EMAIL}',$_POST['email'],$tpl_content);
-
- // Parse the template
- $tpl_rows = explode("\n",$tpl_content);
- $section = '';
- $vars = array();
- $dns_rr = array();
- foreach($tpl_rows as $row) {
- $row = trim($row);
- if(substr($row,0,1) == '[') {
- if($row == '[ZONE]') {
- $section = 'zone';
- } elseif($row == '[DNS_RECORDS]') {
- $section = 'dns_records';
- } else {
- die('Unknown section type');
- }
- } else {
- if($row != '') {
- // Handle zone section
- if($section == 'zone') {
- $parts = explode('=',$row);
- $key = trim($parts[0]);
- $val = trim($parts[1]);
- if($key != '') $vars[$key] = $val;
- }
- // Handle DNS Record rows
- if($section == 'dns_records') {
- $parts = explode('|',$row);
- $dns_rr[] = array(
- 'name' => $app->db->quote($parts[1]),
- 'type' => $app->db->quote($parts[0]),
- 'data' => $app->db->quote($parts[2]),
- 'aux' => $app->db->quote($parts[3]),
- 'ttl' => $app->db->quote($parts[4])
- );
- }
- }
- }
-
- } // end foreach
-
- if($vars['origin'] == '') $error .= $app->lng('error_origin_empty');
- if($vars['ns'] == '') $error .= $app->lng('error_ns_empty');
- if($vars['mbox'] == '') $error .= $app->lng('error_mbox_empty');
- if($vars['refresh'] == '') $error .= $app->lng('error_refresh_empty');
- if($vars['retry'] == '') $error .= $app->lng('error_retry_empty');
- if($vars['expire'] == '') $error .= $app->lng('error_expire_empty');
- if($vars['minimum'] == '') $error .= $app->lng('error_minimum_empty');
- if($vars['ttl'] == '') $error .= $app->lng('error_ttl_empty');
-
- if($error == '') {
- // Insert the soa record
- $sys_userid = $_SESSION['s']['user']['userid'];
- $origin = $app->db->quote($vars['origin']);
- $ns = $app->db->quote($vars['ns']);
- $mbox = $app->db->quote(str_replace('@','.',$vars['mbox']));
- $refresh = $app->db->quote($vars['refresh']);
- $retry = $app->db->quote($vars['retry']);
- $expire = $app->db->quote($vars['expire']);
- $minimum = $app->db->quote($vars['minimum']);
- $ttl = $app->db->quote($vars['ttl']);
- $xfer = $app->db->quote($vars['xfer']);
-
- $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `origin`, `ns`, `mbox`, `serial`, `refresh`, `retry`, `expire`, `minimum`, `ttl`, `active`, `xfer`) VALUES
- ('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$origin', '$ns', '$mbox', '1', '$refresh', '$retry', '$expire', '$minimum', '$ttl', 'Y', '$xfer')";
- $dns_soa_id = $app->db->datalogInsert('dns_soa', $insert_data, 'id');
-
- // Insert the dns_rr records
- if(is_array($dns_rr) && $dns_soa_id > 0) {
- foreach($dns_rr as $rr) {
- $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `zone`, `name`, `type`, `data`, `aux`, `ttl`, `active`) VALUES
- ('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$dns_soa_id', '$rr[name]', '$rr[type]', '$rr[data]', '$rr[aux]', '$rr[ttl]', 'Y')";
- $dns_rr_id = $app->db->datalogInsert('dns_rr', $insert_data, 'id');
- }
- }
-
- header("Location: dns_soa_list.php");
- exit;
-
- } else {
- $app->tpl->setVar("error",$error);
- }
-
-}
-
-
-
-$app->tpl->setVar("title",'DNS Wizard');
-
-$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_dns_wizard.lng';
-include($lng_file);
-$app->tpl->setVar($wb);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
+auth->check_module_permissions('dns');
+
+
+// Loading the template
+$app->uses('tpl');
+$app->tpl->newTemplate("form.tpl.htm");
+$app->tpl->setInclude('content_tpl','templates/dns_wizard.htm');
+
+// import variables
+$template_id = (isset($_POST['template_id']))?intval($_POST['template_id']):1;
+$server_id = (isset($_POST['server_id']))?intval($_POST['server_id']):1;
+$sys_groupid = (isset($_POST['client_group_id']))?intval($_POST['client_group_id']):0;
+
+
+
+// Load the templates
+$records = $app->db->queryAllRecords("SELECT * FROM dns_template WHERE visible = 'y'");
+$template_id_option = '';
+foreach($records as $rec){
+ $checked = ($rec['template_id'] == $template_id)?' SELECTED':'';
+ $template_id_option .= '';
+}
+$app->tpl->setVar("template_id_option",$template_id_option);
+
+// If the user is administrator
+if($_SESSION['s']['user']['typ'] == 'admin') {
+
+ // Load the list of servers
+ $records = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE dns_server = 1 ORDER BY server_name");
+ $server_id_option = '';
+ foreach($records as $rec){
+ $checked = ($rec['server_id'] == $server_id)?' SELECTED':'';
+ $server_id_option .= '';
+ }
+ $app->tpl->setVar("server_id",$server_id_option);
+
+ // load the list of clients
+ $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0";
+ $clients = $app->db->queryAllRecords($sql);
+ $client_select = '';
+ if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "";
+ if(is_array($clients)) {
+ foreach( $clients as $client) {
+ $selected = ($client["groupid"] == $sys_groupid)?'SELECTED':'';
+ $client_select .= "\r\n";
+ }
+ }
+
+ $app->tpl->setVar("client_group_id",$client_select);
+
+}
+
+$template_record = $app->db->queryOneRecord("SELECT * FROM dns_template WHERE template_id = '$template_id'");
+$fields = explode(',',$template_record['fields']);
+if(is_array($fields)) {
+ foreach($fields as $field) {
+ $app->tpl->setVar($field."_VISIBLE",1);
+ $field = strtolower($field);
+ $app->tpl->setVar($field,$_POST[$field]);
+ }
+}
+
+if($_POST['create'] == 1) {
+
+ $error = '';
+
+ if(isset($_POST['domain']) && $_POST['domain'] == '') $error .= $app->lng('error_domain_empty');
+ if(isset($_POST['ip']) && $_POST['ip'] == '') $error .= $app->lng('error_ip_empty');
+ if(isset($_POST['ns1']) && $_POST['ns1'] == '') $error .= $app->lng('error_ns1_empty');
+ if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty');
+ if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty');
+
+
+ // replace template placeholders
+ $tpl_content = $template_record['template'];
+ if($_POST['domain'] != '') $tpl_content = str_replace('{DOMAIN}',$_POST['domain'],$tpl_content);
+ if($_POST['ip'] != '') $tpl_content = str_replace('{IP}',$_POST['ip'],$tpl_content);
+ if($_POST['ns1'] != '') $tpl_content = str_replace('{NS1}',$_POST['ns1'],$tpl_content);
+ if($_POST['ns2'] != '') $tpl_content = str_replace('{NS2}',$_POST['ns2'],$tpl_content);
+ if($_POST['email'] != '') $tpl_content = str_replace('{EMAIL}',$_POST['email'],$tpl_content);
+
+ // Parse the template
+ $tpl_rows = explode("\n",$tpl_content);
+ $section = '';
+ $vars = array();
+ $dns_rr = array();
+ foreach($tpl_rows as $row) {
+ $row = trim($row);
+ if(substr($row,0,1) == '[') {
+ if($row == '[ZONE]') {
+ $section = 'zone';
+ } elseif($row == '[DNS_RECORDS]') {
+ $section = 'dns_records';
+ } else {
+ die('Unknown section type');
+ }
+ } else {
+ if($row != '') {
+ // Handle zone section
+ if($section == 'zone') {
+ $parts = explode('=',$row);
+ $key = trim($parts[0]);
+ $val = trim($parts[1]);
+ if($key != '') $vars[$key] = $val;
+ }
+ // Handle DNS Record rows
+ if($section == 'dns_records') {
+ $parts = explode('|',$row);
+ $dns_rr[] = array(
+ 'name' => $app->db->quote($parts[1]),
+ 'type' => $app->db->quote($parts[0]),
+ 'data' => $app->db->quote($parts[2]),
+ 'aux' => $app->db->quote($parts[3]),
+ 'ttl' => $app->db->quote($parts[4])
+ );
+ }
+ }
+ }
+
+ } // end foreach
+
+ if($vars['origin'] == '') $error .= $app->lng('error_origin_empty');
+ if($vars['ns'] == '') $error .= $app->lng('error_ns_empty');
+ if($vars['mbox'] == '') $error .= $app->lng('error_mbox_empty');
+ if($vars['refresh'] == '') $error .= $app->lng('error_refresh_empty');
+ if($vars['retry'] == '') $error .= $app->lng('error_retry_empty');
+ if($vars['expire'] == '') $error .= $app->lng('error_expire_empty');
+ if($vars['minimum'] == '') $error .= $app->lng('error_minimum_empty');
+ if($vars['ttl'] == '') $error .= $app->lng('error_ttl_empty');
+
+ if($error == '') {
+ // Insert the soa record
+ $sys_userid = $_SESSION['s']['user']['userid'];
+ $origin = $app->db->quote($vars['origin']);
+ $ns = $app->db->quote($vars['ns']);
+ $mbox = $app->db->quote(str_replace('@','.',$vars['mbox']));
+ $refresh = $app->db->quote($vars['refresh']);
+ $retry = $app->db->quote($vars['retry']);
+ $expire = $app->db->quote($vars['expire']);
+ $minimum = $app->db->quote($vars['minimum']);
+ $ttl = $app->db->quote($vars['ttl']);
+ $xfer = $app->db->quote($vars['xfer']);
+
+ $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `origin`, `ns`, `mbox`, `serial`, `refresh`, `retry`, `expire`, `minimum`, `ttl`, `active`, `xfer`) VALUES
+ ('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$origin', '$ns', '$mbox', '1', '$refresh', '$retry', '$expire', '$minimum', '$ttl', 'Y', '$xfer')";
+ $dns_soa_id = $app->db->datalogInsert('dns_soa', $insert_data, 'id');
+
+ // Insert the dns_rr records
+ if(is_array($dns_rr) && $dns_soa_id > 0) {
+ foreach($dns_rr as $rr) {
+ $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `zone`, `name`, `type`, `data`, `aux`, `ttl`, `active`) VALUES
+ ('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$dns_soa_id', '$rr[name]', '$rr[type]', '$rr[data]', '$rr[aux]', '$rr[ttl]', 'Y')";
+ $dns_rr_id = $app->db->datalogInsert('dns_rr', $insert_data, 'id');
+ }
+ }
+
+ header("Location: dns_soa_list.php");
+ exit;
+
+ } else {
+ $app->tpl->setVar("error",$error);
+ }
+
+}
+
+
+
+$app->tpl->setVar("title",'DNS Wizard');
+
+$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_dns_wizard.lng';
+include($lng_file);
+$app->tpl->setVar($wb);
+
+$app->tpl_defaults();
+$app->tpl->pparse();
+
+
?>
\ No newline at end of file