From e1ceb050e19c7574bca146a8da7047ee4ff456b5 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Sun, 10 Jul 2016 05:02:35 -0400
Subject: [PATCH] Merge branch 'stable-3.1'
---
interface/web/dns/form/dns_soa.tform.php | 366 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 233 insertions(+), 133 deletions(-)
diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php
index 89ff4f9..d76c403 100644
--- a/interface/web/dns/form/dns_soa.tform.php
+++ b/interface/web/dns/form/dns_soa.tform.php
@@ -30,19 +30,25 @@
The ID field of the database table is not part of the datafield definition.
The ID field must be always auto incement (int or bigint).
+ Search:
+ - searchable = 1 or searchable = 2 include the field in the search
+ - searchable = 1: this field will be the title of the search result
+ - searchable = 2: this field will be included in the description of the search result
+
*/
+global $app;
-$form["title"] = "DNS Zone";
-$form["description"] = "";
-$form["name"] = "dns_soa";
-$form["action"] = "dns_soa_edit.php";
-$form["db_table"] = "dns_soa";
-$form["db_table_idx"] = "id";
-$form["db_history"] = "yes";
-$form["tab_default"] = "dns_soa";
-$form["list_default"] = "dns_soa_list.php";
-$form["auth"] = 'yes'; // yes / no
+$form["title"] = "DNS Zone";
+$form["description"] = "";
+$form["name"] = "dns_soa";
+$form["action"] = "dns_soa_edit.php";
+$form["db_table"] = "dns_soa";
+$form["db_table_idx"] = "id";
+$form["db_history"] = "yes";
+$form["tab_default"] = "dns_soa";
+$form["list_default"] = "dns_soa_list.php";
+$form["auth"] = 'yes'; // yes / no
$form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 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
@@ -51,164 +57,258 @@
$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
- ##################################
+ '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'
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND 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'
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'filters' => array( 0 => array( 'event' => 'SAVE',
+ 'type' => 'IDNTOASCII'),
+ 1 => array( 'event' => 'SHOW',
+ 'type' => 'IDNTOUTF8'),
+ 2 => array( 'event' => 'SAVE',
+ 'type' => 'TOLOWER')
+ ),
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'origin_error_empty'),
+ 1 => array ( 'type' => 'UNIQUE',
+ 'errmsg'=> 'origin_error_unique'),
+ 2 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',
+ 'errmsg'=> 'origin_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255',
+ 'searchable' => 1
),
'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'
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'filters' => array( 0 => array( 'event' => 'SAVE',
+ 'type' => 'IDNTOASCII'),
+ 1 => array( 'event' => 'SHOW',
+ 'type' => 'IDNTOUTF8'),
+ 2 => array( 'event' => 'SAVE',
+ 'type' => 'TOLOWER')
+ ),
+ 'validators' => array ( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-]{1,255}$/',
+ 'errmsg'=> 'ns_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255',
+ 'searchable' => 2
),
'mbox' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'mbox_error_empty'),
- 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^[\w\.\-]{0,64}$/',
- 'errmsg'=> 'mbox_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'filters' => array( 0 => array( 'event' => 'SAVE',
+ 'type' => 'IDNTOASCII'),
+ 1 => array( 'event' => 'SHOW',
+ 'type' => 'IDNTOUTF8'),
+ 2 => array( 'event' => 'SAVE',
+ 'type' => 'TOLOWER')
+ ),
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'mbox_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_\+]{0,255}\.$/',
+ 'errmsg'=> 'mbox_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255',
+ 'searchable' => 2
),
'serial' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '10',
- 'maxlength' => '10'
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
),
'refresh' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '28800',
- 'value' => '',
- 'width' => '10',
- 'maxlength' => '10'
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'refresh_range_error'),
+ ),
+ 'default' => '7200',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
),
'retry' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '7200',
- 'value' => '',
- 'width' => '10',
- 'maxlength' => '10'
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'retry_range_error'),
+ ),
+ 'default' => '540',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
),
'expire' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '604800',
- 'value' => '',
- 'width' => '10',
- 'maxlength' => '10'
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'expire_range_error'),
+ ),
+ 'default' => '604800',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
),
'minimum' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '86400',
- 'value' => '',
- 'width' => '10',
- 'maxlength' => '10'
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'minimum_range_error'),
+ ),
+ 'default' => '3600',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
),
'ttl' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '86400',
- 'value' => '',
- 'width' => '10',
- 'maxlength' => '10'
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'ttl_range_error'),
+ ),
+ 'default' => '3600',
+ 'value' => '',
+ 'width' => '10',
+ 'maxlength' => '10'
),
'xfer' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'CUSTOM',
+ 'class' => 'validate_dns',
+ 'function' => 'validate_xfer',
+ 'allowempty' => 'y',
+ 'separator' => ',',
+ 'errmsg'=> 'xfer_error_regex'),
+ ),
+ /*
+ 'validators' => array ( 0 => array ( 'type' => 'ISIP',
+ 'allowempty' => 'y',
+ 'separator' => ',',
+ 'errmsg'=> 'xfer_error_regex'),
+ ),
+ */
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'also_notify' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'ISIP',
+ 'allowempty' => 'y',
+ 'separator' => ',',
+ 'errmsg'=> 'also_notify_error_regex'
+ ),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'update_acl' => 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')
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N', 1 => 'Y')
),
- ##################################
- # ENDE Datatable fields
- ##################################
+ 'dnssec_wanted' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'Y',
+ 'value' => array(0 => 'N', 1 => 'Y')
+ ),
+ 'dnssec_info' => array (
+ 'datatype' => 'TEXT',
+ 'formtype' => 'TEXTAREA',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '10000'
+ ),
+ //#################################
+ // 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
- ##################################
+ '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(
+ 'dns_records' => array (
+ 'class' => 'plugin_listview',
+ 'options' => array(
'listdef' => 'list/dns_a.list.php',
- 'sqlextwhere' => "zone = ".intval($_REQUEST['id']),
+ 'sqlextwhere' => "zone = ".@$app->functions->intval(@$_REQUEST['id']),
'sql_order_by' => "ORDER BY type, name"
)
- )
+ )
)
);
-?>
\ No newline at end of file
+?>
--
Gitblit v1.9.1