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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
| <?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).
|
|
| */
|
| $form["title"] = "Firewall";
| $form["description"] = "";
| $form["name"] = "firewall";
| $form["action"] = "firewall_edit.php";
| $form["db_table"] = "firewall";
| $form["db_table_idx"] = "firewall_id";
| $form["db_history"] = "yes";
| $form["tab_default"] = "firewall";
| $form["list_default"] = "firewall_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
| $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"]['firewall'] = array (
| 'title' => "Firewall",
| 'width' => 100,
| 'template' => "templates/firewall_edit.htm",
| 'fields' => array (
| //#################################
| // Begin Datatable fields
| //#################################
| 'server_id' => array (
| 'datatype' => 'INTEGER',
| 'formtype' => 'SELECT',
| 'default' => '',
| 'validators' => array ( 0 => array ( 'type' => 'UNIQUE',
| 'errmsg'=> 'firewall_error_unique'),
| ),
| 'datasource' => array ( 'type' => 'SQL',
| 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
| 'keyfield'=> 'server_id',
| 'valuefield'=> 'server_name'
| ),
| 'value' => ''
| ),
| 'tcp_port' => array (
| 'datatype' => 'VARCHAR',
| 'formtype' => 'TEXT',
| 'validators' => array ( 0 => array ( 'type' => 'REGEX',
| 'regex' => '/^[\s0-9\,\:]{0,255}$/',
| 'errmsg'=> 'tcp_ports_error_regex'),
| ),
| 'default' => '20,21,22,25,53,80,110,143,443,587,993,995,3306,8080,8081,10000',
| 'value' => '',
| 'width' => '30',
| 'maxlength' => '255'
| ),
| 'udp_port' => array (
| 'datatype' => 'VARCHAR',
| 'formtype' => 'TEXT',
| 'validators' => array ( 0 => array ( 'type' => 'REGEX',
| 'regex' => '/^[\s0-9\,\:]{0,255}$/',
| 'errmsg'=> 'tcp_ports_error_regex'),
| ),
| 'default' => '53,3306',
| 'value' => '',
| 'width' => '30',
| 'maxlength' => '255'
| ),
| 'active' => array (
| 'datatype' => 'VARCHAR',
| 'formtype' => 'CHECKBOX',
| 'default' => 'y',
| 'value' => array(0 => 'n', 1 => 'y')
| ),
| //#################################
| // ENDE Datatable fields
| //#################################
| )
| );
|
|
| ?>
|
|