diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php
index 32fe3014b547e814234177e0d0a3e14e9333b27e..762e5a721361150f8c0529c2670d29e77f89f133 100644
--- a/interface/lib/classes/plugin_listview.inc.php
+++ b/interface/lib/classes/plugin_listview.inc.php
@@ -1,103 +1,105 @@
-uses('listform');
- $app->listform->loadListDef($this->options["listdef"]);
-
- //$app->listform->SQLExtWhere = "type = 'alias'";
-
- $listTpl = new tpl;
- $listTpl->newTemplate('templates/'.$app->listform->listDef["name"].'_list.htm');
-
- //die(print_r($app->tform_actions));
-
- // Changing some of the list values to reflect that the list is called within a tform page
- $app->listform->listDef["file"] = $app->tform->formDef["action"];
- // $app->listform->listDef["page_params"] = "&id=".$app->tform_actions->id."&next_tab=".$_SESSION["s"]["form"]["tab"];
- $app->listform->listDef["page_params"] = "&id=".$_REQUEST["id"]."&next_tab=".$_SESSION["s"]["form"]["tab"];
-
-
- // Generate the SQL for searching
- if($app->listform->listDef["auth"] != 'no') {
- if($_SESSION["s"]["user"]["typ"] == "admin") {
- $sql_where = "";
- } else {
- $sql_where = $app->tform->getAuthSQL('r')." and";
- }
- }
-
- if($this->options["sqlextwhere"] != '') {
- $sql_where .= " ".$this->options["sqlextwhere"]." and";
- }
-
- $sql_where = $app->listform->getSearchSQL($sql_where);
- $listTpl->setVar($app->listform->searchValues);
-
- // Generate SQL for paging
- $limit_sql = $app->listform->getPagingSQL($sql_where);
- $listTpl->setVar("paging",$app->listform->pagingHTML);
-
-
-
- // Get the data
- $records = $app->db->queryAllRecords("SELECT * FROM ".$app->listform->listDef["table"]." WHERE $sql_where $limit_sql");
-
- $bgcolor = "#FFFFFF";
- if(is_array($records)) {
- $idx_key = $app->listform->listDef["table_idx"];
- foreach($records as $rec) {
-
- $rec = $app->listform->decode($rec);
-
- // Change of color
- $bgcolor = ($bgcolor == "#FFFFFF")?"#EEEEEE":"#FFFFFF";
- $rec["bgcolor"] = $bgcolor;
-
- // substitute value for select fields
- foreach($app->listform->listDef["item"] as $field) {
- $key = $field["field"];
- if($field['formtype'] == "SELECT") {
- $rec[$key] = $field['value'][$rec[$key]];
- }
- }
-
- // The variable "id" contains always the index field
- $rec["id"] = $rec[$idx_key];
-
- $records_new[] = $rec;
- }
- }
-
- $listTpl->setLoop('records',$records_new);
-
- // Loading language field
- $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng";
- include($lng_file);
- $listTpl->setVar($wb);
-
- // Setting Returnto information in the session
- $list_name = $app->listform->listDef["name"];
- $_SESSION["s"]["list"][$list_name]["parent_id"] = $app->tform_actions->id;
- $_SESSION["s"]["list"][$list_name]["parent_name"] = $app->tform->formDef["name"];
- $_SESSION["s"]["list"][$list_name]["parent_tab"] = $_SESSION["s"]["form"]["tab"];
- $_SESSION["s"]["list"][$list_name]["parent_script"] = $app->tform->formDef["action"];
- $_SESSION["s"]["form"]["return_to"] = $list_name;
-
- return $listTpl->grab();
-
- }
-}
-
+uses('listform');
+ $app->listform->loadListDef($this->options["listdef"]);
+
+ //$app->listform->SQLExtWhere = "type = 'alias'";
+
+ $listTpl = new tpl;
+ $listTpl->newTemplate('templates/'.$app->listform->listDef["name"].'_list.htm');
+
+ //die(print_r($app->tform_actions));
+
+ // Changing some of the list values to reflect that the list is called within a tform page
+ $app->listform->listDef["file"] = $app->tform->formDef["action"];
+ // $app->listform->listDef["page_params"] = "&id=".$app->tform_actions->id."&next_tab=".$_SESSION["s"]["form"]["tab"];
+ $app->listform->listDef["page_params"] = "&id=".$this->form->id."&next_tab=".$_SESSION["s"]["form"]["tab"];
+ $listTpl->setVar('parent_id',$this->form->id);
+
+ // Generate the SQL for searching
+ if($app->listform->listDef["auth"] != 'no') {
+ if($_SESSION["s"]["user"]["typ"] == "admin") {
+ $sql_where = "";
+ } else {
+ $sql_where = $app->tform->getAuthSQL('r')." and";
+ }
+ }
+
+ if($this->options["sqlextwhere"] != '') {
+ $sql_where .= " ".$this->options["sqlextwhere"]." and";
+ }
+
+ $sql_where = $app->listform->getSearchSQL($sql_where);
+ $listTpl->setVar($app->listform->searchValues);
+
+ // Generate SQL for paging
+ $limit_sql = $app->listform->getPagingSQL($sql_where);
+ $listTpl->setVar("paging",$app->listform->pagingHTML);
+
+
+
+ // Get the data
+ $records = $app->db->queryAllRecords("SELECT * FROM ".$app->listform->listDef["table"]." WHERE $sql_where $limit_sql");
+
+ $bgcolor = "#FFFFFF";
+ if(is_array($records)) {
+ $idx_key = $app->listform->listDef["table_idx"];
+ foreach($records as $rec) {
+
+ $rec = $app->listform->decode($rec);
+
+ // Change of color
+ $bgcolor = ($bgcolor == "#FFFFFF")?"#EEEEEE":"#FFFFFF";
+ $rec["bgcolor"] = $bgcolor;
+
+ // substitute value for select fields
+ foreach($app->listform->listDef["item"] as $field) {
+ $key = $field["field"];
+ if($field['formtype'] == "SELECT") {
+ $rec[$key] = $field['value'][$rec[$key]];
+ }
+ }
+
+ // The variable "id" contains always the index field
+ $rec["id"] = $rec[$idx_key];
+
+ $records_new[] = $rec;
+ }
+ }
+
+ $listTpl->setLoop('records',$records_new);
+
+ // Loading language field
+ $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng";
+ include($lng_file);
+ $listTpl->setVar($wb);
+
+ // Setting Returnto information in the session
+ $list_name = $app->listform->listDef["name"];
+ // $_SESSION["s"]["list"][$list_name]["parent_id"] = $app->tform_actions->id;
+ $_SESSION["s"]["list"][$list_name]["parent_id"] = $this->form->id;
+ $_SESSION["s"]["list"][$list_name]["parent_name"] = $app->tform->formDef["name"];
+ $_SESSION["s"]["list"][$list_name]["parent_tab"] = $_SESSION["s"]["form"]["tab"];
+ $_SESSION["s"]["list"][$list_name]["parent_script"] = $app->tform->formDef["action"];
+ $_SESSION["s"]["form"]["return_to"] = $list_name;
+ //die(print_r($_SESSION["s"]["list"][$list_name]));
+
+ return $listTpl->grab();
+
+ }
+}
+
?>
\ No newline at end of file
diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index 711fa5f9042cd2fa2e55e9ec929dbc5732a16633..131752ddfcab9fe95fdfb54ddf2b8aafaa4e09fa 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -141,19 +141,19 @@ class tform_actions {
$_SESSION["s"]["form"]["return_to"] = '';
session_write_close();
header($redirect);
- // When a returnto variable is set
- } elseif ($_SESSION["s"]["form"]["return_to_url"] != '') {
- $redirect = $_SESSION["s"]["form"]["return_to_url"];
- $_SESSION["s"]["form"]["return_to_url"] = '';
- session_write_close();
- header("Location: ".$redirect);
- exit;
- // Use the default list of the form
- } else {
- header("Location: ".$app->tform->formDef['list_default']);
- }
- exit;
- } else {
+ // When a returnto variable is set
+ } elseif ($_SESSION["s"]["form"]["return_to_url"] != '') {
+ $redirect = $_SESSION["s"]["form"]["return_to_url"];
+ $_SESSION["s"]["form"]["return_to_url"] = '';
+ session_write_close();
+ header("Location: ".$redirect);
+ exit;
+ // Use the default list of the form
+ } else {
+ header("Location: ".$app->tform->formDef['list_default']);
+ }
+ exit;
+ } else {
$this->onShow();
}
} else {
diff --git a/interface/web/dns/dns_a_edit.php b/interface/web/dns/dns_a_edit.php
new file mode 100644
index 0000000000000000000000000000000000000000..03609bd346e157841c15b8e5acd52d4792d30029
--- /dev/null
+++ b/interface/web/dns/dns_a_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..6899b3ad937da3a9511ddaf3c31742f4d7b00b8a
--- /dev/null
+++ b/interface/web/dns/dns_a_list.php
@@ -0,0 +1,27 @@
+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
new file mode 100644
index 0000000000000000000000000000000000000000..8f8e0ecc48cd160023f96a8afd77ac1ea94393f5
--- /dev/null
+++ b/interface/web/dns/dns_alias_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..a9a6c32608f5eb7e3fb2973d830ec2b187296e03
--- /dev/null
+++ b/interface/web/dns/dns_cname_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..891069e8436d7fa76ddc4b30248c4e66d8081476
--- /dev/null
+++ b/interface/web/dns/dns_hinfo_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..0dc6b91821f3b083dcb06de13fd0aba2b729e9c8
--- /dev/null
+++ b/interface/web/dns/dns_mx_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..a7889ae2bd4cf35f8dffe545ac68a4b5105d230b
--- /dev/null
+++ b/interface/web/dns/dns_ns_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..e353c7ad00738ad2b3cb058b97fa226f1d8728c0
--- /dev/null
+++ b/interface/web/dns/dns_ptr_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..1ed15825be1c592db4e703fadea1e069072fe457
--- /dev/null
+++ b/interface/web/dns/dns_rp_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..d996c915be561ab305e320191b1427ef3aa087c3
--- /dev/null
+++ b/interface/web/dns/dns_rr_del.php
@@ -0,0 +1,54 @@
+uses("tform_actions");
+$app->tform_actions->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
new file mode 100644
index 0000000000000000000000000000000000000000..1a7bfa5e2b6d378f15d721ed949ec5740518f12c
--- /dev/null
+++ b/interface/web/dns/dns_soa_edit.php
@@ -0,0 +1,70 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Set the serial
+ $this->dataRecord["serial"] = time();
+
+ parent::onSubmit();
+ }
+
+}
+
+$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
new file mode 100644
index 0000000000000000000000000000000000000000..3f608a4d9baf9cebc623b2d277126c59ba1f4b97
--- /dev/null
+++ b/interface/web/dns/dns_soa_list.php
@@ -0,0 +1,27 @@
+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
new file mode 100644
index 0000000000000000000000000000000000000000..a98733db40633850ea213897d5b5d2dd4282e247
--- /dev/null
+++ b/interface/web/dns/dns_srv_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$page = new page_action;
+$page->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
new file mode 100644
index 0000000000000000000000000000000000000000..2d3ec80981bd1576f59345d96d1a6037c3c10e00
--- /dev/null
+++ b/interface/web/dns/dns_txt_edit.php
@@ -0,0 +1,72 @@
+uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+ 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'));
+
+ // 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();
+ }
+}
+
+$page = new page_action;
+$page->onLoad();
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_a.tform.php b/interface/web/dns/form/dns_a.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..43fa0e0b67d804ee610d30331a4f3106b9fca05d
--- /dev/null
+++ b/interface/web/dns/form/dns_a.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS A",
+ 'width' => 100,
+ 'template' => "templates/dns_a_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_alias.tform.php b/interface/web/dns/form/dns_alias.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..0302f7e4e9a6e310d77b961efacaf501896d5470
--- /dev/null
+++ b/interface/web/dns/form/dns_alias.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS A",
+ 'width' => 100,
+ 'template' => "templates/dns_alias_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_cname.tform.php b/interface/web/dns/form/dns_cname.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..e48605f8d9c7c45923b2d552139ef93a82ece39e
--- /dev/null
+++ b/interface/web/dns/form/dns_cname.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS CNAME",
+ 'width' => 100,
+ 'template' => "templates/dns_cname_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_hinfo.tform.php b/interface/web/dns/form/dns_hinfo.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..b2b30b629cfd29b5f9ad3dbb6d73973533db0e76
--- /dev/null
+++ b/interface/web/dns/form/dns_hinfo.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS hinfo",
+ 'width' => 100,
+ 'template' => "templates/dns_hinfo_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_mx.tform.php b/interface/web/dns/form/dns_mx.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..1f7382c2beed96a0a1f3024c6419e7f9b226927c
--- /dev/null
+++ b/interface/web/dns/form/dns_mx.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS mx",
+ 'width' => 100,
+ 'template' => "templates/dns_mx_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_ns.tform.php b/interface/web/dns/form/dns_ns.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..a845dc6e14ac57550c061bcc3e20f37175fa6171
--- /dev/null
+++ b/interface/web/dns/form/dns_ns.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS ns",
+ 'width' => 100,
+ 'template' => "templates/dns_ns_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_ptr.tform.php b/interface/web/dns/form/dns_ptr.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..7b193cf2470c25f5c3ad907ec6461b964ce8889d
--- /dev/null
+++ b/interface/web/dns/form/dns_ptr.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS ptr",
+ 'width' => 100,
+ 'template' => "templates/dns_ptr_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_rp.tform.php b/interface/web/dns/form/dns_rp.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..81a5c2fc6edbee8a3e0545a93535d428915d5cd6
--- /dev/null
+++ b/interface/web/dns/form/dns_rp.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS rp",
+ 'width' => 100,
+ 'template' => "templates/dns_rp_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..b149fec455450fe3cf6902c8948fa7daedd87c7b
--- /dev/null
+++ b/interface/web/dns/form/dns_soa.tform.php
@@ -0,0 +1,212 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns_soa'] = array (
+ 'title' => "DNS Zone",
+ 'width' => 100,
+ 'template' => "templates/dns_soa_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT server_id,server_name FROM server WHERE dns_server = 1 AND {AUTHSQL} ORDER BY server_name',
+ 'keyfield'=> 'server_id',
+ 'valuefield'=> 'server_name'
+ ),
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'server_id_error_empty'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'origin' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'origin_error_empty'),
+ 1 => array ( 'type' => 'UNIQUE',
+ 'errmsg'=> 'origin_error_unique'),
+ 2 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',
+ 'errmsg'=> 'origin_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'ns' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{0,64}$/',
+ 'errmsg'=> 'ns_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'mbox' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'mbox_error_empty'),
+ 1 => array ( 'type' => 'ISEMAIL',
+ 'errmsg'=> 'mbox_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'serial' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'refresh' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '28800',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'retry' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '7200',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'expire' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '604800',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'minimum' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'xfer' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+$form["tabs"]['dns_records'] = array (
+ 'title' => "Records",
+ 'width' => 100,
+ 'template' => "templates/dns_records_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ ),
+ 'plugins' => array (
+ 'dns_records' => array (
+ 'class' => 'plugin_listview',
+ 'options' => array(
+ 'listdef' => 'list/dns_a.list.php',
+ 'sqlextwhere' => "zone = ".intval($_REQUEST['id'])
+ )
+ )
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_srv.tform.php b/interface/web/dns/form/dns_srv.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..188c10fa45c7238c808daac278f0231c69b611ab
--- /dev/null
+++ b/interface/web/dns/form/dns_srv.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS srv",
+ 'width' => 100,
+ 'template' => "templates/dns_srv_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/form/dns_txt.tform.php b/interface/web/dns/form/dns_txt.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..b18d84af200d2cfd20d79281b3d1c790a6aed8c0
--- /dev/null
+++ b/interface/web/dns/form/dns_txt.tform.php
@@ -0,0 +1,145 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['dns'] = array (
+ 'title' => "DNS txt",
+ 'width' => 100,
+ 'template' => "templates/dns_txt_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'zone' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => intval($_REQUEST["zone"]),
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'name' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{1,64}$/',
+ 'errmsg'=> 'name_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'type' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'A',
+ 'value' => '',
+ 'width' => '5',
+ 'maxlength' => '5'
+ ),
+ 'data' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'data_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[0-9\.]{10,15}$/',
+ 'errmsg'=> 'data_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ /*
+ 'aux' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '0',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ */
+ 'ttl' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '86400',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
+ ),
+ 'active' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N',1 => 'Y')
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/lib/admin.conf.php b/interface/web/dns/lib/admin.conf.php
new file mode 100644
index 0000000000000000000000000000000000000000..a45d4403455c5c46f438046f088398e241cbc3d9
--- /dev/null
+++ b/interface/web/dns/lib/admin.conf.php
@@ -0,0 +1,2 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_a.lng b/interface/web/dns/lib/lang/en_dns_a.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_a.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_a_list.lng b/interface/web/dns/lib/lang/en_dns_a_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..cabd47889972ff2ad4a4769dde8ec822735cd814
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_a_list.lng
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_alias.lng b/interface/web/dns/lib/lang/en_dns_alias.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_alias.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_cname.lng b/interface/web/dns/lib/lang/en_dns_cname.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_cname.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_hinfo.lng b/interface/web/dns/lib/lang/en_dns_hinfo.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_hinfo.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_mx.lng b/interface/web/dns/lib/lang/en_dns_mx.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_mx.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_ns.lng b/interface/web/dns/lib/lang/en_dns_ns.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_ns.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_ptr.lng b/interface/web/dns/lib/lang/en_dns_ptr.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_ptr.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_rp.lng b/interface/web/dns/lib/lang/en_dns_rp.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_rp.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_soa.lng b/interface/web/dns/lib/lang/en_dns_soa.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4955dff1ab78f6377544a9a8f18e12e06b5d59a1
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_soa.lng
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_soa_list.lng b/interface/web/dns/lib/lang/en_dns_soa_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..17f0ba7eb3c2efa2b96da7699a8e2b27f74b18ad
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_soa_list.lng
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_srv.lng b/interface/web/dns/lib/lang/en_dns_srv.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_srv.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/en_dns_txt.lng b/interface/web/dns/lib/lang/en_dns_txt.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ca96ae5846ac8aef1ee19ad9f8b830ca81b043a4
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_txt.lng
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/interface/web/dns/lib/module.conf.php b/interface/web/dns/lib/module.conf.php
new file mode 100644
index 0000000000000000000000000000000000000000..36eaa6f804438b516ab69d3ac010a81b15645932
--- /dev/null
+++ b/interface/web/dns/lib/module.conf.php
@@ -0,0 +1,26 @@
+ "Zones",
+ 'target' => 'content',
+ 'link' => 'dns/dns_soa_list.php');
+
+$items[] = array( 'title' => "A-Records",
+ 'target' => 'content',
+ 'link' => 'dns/dns_a_list.php');
+
+
+$module["nav"][] = array( 'title' => 'DNS',
+ 'open' => 1,
+ 'items' => $items);
+?>
\ No newline at end of file
diff --git a/interface/web/dns/list/dns_a.list.php b/interface/web/dns/list/dns_a.list.php
new file mode 100644
index 0000000000000000000000000000000000000000..7c9511a4b391a4ea35d2e2c3d03708f17dbebb19
--- /dev/null
+++ b/interface/web/dns/list/dns_a.list.php
@@ -0,0 +1,109 @@
+ "active",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "SELECT",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'width' => "",
+ 'value' => array('Y' => "Yes",'N' => "No"));
+
+
+$liste["item"][] = array( 'field' => "server_id",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "SELECT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+ 'keyfield'=> 'server_id',
+ 'valuefield'=> 'server_name'
+ ),
+ 'width' => "",
+ 'value' => "");
+
+$liste["item"][] = array( 'field' => "zone",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "SELECT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT id,origin FROM dns_soa WHERE {AUTHSQL} ORDER BY origin',
+ 'keyfield'=> 'id',
+ 'valuefield'=> 'origin'
+ ),
+ 'width' => "",
+ 'value' => "");
+
+$liste["item"][] = array( 'field' => "name",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+
+$liste["item"][] = array( 'field' => "type",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "SELECT",
+ 'op' => "like",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'width' => "",
+ 'value' => array('A'=>'A','ALIAS'=>'ALIAS','CNAME'=>'CNAME','HINFO'=>'HINFO','MX'=>'MX','NS'=>'NS','PTR'=>'PTR','RP'=>'RP','SRV'=>'SRV','TXT'=>'TXT'));
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/list/dns_soa.list.php b/interface/web/dns/list/dns_soa.list.php
new file mode 100644
index 0000000000000000000000000000000000000000..e983c962b39db5f0b80ce20ebdf29e57c82530e1
--- /dev/null
+++ b/interface/web/dns/list/dns_soa.list.php
@@ -0,0 +1,112 @@
+ "active",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "SELECT",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'width' => "",
+ 'value' => array('Y' => "Yes",'N' => "No"));
+
+
+$liste["item"][] = array( 'field' => "server_id",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "SELECT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+ 'keyfield'=> 'server_id',
+ 'valuefield'=> 'server_name'
+ ),
+ 'width' => "",
+ 'value' => "");
+
+$liste["item"][] = array( 'field' => "origin",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+
+$liste["item"][] = array( 'field' => "ns",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+
+$liste["item"][] = array( 'field' => "mbox",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+
+
+
+
+
+
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_a_edit.htm b/interface/web/dns/templates/dns_a_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_a_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_a_list.htm b/interface/web/dns/templates/dns_a_list.htm
new file mode 100644
index 0000000000000000000000000000000000000000..c661f2e8d87c1b0bf547850cbce334a0e7f45f98
--- /dev/null
+++ b/interface/web/dns/templates/dns_a_list.htm
@@ -0,0 +1,36 @@
+Add:
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_alias_edit.htm b/interface/web/dns/templates/dns_alias_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_alias_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_cname_edit.htm b/interface/web/dns/templates/dns_cname_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_cname_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_hinfo_edit.htm b/interface/web/dns/templates/dns_hinfo_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_hinfo_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_mx_edit.htm b/interface/web/dns/templates/dns_mx_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_mx_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_ns_edit.htm b/interface/web/dns/templates/dns_ns_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_ns_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_ptr_edit.htm b/interface/web/dns/templates/dns_ptr_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_ptr_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_records_edit.htm b/interface/web/dns/templates/dns_records_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..8b18ab3b55d82305ff0e0546c1a3ddadbbb83e29
--- /dev/null
+++ b/interface/web/dns/templates/dns_records_edit.htm
@@ -0,0 +1,10 @@
+
+
+ {tmpl_var name='dns_records'}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_rp_edit.htm b/interface/web/dns/templates/dns_rp_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_rp_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_soa_edit.htm b/interface/web/dns/templates/dns_soa_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..c78e69260eeb3dfe6942c8ede58d9d801389e292
--- /dev/null
+++ b/interface/web/dns/templates/dns_soa_edit.htm
@@ -0,0 +1,61 @@
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_soa_list.htm b/interface/web/dns/templates/dns_soa_list.htm
new file mode 100644
index 0000000000000000000000000000000000000000..58ea33015846d54611f422e471ee9e97deb88fae
--- /dev/null
+++ b/interface/web/dns/templates/dns_soa_list.htm
@@ -0,0 +1,34 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_srv_edit.htm b/interface/web/dns/templates/dns_srv_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_srv_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_txt_edit.htm b/interface/web/dns/templates/dns_txt_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7b0adfd1be64c52aaf4b40578f33ad7350472790
--- /dev/null
+++ b/interface/web/dns/templates/dns_txt_edit.htm
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/interface/web/dns_old/lib/module.conf.php b/interface/web/dns_old/lib/module.conf.php
index ea7d08dc0737ad20e1d7a0e59f2866fba3ae82de..741c76f87f0f8433f5d0c2209cfae2ece7129346 100644
--- a/interface/web/dns_old/lib/module.conf.php
+++ b/interface/web/dns_old/lib/module.conf.php
@@ -1,10 +1,10 @@
- 'dns',
- 'title' => 'DNS',
+ 'name' => 'dns_old',
+ 'title' => 'DNS OLD',
'template' => 'module.tpl.htm',
'navframe_page' => '',
- 'startpage' => 'dns/soa_list.php',
+ 'startpage' => 'dns_old/soa_list.php',
'tab_width' => '',
'nav' =>
array (
@@ -18,10 +18,10 @@ $module = array (
array (
'title' => 'SOA',
'target' => 'content',
- 'link' => 'dns/soa_list.php',
+ 'link' => 'dns_old/soa_list.php',
),
),
),
),
-)
+)
?>
\ No newline at end of file