dns_txt.tform.php 4.52 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

/*
	Form Definition

	Tabledefinition

	Datatypes:
	- INTEGER (Forces the input to Int)
	- DOUBLE
	- CURRENCY (Formats the values to currency notation)
	- VARCHAR (no format check, maxlength: 255)
	- TEXT (no format check)
	- DATE (Dateformat, automatic conversion to timestamps)

	Formtype:
	- TEXT (Textfield)
	- TEXTAREA (Textarea)
	- PASSWORD (Password textfield, input is not shown when edited)
	- SELECT (Select option field)
	- RADIO
	- CHECKBOX
	- CHECKBOXARRAY
	- FILE

	VALUE:
	- Wert oder Array

	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).


*/
35
global $app;
36

37
38
39
40
41
42
43
44
45
46
$form["title"]    = "DNS TXT Record";
$form["description"]  = "";
$form["name"]    = "dns_txt";
$form["action"]   = "dns_txt_edit.php";
$form["db_table"]  = "dns_rr";
$form["db_table_idx"] = "id";
$form["db_history"]  = "yes";
$form["tab_default"] = "dns";
$form["list_default"] = "dns_a_list.php";
$form["auth"]   = 'yes'; // yes / no
47
48
49
50
51
52
53
54

$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
$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 (
55
56
57
58
59
60
61
	'title'  => "DNS TXT",
	'width'  => 100,
	'template'  => "templates/dns_txt_edit.htm",
	'fields'  => array (
		//#################################
		// Begin Datatable fields
		//#################################
62
		'server_id' => array (
63
64
65
66
67
68
			'datatype' => 'INTEGER',
			'formtype' => 'SELECT',
			'default' => '',
			'value'  => '',
			'width'  => '30',
			'maxlength' => '255'
69
70
		),
		'zone' => array (
71
72
73
74
75
76
			'datatype' => 'INTEGER',
			'formtype' => 'TEXT',
			'default' => @$app->functions->intval($_REQUEST["zone"]),
			'value'  => '',
			'width'  => '30',
			'maxlength' => '255'
77
78
		),
		'name' => array (
79
80
81
82
83
84
85
86
87
88
			'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',
89
					'regex' => '/^[a-zA-Z0-9\.\-\_]{0,255}$/',
90
91
92
93
94
95
					'errmsg'=> 'name_error_regex'),
			),
			'default' => '',
			'value'  => '',
			'width'  => '30',
			'maxlength' => '255'
96
97
		),
		'type' => array (
98
99
100
101
102
103
			'datatype' => 'VARCHAR',
			'formtype' => 'TEXT',
			'default' => 'TXT',
			'value'  => '',
			'width'  => '5',
			'maxlength' => '5'
104
105
		),
		'data' => array (
106
107
			'datatype' => 'VARCHAR',
			'formtype' => 'TEXT',
108
109
110
111
112
113
114
115
116
117
118
119
			'validators' => array (  
				0 => array ( 
					'type' => 'NOTEMPTY', 
					'errmsg'=> 'data_error_empty'
				),
				1 => array ( 
					'type' => 'REGEX', 
					'regex' => "/^((?!v=DKIM).)*$/s", 
					'errmsg'=> 'invalid_type_dkim'
				),
				2 => array ( 
					'type' => 'REGEX', 
120
					'regex' => "/^((?!v=DMARC1; ).)*$/s", 
121
122
123
124
125
126
					'errmsg'=> 'invalid_type_dmarc'),
				3 => array ( 
					'type' => 'REGEX', 
					'regex' => "/^((?!v=spf).)*$/s", 
					'errmsg'=> 'invalid_type_spf'
				),
127
128
129
130
131
			),
			'default' => '',
			'value'  => '',
			'width'  => '30',
			'maxlength' => '255'
132
133
		),
		'ttl' => array (
134
135
			'datatype' => 'INTEGER',
			'formtype' => 'TEXT',
136
137
138
139
			'validators' => array (  0 => array ( 'type' => 'RANGE',
					'range' => '60:',
					'errmsg'=> 'ttl_range_error'),
			),
140
141
142
143
			'default' => '86400',
			'value'  => '',
			'width'  => '10',
			'maxlength' => '10'
144
145
		),
		'active' => array (
146
147
148
149
			'datatype' => 'VARCHAR',
			'formtype' => 'CHECKBOX',
			'default' => 'Y',
			'value'  => array(0 => 'N', 1 => 'Y')
150
		),
151
		'stamp' => array (
152
153
154
155
156
157
			'datatype' => 'VARCHAR',
			'formtype' => 'TEXT',
			'default' => '',
			'value'  => '',
			'width'  => '30',
			'maxlength' => '255'
158
159
		),
		'serial' => array (
160
161
162
163
164
165
			'datatype' => 'INTEGER',
			'formtype' => 'TEXT',
			'default' => '',
			'value'  => '',
			'width'  => '10',
			'maxlength' => '10'
166
		),
167
168
169
		//#################################
		// ENDE Datatable fields
		//#################################
170
171
172
	)
);

173
174
175
176
177
if($_SESSION["s"]["user"]["typ"] == 'admin') {
	unset($form["tabs"]['dns']['fields']['data']['validators']);
	$form["tabs"]['dns']['fields']['data']['validators'][0]['type'] = 'NOTEMPTY';
	$form["tabs"]['dns']['fields']['data']['validators'][0]['errmsg'] = 'data_error_empty';
}
178
?>