Marius Cramer
2014-08-13 42539643c396f9d8865dcf9a51b13dc869709d16
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         ),
3501f9 552         'website_autoalias' => array(
M 553             'datatype' => 'VARCHAR',
554             'formtype' => 'TEXT',
555             'default' => '',
556             'value' => '',
146783 557             'width' => '40',
MC 558             'maxlength' => '255'
559         ),
7fe908 560         /*
146783 561 'vhost_rewrite_v6' => array (
MC 562 'datatype' => 'VARCHAR',
563 'formtype' => 'CHECKBOX',
564 'default' => 'n',
565 'value' => array(0 => 'n',1 => 'y')
566 ),
567 */
568         'vhost_conf_dir' => array(
569             'datatype' => 'VARCHAR',
570             'formtype' => 'TEXT',
3f22a4 571             'default' => '',
e98a15 572             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 573                                         'errmsg' => 'vhost_conf_dir_error_empty'),
574                                     1 => array (     'type' => 'REGEX',
575                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
576                                         'errmsg'=> 'vhost_conf_dir_error_regex'),
3f22a4 577             ),
V 578             'value' => '',
579             'width' => '40',
580             'maxlength' => '255'
7848ce 581         ),
3f22a4 582         'vhost_conf_enabled_dir' => array(
V 583             'datatype' => 'VARCHAR',
584             'formtype' => 'TEXT',
585             'default' => '',
e98a15 586             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 587                                         'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
588                                     1 => array (     'type' => 'REGEX',
589                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
590                                         'errmsg'=> 'vhost_conf_enabled_dir_error_regex'),
0ae8da 591             ),
F 592             'value' => '',
593             'width' => '40',
594             'maxlength' => '255'
595         ),
596         'nginx_vhost_conf_dir' => array(
597             'datatype' => 'VARCHAR',
598             'formtype' => 'TEXT',
599             'default' => '',
e98a15 600             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 601                                         'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
602                                     1 => array (     'type' => 'REGEX',
603                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
604                                         'errmsg'=> 'nginx_vhost_conf_dir_error_regex'),
0ae8da 605             ),
F 606             'value' => '',
607             'width' => '40',
608             'maxlength' => '255'
609         ),
610         'nginx_vhost_conf_enabled_dir' => array(
611             'datatype' => 'VARCHAR',
612             'formtype' => 'TEXT',
613             'default' => '',
e98a15 614             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 615                                         'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
616                                     1 => array (     'type' => 'REGEX',
617                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
618                                         'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'),
3f22a4 619             ),
V 620             'value' => '',
621             'width' => '40',
622             'maxlength' => '255'
7848ce 623         ),
892f21 624         'CA_path' => array(
L 625             'datatype' => 'VARCHAR',
626             'formtype' => 'TEXT',
e98a15 627             'validators' => array(    0 => array (     'type' => 'REGEX',
TB 628                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/',
629                                         'errmsg'=> 'ca_path_error_regex'),
630             ),
892f21 631             'default' => '',
L 632             'value' => '',
633             'width' => '40',
634             'maxlength' => '255'
635         ),
636         'CA_pass' => array(
637             'datatype' => 'VARCHAR',
638             'formtype' => 'TEXT',
639             'default' => '',
640             'value' => '',
641             'width' => '40',
642             'maxlength' => '255'
643         ),
3f22a4 644         'security_level' => array(
V 645             'datatype' => 'VARCHAR',
646             'formtype' => 'SELECT',
647             'default' => '20',
648             'value' => array('10' => 'Medium', '20' => 'High')
6b029a 649         ),
8cf78b 650         'set_folder_permissions_on_update' => array(
T 651             'datatype' => 'VARCHAR',
652             'formtype' => 'CHECKBOX',
a505fd 653             'default' => 'n',
8cf78b 654             'value' => array(0 => 'n', 1 => 'y')
T 655         ),
4b9329 656         'web_folder_protection' => array(
T 657             'datatype' => 'VARCHAR',
658             'formtype' => 'CHECKBOX',
659             'default' => 'y',
660             'value' => array(0 => 'n', 1 => 'y')
661         ),
8cf78b 662         'add_web_users_to_sshusers_group' => array(
T 663             'datatype' => 'VARCHAR',
664             'formtype' => 'CHECKBOX',
665             'default' => 'y',
666             'value' => array(0 => 'n', 1 => 'y')
667         ),
3f22a4 668         'check_apache_config' => array(
V 669             'datatype' => 'VARCHAR',
670             'formtype' => 'CHECKBOX',
671             'default' => 'y',
672             'value' => array(0 => 'n', 1 => 'y')
7ed741 673         ),
d81a4c 674         'enable_sni' => array(
T 675             'datatype' => 'VARCHAR',
676             'formtype' => 'CHECKBOX',
677             'default' => 'y',
678             'value' => array(0 => 'n', 1 => 'y')
679         ),
02384b 680         'enable_ip_wildcard' => array(
T 681             'datatype' => 'VARCHAR',
682             'formtype' => 'CHECKBOX',
683             'default' => 'y',
684             'value' => array(0 => 'n', 1 => 'y')
685         ),
df76de 686         'overtraffic_notify_admin' => array(
T 687             'datatype' => 'VARCHAR',
688             'formtype' => 'CHECKBOX',
689             'default' => 'y',
690             'value' => array(0 => 'n', 1 => 'y')
691         ),
692         'overtraffic_notify_client' => array(
693             'datatype' => 'VARCHAR',
694             'formtype' => 'CHECKBOX',
695             'default' => 'y',
696             'value' => array(0 => 'n', 1 => 'y')
697         ),
615a0a 698         'overquota_notify_admin' => array(
T 699             'datatype' => 'VARCHAR',
700             'formtype' => 'CHECKBOX',
701             'default' => 'y',
702             'value' => array(0 => 'n', 1 => 'y')
703         ),
704         'overquota_notify_client' => array(
705             'datatype' => 'VARCHAR',
706             'formtype' => 'CHECKBOX',
707             'default' => 'y',
708             'value' => array(0 => 'n', 1 => 'y')
709         ),
710         'overquota_notify_freq' => array(
711             'datatype' => 'INTEGER',
712             'formtype' => 'TEXT',
713             'default' => '7',
714             'value' => '',
7fe908 715             'width' => '20',
MC 716             'maxlength' => '255'
615a0a 717         ),
T 718         'overquota_notify_onok' => array(
719             'datatype' => 'VARCHAR',
720             'formtype' => 'CHECKBOX',
721             'default' => 'n',
722             'value' => array(0 => 'n', 1 => 'y')
723         ),
3f22a4 724         'user' => array(
V 725             'datatype' => 'VARCHAR',
726             'formtype' => 'TEXT',
727             'default' => '',
728             'validators' => array(0 => array('type' => 'NOTEMPTY',
729                     'errmsg' => 'apache_user_error_empty'),
e98a15 730                     1 => array(
TB 731                             'type' => 'CUSTOM',
732                             'class' => 'validate_systemuser',
733                             'function' => 'check_sysuser',
734                             'check_names' => false,
735                             'errmsg' => 'invalid_apache_user_txt'
736                         ),
3f22a4 737             ),
V 738             'value' => '',
739             'width' => '40',
740             'maxlength' => '255'
6b029a 741         ),
3f22a4 742         'group' => array(
V 743             'datatype' => 'VARCHAR',
744             'formtype' => 'TEXT',
745             'default' => '',
746             'validators' => array(0 => array('type' => 'NOTEMPTY',
747                     'errmsg' => 'apache_group_error_empty'),
e98a15 748                     1 => array(
TB 749                             'type' => 'CUSTOM',
750                             'class' => 'validate_systemuser',
751                             'function' => 'check_sysgroup',
752                             'check_names' => false,
753                             'errmsg' => 'invalid_apache_group_txt'
754                         ),
3f22a4 755             ),
V 756             'value' => '',
757             'width' => '40',
758             'maxlength' => '255'
6b029a 759         ),
8cf78b 760         'connect_userid_to_webid' => array(
T 761             'datatype' => 'VARCHAR',
762             'formtype' => 'CHECKBOX',
763             'default' => 'n',
764             'value' => array(0 => 'n', 1 => 'y')
765         ),
766         'connect_userid_to_webid_start' => array(
767             'datatype' => 'VARCHAR',
768             'formtype' => 'TEXT',
769             'default' => '10000',
770             'validators' => array(0 => array('type' => 'ISINT',
771                     'errmsg' => 'connect_userid_to_webid_startid_isint'),
772             ),
773             'value' => '',
774             'width' => '40',
775             'maxlength' => '255'
776         ),
4ffb51 777         'nginx_user' => array(
F 778             'datatype' => 'VARCHAR',
779             'formtype' => 'TEXT',
780             'default' => '',
e98a15 781             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 782                                         'errmsg' => 'nginx_user_error_empty'),
783                                     1 => array(
784                             'type' => 'CUSTOM',
785                             'class' => 'validate_systemuser',
786                             'function' => 'check_sysuser',
787                             'check_names' => false,
788                             'errmsg' => 'invalid_nginx_user_txt'
789                         ),
4ffb51 790             ),
F 791             'value' => '',
792             'width' => '40',
793             'maxlength' => '255'
794         ),
795         'nginx_group' => array(
796             'datatype' => 'VARCHAR',
797             'formtype' => 'TEXT',
798             'default' => '',
e98a15 799             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 800                                         'errmsg' => 'nginx_group_error_empty'),
801                                     1 => array(
802                             'type' => 'CUSTOM',
803                             'class' => 'validate_systemuser',
804                             'function' => 'check_sysgroup',
805                             'check_names' => false,
806                             'errmsg' => 'invalid_nginx_group_txt'
807                         ),
4ffb51 808             ),
F 809             'value' => '',
810             'width' => '40',
811             'maxlength' => '255'
812         ),
3f22a4 813         'php_ini_path_apache' => array(
V 814             'datatype' => 'VARCHAR',
815             'formtype' => 'TEXT',
816             'default' => '',
e98a15 817             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 818                                         'errmsg' => 'php_ini_path_apache_error_empty'),
819                                     1 => array (     'type' => 'REGEX',
820                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
821                                         'errmsg'=> 'php_ini_path_apache_error_regex'),
3f22a4 822             ),
V 823             'value' => '',
824             'width' => '40',
825             'maxlength' => '255'
7fddfe 826         ),
3f22a4 827         'php_ini_path_cgi' => array(
V 828             'datatype' => 'VARCHAR',
829             'formtype' => 'TEXT',
830             'default' => '',
e98a15 831             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 832                                         'errmsg' => 'php_ini_path_cgi_error_empty'),
833                                     1 => array (     'type' => 'REGEX',
834                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
835                                         'errmsg'=> 'php_ini_path_cgi_error_regex'),
3f22a4 836             ),
V 837             'value' => '',
838             'width' => '40',
839             'maxlength' => '255'
7fddfe 840         ),
4ffb51 841         'php_fpm_init_script' => array(
F 842             'datatype' => 'VARCHAR',
843             'formtype' => 'TEXT',
844             'default' => '',
e98a15 845             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 846                                         'errmsg' => 'php_fpm_init_script_error_empty'),
847                                     1 => array (     'type' => 'REGEX',
848                                         'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/',
849                                         'errmsg'=> 'php_fpm_init_script_error_regex'),
4ffb51 850             ),
F 851             'value' => '',
852             'width' => '40',
853             'maxlength' => '255'
854         ),
855         'php_fpm_ini_path' => array(
856             'datatype' => 'VARCHAR',
857             'formtype' => 'TEXT',
858             'default' => '',
e98a15 859             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 860                                         'errmsg' => 'php_fpm_ini_path_error_empty'),
861                                     1 => array (     'type' => 'REGEX',
862                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
863                                         'errmsg'=> 'php_fpm_ini_path_error_regex'),
4ffb51 864             ),
F 865             'value' => '',
866             'width' => '40',
867             'maxlength' => '255'
868         ),
869         'php_fpm_pool_dir' => array(
870             'datatype' => 'VARCHAR',
871             'formtype' => 'TEXT',
872             'default' => '',
e98a15 873             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 874                                         'errmsg' => 'php_fpm_pool_dir_error_empty'),
875                                     1 => array (     'type' => 'REGEX',
876                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
877                                         'errmsg'=> 'php_fpm_pool_dir_error_regex'),
4ffb51 878             ),
F 879             'value' => '',
880             'width' => '40',
881             'maxlength' => '255'
882         ),
883         'php_fpm_start_port' => array(
884             'datatype' => 'VARCHAR',
885             'formtype' => 'TEXT',
886             'default' => '',
e98a15 887             'validators' => array(0 => array('type' => 'ISPOSITIVE',
4ffb51 888                     'errmsg' => 'php_fpm_start_port_error_empty'),
F 889             ),
890             'value' => '',
891             'width' => '40',
892             'maxlength' => '255'
893         ),
72ce78 894         'php_fpm_socket_dir' => array(
F 895             'datatype' => 'VARCHAR',
896             'formtype' => 'TEXT',
897             'default' => '',
e98a15 898             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 899                                         'errmsg' => 'php_fpm_socket_dir_error_empty'),
900                                     1 => array (     'type' => 'REGEX',
901                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
902                                         'errmsg'=> 'php_fpm_socket_dir_error_regex'),
72ce78 903             ),
F 904             'value' => '',
905             'width' => '40',
906             'maxlength' => '255'
907         ),
3f22a4 908         'php_open_basedir' => array(
V 909             'datatype' => 'VARCHAR',
910             'formtype' => 'TEXT',
911             'default' => '',
e98a15 912             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 913                                         'errmsg' => 'php_open_basedir_error_empty'),
914                                     1 => array (     'type' => 'REGEX',
915                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/',
916                                         'errmsg'=> 'php_open_basedir_error_regex'),
3f22a4 917             ),
V 918             'value' => '',
919             'width' => '40',
0ae8da 920             'maxlength' => '4000'
3ee39b 921         ),
4ffb51 922         'nginx_cgi_socket' => array(
F 923             'datatype' => 'VARCHAR',
924             'formtype' => 'TEXT',
925             'default' => '',
e98a15 926             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 927                                         'errmsg' => 'nginx_cgi_socket_empty'),
928                                     1 => array (     'type' => 'REGEX',
929                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
930                                         'errmsg'=> 'nginx_cgi_socket_error_regex'),
4ffb51 931             ),
F 932             'value' => '',
933             'width' => '40',
934             'maxlength' => '255'
935         ),
3f22a4 936         'htaccess_allow_override' => array(
V 937             'datatype' => 'VARCHAR',
938             'formtype' => 'TEXT',
939             'default' => '',
e98a15 940             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 941                                         'errmsg' => 'htaccess_allow_override_error_empty'),
3f22a4 942             ),
V 943             'value' => '',
944             'width' => '40',
945             'maxlength' => '255'
c8cf71 946         ),
3f22a4 947         'apps_vhost_port' => array(
V 948             'datatype' => 'VARCHAR',
949             'formtype' => 'TEXT',
950             'default' => '8081',
951             'validators' => array(0 => array('type' => 'NOTEMPTY',
952                     'errmsg' => 'apps_vhost_port_error_empty'),
953             ),
954             'value' => '',
955             'width' => '40',
956             'maxlength' => '255'
c9b9f2 957         ),
3f22a4 958         'apps_vhost_ip' => array(
V 959             'datatype' => 'VARCHAR',
960             'formtype' => 'TEXT',
961             'default' => '_default_',
962             'validators' => array(0 => array('type' => 'NOTEMPTY',
963                     'errmsg' => 'apps_vhost_ip_error_empty'),
964             ),
965             'value' => '',
966             'width' => '40',
967             'maxlength' => '255'
c9b9f2 968         ),
3f22a4 969         'apps_vhost_servername' => array(
V 970             'datatype' => 'VARCHAR',
971             'formtype' => 'TEXT',
972             'default' => '',
973             'value' => '',
974             'width' => '40',
975             'maxlength' => '255'
c9b9f2 976         ),
3f22a4 977         'awstats_conf_dir' => array(
V 978             'datatype' => 'VARCHAR',
979             'formtype' => 'TEXT',
980             'default' => '',
981             'value' => '',
982             'width' => '40',
983             'maxlength' => '255'
379a4b 984         ),
3f22a4 985         'awstats_data_dir' => array(
V 986             'datatype' => 'VARCHAR',
987             'formtype' => 'TEXT',
e98a15 988             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 989                                         'errmsg' => 'awstats_data_dir_empty'),
990                                     1 => array (     'type' => 'REGEX',
991                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
992                                         'errmsg'=> 'awstats_data_dir_error_regex'),
993             ),
3f22a4 994             'default' => '',
V 995             'value' => '',
996             'width' => '40',
997             'maxlength' => '255'
379a4b 998         ),
3f22a4 999         'awstats_pl' => array(
V 1000             'datatype' => 'VARCHAR',
1001             'formtype' => 'TEXT',
e98a15 1002             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1003                                         'errmsg' => 'awstats_pl_empty'),
1004                                     1 => array (     'type' => 'REGEX',
1005                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1006                                         'errmsg'=> 'awstats_pl_error_regex'),
1007             ),
3f22a4 1008             'default' => '',
V 1009             'value' => '',
1010             'width' => '40',
1011             'maxlength' => '255'
379a4b 1012         ),
3f22a4 1013         'awstats_buildstaticpages_pl' => array(
V 1014             'datatype' => 'VARCHAR',
1015             'formtype' => 'TEXT',
e98a15 1016             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1017                                         'errmsg' => 'awstats_buildstaticpages_pl_empty'),
1018                                     1 => array (     'type' => 'REGEX',
1019                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1020                                         'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'),
1021             ),
3f22a4 1022             'default' => '',
V 1023             'value' => '',
1024             'width' => '40',
1025             'maxlength' => '255'
379a4b 1026         ),
7fe908 1027         //#################################
MC 1028         // ENDE Datatable fields
1029         //#################################
7848ce 1030     )
T 1031 );
1032
3f22a4 1033 $form["tabs"]['dns'] = array(
V 1034     'title' => "DNS",
1035     'width' => 60,
1036     'template' => "templates/server_config_dns_edit.htm",
1037     'fields' => array(
7fe908 1038         //#################################
MC 1039         // Begin Datatable fields
1040         //#################################
3f22a4 1041         'bind_user' => array(
V 1042             'datatype' => 'VARCHAR',
1043             'formtype' => 'TEXT',
1044             'default' => '',
e98a15 1045             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1046                                         'errmsg' => 'bind_user_error_empty'),
1047                                     1 => array (     'type' => 'REGEX',
1048                                         'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
1049                                         'errmsg'=> 'invalid_bind_user_txt'),
3f22a4 1050             ),
V 1051             'value' => '',
1052             'width' => '40',
1053             'maxlength' => '255'
7dbea0 1054         ),
3f22a4 1055         'bind_group' => array(
V 1056             'datatype' => 'VARCHAR',
1057             'formtype' => 'TEXT',
1058             'default' => '',
e98a15 1059             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1060                                         'errmsg' => 'bind_group_error_empty'),
1061                                     1 => array (     'type' => 'REGEX',
1062                                         'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
1063                                         'errmsg'=> 'invalid_bind_group_txt'),
3f22a4 1064             ),
V 1065             'value' => '',
1066             'width' => '40',
1067             'maxlength' => '255'
7dbea0 1068         ),
3f22a4 1069         'bind_zonefiles_dir' => array(
V 1070             'datatype' => 'VARCHAR',
1071             'formtype' => 'TEXT',
1072             'default' => '',
e98a15 1073             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1074                                         'errmsg' => 'bind_zonefiles_dir_error_empty'),
1075                                     1 => array (     'type' => 'REGEX',
1076                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1077                                         'errmsg'=> 'bind_zonefiles_dir_error_regex'),
3f22a4 1078             ),
V 1079             'value' => '',
1080             'width' => '40',
1081             'maxlength' => '255'
7dbea0 1082         ),
3f22a4 1083         'named_conf_path' => array(
V 1084             'datatype' => 'VARCHAR',
1085             'formtype' => 'TEXT',
1086             'default' => '',
e98a15 1087             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1088                                         'errmsg' => 'named_conf_path_error_empty'),
1089                                     1 => array (     'type' => 'REGEX',
1090                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1091                                         'errmsg'=> 'named_conf_path_error_regex'),
3f22a4 1092             ),
V 1093             'value' => '',
1094             'width' => '40',
1095             'maxlength' => '255'
7dbea0 1096         ),
3f22a4 1097         'named_conf_local_path' => array(
V 1098             'datatype' => 'VARCHAR',
1099             'formtype' => 'TEXT',
1100             'default' => '',
e98a15 1101             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1102                                         'errmsg' => 'named_conf_local_path_error_empty'),
1103                                     1 => array (     'type' => 'REGEX',
1104                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1105                                         'errmsg'=> 'named_conf_local_path_error_regex'),
3f22a4 1106             ),
V 1107             'value' => '',
1108             'width' => '40',
1109             'maxlength' => '255'
7dbea0 1110         ),
7fe908 1111         //#################################
MC 1112         // ENDE Datatable fields
1113         //#################################
7dbea0 1114     )
T 1115 );
1116
3f22a4 1117 $form["tabs"]['fastcgi'] = array(
V 1118     'title' => "FastCGI",
1119     'width' => 80,
1120     'template' => "templates/server_config_fastcgi_edit.htm",
1121     'fields' => array(
7fe908 1122         //#################################
MC 1123         // Begin Datatable fields
1124         //#################################
3f22a4 1125         'fastcgi_starter_path' => array(
V 1126             'datatype' => 'VARCHAR',
1127             'formtype' => 'TEXT',
1128             'default' => '',
e98a15 1129             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1130                                         'errmsg' => 'fastcgi_starter_path_error_empty'),
1131                                     1 => array (     'type' => 'REGEX',
1132                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1133                                         'errmsg'=> 'fastcgi_starter_path_error_regex'),
3f22a4 1134             ),
V 1135             'value' => '',
1136             'width' => '40',
1137             'maxlength' => '255'
7848ce 1138         ),
3f22a4 1139         'fastcgi_starter_script' => array(
V 1140             'datatype' => 'VARCHAR',
1141             'formtype' => 'TEXT',
1142             'default' => '',
e98a15 1143             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1144                                         'errmsg' => 'fastcgi_starter_script_error_empty'),
1145                                     1 => array (     'type' => 'REGEX',
1146                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1147                                         'errmsg'=> 'fastcgi_starter_script_error_regex'),
3f22a4 1148             ),
V 1149             'value' => '',
1150             'width' => '40',
1151             'maxlength' => '255'
7848ce 1152         ),
3f22a4 1153         'fastcgi_alias' => array(
V 1154             'datatype' => 'VARCHAR',
1155             'formtype' => 'TEXT',
1156             'default' => '',
e98a15 1157             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1158                                         'errmsg' => 'fastcgi_alias_error_empty'),
1159                                     1 => array (     'type' => 'REGEX',
1160                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1161                                         'errmsg'=> 'fastcgi_alias_error_regex'),
3f22a4 1162             ),
V 1163             'value' => '',
1164             'width' => '40',
1165             'maxlength' => '255'
7848ce 1166         ),
3f22a4 1167         'fastcgi_phpini_path' => array(
V 1168             'datatype' => 'VARCHAR',
1169             'formtype' => 'TEXT',
1170             'default' => '',
e98a15 1171             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1172                                         'errmsg' => 'fastcgi_phpini_path_error_empty'),
1173                                     1 => array (     'type' => 'REGEX',
1174                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1175                                         'errmsg'=> 'fastcgi_phpini_path_error_regex'),
3f22a4 1176             ),
V 1177             'value' => '',
1178             'width' => '40',
1179             'maxlength' => '255'
7848ce 1180         ),
3f22a4 1181         'fastcgi_children' => array(
V 1182             'datatype' => 'VARCHAR',
1183             'formtype' => 'TEXT',
1184             'default' => '',
e98a15 1185             'validators' => array(0 => array('type' => 'ISPOSITIVE',
3f22a4 1186                     'errmsg' => 'fastcgi_children_error_empty'),
V 1187             ),
1188             'value' => '',
1189             'width' => '40',
1190             'maxlength' => '255'
7848ce 1191         ),
3f22a4 1192         'fastcgi_max_requests' => array(
V 1193             'datatype' => 'VARCHAR',
1194             'formtype' => 'TEXT',
1195             'default' => '',
7fe908 1196             'validators' => array( 0 => array( 'type' => 'ISINT',
MC 1197                     'errmsg' => 'fastcgi_max_requests_error_empty'),
1198                 1 => array( 'type' => 'RANGE',
1199                     'range' => '0:',
1200                     'errmsg' => 'fastcgi_max_requests_error_empty'),
3f22a4 1201             ),
V 1202             'value' => '',
1203             'width' => '40',
1204             'maxlength' => '255'
7848ce 1205         ),
3f22a4 1206         'fastcgi_bin' => array(
V 1207             'datatype' => 'VARCHAR',
1208             'formtype' => 'TEXT',
1209             'default' => '',
e98a15 1210             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1211                                         'errmsg' => 'fastcgi_bin_error_empty'),
1212                                     1 => array (     'type' => 'REGEX',
1213                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1214                                         'errmsg'=> 'fastcgi_bin_error_regex'),
3f22a4 1215             ),
V 1216             'value' => '',
1217             'width' => '40',
1218             'maxlength' => '255'
7848ce 1219         ),
824780 1220         'fastcgi_config_syntax' => array(
T 1221             'datatype' => 'INTEGER',
1222             'formtype' => 'SELECT',
1223             'default' => '2',
8fe84f 1224             'value' => array('1' => 'Old (apache 2.0)', '2' => 'New (apache 2.2)'),
824780 1225             'width' => '40',
T 1226             'maxlength' => '255'
1227         ),
7fe908 1228         //#################################
MC 1229         // ENDE Datatable fields
1230         //#################################
7848ce 1231     )
T 1232 );
1233
1234
3f22a4 1235 $form["tabs"]['jailkit'] = array(
V 1236     'title' => "Jailkit",
1237     'width' => 80,
1238     'template' => "templates/server_config_jailkit_edit.htm",
1239     'fields' => array(
7fe908 1240         //#################################
MC 1241         // Begin Datatable fields
1242         //#################################
3f22a4 1243         'jailkit_chroot_home' => array(
V 1244             'datatype' => 'VARCHAR',
1245             'formtype' => 'TEXT',
1246             'default' => '',
e98a15 1247             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1248                                         'errmsg' => 'jailkit_chroot_home_error_empty'),
1249                                     1 => array (     'type' => 'REGEX',
1250                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1251                                         'errmsg'=> 'jailkit_chroot_home_error_regex'),
3f22a4 1252             ),
V 1253             'value' => '',
1254             'width' => '40',
1255             'maxlength' => '255'
7848ce 1256         ),
3f22a4 1257         'jailkit_chroot_app_sections' => array(
V 1258             'datatype' => 'VARCHAR',
1259             'formtype' => 'TEXT',
1260             'default' => '',
e98a15 1261             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1262                                         'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
1263                                     1 => array (     'type' => 'REGEX',
1264                                         'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/',
1265                                         'errmsg'=> 'jailkit_chroot_app_sections_error_regex'),
3f22a4 1266             ),
V 1267             'value' => '',
1268             'width' => '40',
1269             'maxlength' => '1000'
7848ce 1270         ),
3f22a4 1271         'jailkit_chroot_app_programs' => array(
V 1272             'datatype' => 'VARCHAR',
1273             'formtype' => 'TEXT',
1274             'default' => '',
e98a15 1275             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1276                                         'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
1277                                     1 => array (     'type' => 'REGEX',
1278                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
1279                                         'errmsg'=> 'jailkit_chroot_app_programs_error_regex'),
3f22a4 1280             ),
V 1281             'value' => '',
1282             'width' => '40',
1283             'maxlength' => '1000'
7848ce 1284         ),
3f22a4 1285         'jailkit_chroot_cron_programs' => array(
V 1286             'datatype' => 'VARCHAR',
1287             'formtype' => 'TEXT',
1288             'default' => '',
e98a15 1289             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1290                                         'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
1291                                     1 => array (     'type' => 'REGEX',
1292                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
1293                                         'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'),
3f22a4 1294             ),
V 1295             'value' => '',
1296             'width' => '40',
1297             'maxlength' => '1000'
1298         ),
7fe908 1299         //#################################
MC 1300         // ENDE Datatable fields
1301         //#################################
7848ce 1302     )
T 1303 );
1304
8458c0 1305 /*
80e3c9 1306 $form["tabs"]['ufw_firewall'] = array (
T 1307     'title'     => "UFW Firewall",
1308     'width'     => 80,
1309     'template'     => "templates/server_config_ufw_edit.htm",
1310     'fields'     => array (
1311     ##################################
1312     # Begin Datatable fields
1313     ##################################
1314         'ufw_enable' => array (
1315             'datatype'    => 'VARCHAR',
1316             'formtype'    => 'CHECKBOX',
1317             'default'    => 'no',
1318             'value'        => array(0 => 'no',1 => 'yes')
1319         ),
1320         'ufw_manage_builtins' => array (
1321             'datatype'    => 'VARCHAR',
1322             'formtype'    => 'CHECKBOX',
1323             'default'    => 'no',
1324             'value'        => array(0 => 'no',1 => 'yes')
1325         ),
1326         'ufw_ipv6' => array (
1327             'datatype'    => 'VARCHAR',
1328             'formtype'    => 'CHECKBOX',
1329             'default'    => 'no',
1330             'value'        => array(0 => 'no',1 => 'yes')
1331         ),
1332         'ufw_default_input_policy' => array (
1333             'datatype'    => 'VARCHAR',
1334             'formtype'    => 'SELECT',
1335             'default'    => 'ACCEPT',
1336             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1337         ),
1338         'ufw_default_output_policy' => array (
1339             'datatype'    => 'VARCHAR',
1340             'formtype'    => 'SELECT',
1341             'default'    => 'ACCEPT',
1342             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1343         ),
1344         'ufw_default_forward_policy' => array (
1345             'datatype'    => 'VARCHAR',
1346             'formtype'    => 'SELECT',
1347             'default'    => 'ACCEPT',
1348             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1349         ),
1350         'ufw_default_application_policy' => array (
1351             'datatype'    => 'VARCHAR',
1352             'formtype'    => 'SELECT',
1353             'default'    => 'DROP',
1354             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1355         ),
1356         'ufw_log_level' => array (
1357             'datatype'    => 'VARCHAR',
1358             'formtype'    => 'SELECT',
1359             'default'    => 'low',
1360             'value'        => array('low' => 'low', 'medium' => 'medium', 'high' => 'high')
1361         )
1362     ##################################
1363     # ENDE Datatable fields
1364     ##################################
1365     )
1366 );
8458c0 1367 */
7848ce 1368
3f22a4 1369 $form["tabs"]['vlogger'] = array(
V 1370     'title' => "vlogger",
1371     'width' => 80,
1372     'template' => "templates/server_config_vlogger_edit.htm",
1373     'fields' => array(
7fe908 1374         //#################################
MC 1375         // Begin Datatable fields
1376         //#################################
3f22a4 1377         'config_dir' => array(
V 1378             'datatype' => 'VARCHAR',
1379             'formtype' => 'TEXT',
1380             'default' => '',
e98a15 1381             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1382                                         'errmsg' => 'vlogger_config_dir_error_empty'),
1383                                     1 => array (     'type' => 'REGEX',
1384                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1385                                         'errmsg'=> 'vlogger_config_dir_error_regex'),
3f22a4 1386             ),
V 1387             'value' => '',
1388             'width' => '40',
1389             'maxlength' => '255'
1390         ),
7fe908 1391         //#################################
MC 1392         // ENDE Datatable fields
1393         //#################################
3f22a4 1394     )
0b0dc9 1395 );
7848ce 1396
T 1397
1398
3f22a4 1399 $form["tabs"]['cron'] = array(
V 1400     'title' => "Cron",
1401     'width' => 80,
1402     'template' => "templates/server_config_cron_edit.htm",
1403     'fields' => array(
7fe908 1404         //#################################
MC 1405         // Begin Datatable fields
1406         //#################################
3f22a4 1407         'init_script' => array(
V 1408             'datatype' => 'VARCHAR',
1409             'formtype' => 'TEXT',
1410             'default' => '',
e98a15 1411             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1412                                         'errmsg' => 'cron_init_script_error_empty'),
1413                                     1 => array (     'type' => 'REGEX',
1414                                         'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/',
1415                                         'errmsg'=> 'cron_init_script_error_regex'),
3f22a4 1416             ),
V 1417             'value' => '',
1418             'width' => '40',
1419             'maxlength' => '255'
1420         ),
1421         'crontab_dir' => array(
1422             'datatype' => 'VARCHAR',
1423             'formtype' => 'TEXT',
1424             'default' => '',
e98a15 1425             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1426                                         'errmsg' => 'crontab_dir_error_empty'),
1427                                     1 => array (     'type' => 'REGEX',
1428                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1429                                         'errmsg'=> 'crontab_dir_error_regex'),
3f22a4 1430             ),
V 1431             'value' => '',
1432             'width' => '40',
1433             'maxlength' => '255'
1434         ),
1435         'wget' => array(
1436             'datatype' => 'VARCHAR',
1437             'formtype' => 'TEXT',
1438             'default' => '',
e98a15 1439             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1440                                         'errmsg' => 'cron_wget_error_empty'),
1441                                     1 => array (     'type' => 'REGEX',
1442                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1443                                         'errmsg'=> 'cron_wget_error_regex'),
3f22a4 1444             ),
V 1445             'value' => '',
1446             'width' => '40',
1447             'maxlength' => '255'
1448         ),
7fe908 1449         //#################################
MC 1450         // ENDE Datatable fields
1451         //#################################
3f22a4 1452     )
0b0dc9 1453 );
7848ce 1454
3f22a4 1455 $form["tabs"]['rescue'] = array(
V 1456     'title' => "Rescue",
1457     'width' => 80,
1458     'template' => "templates/server_config_rescue_edit.htm",
1459     'fields' => array(
7fe908 1460         //#################################
MC 1461         // Begin Datatable fields
1462         //#################################
3f22a4 1463         'try_rescue' => array(
V 1464             'datatype' => 'VARCHAR',
1465             'formtype' => 'CHECKBOX',
1466             'default' => 'n',
1467             'value' => array(0 => 'n', 1 => 'y')
1468         ),
8ab3cd 1469         'do_not_try_rescue_httpd' => array(
2332b2 1470             'datatype' => 'VARCHAR',
T 1471             'formtype' => 'CHECKBOX',
1472             'default' => 'n',
1473             'value' => array(0 => 'n', 1 => 'y')
1474         ),
3f22a4 1475         'do_not_try_rescue_mysql' => array(
V 1476             'datatype' => 'VARCHAR',
1477             'formtype' => 'CHECKBOX',
1478             'default' => 'n',
1479             'value' => array(0 => 'n', 1 => 'y')
1480         ),
1481         'do_not_try_rescue_mail' => array(
1482             'datatype' => 'VARCHAR',
1483             'formtype' => 'CHECKBOX',
1484             'default' => 'n',
1485             'value' => array(0 => 'n', 1 => 'y')
1486         ),
7fe908 1487         //#################################
MC 1488         // ENDE Datatable fields
1489         //#################################
3f22a4 1490     )
V 1491 );
892f21 1492 ?>