Marius Cramer
2015-08-06 37b29231e47a0c4458dc1c15d98588f16f07e1e2
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(
b1a6a5 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' => '',
bd68aa 86             'width' => '15',
MC 87             'maxlength' => '255'
30fc1b 88         ),
bd68aa 89         'v6_prefix' => array(
MC 90             'datatype' => 'VARCHAR',
91             'formtype' => 'TEXT',
fbeb11 92             'validators' => array(  0 => array('type' => 'ISV6PREFIX',
FS 93                         'errmsg' => 'v6_prefix_wrong'),
94                         1 => array('type' => 'V6PREFIXEND',
95                         'errmsg' => 'v6_prefix_end'),
96                         2 => array('type' => 'V6PREFIXLENGTH',
97                         'errmsg' => 'v6_prefix_length')
b1a6a5 98             ),
MC 99             'default' => ''
30fc1b 100         ),
bd68aa 101         'gateway' => array(
MC 102             'datatype' => 'VARCHAR',
103             'formtype' => 'TEXT',
3f22a4 104             'default' => '192.168.0.1',
V 105             'validators' => array(0 => array('type' => 'ISIPV4',
106                     'errmsg' => 'gateway_error_wrong'),
107             ),
108             'value' => '',
109             'width' => '15',
110             'maxlength' => '255'
7848ce 111         ),
42f191 112         'firewall' => array(
T 113             'datatype' => 'VARCHAR',
114             'formtype' => 'SELECT',
115             'default' => 'bastille',
116             'value' => array('bastille' => 'bastille', 'ufw' => 'ufw'),
117             'width' => '40',
118             'maxlength' => '255'
119         ),
3f22a4 120         'hostname' => array(
V 121             'datatype' => 'VARCHAR',
122             'formtype' => 'TEXT',
123             'default' => 'server1.domain.tld',
bd68aa 124             'filters'   => array( 0 => array( 'event' => 'SAVE',
b1a6a5 125                     'type' => 'IDNTOASCII'),
MC 126                 1 => array( 'event' => 'SHOW',
127                     'type' => 'IDNTOUTF8'),
128                 2 => array( 'event' => 'SAVE',
129                     'type' => 'TOLOWER')
130             ),
a43eb3 131             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 132                                                 'errmsg' => 'hostname_error_empty'),
133                                     1 => array ('type' => 'REGEX',
134                                                 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
135                                                 'errmsg'=> 'hostname_error_regex'),
3f22a4 136             ),
V 137             'value' => '',
138             'width' => '40',
139             'maxlength' => '255'
7848ce 140         ),
3f22a4 141         'nameservers' => array(
V 142             'datatype' => 'VARCHAR',
143             'formtype' => 'TEXT',
144             'default' => '192.168.0.1,192.168.0.2',
145             'validators' => array(0 => array('type' => 'NOTEMPTY',
146                     'errmsg' => 'nameservers_error_empty'),
147             ),
148             'value' => '',
149             'width' => '40',
150             'maxlength' => '255'
7848ce 151         ),
3f22a4 152         'loglevel' => array(
V 153             'datatype' => 'INTEGER',
154             'formtype' => 'SELECT',
155             'default' => '2',
156             'value' => array('0' => 'Debug', '1' => 'Warnings', '2' => 'Errors'),
157             'width' => '40',
158             'maxlength' => '255'
db0a6f 159         ),
615a0a 160         'admin_notify_events' => array(
T 161             'datatype' => 'INTEGER',
162             'formtype' => 'SELECT',
163             'default' => '1',
164             'value' => array('3' => 'no_notifications_txt', '0' => 'Debug', '1' => 'Warnings', '2' => 'Errors'),
165             'width' => '40',
166             'maxlength' => '255'
167         ),
3f22a4 168         'backup_dir' => array(
V 169             'datatype' => 'VARCHAR',
170             'formtype' => 'TEXT',
171             'default' => '/var/backup',
e98a15 172             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 173                                         'errmsg' => 'backup_dir_error_empty'),
174                                     1 => array (     'type' => 'REGEX',
175                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
176                                         'errmsg'=> 'backup_dir_error_regex'),
3f22a4 177             ),
V 178             'value' => '',
179             'width' => '40',
180             'maxlength' => '255'
c4085b 181         ),
056465 182         'backup_dir_is_mount' => array(
FT 183             'datatype' => 'VARCHAR',
184             'formtype' => 'CHECKBOX',
d5f2d5 185             'default' => 'y',
056465 186             'value' => array(0 => 'n', 1 => 'y')
FT 187         ),
5a43e7 188         'backup_mode' => array(
d12a90 189             'datatype' => 'VARCHAR',
5a43e7 190             'formtype' => 'SELECT',
T 191             'default' => 'userzip',
192             'value' => array('userzip' => 'backup_mode_userzip', 'rootgz' => 'backup_mode_rootgz'),
615a0a 193             'width' => '40',
T 194             'maxlength' => '255'
195         ),
a81238 196         'backup_delete' => array(
FS 197             'datatype' => 'VARCHAR',
198             'formtype' => 'CHECKBOX',
199             'default' => 'y',
200             'value' => array(0 => 'n', 1 => 'y')
201         ),
615a0a 202         'monit_url' => array(
T 203             'datatype' => 'VARCHAR',
204             'formtype' => 'TEXT',
205             'default' => '',
b1a6a5 206             'validators' => array ( 0 => array ( 'type' => 'REGEX',
MC 207                     'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
208                     'errmsg'=> 'monit_url_error_regex'),
209             ),
615a0a 210             'value' => '',
T 211             'width' => '40',
212             'maxlength' => '255'
213         ),
214         'monit_user' => array(
215             'datatype' => 'VARCHAR',
216             'formtype' => 'TEXT',
217             'default' => '',
218             'value' => '',
219             'width' => '40',
220             'maxlength' => '255'
221         ),
222         'monit_password' => array(
223             'datatype' => 'VARCHAR',
224             'formtype' => 'TEXT',
225             'default' => '',
226             'value' => '',
227             'width' => '40',
228             'maxlength' => '255'
229         ),
230         'munin_url' => array(
231             'datatype' => 'VARCHAR',
232             'formtype' => 'TEXT',
233             'default' => '',
b1a6a5 234             'validators' => array ( 0 => array ( 'type' => 'REGEX',
MC 235                     'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
236                     'errmsg'=> 'munin_url_error_regex'),
237             ),
615a0a 238             'value' => '',
T 239             'width' => '40',
240             'maxlength' => '255'
241         ),
242         'munin_user' => array(
243             'datatype' => 'VARCHAR',
244             'formtype' => 'TEXT',
245             'default' => '',
246             'value' => '',
247             'width' => '40',
248             'maxlength' => '255'
249         ),
250         'munin_password' => array(
251             'datatype' => 'VARCHAR',
252             'formtype' => 'TEXT',
253             'default' => '',
254             'value' => '',
5a43e7 255             'width' => '40',
T 256             'maxlength' => '255'
d12a90 257         ),
82ff62 258         'monitor_system_updates' => array(
TB 259             'datatype' => 'VARCHAR',
260             'formtype' => 'CHECKBOX',
261             'default' => 'y',
262             'value' => array(0 => 'n', 1 => 'y')
263         ),
b1a6a5 264         //#################################
MC 265         // ENDE Datatable fields
266         //#################################
7848ce 267     )
T 268 );
269
3f22a4 270 $form["tabs"]['mail'] = array(
V 271     'title' => "Mail",
272     'width' => 60,
273     'template' => "templates/server_config_mail_edit.htm",
274     'fields' => array(
b1a6a5 275         //#################################
MC 276         // Begin Datatable fields
277         //#################################
3f22a4 278         'module' => array(
V 279             'datatype' => 'VARCHAR',
280             'formtype' => 'SELECT',
281             'default' => '',
282             'value' => array('postfix_mysql' => 'postfix_mysql')
7848ce 283         ),
3f22a4 284         'maildir_path' => array(
V 285             'datatype' => 'VARCHAR',
286             'formtype' => 'TEXT',
287             'default' => '/home/vmail/[domain]/[localpart]/',
e98a15 288             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 289                                         'errmsg' => 'maildir_path_error_empty'),
290                                     1 => array (     'type' => 'REGEX',
291                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
292                                         'errmsg'=> 'maildir_path_error_regex'),
3f22a4 293             ),
V 294             'value' => '',
295             'width' => '40',
296             'maxlength' => '255'
7848ce 297         ),
f339eb 298         'maildir_format' => array(
D 299             'datatype' => 'VARCHAR',
300             'formtype' => 'SELECT',
301             'default' => '20',
302             'value' => array('maildir' => 'Maildir', 'mdbox' => 'mdbox')
303         ),
3f22a4 304         'homedir_path' => array(
V 305             'datatype' => 'VARCHAR',
306             'formtype' => 'TEXT',
307             'default' => '/home/vmail/',
e98a15 308             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 309                                         'errmsg' => 'homedir_path_error_empty'),
310                                     1 => array (     'type' => 'REGEX',
311                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
312                                         'errmsg'=> 'homedir_path_error_regex'),
3f22a4 313             ),
V 314             'value' => '',
315             'width' => '40',
316             'maxlength' => '255'
7848ce 317         ),
b1a6a5 318         'dkim_path' => array(
MC 319             'datatype' => 'VARCHAR',
320             'formtype' => 'TEXT',
321             'default' => '/var/lib/amavis/dkim',
322             'value' => '',
323             'width' => '40',
324             'maxlength' => '255'
325         ),
c943b4 326         'dkim_strength' => array(
FS 327             'datatype' => 'INTEGER',
328             'formtype' => 'SELECT',
7255ec 329             'default' => '2048',
024e13 330             'value' => array('1024' => 'weak (1024)', '2048' => 'normal (2048)', '4096' => 'strong (4096)')
c943b4 331         ),
64b2a9 332         'relayhost_password' => array(
F 333             'datatype' => 'VARCHAR',
334             'formtype' => 'TEXT',
335             'default' => '',
336             'value' => '',
337             'width' => '40',
338             'maxlength' => '255'
339         ),
340
3f22a4 341         'pop3_imap_daemon' => array(
V 342             'datatype' => 'VARCHAR',
343             'formtype' => 'SELECT',
344             'default' => '20',
345             'value' => array('courier' => 'Courier', 'dovecot' => 'Dovecot')
6cc49f 346         ),
3f22a4 347         'mail_filter_syntax' => array(
V 348             'datatype' => 'VARCHAR',
349             'formtype' => 'SELECT',
350             'default' => '20',
351             'value' => array('maildrop' => 'Maildrop', 'sieve' => 'Sieve')
6cc49f 352         ),
3f22a4 353         'mailuser_uid' => array(
V 354             'datatype' => 'INTEGER',
355             'formtype' => 'TEXT',
356             'default' => '5000',
e98a15 357             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 358                                         'errmsg' => 'mailuser_uid_error_empty'),
359                                     1 => array('type' => 'RANGE',
360                                         'range' => '1999:',
361                                         'errmsg' => 'mailuser_uid_error_range'),
3f22a4 362             ),
V 363             'value' => '',
364             'width' => '10',
365             'maxlength' => '255'
7848ce 366         ),
3f22a4 367         'mailuser_gid' => array(
V 368             'datatype' => 'INTEGER',
369             'formtype' => 'TEXT',
370             'default' => '5000',
e98a15 371             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 372                                         'errmsg' => 'mailuser_gid_error_empty'),
373                                     1 => array('type' => 'RANGE',
374                                         'range' => '1999:',
375                                         'errmsg' => 'mailuser_gid_error_range'),
3f22a4 376             ),
V 377             'value' => '',
378             'width' => '10',
379             'maxlength' => '255'
7848ce 380         ),
3f22a4 381         'mailuser_name' => array(
V 382             'datatype' => 'VARCHAR',
383             'formtype' => 'TEXT',
384             'default' => 'vmail',
e98a15 385             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 386                                         'errmsg' => 'mailuser_name_error_empty'),
387                                     1 => array (     'type' => 'REGEX',
388                                         'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
389                                         'errmsg'=> 'mailuser_name_error_regex'),
3f22a4 390             ),
V 391             'value' => '',
392             'width' => '10',
393             'maxlength' => '255'
7848ce 394         ),
3f22a4 395         'mailuser_group' => array(
V 396             'datatype' => 'VARCHAR',
397             'formtype' => 'TEXT',
398             'default' => 'vmail',
e98a15 399             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 400                                         'errmsg' => 'mailuser_group_error_empty'),
401                                     1 => array (     'type' => 'REGEX',
402                                         'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
403                                         'errmsg'=> 'mailuser_group_name_error_regex'),
3f22a4 404             ),
V 405             'value' => '',
406             'width' => '10',
407             'maxlength' => '255'
7848ce 408         ),
185457 409         'mailbox_virtual_uidgid_maps' => array(
62995a 410             'datatype' => 'VARCHAR',
DM 411             'formtype' => 'CHECKBOX',
d7480c 412             'validators' => array (0 => array ( 'type' => 'CUSTOM',
DM 413                     'class' => 'validate_server_mail_config',
414                     'function' => 'mailbox_virtual_uidgid_maps'),
415             ),
62995a 416             'default' => 'n',
DM 417             'value' => array(0 => 'n', 1 => 'y')
185457 418         ),
3f22a4 419         'relayhost' => array(
V 420             'datatype' => 'VARCHAR',
421             'formtype' => 'TEXT',
422             'default' => '',
423             'value' => '',
424             'width' => '40',
425             'maxlength' => '255'
7848ce 426         ),
3f22a4 427         'relayhost_user' => array(
V 428             'datatype' => 'VARCHAR',
429             'formtype' => 'TEXT',
430             'default' => '',
431             'value' => '',
432             'width' => '40',
433             'maxlength' => '255'
7848ce 434         ),
3f22a4 435         'relayhost_password' => array(
V 436             'datatype' => 'VARCHAR',
437             'formtype' => 'TEXT',
438             'default' => '',
439             'value' => '',
440             'width' => '40',
441             'maxlength' => '255'
7848ce 442         ),
03b633 443         'reject_sender_login_mismatch' => array (
D 444             'datatype' => 'VARCHAR',
445             'formtype' => 'CHECKBOX',
446             'default' => 'n',
447             'value' => array(0 => 'n', 1 => 'y')
448         ),
3f22a4 449         'mailbox_size_limit' => array(
V 450             'datatype' => 'INTEGER',
451             'formtype' => 'TEXT',
452             'default' => '0',
453             'value' => '',
454             'width' => '10',
455             'maxlength' => '15'
7848ce 456         ),
3f22a4 457         'message_size_limit' => array(
V 458             'datatype' => 'INTEGER',
459             'formtype' => 'TEXT',
460             'default' => '0',
461             'value' => '',
462             'width' => '10',
463             'maxlength' => '15'
7848ce 464         ),
9db567 465         'mailbox_quota_stats' => array (
T 466             'datatype' => 'VARCHAR',
467             'formtype' => 'CHECKBOX',
468             'default' => 'y',
b1a6a5 469             'value' => array(0 => 'n', 1 => 'y')
9db567 470         ),
a296ae 471         'realtime_blackhole_list' => array(
M 472             'datatype' => 'VARCHAR',
473             'formtype' => 'TEXT',
474             'default' => '',
b1a6a5 475             'validators' => array (  0 => array ( 'type' => 'REGEX',
MC 476                     '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]))*)?$/',
477                     'errmsg'=> 'rbl_error_regex'),
478             ),
a296ae 479             'value' => '',
M 480             'width' => '40',
481             'maxlength' => '255'
482         ),
615a0a 483         'overquota_notify_admin' => array(
a126d7 484             'datatype' => 'VARCHAR',
615a0a 485             'formtype' => 'CHECKBOX',
T 486             'default' => 'y',
487             'value' => array(0 => 'n', 1 => 'y')
488         ),
489         'overquota_notify_client' => array(
490             'datatype' => 'VARCHAR',
491             'formtype' => 'CHECKBOX',
492             'default' => 'y',
493             'value' => array(0 => 'n', 1 => 'y')
494         ),
495         'overquota_notify_freq' => array(
496             'datatype' => 'INTEGER',
a126d7 497             'formtype' => 'TEXT',
615a0a 498             'default' => '7',
a126d7 499             'value' => '',
bd68aa 500             'width' => '20',
MC 501             'maxlength' => '255'
615a0a 502         ),
T 503         'overquota_notify_onok' => array(
504             'datatype' => 'VARCHAR',
505             'formtype' => 'CHECKBOX',
506             'default' => 'n',
507             'value' => array(0 => 'n', 1 => 'y')
a126d7 508         ),
b1a6a5 509         //#################################
MC 510         // ENDE Datatable fields
511         //#################################
7848ce 512     )
T 513 );
514
3f22a4 515 $form["tabs"]['getmail'] = array(
V 516     'title' => "Getmail",
517     'width' => 80,
518     'template' => "templates/server_config_getmail_edit.htm",
519     'fields' => array(
b1a6a5 520         //#################################
MC 521         // Begin Datatable fields
522         //#################################
3f22a4 523         'getmail_config_dir' => array(
V 524             'datatype' => 'VARCHAR',
525             'formtype' => 'TEXT',
526             'default' => '',
e98a15 527             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 528                                         'errmsg' => 'getmail_config_dir_error_empty'),
529                                     1 => array (     'type' => 'REGEX',
530                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
531                                         'errmsg'=> 'getmail_config_dir_error_regex'),
3f22a4 532             ),
V 533             'value' => '',
534             'width' => '40',
535             'maxlength' => '255'
7848ce 536         ),
b1a6a5 537         //#################################
MC 538         // ENDE Datatable fields
539         //#################################
7848ce 540     )
T 541 );
542
3f22a4 543 $form["tabs"]['web'] = array(
V 544     'title' => "Web",
545     'width' => 60,
546     'template' => "templates/server_config_web_edit.htm",
547     'fields' => array(
b1a6a5 548         //#################################
MC 549         // Begin Datatable fields
550         //#################################
0ae8da 551         'server_type' => array(
F 552             'datatype' => 'VARCHAR',
553             'formtype' => 'SELECT',
554             'default' => 'apache',
4ffb51 555             'value' => array('apache' => 'Apache', 'nginx' => 'Nginx')
0ae8da 556         ),
3f22a4 557         'website_basedir' => array(
V 558             'datatype' => 'VARCHAR',
559             'formtype' => 'TEXT',
560             'default' => '',
e98a15 561             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 562                                         'errmsg' => 'website_basedir_error_empty'),
563                                     1 => array (     'type' => 'REGEX',
564                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
565                                         'errmsg'=> 'website_basedir_error_regex'),
3f22a4 566             ),
V 567             'value' => '',
568             'width' => '40',
569             'maxlength' => '255'
fb3749 570         ),
3f22a4 571         'website_path' => array(
V 572             'datatype' => 'VARCHAR',
573             'formtype' => 'TEXT',
574             'default' => '',
e98a15 575             'validators' => array(    0 => array(    'type' => 'NOTEMPTY',
TB 576                                         'errmsg' => 'website_path_error_empty'),
577                                     1 => array (     'type' => 'REGEX',
578                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
579                                         'errmsg'=> 'website_path_error_regex'),
3f22a4 580             ),
V 581             'value' => '',
582             'width' => '40',
583             'maxlength' => '255'
7848ce 584         ),
3f22a4 585         'website_symlinks' => array(
V 586             'datatype' => 'VARCHAR',
587             'formtype' => 'TEXT',
588             'default' => '',
e98a15 589             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 590                                         'errmsg' => 'website_symlinks_error_empty'),
591                                     1 => array (     'type' => 'REGEX',
592                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]\:]{5,128}$/',
593                                         'errmsg'=> 'website_symlinks_error_regex'),
3f22a4 594             ),
V 595             'value' => '',
596             'width' => '40',
597             'maxlength' => '255'
7848ce 598         ),
552178 599         'website_symlinks_rel' => array (
M 600             'datatype' => 'VARCHAR',
601             'formtype' => 'CHECKBOX',
602             'default' => 'n',
7fe908 603             'value' => array(0 => 'n', 1 => 'y')
552178 604         ),
074a57 605         'network_filesystem' => array (
3f22a4 606             'datatype' => 'VARCHAR',
V 607             'formtype' => 'CHECKBOX',
608             'default' => 'n',
b1a6a5 609             'value' => array(0 => 'n', 1 => 'y')
3f22a4 610         ),
3501f9 611         'website_autoalias' => array(
M 612             'datatype' => 'VARCHAR',
613             'formtype' => 'TEXT',
614             'default' => '',
615             'value' => '',
bd68aa 616             'width' => '40',
MC 617             'maxlength' => '255'
618         ),
14dff2 619         'vhost_rewrite_v6' => array (
FS 620             'datatype' => 'VARCHAR',
621             'formtype' => 'CHECKBOX',
622             'default' => 'n',
623             'value' => array(0 => 'n',1 => 'y')
624         ),
bd68aa 625         'vhost_conf_dir' => array(
MC 626             'datatype' => 'VARCHAR',
627             'formtype' => 'TEXT',
3f22a4 628             'default' => '',
e98a15 629             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 630                                         'errmsg' => 'vhost_conf_dir_error_empty'),
631                                     1 => array (     'type' => 'REGEX',
632                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
633                                         'errmsg'=> 'vhost_conf_dir_error_regex'),
3f22a4 634             ),
V 635             'value' => '',
636             'width' => '40',
637             'maxlength' => '255'
7848ce 638         ),
3f22a4 639         'vhost_conf_enabled_dir' => array(
V 640             'datatype' => 'VARCHAR',
641             'formtype' => 'TEXT',
642             'default' => '',
e98a15 643             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 644                                         'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
645                                     1 => array (     'type' => 'REGEX',
646                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
647                                         'errmsg'=> 'vhost_conf_enabled_dir_error_regex'),
0ae8da 648             ),
F 649             'value' => '',
650             'width' => '40',
651             'maxlength' => '255'
652         ),
653         'nginx_vhost_conf_dir' => array(
654             'datatype' => 'VARCHAR',
655             'formtype' => 'TEXT',
656             'default' => '',
e98a15 657             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 658                                         'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
659                                     1 => array (     'type' => 'REGEX',
660                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
661                                         'errmsg'=> 'nginx_vhost_conf_dir_error_regex'),
0ae8da 662             ),
F 663             'value' => '',
664             'width' => '40',
665             'maxlength' => '255'
666         ),
667         'nginx_vhost_conf_enabled_dir' => array(
668             'datatype' => 'VARCHAR',
669             'formtype' => 'TEXT',
670             'default' => '',
e98a15 671             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 672                                         'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
673                                     1 => array (     'type' => 'REGEX',
674                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
675                                         'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'),
3f22a4 676             ),
V 677             'value' => '',
678             'width' => '40',
679             'maxlength' => '255'
7848ce 680         ),
892f21 681         'CA_path' => array(
L 682             'datatype' => 'VARCHAR',
683             'formtype' => 'TEXT',
e98a15 684             'validators' => array(    0 => array (     'type' => 'REGEX',
TB 685                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/',
686                                         'errmsg'=> 'ca_path_error_regex'),
687             ),
892f21 688             'default' => '',
L 689             'value' => '',
690             'width' => '40',
691             'maxlength' => '255'
692         ),
693         'CA_pass' => array(
694             'datatype' => 'VARCHAR',
695             'formtype' => 'TEXT',
696             'default' => '',
697             'value' => '',
698             'width' => '40',
699             'maxlength' => '255'
700         ),
3f22a4 701         'security_level' => array(
V 702             'datatype' => 'VARCHAR',
703             'formtype' => 'SELECT',
704             'default' => '20',
705             'value' => array('10' => 'Medium', '20' => 'High')
6b029a 706         ),
8cf78b 707         'set_folder_permissions_on_update' => array(
T 708             'datatype' => 'VARCHAR',
709             'formtype' => 'CHECKBOX',
a505fd 710             'default' => 'n',
8cf78b 711             'value' => array(0 => 'n', 1 => 'y')
T 712         ),
4b9329 713         'web_folder_protection' => array(
T 714             'datatype' => 'VARCHAR',
715             'formtype' => 'CHECKBOX',
716             'default' => 'y',
717             'value' => array(0 => 'n', 1 => 'y')
718         ),
8cf78b 719         'add_web_users_to_sshusers_group' => array(
T 720             'datatype' => 'VARCHAR',
721             'formtype' => 'CHECKBOX',
722             'default' => 'y',
723             'value' => array(0 => 'n', 1 => 'y')
724         ),
3f22a4 725         'check_apache_config' => array(
V 726             'datatype' => 'VARCHAR',
727             'formtype' => 'CHECKBOX',
728             'default' => 'y',
729             'value' => array(0 => 'n', 1 => 'y')
7ed741 730         ),
d81a4c 731         'enable_sni' => array(
T 732             'datatype' => 'VARCHAR',
733             'formtype' => 'CHECKBOX',
734             'default' => 'y',
735             'value' => array(0 => 'n', 1 => 'y')
736         ),
02384b 737         'enable_ip_wildcard' => array(
T 738             'datatype' => 'VARCHAR',
739             'formtype' => 'CHECKBOX',
740             'default' => 'y',
741             'value' => array(0 => 'n', 1 => 'y')
742         ),
df76de 743         'overtraffic_notify_admin' => array(
T 744             'datatype' => 'VARCHAR',
745             'formtype' => 'CHECKBOX',
746             'default' => 'y',
747             'value' => array(0 => 'n', 1 => 'y')
748         ),
749         'overtraffic_notify_client' => array(
750             'datatype' => 'VARCHAR',
751             'formtype' => 'CHECKBOX',
752             'default' => 'y',
753             'value' => array(0 => 'n', 1 => 'y')
754         ),
615a0a 755         'overquota_notify_admin' => array(
T 756             'datatype' => 'VARCHAR',
757             'formtype' => 'CHECKBOX',
758             'default' => 'y',
759             'value' => array(0 => 'n', 1 => 'y')
760         ),
761         'overquota_notify_client' => array(
762             'datatype' => 'VARCHAR',
763             'formtype' => 'CHECKBOX',
764             'default' => 'y',
765             'value' => array(0 => 'n', 1 => 'y')
766         ),
0543b2 767         'overquota_db_notify_admin' => array(
F 768             'datatype' => 'VARCHAR',
769             'formtype' => 'CHECKBOX',
770             'default' => 'y',
771             'value' => array(0 => 'n', 1 => 'y')
772         ),
773         'overquota_db_notify_client' => array(
774             'datatype' => 'VARCHAR',
775             'formtype' => 'CHECKBOX',
776             'default' => 'y',
777             'value' => array(0 => 'n', 1 => 'y')
778         ),
615a0a 779         'overquota_notify_freq' => array(
T 780             'datatype' => 'INTEGER',
781             'formtype' => 'TEXT',
782             'default' => '7',
783             'value' => '',
bd68aa 784             'width' => '20',
MC 785             'maxlength' => '255'
615a0a 786         ),
T 787         'overquota_notify_onok' => array(
788             'datatype' => 'VARCHAR',
789             'formtype' => 'CHECKBOX',
790             'default' => 'n',
791             'value' => array(0 => 'n', 1 => 'y')
792         ),
3f22a4 793         'user' => array(
V 794             'datatype' => 'VARCHAR',
795             'formtype' => 'TEXT',
796             'default' => '',
797             'validators' => array(0 => array('type' => 'NOTEMPTY',
798                     'errmsg' => 'apache_user_error_empty'),
e98a15 799                     1 => array(
TB 800                             'type' => 'CUSTOM',
801                             'class' => 'validate_systemuser',
802                             'function' => 'check_sysuser',
803                             'check_names' => false,
804                             'errmsg' => 'invalid_apache_user_txt'
805                         ),
3f22a4 806             ),
V 807             'value' => '',
808             'width' => '40',
809             'maxlength' => '255'
6b029a 810         ),
3f22a4 811         'group' => array(
V 812             'datatype' => 'VARCHAR',
813             'formtype' => 'TEXT',
814             'default' => '',
815             'validators' => array(0 => array('type' => 'NOTEMPTY',
816                     'errmsg' => 'apache_group_error_empty'),
e98a15 817                     1 => array(
TB 818                             'type' => 'CUSTOM',
819                             'class' => 'validate_systemuser',
820                             'function' => 'check_sysgroup',
821                             'check_names' => false,
822                             'errmsg' => 'invalid_apache_group_txt'
823                         ),
3f22a4 824             ),
V 825             'value' => '',
826             'width' => '40',
827             'maxlength' => '255'
6b029a 828         ),
8cf78b 829         'connect_userid_to_webid' => array(
T 830             'datatype' => 'VARCHAR',
831             'formtype' => 'CHECKBOX',
832             'default' => 'n',
833             'value' => array(0 => 'n', 1 => 'y')
834         ),
835         'connect_userid_to_webid_start' => array(
836             'datatype' => 'VARCHAR',
837             'formtype' => 'TEXT',
838             'default' => '10000',
839             'validators' => array(0 => array('type' => 'ISINT',
840                     'errmsg' => 'connect_userid_to_webid_startid_isint'),
841             ),
842             'value' => '',
843             'width' => '40',
844             'maxlength' => '255'
845         ),
4ffb51 846         'nginx_user' => array(
F 847             'datatype' => 'VARCHAR',
848             'formtype' => 'TEXT',
849             'default' => '',
e98a15 850             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 851                                         'errmsg' => 'nginx_user_error_empty'),
852                                     1 => array(
853                             'type' => 'CUSTOM',
854                             'class' => 'validate_systemuser',
855                             'function' => 'check_sysuser',
856                             'check_names' => false,
857                             'errmsg' => 'invalid_nginx_user_txt'
858                         ),
4ffb51 859             ),
F 860             'value' => '',
861             'width' => '40',
862             'maxlength' => '255'
863         ),
864         'nginx_group' => array(
865             'datatype' => 'VARCHAR',
866             'formtype' => 'TEXT',
867             'default' => '',
e98a15 868             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 869                                         'errmsg' => 'nginx_group_error_empty'),
870                                     1 => array(
871                             'type' => 'CUSTOM',
872                             'class' => 'validate_systemuser',
873                             'function' => 'check_sysgroup',
874                             'check_names' => false,
875                             'errmsg' => 'invalid_nginx_group_txt'
876                         ),
4ffb51 877             ),
F 878             'value' => '',
879             'width' => '40',
880             'maxlength' => '255'
881         ),
3f22a4 882         'php_ini_path_apache' => array(
V 883             'datatype' => 'VARCHAR',
884             'formtype' => 'TEXT',
885             'default' => '',
e98a15 886             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 887                                         'errmsg' => 'php_ini_path_apache_error_empty'),
888                                     1 => array (     'type' => 'REGEX',
889                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
890                                         'errmsg'=> 'php_ini_path_apache_error_regex'),
3f22a4 891             ),
V 892             'value' => '',
893             'width' => '40',
894             'maxlength' => '255'
7fddfe 895         ),
3f22a4 896         'php_ini_path_cgi' => array(
V 897             'datatype' => 'VARCHAR',
898             'formtype' => 'TEXT',
899             'default' => '',
e98a15 900             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 901                                         'errmsg' => 'php_ini_path_cgi_error_empty'),
902                                     1 => array (     'type' => 'REGEX',
903                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
904                                         'errmsg'=> 'php_ini_path_cgi_error_regex'),
3f22a4 905             ),
V 906             'value' => '',
907             'width' => '40',
908             'maxlength' => '255'
7fddfe 909         ),
4ffb51 910         'php_fpm_init_script' => array(
F 911             'datatype' => 'VARCHAR',
912             'formtype' => 'TEXT',
913             'default' => '',
e98a15 914             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 915                                         'errmsg' => 'php_fpm_init_script_error_empty'),
916                                     1 => array (     'type' => 'REGEX',
917                                         'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/',
918                                         'errmsg'=> 'php_fpm_init_script_error_regex'),
4ffb51 919             ),
F 920             'value' => '',
921             'width' => '40',
922             'maxlength' => '255'
923         ),
924         'php_fpm_ini_path' => array(
925             'datatype' => 'VARCHAR',
926             'formtype' => 'TEXT',
927             'default' => '',
e98a15 928             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 929                                         'errmsg' => 'php_fpm_ini_path_error_empty'),
930                                     1 => array (     'type' => 'REGEX',
931                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
932                                         'errmsg'=> 'php_fpm_ini_path_error_regex'),
4ffb51 933             ),
F 934             'value' => '',
935             'width' => '40',
936             'maxlength' => '255'
937         ),
938         'php_fpm_pool_dir' => array(
939             'datatype' => 'VARCHAR',
940             'formtype' => 'TEXT',
941             'default' => '',
e98a15 942             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 943                                         'errmsg' => 'php_fpm_pool_dir_error_empty'),
944                                     1 => array (     'type' => 'REGEX',
945                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
946                                         'errmsg'=> 'php_fpm_pool_dir_error_regex'),
4ffb51 947             ),
F 948             'value' => '',
949             'width' => '40',
950             'maxlength' => '255'
951         ),
952         'php_fpm_start_port' => array(
953             'datatype' => 'VARCHAR',
954             'formtype' => 'TEXT',
955             'default' => '',
e98a15 956             'validators' => array(0 => array('type' => 'ISPOSITIVE',
4ffb51 957                     'errmsg' => 'php_fpm_start_port_error_empty'),
F 958             ),
959             'value' => '',
960             'width' => '40',
961             'maxlength' => '255'
962         ),
72ce78 963         'php_fpm_socket_dir' => array(
F 964             'datatype' => 'VARCHAR',
965             'formtype' => 'TEXT',
966             'default' => '',
e98a15 967             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 968                                         'errmsg' => 'php_fpm_socket_dir_error_empty'),
969                                     1 => array (     'type' => 'REGEX',
970                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
971                                         'errmsg'=> 'php_fpm_socket_dir_error_regex'),
72ce78 972             ),
F 973             'value' => '',
974             'width' => '40',
975             'maxlength' => '255'
976         ),
3f22a4 977         'php_open_basedir' => array(
V 978             'datatype' => 'VARCHAR',
979             'formtype' => 'TEXT',
980             'default' => '',
e98a15 981             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 982                                         'errmsg' => 'php_open_basedir_error_empty'),
983                                     1 => array (     'type' => 'REGEX',
984                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/',
985                                         'errmsg'=> 'php_open_basedir_error_regex'),
3f22a4 986             ),
V 987             'value' => '',
988             'width' => '40',
0ae8da 989             'maxlength' => '4000'
bd68aa 990         ),
MC 991         'php_ini_check_minutes' => array(
992             'datatype' => 'INTEGER',
993             'formtype' => 'TEXT',
994             'default' => '1',
995             'validators' => array(0 => array('type' => 'NOTEMPTY',
996                     'errmsg' => 'php_ini_check_minutes_error_empty'),
997             ),
998             'value' => '',
999             'width' => '10',
1000             'maxlength' => '255'
3ee39b 1001         ),
3245aa 1002         'php_handler' => array(
SC 1003             'datatype' => 'VARCHAR',
1004             'formtype' => 'SELECT',
1005             'default' => 'fast-cgi',
a4a4ea 1006             'value' => array('no' => 'disabled_txt', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM', 'hhvm' => 'HHVM'),
3245aa 1007             'searchable' => 2
SC 1008         ),
4ffb51 1009         'nginx_cgi_socket' => array(
F 1010             'datatype' => 'VARCHAR',
1011             'formtype' => 'TEXT',
1012             'default' => '',
e98a15 1013             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1014                                         'errmsg' => 'nginx_cgi_socket_empty'),
1015                                     1 => array (     'type' => 'REGEX',
1016                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1017                                         'errmsg'=> 'nginx_cgi_socket_error_regex'),
4ffb51 1018             ),
F 1019             'value' => '',
1020             'width' => '40',
1021             'maxlength' => '255'
1022         ),
3f22a4 1023         'htaccess_allow_override' => array(
V 1024             'datatype' => 'VARCHAR',
1025             'formtype' => 'TEXT',
1026             'default' => '',
e98a15 1027             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1028                                         'errmsg' => 'htaccess_allow_override_error_empty'),
3f22a4 1029             ),
V 1030             'value' => '',
1031             'width' => '40',
1032             'maxlength' => '255'
c8cf71 1033         ),
f7ec00 1034         'enable_spdy' => array (
PA 1035             'datatype' => 'VARCHAR',
1036             'formtype' => 'CHECKBOX',
024e13 1037             'default'  => 'y',
f7ec00 1038             'value' => array (
PA 1039                 0 => 'n',
1040                 1 => 'y'
1041             )
1042         ),
3f22a4 1043         'apps_vhost_port' => array(
V 1044             'datatype' => 'VARCHAR',
1045             'formtype' => 'TEXT',
1046             'default' => '8081',
1047             'validators' => array(0 => array('type' => 'NOTEMPTY',
1048                     'errmsg' => 'apps_vhost_port_error_empty'),
1049             ),
1050             'value' => '',
1051             'width' => '40',
1052             'maxlength' => '255'
c9b9f2 1053         ),
3f22a4 1054         'apps_vhost_ip' => array(
V 1055             'datatype' => 'VARCHAR',
1056             'formtype' => 'TEXT',
1057             'default' => '_default_',
1058             'validators' => array(0 => array('type' => 'NOTEMPTY',
1059                     'errmsg' => 'apps_vhost_ip_error_empty'),
1060             ),
1061             'value' => '',
1062             'width' => '40',
1063             'maxlength' => '255'
c9b9f2 1064         ),
3f22a4 1065         'apps_vhost_servername' => array(
V 1066             'datatype' => 'VARCHAR',
1067             'formtype' => 'TEXT',
1068             'default' => '',
1069             'value' => '',
1070             'width' => '40',
1071             'maxlength' => '255'
c9b9f2 1072         ),
3f22a4 1073         'awstats_conf_dir' => array(
V 1074             'datatype' => 'VARCHAR',
1075             'formtype' => 'TEXT',
1076             'default' => '',
1077             'value' => '',
1078             'width' => '40',
1079             'maxlength' => '255'
379a4b 1080         ),
3f22a4 1081         'awstats_data_dir' => array(
V 1082             'datatype' => 'VARCHAR',
1083             'formtype' => 'TEXT',
e98a15 1084             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1085                                         'errmsg' => 'awstats_data_dir_empty'),
1086                                     1 => array (     'type' => 'REGEX',
1087                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1088                                         'errmsg'=> 'awstats_data_dir_error_regex'),
1089             ),
3f22a4 1090             'default' => '',
V 1091             'value' => '',
1092             'width' => '40',
1093             'maxlength' => '255'
379a4b 1094         ),
3f22a4 1095         'awstats_pl' => array(
V 1096             'datatype' => 'VARCHAR',
1097             'formtype' => 'TEXT',
e98a15 1098             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1099                                         'errmsg' => 'awstats_pl_empty'),
1100                                     1 => array (     'type' => 'REGEX',
1101                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1102                                         'errmsg'=> 'awstats_pl_error_regex'),
1103             ),
3f22a4 1104             'default' => '',
V 1105             'value' => '',
1106             'width' => '40',
1107             'maxlength' => '255'
379a4b 1108         ),
3f22a4 1109         'awstats_buildstaticpages_pl' => array(
V 1110             'datatype' => 'VARCHAR',
1111             'formtype' => 'TEXT',
e98a15 1112             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1113                                         'errmsg' => 'awstats_buildstaticpages_pl_empty'),
1114                                     1 => array (     'type' => 'REGEX',
1115                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1116                                         'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'),
1117             ),
3f22a4 1118             'default' => '',
V 1119             'value' => '',
1120             'width' => '40',
1121             'maxlength' => '255'
379a4b 1122         ),
b1a6a5 1123         //#################################
MC 1124         // ENDE Datatable fields
1125         //#################################
7848ce 1126     )
T 1127 );
1128
3f22a4 1129 $form["tabs"]['dns'] = array(
V 1130     'title' => "DNS",
1131     'width' => 60,
1132     'template' => "templates/server_config_dns_edit.htm",
1133     'fields' => array(
b1a6a5 1134         //#################################
MC 1135         // Begin Datatable fields
1136         //#################################
3f22a4 1137         'bind_user' => array(
V 1138             'datatype' => 'VARCHAR',
1139             'formtype' => 'TEXT',
1140             'default' => '',
e98a15 1141             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1142                                         'errmsg' => 'bind_user_error_empty'),
1143                                     1 => array (     'type' => 'REGEX',
1144                                         'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
1145                                         'errmsg'=> 'invalid_bind_user_txt'),
3f22a4 1146             ),
V 1147             'value' => '',
1148             'width' => '40',
1149             'maxlength' => '255'
7dbea0 1150         ),
3f22a4 1151         'bind_group' => array(
V 1152             'datatype' => 'VARCHAR',
1153             'formtype' => 'TEXT',
1154             'default' => '',
e98a15 1155             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1156                                         'errmsg' => 'bind_group_error_empty'),
1157                                     1 => array (     'type' => 'REGEX',
1158                                         'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
1159                                         'errmsg'=> 'invalid_bind_group_txt'),
3f22a4 1160             ),
V 1161             'value' => '',
1162             'width' => '40',
1163             'maxlength' => '255'
7dbea0 1164         ),
3f22a4 1165         'bind_zonefiles_dir' => array(
V 1166             'datatype' => 'VARCHAR',
1167             'formtype' => 'TEXT',
1168             'default' => '',
e98a15 1169             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1170                                         'errmsg' => 'bind_zonefiles_dir_error_empty'),
1171                                     1 => array (     'type' => 'REGEX',
1172                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1173                                         'errmsg'=> 'bind_zonefiles_dir_error_regex'),
3f22a4 1174             ),
V 1175             'value' => '',
1176             'width' => '40',
1177             'maxlength' => '255'
7dbea0 1178         ),
3f22a4 1179         'named_conf_path' => array(
V 1180             'datatype' => 'VARCHAR',
1181             'formtype' => 'TEXT',
1182             'default' => '',
e98a15 1183             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1184                                         'errmsg' => 'named_conf_path_error_empty'),
1185                                     1 => array (     'type' => 'REGEX',
1186                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1187                                         'errmsg'=> 'named_conf_path_error_regex'),
3f22a4 1188             ),
V 1189             'value' => '',
1190             'width' => '40',
1191             'maxlength' => '255'
7dbea0 1192         ),
3f22a4 1193         'named_conf_local_path' => array(
V 1194             'datatype' => 'VARCHAR',
1195             'formtype' => 'TEXT',
1196             'default' => '',
e98a15 1197             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1198                                         'errmsg' => 'named_conf_local_path_error_empty'),
1199                                     1 => array (     'type' => 'REGEX',
1200                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1201                                         'errmsg'=> 'named_conf_local_path_error_regex'),
3f22a4 1202             ),
V 1203             'value' => '',
1204             'width' => '40',
1205             'maxlength' => '255'
7dbea0 1206         ),
3fa443 1207         'disable_bind_log' => array (
FS 1208             'datatype' => 'VARCHAR',
1209             'formtype' => 'CHECKBOX',
1210             'default' => 'n',
1211             'value' => array(0 => 'n', 1 => 'y')
1212         ),
b1a6a5 1213         //#################################
MC 1214         // ENDE Datatable fields
1215         //#################################
7dbea0 1216     )
T 1217 );
1218
3f22a4 1219 $form["tabs"]['fastcgi'] = array(
V 1220     'title' => "FastCGI",
1221     'width' => 80,
1222     'template' => "templates/server_config_fastcgi_edit.htm",
1223     'fields' => array(
b1a6a5 1224         //#################################
MC 1225         // Begin Datatable fields
1226         //#################################
3f22a4 1227         'fastcgi_starter_path' => array(
V 1228             'datatype' => 'VARCHAR',
1229             'formtype' => 'TEXT',
1230             'default' => '',
e98a15 1231             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1232                                         'errmsg' => 'fastcgi_starter_path_error_empty'),
1233                                     1 => array (     'type' => 'REGEX',
1234                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1235                                         'errmsg'=> 'fastcgi_starter_path_error_regex'),
3f22a4 1236             ),
V 1237             'value' => '',
1238             'width' => '40',
1239             'maxlength' => '255'
7848ce 1240         ),
3f22a4 1241         'fastcgi_starter_script' => array(
V 1242             'datatype' => 'VARCHAR',
1243             'formtype' => 'TEXT',
1244             'default' => '',
e98a15 1245             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1246                                         'errmsg' => 'fastcgi_starter_script_error_empty'),
1247                                     1 => array (     'type' => 'REGEX',
1248                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1249                                         'errmsg'=> 'fastcgi_starter_script_error_regex'),
3f22a4 1250             ),
V 1251             'value' => '',
1252             'width' => '40',
1253             'maxlength' => '255'
7848ce 1254         ),
3f22a4 1255         'fastcgi_alias' => array(
V 1256             'datatype' => 'VARCHAR',
1257             'formtype' => 'TEXT',
1258             'default' => '',
e98a15 1259             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1260                                         'errmsg' => 'fastcgi_alias_error_empty'),
1261                                     1 => array (     'type' => 'REGEX',
1262                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1263                                         'errmsg'=> 'fastcgi_alias_error_regex'),
3f22a4 1264             ),
V 1265             'value' => '',
1266             'width' => '40',
1267             'maxlength' => '255'
7848ce 1268         ),
3f22a4 1269         'fastcgi_phpini_path' => array(
V 1270             'datatype' => 'VARCHAR',
1271             'formtype' => 'TEXT',
1272             'default' => '',
e98a15 1273             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1274                                         'errmsg' => 'fastcgi_phpini_path_error_empty'),
1275                                     1 => array (     'type' => 'REGEX',
1276                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1277                                         'errmsg'=> 'fastcgi_phpini_path_error_regex'),
3f22a4 1278             ),
V 1279             'value' => '',
1280             'width' => '40',
1281             'maxlength' => '255'
7848ce 1282         ),
3f22a4 1283         'fastcgi_children' => array(
V 1284             'datatype' => 'VARCHAR',
1285             'formtype' => 'TEXT',
1286             'default' => '',
e98a15 1287             'validators' => array(0 => array('type' => 'ISPOSITIVE',
3f22a4 1288                     'errmsg' => 'fastcgi_children_error_empty'),
V 1289             ),
1290             'value' => '',
1291             'width' => '40',
1292             'maxlength' => '255'
7848ce 1293         ),
3f22a4 1294         'fastcgi_max_requests' => array(
V 1295             'datatype' => 'VARCHAR',
1296             'formtype' => 'TEXT',
1297             'default' => '',
b1a6a5 1298             'validators' => array( 0 => array( 'type' => 'ISINT',
MC 1299                     'errmsg' => 'fastcgi_max_requests_error_empty'),
1300                 1 => array( 'type' => 'RANGE',
1301                     'range' => '0:',
1302                     'errmsg' => 'fastcgi_max_requests_error_empty'),
3f22a4 1303             ),
V 1304             'value' => '',
1305             'width' => '40',
1306             'maxlength' => '255'
7848ce 1307         ),
3f22a4 1308         'fastcgi_bin' => array(
V 1309             'datatype' => 'VARCHAR',
1310             'formtype' => 'TEXT',
1311             'default' => '',
e98a15 1312             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1313                                         'errmsg' => 'fastcgi_bin_error_empty'),
1314                                     1 => array (     'type' => 'REGEX',
1315                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1316                                         'errmsg'=> 'fastcgi_bin_error_regex'),
3f22a4 1317             ),
V 1318             'value' => '',
1319             'width' => '40',
1320             'maxlength' => '255'
7848ce 1321         ),
824780 1322         'fastcgi_config_syntax' => array(
T 1323             'datatype' => 'INTEGER',
1324             'formtype' => 'SELECT',
1325             'default' => '2',
8fe84f 1326             'value' => array('1' => 'Old (apache 2.0)', '2' => 'New (apache 2.2)'),
824780 1327             'width' => '40',
T 1328             'maxlength' => '255'
1329         ),
b1a6a5 1330         //#################################
MC 1331         // ENDE Datatable fields
1332         //#################################
7848ce 1333     )
T 1334 );
1335
1336
9f94a1 1337 $form["tabs"]['xmpp'] = array(
MF 1338     'title' => "XMPP",
1339     'width' => 80,
1340     'template' => "templates/server_config_xmpp_edit.htm",
1341     'fields' => array(
1342         //#################################
1343         // Begin Datatable fields
1344         //#################################
1345         'xmpp_use_ipv6' => array(
1346             'datatype' => 'VARCHAR',
1347             'formtype' => 'CHECKBOX',
1348             'default' => 'n',
1349             'value' => array(0 => 'n', 1 => 'y')
1350         ),
1351         'xmpp_bosh_max_inactivity' => array(
1352             'datatype' => 'VARCHAR',
1353             'formtype' => 'TEXT',
1354             'default' => '30',
1355             'validators' => array(0 => array('type' => 'ISINT',
1356                 'errmsg' => 'ip_address_error_wrong'),
1357                 array('type'=>'RANGE', 'range'=>'15:360', 'errmsg' => 'xmpp_bosh_timeout_range_wrong')
1358             ),
1359             'value' => '',
1360             'width' => '15'
1361         ),
1362
1363         'xmpp_server_admins' => array(
1364             'datatype' => 'VARCHAR',
1365             'formtype' => 'TEXT',
1366             'default' => 'admin@service.com, superuser@service.com',
1367             'value' => '',
1368             'width' => '15'
1369         ),
1370
1371         'xmpp_modules_enabled' => array(
1372             'datatype' => 'TEXT',
1373             'formtype' => 'TEXT',
1374             'default' => "saslauth, tls, dialback, disco, discoitems, version, uptime, time, ping, admin_adhoc, admin_telnet, bosh, posix, announce, offline, webpresence, mam, stream_management, message_carbons",
1375             'value' => '',
1376             'separator' => ","
1377         ),
1378
1379         'xmpp_port_http' => array(
1380             'datatype' => 'VARCHAR',
1381             'formtype' => 'TEXT',
1382             'default' => '5290',
1383             'validators' => array(0 => array('type' => 'ISINT')),
1384             'value' => '5290',
1385             'width' => '15'
1386         ),
1387         'xmpp_port_https' => array(
1388             'datatype' => 'VARCHAR',
1389             'formtype' => 'TEXT',
1390             'default' => '5291',
1391             'validators' => array(0 => array('type' => 'ISINT')),
1392             'value' => '5291',
1393             'width' => '15'
1394         ),
1395         'xmpp_port_pastebin' => array(
1396             'datatype' => 'VARCHAR',
1397             'formtype' => 'TEXT',
1398             'default' => '5292',
1399             'validators' => array(0 => array('type' => 'ISINT')),
1400             'value' => '5292',
1401             'width' => '15'
1402         ),
1403         'xmpp_port_bosh' => array(
1404             'datatype' => 'VARCHAR',
1405             'formtype' => 'TEXT',
1406             'default' => '5280',
1407             'validators' => array(0 => array('type' => 'ISINT')),
1408             'value' => '5280',
1409             'width' => '15'
1410         ),
1411         //#################################
1412         // ENDE Datatable fields
1413         //#################################
1414     )
1415 );
1416
3f22a4 1417 $form["tabs"]['jailkit'] = array(
V 1418     'title' => "Jailkit",
1419     'width' => 80,
1420     'template' => "templates/server_config_jailkit_edit.htm",
1421     'fields' => array(
b1a6a5 1422         //#################################
MC 1423         // Begin Datatable fields
1424         //#################################
3f22a4 1425         'jailkit_chroot_home' => array(
V 1426             'datatype' => 'VARCHAR',
1427             'formtype' => 'TEXT',
1428             'default' => '',
e98a15 1429             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1430                                         'errmsg' => 'jailkit_chroot_home_error_empty'),
1431                                     1 => array (     'type' => 'REGEX',
1432                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
1433                                         'errmsg'=> 'jailkit_chroot_home_error_regex'),
3f22a4 1434             ),
V 1435             'value' => '',
1436             'width' => '40',
1437             'maxlength' => '255'
7848ce 1438         ),
3f22a4 1439         'jailkit_chroot_app_sections' => array(
V 1440             'datatype' => 'VARCHAR',
1441             'formtype' => 'TEXT',
1442             'default' => '',
e98a15 1443             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1444                                         'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
1445                                     1 => array (     'type' => 'REGEX',
1446                                         'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/',
1447                                         'errmsg'=> 'jailkit_chroot_app_sections_error_regex'),
3f22a4 1448             ),
V 1449             'value' => '',
1450             'width' => '40',
1451             'maxlength' => '1000'
7848ce 1452         ),
3f22a4 1453         'jailkit_chroot_app_programs' => array(
V 1454             'datatype' => 'VARCHAR',
1455             'formtype' => 'TEXT',
1456             'default' => '',
e98a15 1457             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1458                                         'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
1459                                     1 => array (     'type' => 'REGEX',
1460                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
1461                                         'errmsg'=> 'jailkit_chroot_app_programs_error_regex'),
3f22a4 1462             ),
V 1463             'value' => '',
1464             'width' => '40',
1465             'maxlength' => '1000'
7848ce 1466         ),
3f22a4 1467         'jailkit_chroot_cron_programs' => array(
V 1468             'datatype' => 'VARCHAR',
1469             'formtype' => 'TEXT',
1470             'default' => '',
e98a15 1471             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1472                                         'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
1473                                     1 => array (     'type' => 'REGEX',
1474                                         'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
1475                                         'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'),
3f22a4 1476             ),
V 1477             'value' => '',
1478             'width' => '40',
1479             'maxlength' => '1000'
1480         ),
b1a6a5 1481         //#################################
MC 1482         // ENDE Datatable fields
1483         //#################################
7848ce 1484     )
T 1485 );
1486
8458c0 1487 /*
80e3c9 1488 $form["tabs"]['ufw_firewall'] = array (
T 1489     'title'     => "UFW Firewall",
1490     'width'     => 80,
1491     'template'     => "templates/server_config_ufw_edit.htm",
1492     'fields'     => array (
1493     ##################################
1494     # Begin Datatable fields
1495     ##################################
1496         'ufw_enable' => array (
1497             'datatype'    => 'VARCHAR',
1498             'formtype'    => 'CHECKBOX',
1499             'default'    => 'no',
1500             'value'        => array(0 => 'no',1 => 'yes')
1501         ),
1502         'ufw_manage_builtins' => array (
1503             'datatype'    => 'VARCHAR',
1504             'formtype'    => 'CHECKBOX',
1505             'default'    => 'no',
1506             'value'        => array(0 => 'no',1 => 'yes')
1507         ),
1508         'ufw_ipv6' => array (
1509             'datatype'    => 'VARCHAR',
1510             'formtype'    => 'CHECKBOX',
1511             'default'    => 'no',
1512             'value'        => array(0 => 'no',1 => 'yes')
1513         ),
1514         'ufw_default_input_policy' => array (
1515             'datatype'    => 'VARCHAR',
1516             'formtype'    => 'SELECT',
1517             'default'    => 'ACCEPT',
1518             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1519         ),
1520         'ufw_default_output_policy' => array (
1521             'datatype'    => 'VARCHAR',
1522             'formtype'    => 'SELECT',
1523             'default'    => 'ACCEPT',
1524             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1525         ),
1526         'ufw_default_forward_policy' => array (
1527             'datatype'    => 'VARCHAR',
1528             'formtype'    => 'SELECT',
1529             'default'    => 'ACCEPT',
1530             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1531         ),
1532         'ufw_default_application_policy' => array (
1533             'datatype'    => 'VARCHAR',
1534             'formtype'    => 'SELECT',
1535             'default'    => 'DROP',
1536             'value'        => array('ACCEPT' => 'accept', 'DROP' => 'drop', 'REJECT' => 'reject')
1537         ),
1538         'ufw_log_level' => array (
1539             'datatype'    => 'VARCHAR',
1540             'formtype'    => 'SELECT',
1541             'default'    => 'low',
1542             'value'        => array('low' => 'low', 'medium' => 'medium', 'high' => 'high')
1543         )
1544     ##################################
1545     # ENDE Datatable fields
1546     ##################################
1547     )
1548 );
8458c0 1549 */
7848ce 1550
3f22a4 1551 $form["tabs"]['vlogger'] = array(
V 1552     'title' => "vlogger",
1553     'width' => 80,
1554     'template' => "templates/server_config_vlogger_edit.htm",
1555     'fields' => array(
b1a6a5 1556         //#################################
MC 1557         // Begin Datatable fields
1558         //#################################
3f22a4 1559         'config_dir' => array(
V 1560             'datatype' => 'VARCHAR',
1561             'formtype' => 'TEXT',
1562             'default' => '',
e98a15 1563             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1564                                         'errmsg' => 'vlogger_config_dir_error_empty'),
1565                                     1 => array (     'type' => 'REGEX',
1566                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1567                                         'errmsg'=> 'vlogger_config_dir_error_regex'),
3f22a4 1568             ),
V 1569             'value' => '',
1570             'width' => '40',
1571             'maxlength' => '255'
1572         ),
b1a6a5 1573         //#################################
MC 1574         // ENDE Datatable fields
1575         //#################################
3f22a4 1576     )
0b0dc9 1577 );
7848ce 1578
T 1579
1580
3f22a4 1581 $form["tabs"]['cron'] = array(
V 1582     'title' => "Cron",
1583     'width' => 80,
1584     'template' => "templates/server_config_cron_edit.htm",
1585     'fields' => array(
b1a6a5 1586         //#################################
MC 1587         // Begin Datatable fields
1588         //#################################
3f22a4 1589         'init_script' => array(
V 1590             'datatype' => 'VARCHAR',
1591             'formtype' => 'TEXT',
1592             'default' => '',
e98a15 1593             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1594                                         'errmsg' => 'cron_init_script_error_empty'),
1595                                     1 => array (     'type' => 'REGEX',
1596                                         'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/',
1597                                         'errmsg'=> 'cron_init_script_error_regex'),
3f22a4 1598             ),
V 1599             'value' => '',
1600             'width' => '40',
1601             'maxlength' => '255'
1602         ),
1603         'crontab_dir' => array(
1604             'datatype' => 'VARCHAR',
1605             'formtype' => 'TEXT',
1606             'default' => '',
e98a15 1607             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1608                                         'errmsg' => 'crontab_dir_error_empty'),
1609                                     1 => array (     'type' => 'REGEX',
1610                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1611                                         'errmsg'=> 'crontab_dir_error_regex'),
3f22a4 1612             ),
V 1613             'value' => '',
1614             'width' => '40',
1615             'maxlength' => '255'
1616         ),
1617         'wget' => array(
1618             'datatype' => 'VARCHAR',
1619             'formtype' => 'TEXT',
1620             'default' => '',
e98a15 1621             'validators' => array(    0 => array('type' => 'NOTEMPTY',
TB 1622                                         'errmsg' => 'cron_wget_error_empty'),
1623                                     1 => array (     'type' => 'REGEX',
1624                                         'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
1625                                         'errmsg'=> 'cron_wget_error_regex'),
3f22a4 1626             ),
V 1627             'value' => '',
1628             'width' => '40',
1629             'maxlength' => '255'
1630         ),
b1a6a5 1631         //#################################
MC 1632         // ENDE Datatable fields
1633         //#################################
3f22a4 1634     )
0b0dc9 1635 );
7848ce 1636
3f22a4 1637 $form["tabs"]['rescue'] = array(
V 1638     'title' => "Rescue",
1639     'width' => 80,
1640     'template' => "templates/server_config_rescue_edit.htm",
1641     'fields' => array(
b1a6a5 1642         //#################################
MC 1643         // Begin Datatable fields
1644         //#################################
3f22a4 1645         'try_rescue' => array(
V 1646             'datatype' => 'VARCHAR',
1647             'formtype' => 'CHECKBOX',
1648             'default' => 'n',
1649             'value' => array(0 => 'n', 1 => 'y')
1650         ),
8ab3cd 1651         'do_not_try_rescue_httpd' => array(
2332b2 1652             'datatype' => 'VARCHAR',
T 1653             'formtype' => 'CHECKBOX',
1654             'default' => 'n',
1655             'value' => array(0 => 'n', 1 => 'y')
1656         ),
bd68aa 1657         'do_not_try_rescue_mongodb' => array(
MC 1658             'datatype' => 'VARCHAR',
1659             'formtype' => 'CHECKBOX',
1660             'default' => 'n',
1661             'value' => array(0 => 'n', 1 => 'y')
1662         ),
3f22a4 1663         'do_not_try_rescue_mysql' => array(
V 1664             'datatype' => 'VARCHAR',
1665             'formtype' => 'CHECKBOX',
1666             'default' => 'n',
1667             'value' => array(0 => 'n', 1 => 'y')
1668         ),
1669         'do_not_try_rescue_mail' => array(
1670             'datatype' => 'VARCHAR',
1671             'formtype' => 'CHECKBOX',
1672             'default' => 'n',
1673             'value' => array(0 => 'n', 1 => 'y')
1674         ),
b1a6a5 1675         //#################################
MC 1676         // ENDE Datatable fields
1677         //#################################
3f22a4 1678     )
V 1679 );
892f21 1680 ?>