Till Brehm
2014-10-17 074a578110cefcd658b1c491491757478bf7907e
commit | author | age
7848ce 1 <?php
T 2
3 /*
3f22a4 4   Form Definition
7848ce 5
3f22a4 6   Tabledefinition
7848ce 7
3f22a4 8   Datatypes:
V 9   - INTEGER (Forces the input to Int)
10   - DOUBLE
11   - CURRENCY (Formats the values to currency notation)
12   - VARCHAR (no format check, maxlength: 255)
13   - TEXT (no format check)
14   - DATE (Dateformat, automatic conversion to timestamps)
7848ce 15
3f22a4 16   Formtype:
V 17   - TEXT (Textfield)
18   - TEXTAREA (Textarea)
19   - PASSWORD (Password textfield, input is not shown when edited)
20   - SELECT (Select option field)
21   - RADIO
22   - CHECKBOX
23   - CHECKBOXARRAY
24   - FILE
7848ce 25
3f22a4 26   VALUE:
V 27   - Wert oder Array
7848ce 28
3f22a4 29   Hint:
V 30   The ID field of the database table is not part of the datafield definition.
31   The ID field must be always auto incement (int or bigint).
7848ce 32
T 33
3f22a4 34  */
7848ce 35
3f22a4 36 $form["title"] = "Server Config";
V 37 $form["description"] = "";
38 $form["name"] = "server_config";
39 $form["action"] = "server_config_edit.php";
40 $form["db_table"] = "server";
41 $form["db_table_idx"] = "server_id";
42 $form["db_history"] = "yes";
43 $form["tab_default"] = "server";
44 $form["list_default"] = "server_config_list.php";
45 $form["auth"] = 'yes'; // yes / no
7848ce 46
3f22a4 47 $form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user
7848ce 48 $form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
T 49 $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
50 $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
51 $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
52
3f22a4 53 $form["tabs"]['server'] = array(
V 54     'title' => "Server",
55     'width' => 70,
56     'template' => "templates/server_config_server_edit.htm",
57     'fields' => array(
7fe908 58         //#################################
MC 59         // Begin Datatable fields
60         //#################################
3f22a4 61         'auto_network_configuration' => array(
V 62             'datatype' => 'VARCHAR',
63             'formtype' => 'CHECKBOX',
64             'default' => 'n',
65             'value' => array(0 => 'n', 1 => 'y')
e08297 66         ),
3f22a4 67         'ip_address' => array(
V 68             'datatype' => 'VARCHAR',
69             'formtype' => 'TEXT',
70             'default' => '192.168.0.105',
71             'validators' => array(0 => array('type' => 'ISIPV4',
72                     'errmsg' => 'ip_address_error_wrong'),
73             ),
74             'value' => '',
75             'width' => '15',
76             'maxlength' => '255'
7848ce 77         ),
3f22a4 78         'netmask' => array(
V 79             'datatype' => 'VARCHAR',
80             'formtype' => 'TEXT',
81             'default' => '255.255.255.0',
82             'validators' => array(0 => array('type' => 'ISIPV4',
83                     'errmsg' => 'netmask_error_wrong'),
84             ),
85             'value' => '',
146783 86             'width' => '15',
MC 87             'maxlength' => '255'
30fc1b 88         ),
146783 89         /*
MC 90         'v6_prefix' => array(
91             'datatype' => 'VARCHAR',
92             'formtype' => 'TEXT',
93                         'validators' => array(0 => array('type' => 'ISV6PREFIX',
94                                         'errmsg' => 'v6_prefix_wrong'),
95                         ),
96         'default' => ''
30fc1b 97         ),
146783 98         */
MC 99         'gateway' => array(
100             'datatype' => 'VARCHAR',
101             'formtype' => 'TEXT',
3f22a4 102             'default' => '192.168.0.1',
V 103             'validators' => array(0 => array('type' => 'ISIPV4',
104                     'errmsg' => 'gateway_error_wrong'),
105             ),
106             'value' => '',
107             'width' => '15',
108             'maxlength' => '255'
7848ce 109         ),
42f191 110         'firewall' => array(
T 111             'datatype' => 'VARCHAR',
112             'formtype' => 'SELECT',
113             'default' => 'bastille',
114             'value' => array('bastille' => 'bastille', 'ufw' => 'ufw'),
115             'width' => '40',
116             'maxlength' => '255'
117         ),
3f22a4 118         'hostname' => array(
V 119             'datatype' => 'VARCHAR',
120             'formtype' => 'TEXT',
121             'default' => 'server1.domain.tld',
7fe908 122             'filters'   => array( 0 => array( 'event' => 'SAVE',
MC 123                     'type' => 'IDNTOASCII'),
124                 1 => array( 'event' => 'SHOW',
125                     'type' => 'IDNTOUTF8'),
126                 2 => array( 'event' => 'SAVE',
127                     'type' => 'TOLOWER')
128             ),
a43eb3 129             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 130                                                 'errmsg' => 'hostname_error_empty'),
131                                     1 => array ('type' => 'REGEX',
132                                                 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
133                                                 'errmsg'=> 'hostname_error_regex'),
3f22a4 134             ),
V 135             'value' => '',
136             'width' => '40',
137             'maxlength' => '255'
7848ce 138         ),
3f22a4 139         'nameservers' => array(
V 140             'datatype' => 'VARCHAR',
141             'formtype' => 'TEXT',
142             'default' => '192.168.0.1,192.168.0.2',
143             'validators' => array(0 => array('type' => 'NOTEMPTY',
144                     'errmsg' => 'nameservers_error_empty'),
145             ),
146             'value' => '',
147             'width' => '40',
148             'maxlength' => '255'
7848ce 149         ),
3f22a4 150         'loglevel' => array(
V 151             'datatype' => 'INTEGER',
152             'formtype' => 'SELECT',
153             'default' => '2',
154             'value' => array('0' => 'Debug', '1' => 'Warnings', '2' => 'Errors'),
155             'width' => '40',
156             'maxlength' => '255'
db0a6f 157         ),
615a0a 158         'admin_notify_events' => array(
T 159             'datatype' => 'INTEGER',
160             'formtype' => 'SELECT',
161             'default' => '1',
162             'value' => array('3' => 'no_notifications_txt', '0' => 'Debug', '1' => 'Warnings', '2' => 'Errors'),
163             'width' => '40',
164             'maxlength' => '255'
165         ),
3f22a4 166         'backup_dir' => array(
V 167             'datatype' => 'VARCHAR',
168             'formtype' => 'TEXT',
169             'default' => '/var/backup',
e98a15 170             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 171                                         'errmsg' => 'backup_dir_error_empty'),
172                                     1 => array (     'type' => 'REGEX',
173                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
174                                         'errmsg'=> 'backup_dir_error_regex'),
3f22a4 175             ),
V 176             'value' => '',
177             'width' => '40',
178             'maxlength' => '255'
c4085b 179         ),
056465 180         'backup_dir_is_mount' => array(
FT 181             'datatype' => 'VARCHAR',
182             'formtype' => 'CHECKBOX',
183             'default' => 'n',
184             'value' => array(0 => 'n', 1 => 'y')
185         ),
5a43e7 186         'backup_mode' => array(
d12a90 187             'datatype' => 'VARCHAR',
5a43e7 188             'formtype' => 'SELECT',
T 189             'default' => 'userzip',
190             'value' => array('userzip' => 'backup_mode_userzip', 'rootgz' => 'backup_mode_rootgz'),
615a0a 191             'width' => '40',
T 192             'maxlength' => '255'
193         ),
194         'monit_url' => array(
195             'datatype' => 'VARCHAR',
196             'formtype' => 'TEXT',
197             'default' => '',
7fe908 198             'validators' => array ( 0 => array ( 'type' => 'REGEX',
MC 199                     'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
200                     'errmsg'=> 'monit_url_error_regex'),
201             ),
615a0a 202             'value' => '',
T 203             'width' => '40',
204             'maxlength' => '255'
205         ),
206         'monit_user' => array(
207             'datatype' => 'VARCHAR',
208             'formtype' => 'TEXT',
209             'default' => '',
210             'value' => '',
211             'width' => '40',
212             'maxlength' => '255'
213         ),
214         'monit_password' => array(
215             'datatype' => 'VARCHAR',
216             'formtype' => 'TEXT',
217             'default' => '',
218             'value' => '',
219             'width' => '40',
220             'maxlength' => '255'
221         ),
222         'munin_url' => array(
223             'datatype' => 'VARCHAR',
224             'formtype' => 'TEXT',
225             'default' => '',
7fe908 226             'validators' => array ( 0 => array ( 'type' => 'REGEX',
MC 227                     'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
228                     'errmsg'=> 'munin_url_error_regex'),
229             ),
615a0a 230             'value' => '',
T 231             'width' => '40',
232             'maxlength' => '255'
233         ),
234         'munin_user' => array(
235             'datatype' => 'VARCHAR',
236             'formtype' => 'TEXT',
237             'default' => '',
238             'value' => '',
239             'width' => '40',
240             'maxlength' => '255'
241         ),
242         'munin_password' => array(
243             'datatype' => 'VARCHAR',
244             'formtype' => 'TEXT',
245             'default' => '',
246             'value' => '',
5a43e7 247             'width' => '40',
T 248             'maxlength' => '255'
d12a90 249         ),
82ff62 250         'monitor_system_updates' => array(
TB 251             'datatype' => 'VARCHAR',
252             'formtype' => 'CHECKBOX',
253             'default' => 'y',
254             'value' => array(0 => 'n', 1 => 'y')
255         ),
7fe908 256         //#################################
MC 257         // ENDE Datatable fields
258         //#################################
7848ce 259     )
T 260 );
261
3f22a4 262 $form["tabs"]['mail'] = array(
V 263     'title' => "Mail",
264     'width' => 60,
265     'template' => "templates/server_config_mail_edit.htm",
266     'fields' => array(
7fe908 267         //#################################
MC 268         // Begin Datatable fields
269         //#################################
3f22a4 270         'module' => array(
V 271             'datatype' => 'VARCHAR',
272             'formtype' => 'SELECT',
273             'default' => '',
274             'value' => array('postfix_mysql' => 'postfix_mysql')
7848ce 275         ),
3f22a4 276         'maildir_path' => array(
V 277             'datatype' => 'VARCHAR',
278             'formtype' => 'TEXT',
279             'default' => '/home/vmail/[domain]/[localpart]/',
e98a15 280             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 281                                         'errmsg' => 'maildir_path_error_empty'),
282                                     1 => array (     'type' => 'REGEX',
283                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
284                                         'errmsg'=> 'maildir_path_error_regex'),
3f22a4 285             ),
V 286             'value' => '',
287             'width' => '40',
288             'maxlength' => '255'
7848ce 289         ),
3f22a4 290         'homedir_path' => array(
V 291             'datatype' => 'VARCHAR',
292             'formtype' => 'TEXT',
293             'default' => '/home/vmail/',
e98a15 294             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 295                                         'errmsg' => 'homedir_path_error_empty'),
296                                     1 => array (     'type' => 'REGEX',
297                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
298                                         'errmsg'=> 'homedir_path_error_regex'),
3f22a4 299             ),
V 300             'value' => '',
301             'width' => '40',
302             'maxlength' => '255'
7848ce 303         ),
3f22a4 304         'pop3_imap_daemon' => array(
V 305             'datatype' => 'VARCHAR',
306             'formtype' => 'SELECT',
307             'default' => '20',
308             'value' => array('courier' => 'Courier', 'dovecot' => 'Dovecot')
6cc49f 309         ),
3f22a4 310         'mail_filter_syntax' => array(
V 311             'datatype' => 'VARCHAR',
312             'formtype' => 'SELECT',
313             'default' => '20',
314             'value' => array('maildrop' => 'Maildrop', 'sieve' => 'Sieve')
6cc49f 315         ),
3f22a4 316         'mailuser_uid' => array(
V 317             'datatype' => 'INTEGER',
318             'formtype' => 'TEXT',
319             'default' => '5000',
e98a15 320             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 321                                         'errmsg' => 'mailuser_uid_error_empty'),
322                                     1 => array('type' => 'RANGE',
323                                         'range' => '1999:',
324                                         'errmsg' => 'mailuser_uid_error_range'),
3f22a4 325             ),
V 326             'value' => '',
327             'width' => '10',
328             'maxlength' => '255'
7848ce 329         ),
3f22a4 330         'mailuser_gid' => array(
V 331             'datatype' => 'INTEGER',
332             'formtype' => 'TEXT',
333             'default' => '5000',
e98a15 334             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 335                                         'errmsg' => 'mailuser_gid_error_empty'),
336                                     1 => array('type' => 'RANGE',
337                                         'range' => '1999:',
338                                         'errmsg' => 'mailuser_gid_error_range'),
3f22a4 339             ),
V 340             'value' => '',
341             'width' => '10',
342             'maxlength' => '255'
7848ce 343         ),
3f22a4 344         'mailuser_name' => array(
V 345             'datatype' => 'VARCHAR',
346             'formtype' => 'TEXT',
347             'default' => 'vmail',
e98a15 348             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 349                                         'errmsg' => 'mailuser_name_error_empty'),
350                                     1 => array (     'type' => 'REGEX',
351                                         'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
352                                         'errmsg'=> 'mailuser_name_error_regex'),
3f22a4 353             ),
V 354             'value' => '',
355             'width' => '10',
356             'maxlength' => '255'
7848ce 357         ),
3f22a4 358         'mailuser_group' => array(
V 359             'datatype' => 'VARCHAR',
360             'formtype' => 'TEXT',
361             'default' => 'vmail',
e98a15 362             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 363                                         'errmsg' => 'mailuser_group_error_empty'),
364                                     1 => array (     'type' => 'REGEX',
365                                         'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
366                                         'errmsg'=> 'mailuser_group_name_error_regex'),
3f22a4 367             ),
V 368             'value' => '',
369             'width' => '10',
370             'maxlength' => '255'
7848ce 371         ),
3f22a4 372         'relayhost' => array(
V 373             'datatype' => 'VARCHAR',
374             'formtype' => 'TEXT',
375             'default' => '',
376             'value' => '',
377             'width' => '40',
378             'maxlength' => '255'
7848ce 379         ),
3f22a4 380         'relayhost_user' => array(
V 381             'datatype' => 'VARCHAR',
382             'formtype' => 'TEXT',
383             'default' => '',
384             'value' => '',
385             'width' => '40',
386             'maxlength' => '255'
7848ce 387         ),
3f22a4 388         'relayhost_password' => array(
V 389             'datatype' => 'VARCHAR',
390             'formtype' => 'TEXT',
391             'default' => '',
392             'value' => '',
393             'width' => '40',
394             'maxlength' => '255'
7848ce 395         ),
3f22a4 396         'mailbox_size_limit' => array(
V 397             'datatype' => 'INTEGER',
398             'formtype' => 'TEXT',
399             'default' => '0',
400             'value' => '',
401             'width' => '10',
402             'maxlength' => '15'
7848ce 403         ),
3f22a4 404         'message_size_limit' => array(
V 405             'datatype' => 'INTEGER',
406             'formtype' => 'TEXT',
407             'default' => '0',
408             'value' => '',
409             'width' => '10',
410             'maxlength' => '15'
7848ce 411         ),
9db567 412         'mailbox_quota_stats' => array (
T 413             'datatype' => 'VARCHAR',
414             'formtype' => 'CHECKBOX',
415             'default' => 'y',
7fe908 416             'value' => array(0 => 'n', 1 => 'y')
9db567 417         ),
a296ae 418         'realtime_blackhole_list' => array(
M 419             'datatype' => 'VARCHAR',
420             'formtype' => 'TEXT',
421             'default' => '',
7fe908 422             'validators' => array (  0 => array ( 'type' => 'REGEX',
MC 423                     'regex' => '/^((([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])(,\s*(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9]))*)?$/',
424                     'errmsg'=> 'rbl_error_regex'),
425             ),
a296ae 426             'value' => '',
M 427             'width' => '40',
428             'maxlength' => '255'
429         ),
615a0a 430         'overquota_notify_admin' => array(
a126d7 431             'datatype' => 'VARCHAR',
615a0a 432             'formtype' => 'CHECKBOX',
T 433             'default' => 'y',
434             'value' => array(0 => 'n', 1 => 'y')
435         ),
436         'overquota_notify_client' => array(
437             'datatype' => 'VARCHAR',
438             'formtype' => 'CHECKBOX',
439             'default' => 'y',
440             'value' => array(0 => 'n', 1 => 'y')
441         ),
442         'overquota_notify_freq' => array(
443             'datatype' => 'INTEGER',
a126d7 444             'formtype' => 'TEXT',
615a0a 445             'default' => '7',
a126d7 446             'value' => '',
7fe908 447             'width' => '20',
MC 448             'maxlength' => '255'
615a0a 449         ),
T 450         'overquota_notify_onok' => array(
451             'datatype' => 'VARCHAR',
452             'formtype' => 'CHECKBOX',
453             'default' => 'n',
454             'value' => array(0 => 'n', 1 => 'y')
a126d7 455         ),
7fe908 456         //#################################
MC 457         // ENDE Datatable fields
458         //#################################
7848ce 459     )
T 460 );
461
3f22a4 462 $form["tabs"]['getmail'] = array(
V 463     'title' => "Getmail",
464     'width' => 80,
465     'template' => "templates/server_config_getmail_edit.htm",
466     'fields' => array(
7fe908 467         //#################################
MC 468         // Begin Datatable fields
469         //#################################
3f22a4 470         'getmail_config_dir' => array(
V 471             'datatype' => 'VARCHAR',
472             'formtype' => 'TEXT',
473             'default' => '',
e98a15 474             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 475                                         'errmsg' => 'getmail_config_dir_error_empty'),
476                                     1 => array (     'type' => 'REGEX',
477                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
478                                         'errmsg'=> 'getmail_config_dir_error_regex'),
3f22a4 479             ),
V 480             'value' => '',
481             'width' => '40',
482             'maxlength' => '255'
7848ce 483         ),
7fe908 484         //#################################
MC 485         // ENDE Datatable fields
486         //#################################
7848ce 487     )
T 488 );
489
3f22a4 490 $form["tabs"]['web'] = array(
V 491     'title' => "Web",
492     'width' => 60,
493     'template' => "templates/server_config_web_edit.htm",
494     'fields' => array(
7fe908 495         //#################################
MC 496         // Begin Datatable fields
497         //#################################
0ae8da 498         'server_type' => array(
F 499             'datatype' => 'VARCHAR',
500             'formtype' => 'SELECT',
501             'default' => 'apache',
4ffb51 502             'value' => array('apache' => 'Apache', 'nginx' => 'Nginx')
0ae8da 503         ),
3f22a4 504         'website_basedir' => array(
V 505             'datatype' => 'VARCHAR',
506             'formtype' => 'TEXT',
507             'default' => '',
e98a15 508             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 509                                         'errmsg' => 'website_basedir_error_empty'),
510                                     1 => array (     'type' => 'REGEX',
511                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
512                                         'errmsg'=> 'website_basedir_error_regex'),
3f22a4 513             ),
V 514             'value' => '',
515             'width' => '40',
516             'maxlength' => '255'
fb3749 517         ),
3f22a4 518         'website_path' => array(
V 519             'datatype' => 'VARCHAR',
520             'formtype' => 'TEXT',
521             'default' => '',
e98a15 522             'validators' => array(    0 => array(    'type' => 'NOTEMPTY',
TB 523                                         'errmsg' => 'website_path_error_empty'),
524                                     1 => array (     'type' => 'REGEX',
525                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
526                                         'errmsg'=> 'website_path_error_regex'),
3f22a4 527             ),
V 528             'value' => '',
529             'width' => '40',
530             'maxlength' => '255'
7848ce 531         ),
3f22a4 532         'website_symlinks' => array(
V 533             'datatype' => 'VARCHAR',
534             'formtype' => 'TEXT',
535             'default' => '',
e98a15 536             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 537                                         'errmsg' => 'website_symlinks_error_empty'),
538                                     1 => array (     'type' => 'REGEX',
539                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]\:]{5,128}$/',
540                                         'errmsg'=> 'website_symlinks_error_regex'),
3f22a4 541             ),
V 542             'value' => '',
543             'width' => '40',
544             'maxlength' => '255'
7848ce 545         ),
552178 546         'website_symlinks_rel' => array (
M 547             'datatype' => 'VARCHAR',
548             'formtype' => 'CHECKBOX',
549             'default' => 'n',
7fe908 550             'value' => array(0 => 'n', 1 => 'y')
552178 551         ),
074a57 552         'network_filesystem' => array (
TB 553             'datatype' => 'VARCHAR',
554             'formtype' => 'CHECKBOX',
555             'default' => 'n',
556             'value' => array(0 => 'n', 1 => 'y')
557         ),
3501f9 558         'website_autoalias' => array(
M 559             'datatype' => 'VARCHAR',
560             'formtype' => 'TEXT',
561             'default' => '',
562             'value' => '',
146783 563             'width' => '40',
MC 564             'maxlength' => '255'
565         ),
7fe908 566         /*
146783 567 'vhost_rewrite_v6' => array (
MC 568 'datatype' => 'VARCHAR',
569 'formtype' => 'CHECKBOX',
570 'default' => 'n',
571 'value' => array(0 => 'n',1 => 'y')
572 ),
573 */
574         'vhost_conf_dir' => array(
575             'datatype' => 'VARCHAR',
576             'formtype' => 'TEXT',
3f22a4 577             'default' => '',
e98a15 578             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 579                                         'errmsg' => 'vhost_conf_dir_error_empty'),
580                                     1 => array (     'type' => 'REGEX',
581                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
582                                         'errmsg'=> 'vhost_conf_dir_error_regex'),
3f22a4 583             ),
V 584             'value' => '',
585             'width' => '40',
586             'maxlength' => '255'
7848ce 587         ),
3f22a4 588         'vhost_conf_enabled_dir' => array(
V 589             'datatype' => 'VARCHAR',
590             'formtype' => 'TEXT',
591             'default' => '',
e98a15 592             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 593                                         'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
594                                     1 => array (     'type' => 'REGEX',
595                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
596                                         'errmsg'=> 'vhost_conf_enabled_dir_error_regex'),
0ae8da 597             ),
F 598             'value' => '',
599             'width' => '40',
600             'maxlength' => '255'
601         ),
602         'nginx_vhost_conf_dir' => array(
603             'datatype' => 'VARCHAR',
604             'formtype' => 'TEXT',
605             'default' => '',
e98a15 606             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 607                                         'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
608                                     1 => array (     'type' => 'REGEX',
609                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
610                                         'errmsg'=> 'nginx_vhost_conf_dir_error_regex'),
0ae8da 611             ),
F 612             'value' => '',
613             'width' => '40',
614             'maxlength' => '255'
615         ),
616         'nginx_vhost_conf_enabled_dir' => array(
617             'datatype' => 'VARCHAR',
618             'formtype' => 'TEXT',
619             'default' => '',
e98a15 620             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 621                                         'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
622                                     1 => array (     'type' => 'REGEX',
623                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
624                                         'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'),
3f22a4 625             ),
V 626             'value' => '',
627             'width' => '40',
628             'maxlength' => '255'
7848ce 629         ),
892f21 630         'CA_path' => array(
L 631             'datatype' => 'VARCHAR',
632             'formtype' => 'TEXT',
e98a15 633             'validators' => array(    0 => array (     'type' => 'REGEX',
TB 634                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/',
635                                         'errmsg'=> 'ca_path_error_regex'),
636             ),
892f21 637             'default' => '',
L 638             'value' => '',
639             'width' => '40',
640             'maxlength' => '255'
641         ),
642         'CA_pass' => array(
643             'datatype' => 'VARCHAR',
644             'formtype' => 'TEXT',
645             'default' => '',
646             'value' => '',
647             'width' => '40',
648             'maxlength' => '255'
649         ),
3f22a4 650         'security_level' => array(
V 651             'datatype' => 'VARCHAR',
652             'formtype' => 'SELECT',
653             'default' => '20',
654             'value' => array('10' => 'Medium', '20' => 'High')
6b029a 655         ),
8cf78b 656         'set_folder_permissions_on_update' => array(
T 657             'datatype' => 'VARCHAR',
658             'formtype' => 'CHECKBOX',
a505fd 659             'default' => 'n',
8cf78b 660             'value' => array(0 => 'n', 1 => 'y')
T 661         ),
4b9329 662         'web_folder_protection' => array(
T 663             'datatype' => 'VARCHAR',
664             'formtype' => 'CHECKBOX',
665             'default' => 'y',
666             'value' => array(0 => 'n', 1 => 'y')
667         ),
8cf78b 668         'add_web_users_to_sshusers_group' => array(
T 669             'datatype' => 'VARCHAR',
670             'formtype' => 'CHECKBOX',
671             'default' => 'y',
672             'value' => array(0 => 'n', 1 => 'y')
673         ),
3f22a4 674         'check_apache_config' => array(
V 675             'datatype' => 'VARCHAR',
676             'formtype' => 'CHECKBOX',
677             'default' => 'y',
678             'value' => array(0 => 'n', 1 => 'y')
7ed741 679         ),
d81a4c 680         'enable_sni' => array(
T 681             'datatype' => 'VARCHAR',
682             'formtype' => 'CHECKBOX',
683             'default' => 'y',
684             'value' => array(0 => 'n', 1 => 'y')
685         ),
02384b 686         'enable_ip_wildcard' => array(
T 687             'datatype' => 'VARCHAR',
688             'formtype' => 'CHECKBOX',
689             'default' => 'y',
690             'value' => array(0 => 'n', 1 => 'y')
691         ),
df76de 692         'overtraffic_notify_admin' => array(
T 693             'datatype' => 'VARCHAR',
694             'formtype' => 'CHECKBOX',
695             'default' => 'y',
696             'value' => array(0 => 'n', 1 => 'y')
697         ),
698         'overtraffic_notify_client' => array(
699             'datatype' => 'VARCHAR',
700             'formtype' => 'CHECKBOX',
701             'default' => 'y',
702             'value' => array(0 => 'n', 1 => 'y')
703         ),
615a0a 704         'overquota_notify_admin' => array(
T 705             'datatype' => 'VARCHAR',
706             'formtype' => 'CHECKBOX',
707             'default' => 'y',
708             'value' => array(0 => 'n', 1 => 'y')
709         ),
710         'overquota_notify_client' => array(
711             'datatype' => 'VARCHAR',
712             'formtype' => 'CHECKBOX',
713             'default' => 'y',
714             'value' => array(0 => 'n', 1 => 'y')
715         ),
716         'overquota_notify_freq' => array(
717             'datatype' => 'INTEGER',
718             'formtype' => 'TEXT',
719             'default' => '7',
720             'value' => '',
7fe908 721             'width' => '20',
MC 722             'maxlength' => '255'
615a0a 723         ),
T 724         'overquota_notify_onok' => array(
725             'datatype' => 'VARCHAR',
726             'formtype' => 'CHECKBOX',
727             'default' => 'n',
728             'value' => array(0 => 'n', 1 => 'y')
729         ),
3f22a4 730         'user' => array(
V 731             'datatype' => 'VARCHAR',
732             'formtype' => 'TEXT',
733             'default' => '',
734             'validators' => array(0 => array('type' => 'NOTEMPTY',
735                     'errmsg' => 'apache_user_error_empty'),
e98a15 736                     1 => array(
TB 737                             'type' => 'CUSTOM',
738                             'class' => 'validate_systemuser',
739                             'function' => 'check_sysuser',
740                             'check_names' => false,
741                             'errmsg' => 'invalid_apache_user_txt'
742                         ),
3f22a4 743             ),
V 744             'value' => '',
745             'width' => '40',
746             'maxlength' => '255'
6b029a 747         ),
3f22a4 748         'group' => array(
V 749             'datatype' => 'VARCHAR',
750             'formtype' => 'TEXT',
751             'default' => '',
752             'validators' => array(0 => array('type' => 'NOTEMPTY',
753                     'errmsg' => 'apache_group_error_empty'),
e98a15 754                     1 => array(
TB 755                             'type' => 'CUSTOM',
756                             'class' => 'validate_systemuser',
757                             'function' => 'check_sysgroup',
758                             'check_names' => false,
759                             'errmsg' => 'invalid_apache_group_txt'
760                         ),
3f22a4 761             ),
V 762             'value' => '',
763             'width' => '40',
764             'maxlength' => '255'
6b029a 765         ),
8cf78b 766         'connect_userid_to_webid' => array(
T 767             'datatype' => 'VARCHAR',
768             'formtype' => 'CHECKBOX',
769             'default' => 'n',
770             'value' => array(0 => 'n', 1 => 'y')
771         ),
772         'connect_userid_to_webid_start' => array(
773             'datatype' => 'VARCHAR',
774             'formtype' => 'TEXT',
775             'default' => '10000',
776             'validators' => array(0 => array('type' => 'ISINT',
777                     'errmsg' => 'connect_userid_to_webid_startid_isint'),
778             ),
779             'value' => '',
780             'width' => '40',
781             'maxlength' => '255'
782         ),
4ffb51 783         'nginx_user' => array(
F 784             'datatype' => 'VARCHAR',
785             'formtype' => 'TEXT',
786             'default' => '',
e98a15 787             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 788                                         'errmsg' => 'nginx_user_error_empty'),
789                                     1 => array(
790                             'type' => 'CUSTOM',
791                             'class' => 'validate_systemuser',
792                             'function' => 'check_sysuser',
793                             'check_names' => false,
794                             'errmsg' => 'invalid_nginx_user_txt'
795                         ),
4ffb51 796             ),
F 797             'value' => '',
798             'width' => '40',
799             'maxlength' => '255'
800         ),
801         'nginx_group' => array(
802             'datatype' => 'VARCHAR',
803             'formtype' => 'TEXT',
804             'default' => '',
e98a15 805             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 806                                         'errmsg' => 'nginx_group_error_empty'),
807                                     1 => array(
808                             'type' => 'CUSTOM',
809                             'class' => 'validate_systemuser',
810                             'function' => 'check_sysgroup',
811                             'check_names' => false,
812                             'errmsg' => 'invalid_nginx_group_txt'
813                         ),
4ffb51 814             ),
F 815             'value' => '',
816             'width' => '40',
817             'maxlength' => '255'
818         ),
3f22a4 819         'php_ini_path_apache' => array(
V 820             'datatype' => 'VARCHAR',
821             'formtype' => 'TEXT',
822             'default' => '',
e98a15 823             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 824                                         'errmsg' => 'php_ini_path_apache_error_empty'),
825                                     1 => array (     'type' => 'REGEX',
826                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
827                                         'errmsg'=> 'php_ini_path_apache_error_regex'),
3f22a4 828             ),
V 829             'value' => '',
830             'width' => '40',
831             'maxlength' => '255'
7fddfe 832         ),
3f22a4 833         'php_ini_path_cgi' => array(
V 834             'datatype' => 'VARCHAR',
835             'formtype' => 'TEXT',
836             'default' => '',
e98a15 837             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 838                                         'errmsg' => 'php_ini_path_cgi_error_empty'),
839                                     1 => array (     'type' => 'REGEX',
840                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
841                                         'errmsg'=> 'php_ini_path_cgi_error_regex'),
3f22a4 842             ),
V 843             'value' => '',
844             'width' => '40',
845             'maxlength' => '255'
7fddfe 846         ),
4ffb51 847         'php_fpm_init_script' => array(
F 848             'datatype' => 'VARCHAR',
849             'formtype' => 'TEXT',
850             'default' => '',
e98a15 851             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 852                                         'errmsg' => 'php_fpm_init_script_error_empty'),
853                                     1 => array (     'type' => 'REGEX',
854                                         'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/',
855                                         'errmsg'=> 'php_fpm_init_script_error_regex'),
4ffb51 856             ),
F 857             'value' => '',
858             'width' => '40',
859             'maxlength' => '255'
860         ),
861         'php_fpm_ini_path' => array(
862             'datatype' => 'VARCHAR',
863             'formtype' => 'TEXT',
864             'default' => '',
e98a15 865             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 866                                         'errmsg' => 'php_fpm_ini_path_error_empty'),
867                                     1 => array (     'type' => 'REGEX',
868                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
869                                         'errmsg'=> 'php_fpm_ini_path_error_regex'),
4ffb51 870             ),
F 871             'value' => '',
872             'width' => '40',
873             'maxlength' => '255'
874         ),
875         'php_fpm_pool_dir' => array(
876             'datatype' => 'VARCHAR',
877             'formtype' => 'TEXT',
878             'default' => '',
e98a15 879             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 880                                         'errmsg' => 'php_fpm_pool_dir_error_empty'),
881                                     1 => array (     'type' => 'REGEX',
882                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
883                                         'errmsg'=> 'php_fpm_pool_dir_error_regex'),
4ffb51 884             ),
F 885             'value' => '',
886             'width' => '40',
887             'maxlength' => '255'
888         ),
889         'php_fpm_start_port' => array(
890             'datatype' => 'VARCHAR',
891             'formtype' => 'TEXT',
892             'default' => '',
e98a15 893             'validators' => array(0 => array('type' => 'ISPOSITIVE',
4ffb51 894                     'errmsg' => 'php_fpm_start_port_error_empty'),
F 895             ),
896             'value' => '',
897             'width' => '40',
898             'maxlength' => '255'
899         ),
72ce78 900         'php_fpm_socket_dir' => array(
F 901             'datatype' => 'VARCHAR',
902             'formtype' => 'TEXT',
903             'default' => '',
e98a15 904             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 905                                         'errmsg' => 'php_fpm_socket_dir_error_empty'),
906                                     1 => array (     'type' => 'REGEX',
907                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
908                                         'errmsg'=> 'php_fpm_socket_dir_error_regex'),
72ce78 909             ),
F 910             'value' => '',
911             'width' => '40',
912             'maxlength' => '255'
913         ),
3f22a4 914         'php_open_basedir' => array(
V 915             'datatype' => 'VARCHAR',
916             'formtype' => 'TEXT',
917             'default' => '',
e98a15 918             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 919                                         'errmsg' => 'php_open_basedir_error_empty'),
920                                     1 => array (     'type' => 'REGEX',
921                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/',
922                                         'errmsg'=> 'php_open_basedir_error_regex'),
3f22a4 923             ),
V 924             'value' => '',
925             'width' => '40',
0ae8da 926             'maxlength' => '4000'
3ee39b 927         ),
4ffb51 928         'nginx_cgi_socket' => array(
F 929             'datatype' => 'VARCHAR',
930             'formtype' => 'TEXT',
931             'default' => '',
e98a15 932             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 933                                         'errmsg' => 'nginx_cgi_socket_empty'),
934                                     1 => array (     'type' => 'REGEX',
935                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
936                                         'errmsg'=> 'nginx_cgi_socket_error_regex'),
4ffb51 937             ),
F 938             'value' => '',
939             'width' => '40',
940             'maxlength' => '255'
941         ),
3f22a4 942         'htaccess_allow_override' => array(
V 943             'datatype' => 'VARCHAR',
944             'formtype' => 'TEXT',
945             'default' => '',
e98a15 946             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 947                                         'errmsg' => 'htaccess_allow_override_error_empty'),
3f22a4 948             ),
V 949             'value' => '',
950             'width' => '40',
951             'maxlength' => '255'
c8cf71 952         ),
3f22a4 953         'apps_vhost_port' => array(
V 954             'datatype' => 'VARCHAR',
955             'formtype' => 'TEXT',
956             'default' => '8081',
957             'validators' => array(0 => array('type' => 'NOTEMPTY',
958                     'errmsg' => 'apps_vhost_port_error_empty'),
959             ),
960             'value' => '',
961             'width' => '40',
962             'maxlength' => '255'
c9b9f2 963         ),
3f22a4 964         'apps_vhost_ip' => array(
V 965             'datatype' => 'VARCHAR',
966             'formtype' => 'TEXT',
967             'default' => '_default_',
968             'validators' => array(0 => array('type' => 'NOTEMPTY',
969                     'errmsg' => 'apps_vhost_ip_error_empty'),
970             ),
971             'value' => '',
972             'width' => '40',
973             'maxlength' => '255'
c9b9f2 974         ),
3f22a4 975         'apps_vhost_servername' => array(
V 976             'datatype' => 'VARCHAR',
977             'formtype' => 'TEXT',
978             'default' => '',
979             'value' => '',
980             'width' => '40',
981             'maxlength' => '255'
c9b9f2 982         ),
3f22a4 983         'awstats_conf_dir' => array(
V 984             'datatype' => 'VARCHAR',
985             'formtype' => 'TEXT',
986             'default' => '',
987             'value' => '',
988             'width' => '40',
989             'maxlength' => '255'
379a4b 990         ),
3f22a4 991         'awstats_data_dir' => array(
V 992             'datatype' => 'VARCHAR',
993             'formtype' => 'TEXT',
e98a15 994             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 995                                         'errmsg' => 'awstats_data_dir_empty'),
996                                     1 => array (     'type' => 'REGEX',
997                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
998                                         'errmsg'=> 'awstats_data_dir_error_regex'),
999             ),
3f22a4 1000             'default' => '',
V 1001             'value' => '',
1002             'width' => '40',
1003             'maxlength' => '255'
379a4b 1004         ),
3f22a4 1005         'awstats_pl' => array(
V 1006             'datatype' => 'VARCHAR',
1007             'formtype' => 'TEXT',
e98a15 1008             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1009                                         'errmsg' => 'awstats_pl_empty'),
1010                                     1 => array (     'type' => 'REGEX',
1011                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1012                                         'errmsg'=> 'awstats_pl_error_regex'),
1013             ),
3f22a4 1014             'default' => '',
V 1015             'value' => '',
1016             'width' => '40',
1017             'maxlength' => '255'
379a4b 1018         ),
3f22a4 1019         'awstats_buildstaticpages_pl' => array(
V 1020             'datatype' => 'VARCHAR',
1021             'formtype' => 'TEXT',
e98a15 1022             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1023                                         'errmsg' => 'awstats_buildstaticpages_pl_empty'),
1024                                     1 => array (     'type' => 'REGEX',
1025                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1026                                         'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'),
1027             ),
3f22a4 1028             'default' => '',
V 1029             'value' => '',
1030             'width' => '40',
1031             'maxlength' => '255'
379a4b 1032         ),
7fe908 1033         //#################################
MC 1034         // ENDE Datatable fields
1035         //#################################
7848ce 1036     )
T 1037 );
1038
3f22a4 1039 $form["tabs"]['dns'] = array(
V 1040     'title' => "DNS",
1041     'width' => 60,
1042     'template' => "templates/server_config_dns_edit.htm",
1043     'fields' => array(
7fe908 1044         //#################################
MC 1045         // Begin Datatable fields
1046         //#################################
3f22a4 1047         'bind_user' => array(
V 1048             'datatype' => 'VARCHAR',
1049             'formtype' => 'TEXT',
1050             'default' => '',
e98a15 1051             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1052                                         'errmsg' => 'bind_user_error_empty'),
1053                                     1 => array (     'type' => 'REGEX',
1054                                         'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
1055                                         'errmsg'=> 'invalid_bind_user_txt'),
3f22a4 1056             ),
V 1057             'value' => '',
1058             'width' => '40',
1059             'maxlength' => '255'
7dbea0 1060         ),
3f22a4 1061         'bind_group' => array(
V 1062             'datatype' => 'VARCHAR',
1063             'formtype' => 'TEXT',
1064             'default' => '',
e98a15 1065             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1066                                         'errmsg' => 'bind_group_error_empty'),
1067                                     1 => array (     'type' => 'REGEX',
1068                                         'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
1069                                         'errmsg'=> 'invalid_bind_group_txt'),
3f22a4 1070             ),
V 1071             'value' => '',
1072             'width' => '40',
1073             'maxlength' => '255'
7dbea0 1074         ),
3f22a4 1075         'bind_zonefiles_dir' => array(
V 1076             'datatype' => 'VARCHAR',
1077             'formtype' => 'TEXT',
1078             'default' => '',
e98a15 1079             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1080                                         'errmsg' => 'bind_zonefiles_dir_error_empty'),
1081                                     1 => array (     'type' => 'REGEX',
1082                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1083                                         'errmsg'=> 'bind_zonefiles_dir_error_regex'),
3f22a4 1084             ),
V 1085             'value' => '',
1086             'width' => '40',
1087             'maxlength' => '255'
7dbea0 1088         ),
3f22a4 1089         'named_conf_path' => array(
V 1090             'datatype' => 'VARCHAR',
1091             'formtype' => 'TEXT',
1092             'default' => '',
e98a15 1093             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1094                                         'errmsg' => 'named_conf_path_error_empty'),
1095                                     1 => array (     'type' => 'REGEX',
1096                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1097                                         'errmsg'=> 'named_conf_path_error_regex'),
3f22a4 1098             ),
V 1099             'value' => '',
1100             'width' => '40',
1101             'maxlength' => '255'
7dbea0 1102         ),
3f22a4 1103         'named_conf_local_path' => array(
V 1104             'datatype' => 'VARCHAR',
1105             'formtype' => 'TEXT',
1106             'default' => '',
e98a15 1107             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1108                                         'errmsg' => 'named_conf_local_path_error_empty'),
1109                                     1 => array (     'type' => 'REGEX',
1110                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1111                                         'errmsg'=> 'named_conf_local_path_error_regex'),
3f22a4 1112             ),
V 1113             'value' => '',
1114             'width' => '40',
1115             'maxlength' => '255'
7dbea0 1116         ),
7fe908 1117         //#################################
MC 1118         // ENDE Datatable fields
1119         //#################################
7dbea0 1120     )
T 1121 );
1122
3f22a4 1123 $form["tabs"]['fastcgi'] = array(
V 1124     'title' => "FastCGI",
1125     'width' => 80,
1126     'template' => "templates/server_config_fastcgi_edit.htm",
1127     'fields' => array(
7fe908 1128         //#################################
MC 1129         // Begin Datatable fields
1130         //#################################
3f22a4 1131         'fastcgi_starter_path' => array(
V 1132             'datatype' => 'VARCHAR',
1133             'formtype' => 'TEXT',
1134             'default' => '',
e98a15 1135             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1136                                         'errmsg' => 'fastcgi_starter_path_error_empty'),
1137                                     1 => array (     'type' => 'REGEX',
1138                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1139                                         'errmsg'=> 'fastcgi_starter_path_error_regex'),
3f22a4 1140             ),
V 1141             'value' => '',
1142             'width' => '40',
1143             'maxlength' => '255'
7848ce 1144         ),
3f22a4 1145         'fastcgi_starter_script' => array(
V 1146             'datatype' => 'VARCHAR',
1147             'formtype' => 'TEXT',
1148             'default' => '',
e98a15 1149             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1150                                         'errmsg' => 'fastcgi_starter_script_error_empty'),
1151                                     1 => array (     'type' => 'REGEX',
1152                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1153                                         'errmsg'=> 'fastcgi_starter_script_error_regex'),
3f22a4 1154             ),
V 1155             'value' => '',
1156             'width' => '40',
1157             'maxlength' => '255'
7848ce 1158         ),
3f22a4 1159         'fastcgi_alias' => array(
V 1160             'datatype' => 'VARCHAR',
1161             'formtype' => 'TEXT',
1162             'default' => '',
e98a15 1163             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1164                                         'errmsg' => 'fastcgi_alias_error_empty'),
1165                                     1 => array (     'type' => 'REGEX',
1166                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1167                                         'errmsg'=> 'fastcgi_alias_error_regex'),
3f22a4 1168             ),
V 1169             'value' => '',
1170             'width' => '40',
1171             'maxlength' => '255'
7848ce 1172         ),
3f22a4 1173         'fastcgi_phpini_path' => array(
V 1174             'datatype' => 'VARCHAR',
1175             'formtype' => 'TEXT',
1176             'default' => '',
e98a15 1177             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1178                                         'errmsg' => 'fastcgi_phpini_path_error_empty'),
1179                                     1 => array (     'type' => 'REGEX',
1180                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1181                                         'errmsg'=> 'fastcgi_phpini_path_error_regex'),
3f22a4 1182             ),
V 1183             'value' => '',
1184             'width' => '40',
1185             'maxlength' => '255'
7848ce 1186         ),
3f22a4 1187         'fastcgi_children' => array(
V 1188             'datatype' => 'VARCHAR',
1189             'formtype' => 'TEXT',
1190             'default' => '',
e98a15 1191             'validators' => array(0 => array('type' => 'ISPOSITIVE',
3f22a4 1192                     'errmsg' => 'fastcgi_children_error_empty'),
V 1193             ),
1194             'value' => '',
1195             'width' => '40',
1196             'maxlength' => '255'
7848ce 1197         ),
3f22a4 1198         'fastcgi_max_requests' => array(
V 1199             'datatype' => 'VARCHAR',
1200             'formtype' => 'TEXT',
1201             'default' => '',
7fe908 1202             'validators' => array( 0 => array( 'type' => 'ISINT',
MC 1203                     'errmsg' => 'fastcgi_max_requests_error_empty'),
1204                 1 => array( 'type' => 'RANGE',
1205                     'range' => '0:',
1206                     'errmsg' => 'fastcgi_max_requests_error_empty'),
3f22a4 1207             ),
V 1208             'value' => '',
1209             'width' => '40',
1210             'maxlength' => '255'
7848ce 1211         ),
3f22a4 1212         'fastcgi_bin' => array(
V 1213             'datatype' => 'VARCHAR',
1214             'formtype' => 'TEXT',
1215             'default' => '',
e98a15 1216             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1217                                         'errmsg' => 'fastcgi_bin_error_empty'),
1218                                     1 => array (     'type' => 'REGEX',
1219                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1220                                         'errmsg'=> 'fastcgi_bin_error_regex'),
3f22a4 1221             ),
V 1222             'value' => '',
1223             'width' => '40',
1224             'maxlength' => '255'
7848ce 1225         ),
824780 1226         'fastcgi_config_syntax' => array(
T 1227             'datatype' => 'INTEGER',
1228             'formtype' => 'SELECT',
1229             'default' => '2',
8fe84f 1230             'value' => array('1' => 'Old (apache 2.0)', '2' => 'New (apache 2.2)'),
824780 1231             'width' => '40',
T 1232             'maxlength' => '255'
1233         ),
7fe908 1234         //#################################
MC 1235         // ENDE Datatable fields
1236         //#################################
7848ce 1237     )
T 1238 );
1239
1240
3f22a4 1241 $form["tabs"]['jailkit'] = array(
V 1242     'title' => "Jailkit",
1243     'width' => 80,
1244     'template' => "templates/server_config_jailkit_edit.htm",
1245     'fields' => array(
7fe908 1246         //#################################
MC 1247         // Begin Datatable fields
1248         //#################################
3f22a4 1249         'jailkit_chroot_home' => array(
V 1250             'datatype' => 'VARCHAR',
1251             'formtype' => 'TEXT',
1252             'default' => '',
e98a15 1253             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1254                                         'errmsg' => 'jailkit_chroot_home_error_empty'),
1255                                     1 => array (     'type' => 'REGEX',
1256                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1257                                         'errmsg'=> 'jailkit_chroot_home_error_regex'),
3f22a4 1258             ),
V 1259             'value' => '',
1260             'width' => '40',
1261             'maxlength' => '255'
7848ce 1262         ),
3f22a4 1263         'jailkit_chroot_app_sections' => array(
V 1264             'datatype' => 'VARCHAR',
1265             'formtype' => 'TEXT',
1266             'default' => '',
e98a15 1267             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1268                                         'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
1269                                     1 => array (     'type' => 'REGEX',
1270                                         'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/',
1271                                         'errmsg'=> 'jailkit_chroot_app_sections_error_regex'),
3f22a4 1272             ),
V 1273             'value' => '',
1274             'width' => '40',
1275             'maxlength' => '1000'
7848ce 1276         ),
3f22a4 1277         'jailkit_chroot_app_programs' => array(
V 1278             'datatype' => 'VARCHAR',
1279             'formtype' => 'TEXT',
1280             'default' => '',
e98a15 1281             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1282                                         'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
1283                                     1 => array (     'type' => 'REGEX',
1284                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
1285                                         'errmsg'=> 'jailkit_chroot_app_programs_error_regex'),
3f22a4 1286             ),
V 1287             'value' => '',
1288             'width' => '40',
1289             'maxlength' => '1000'
7848ce 1290         ),
3f22a4 1291         'jailkit_chroot_cron_programs' => array(
V 1292             'datatype' => 'VARCHAR',
1293             'formtype' => 'TEXT',
1294             'default' => '',
e98a15 1295             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1296                                         'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
1297                                     1 => array (     'type' => 'REGEX',
1298                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
1299                                         'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'),
3f22a4 1300             ),
V 1301             'value' => '',
1302             'width' => '40',
1303             'maxlength' => '1000'
1304         ),
7fe908 1305         //#################################
MC 1306         // ENDE Datatable fields
1307         //#################################
7848ce 1308     )
T 1309 );
1310
8458c0 1311 /*
80e3c9 1312 $form["tabs"]['ufw_firewall'] = array (
T 1313     'title'     => "UFW Firewall",
1314     'width'     => 80,
1315     'template'     => "templates/server_config_ufw_edit.htm",
1316     'fields'     => array (
1317     ##################################
1318     # Begin Datatable fields
1319     ##################################
1320         'ufw_enable' => array (
1321             'datatype'    => 'VARCHAR',
1322             'formtype'    => 'CHECKBOX',
1323             'default'    => 'no',
1324             'value'        => array(0 => 'no',1 => 'yes')
1325         ),
1326         'ufw_manage_builtins' => array (
1327             'datatype'    => 'VARCHAR',
1328             'formtype'    => 'CHECKBOX',
1329             'default'    => 'no',
1330             'value'        => array(0 => 'no',1 => 'yes')
1331         ),
1332         'ufw_ipv6' => array (
1333             'datatype'    => 'VARCHAR',
1334             'formtype'    => 'CHECKBOX',
1335             'default'    => 'no',
1336             'value'        => array(0 => 'no',1 => 'yes')
1337         ),
1338         'ufw_default_input_policy' => array (
1339             'datatype'    => 'VARCHAR',
1340             'formtype'    => 'SELECT',
1341             'default'    => 'ACCEPT',
1342             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1343         ),
1344         'ufw_default_output_policy' => array (
1345             'datatype'    => 'VARCHAR',
1346             'formtype'    => 'SELECT',
1347             'default'    => 'ACCEPT',
1348             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1349         ),
1350         'ufw_default_forward_policy' => array (
1351             'datatype'    => 'VARCHAR',
1352             'formtype'    => 'SELECT',
1353             'default'    => 'ACCEPT',
1354             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1355         ),
1356         'ufw_default_application_policy' => array (
1357             'datatype'    => 'VARCHAR',
1358             'formtype'    => 'SELECT',
1359             'default'    => 'DROP',
1360             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1361         ),
1362         'ufw_log_level' => array (
1363             'datatype'    => 'VARCHAR',
1364             'formtype'    => 'SELECT',
1365             'default'    => 'low',
1366             'value'        => array('low' => 'low', 'medium' => 'medium', 'high' => 'high')
1367         )
1368     ##################################
1369     # ENDE Datatable fields
1370     ##################################
1371     )
1372 );
8458c0 1373 */
7848ce 1374
3f22a4 1375 $form["tabs"]['vlogger'] = array(
V 1376     'title' => "vlogger",
1377     'width' => 80,
1378     'template' => "templates/server_config_vlogger_edit.htm",
1379     'fields' => array(
7fe908 1380         //#################################
MC 1381         // Begin Datatable fields
1382         //#################################
3f22a4 1383         'config_dir' => array(
V 1384             'datatype' => 'VARCHAR',
1385             'formtype' => 'TEXT',
1386             'default' => '',
e98a15 1387             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1388                                         'errmsg' => 'vlogger_config_dir_error_empty'),
1389                                     1 => array (     'type' => 'REGEX',
1390                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1391                                         'errmsg'=> 'vlogger_config_dir_error_regex'),
3f22a4 1392             ),
V 1393             'value' => '',
1394             'width' => '40',
1395             'maxlength' => '255'
1396         ),
7fe908 1397         //#################################
MC 1398         // ENDE Datatable fields
1399         //#################################
3f22a4 1400     )
0b0dc9 1401 );
7848ce 1402
T 1403
1404
3f22a4 1405 $form["tabs"]['cron'] = array(
V 1406     'title' => "Cron",
1407     'width' => 80,
1408     'template' => "templates/server_config_cron_edit.htm",
1409     'fields' => array(
7fe908 1410         //#################################
MC 1411         // Begin Datatable fields
1412         //#################################
3f22a4 1413         'init_script' => array(
V 1414             'datatype' => 'VARCHAR',
1415             'formtype' => 'TEXT',
1416             'default' => '',
e98a15 1417             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1418                                         'errmsg' => 'cron_init_script_error_empty'),
1419                                     1 => array (     'type' => 'REGEX',
1420                                         'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/',
1421                                         'errmsg'=> 'cron_init_script_error_regex'),
3f22a4 1422             ),
V 1423             'value' => '',
1424             'width' => '40',
1425             'maxlength' => '255'
1426         ),
1427         'crontab_dir' => array(
1428             'datatype' => 'VARCHAR',
1429             'formtype' => 'TEXT',
1430             'default' => '',
e98a15 1431             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1432                                         'errmsg' => 'crontab_dir_error_empty'),
1433                                     1 => array (     'type' => 'REGEX',
1434                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1435                                         'errmsg'=> 'crontab_dir_error_regex'),
3f22a4 1436             ),
V 1437             'value' => '',
1438             'width' => '40',
1439             'maxlength' => '255'
1440         ),
1441         'wget' => array(
1442             'datatype' => 'VARCHAR',
1443             'formtype' => 'TEXT',
1444             'default' => '',
e98a15 1445             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1446                                         'errmsg' => 'cron_wget_error_empty'),
1447                                     1 => array (     'type' => 'REGEX',
1448                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1449                                         'errmsg'=> 'cron_wget_error_regex'),
3f22a4 1450             ),
V 1451             'value' => '',
1452             'width' => '40',
1453             'maxlength' => '255'
1454         ),
7fe908 1455         //#################################
MC 1456         // ENDE Datatable fields
1457         //#################################
3f22a4 1458     )
0b0dc9 1459 );
7848ce 1460
3f22a4 1461 $form["tabs"]['rescue'] = array(
V 1462     'title' => "Rescue",
1463     'width' => 80,
1464     'template' => "templates/server_config_rescue_edit.htm",
1465     'fields' => array(
7fe908 1466         //#################################
MC 1467         // Begin Datatable fields
1468         //#################################
3f22a4 1469         'try_rescue' => array(
V 1470             'datatype' => 'VARCHAR',
1471             'formtype' => 'CHECKBOX',
1472             'default' => 'n',
1473             'value' => array(0 => 'n', 1 => 'y')
1474         ),
8ab3cd 1475         'do_not_try_rescue_httpd' => array(
2332b2 1476             'datatype' => 'VARCHAR',
T 1477             'formtype' => 'CHECKBOX',
1478             'default' => 'n',
1479             'value' => array(0 => 'n', 1 => 'y')
1480         ),
3f22a4 1481         'do_not_try_rescue_mysql' => array(
V 1482             'datatype' => 'VARCHAR',
1483             'formtype' => 'CHECKBOX',
1484             'default' => 'n',
1485             'value' => array(0 => 'n', 1 => 'y')
1486         ),
1487         'do_not_try_rescue_mail' => array(
1488             'datatype' => 'VARCHAR',
1489             'formtype' => 'CHECKBOX',
1490             'default' => 'n',
1491             'value' => array(0 => 'n', 1 => 'y')
1492         ),
7fe908 1493         //#################################
MC 1494         // ENDE Datatable fields
1495         //#################################
3f22a4 1496     )
V 1497 );
892f21 1498 ?>