From 7d52e00a51450bc4a080d4e21b7dda02c0a65191 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 14 Nov 2013 05:42:06 -0500
Subject: [PATCH] Fixed list sorting
---
interface/web/dns/form/dns_soa.tform.php | 101 ++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 89 insertions(+), 12 deletions(-)
diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php
index 89ff4f9..ebc49cf 100644
--- a/interface/web/dns/form/dns_soa.tform.php
+++ b/interface/web/dns/form/dns_soa.tform.php
@@ -29,9 +29,15 @@
Hint:
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"] = "";
@@ -62,7 +68,7 @@
'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',
+ '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'
),
@@ -77,44 +83,68 @@
'origin' => array (
'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' => '/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',
+ 'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',
'errmsg'=> 'origin_error_regex'),
),
'default' => '',
'value' => '',
'width' => '30',
- 'maxlength' => '255'
+ 'maxlength' => '255',
+ 'searchable' => 1
),
'ns' => array (
'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' => '/^[\w\.\-]{0,64}$/',
+ 'regex' => '/^[\w\.\-]{1,255}$/',
'errmsg'=> 'ns_error_regex'),
),
'default' => '',
'value' => '',
'width' => '30',
- 'maxlength' => '255'
+ 'maxlength' => '255',
+ 'searchable' => 2
),
'mbox' => array (
'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'),
- 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^[\w\.\-]{0,64}$/',
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[[a-zA-Z0-9\.\-\_]{0,255}\.$/',
'errmsg'=> 'mbox_error_regex'),
),
'default' => '',
'value' => '',
'width' => '30',
- 'maxlength' => '255'
+ 'maxlength' => '255',
+ 'searchable' => 2
),
'serial' => array (
'datatype' => 'INTEGER',
@@ -127,7 +157,11 @@
'refresh' => array (
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
- 'default' => '28800',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'refresh_range_error'),
+ ),
+ 'default' => '7200',
'value' => '',
'width' => '10',
'maxlength' => '10'
@@ -135,7 +169,11 @@
'retry' => array (
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
- 'default' => '7200',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'retry_range_error'),
+ ),
+ 'default' => '540',
'value' => '',
'width' => '10',
'maxlength' => '10'
@@ -143,6 +181,10 @@
'expire' => array (
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'expire_range_error'),
+ ),
'default' => '604800',
'value' => '',
'width' => '10',
@@ -151,6 +193,10 @@
'minimum' => array (
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'RANGE',
+ 'range' => '60:',
+ 'errmsg'=> 'minimum_range_error'),
+ ),
'default' => '86400',
'value' => '',
'width' => '10',
@@ -159,12 +205,43 @@
'ttl' => array (
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
- 'default' => '86400',
+ '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',
+ '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' => '',
@@ -202,7 +279,7 @@
'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"
)
)
--
Gitblit v1.9.1