tbrehm
2009-03-23 0cef61a3fd0c988cf46f5e45f7e06ab4e1a720d6
commit | author | age
0cef61 1 <?php
T 2
3 /*
4     Form Definition
5
6     Tabledefinition
7
8     Datatypes:
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)
15
16     Formtype:
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
25
26     VALUE:
27     - Wert oder Array
28
29     Hint:
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).
32
33
34 */
35
36 $form["title"]             = "Client";
37 $form["description"]     = "";
38 $form["name"]             = "client";
39 $form["action"]            = "client_edit.php";
40 $form["db_table"]        = "client";
41 $form["db_table_idx"]    = "client_id";
42 $form["db_history"]        = "yes";
43 $form["tab_default"]    = "address";
44 $form["list_default"]    = "client_list.php";
45 $form["auth"]            = 'yes';
46
47 $form["auth_preset"]["userid"]  = 0; // 0 = id of the user, > 0 id must match with id of current user
48 $form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
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
53 //* Languages
54 $language_list = array();
55 $handle = @opendir(ISPC_ROOT_PATH.'/lib/lang');
56 while ($file = @readdir ($handle)) {
57     if ($file != '.' && $file != '..') {
58         if(@is_file(ISPC_ROOT_PATH.'/lib/lang/'.$file) and substr($file,-4,4) == '.lng') {
59             $tmp = substr($file, 0, 2);
60             $language_list[$tmp] = $tmp;
61         }
62     }
63 }
64
65 $form["tabs"]['address'] = array (
66     'title'     => "Address",
67     'width'     => 100,
68     'template'     => "templates/client_edit_address.htm",
69     'fields'     => array (
70     ##################################
71     # Begin Datatable fields
72     ##################################
73         'company_name' => array (
74             'datatype'    => 'VARCHAR',
75             'formtype'    => 'TEXT',
76             'default'    => '',
77             'value'        => '',
78             'separator'    => '',
79             'width'        => '30',
80             'maxlength'    => '255',
81             'rows'        => '',
82             'cols'        => ''
83         ),
84         'contact_name' => array (
85             'datatype'    => 'VARCHAR',
86             'formtype'    => 'TEXT',
87             'validators'    => array (     0 => array (    'type'    => 'NOTEMPTY',
88                                                         'errmsg'=> 'contact_error_empty'),
89                                         ),
90             'default'    => '',
91             'value'        => '',
92             'separator'    => '',
93             'width'        => '30',
94             'maxlength'    => '255',
95             'rows'        => '',
96             'cols'        => ''
97         ),
98         'username' => array (
99             'datatype'    => 'VARCHAR',
100             'formtype'    => 'TEXT',
101             'validators'    => array (     0 => array (    'type'    => 'NOTEMPTY',
102                                                         'errmsg'=> 'username_error_empty'),
103                                         1 => array (    'type'    => 'CUSTOM',
104                                                         'class' => 'validate_client',
105                                                         'function' => 'username_unique',
106                                                         'errmsg'=> 'username_error_unique'),
107                                         2 => array (    'type'    => 'REGEX',
108                                                         'regex' => '/^[\w\.\-\_]{0,64}$/',
109                                                         'errmsg'=> 'username_error_regex'),
110                                         ),
111             'default'    => '',
112             'value'        => '',
113             'separator'    => '',
114             'width'        => '30',
115             'maxlength'    => '255',
116             'rows'        => '',
117             'cols'        => ''
118         ),
119         'password' => array (
120             'datatype'    => 'VARCHAR',
121             'formtype'    => 'PASSWORD',
122             'encryption'=> 'MD5',
123             'default'    => '',
124             'value'        => '',
125             'separator'    => '',
126             'width'        => '30',
127             'maxlength'    => '255',
128             'rows'        => '',
129             'cols'        => ''
130         ),
131         'language' => array (
132             'datatype'    => 'VARCHAR',
133             'formtype'    => 'SELECT',
134             'default'    => $conf["language"],
135             'value'        => $language_list,
136             'separator'    => '',
137             'width'        => '30',
138             'maxlength'    => '255',
139             'rows'        => '',
140             'cols'        => ''
141         ),
142         'usertheme' => array (
143             'datatype'    => 'VARCHAR',
144             'formtype'    => 'SELECT',
145             'default'    => 'default',
146             'value'        => array('default' => 'default'),
147             'separator'    => '',
148             'width'        => '30',
149             'maxlength'    => '255',
150             'rows'        => '',
151             'cols'        => ''
152         ),
153         'street' => array (
154             'datatype'    => 'VARCHAR',
155             'formtype'    => 'TEXT',
156             'default'    => '',
157             'value'        => '',
158             'separator'    => '',
159             'width'        => '30',
160             'maxlength'    => '255',
161             'rows'        => '',
162             'cols'        => ''
163         ),
164         'zip' => array (
165             'datatype'    => 'VARCHAR',
166             'formtype'    => 'TEXT',
167             'default'    => '',
168             'value'        => '',
169             'separator'    => '',
170             'width'        => '10',
171             'maxlength'    => '255',
172             'rows'        => '',
173             'cols'        => ''
174         ),
175         'city' => array (
176             'datatype'    => 'VARCHAR',
177             'formtype'    => 'TEXT',
178             'default'    => '',
179             'value'        => '',
180             'separator'    => '',
181             'width'        => '30',
182             'maxlength'    => '255',
183             'rows'        => '',
184             'cols'        => ''
185         ),
186         'state' => array (
187             'datatype'    => 'VARCHAR',
188             'formtype'    => 'TEXT',
189             'default'    => '',
190             'value'        => '',
191             'separator'    => '',
192             'width'        => '30',
193             'maxlength'    => '255',
194             'rows'        => '',
195             'cols'        => ''
196         ),
197         'country' => array (
198             'datatype'    => 'VARCHAR',
199
200             'formtype'    => 'SELECT',
201             'default'    => 'DE',
202             'datasource'    => array (     'type'    => 'SQL',
203                                         'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name',
204                                         'keyfield'=> 'iso',
205                                         'valuefield'=> 'printable_name'
206                                      ),
207             'value'        => ''
208         ),
209         'telephone' => array (
210             'datatype'    => 'VARCHAR',
211             'formtype'    => 'TEXT',
212             'default'    => '',
213             'value'        => '',
214             'separator'    => '',
215             'width'        => '30',
216             'maxlength'    => '255',
217             'rows'        => '',
218             'cols'        => ''
219         ),
220         'mobile' => array (
221             'datatype'    => 'VARCHAR',
222             'formtype'    => 'TEXT',
223             'default'    => '',
224             'value'        => '',
225             'separator'    => '',
226             'width'        => '30',
227             'maxlength'    => '255',
228             'rows'        => '',
229             'cols'        => ''
230         ),
231         'fax' => array (
232             'datatype'    => 'VARCHAR',
233             'formtype'    => 'TEXT',
234             'default'    => '',
235             'value'        => '',
236             'separator'    => '',
237             'width'        => '30',
238             'maxlength'    => '255',
239             'rows'        => '',
240             'cols'        => ''
241         ),
242         'email' => array (
243             'datatype'    => 'VARCHAR',
244             'formtype'    => 'TEXT',
245             'default'    => '',
246             'value'        => '',
247             'separator'    => '',
248             'width'        => '30',
249             'maxlength'    => '255',
250             'rows'        => '',
251             'cols'        => ''
252         ),
253         'internet' => array (
254             'datatype'    => 'VARCHAR',
255             'formtype'    => 'TEXT',
256             'default'    => 'http://',
257             'value'        => '',
258             'separator'    => '',
259             'width'        => '30',
260             'maxlength'    => '255',
261             'rows'        => '',
262             'cols'        => ''
263         ),
264         'icq' => array (
265             'datatype'    => 'VARCHAR',
266             'formtype'    => 'TEXT',
267             'default'    => '',
268             'value'        => '',
269             'separator'    => '',
270             'width'        => '30',
271             'maxlength'    => '255',
272             'rows'        => '',
273             'cols'        => ''
274         ),
275         'notes' => array (
276             'datatype'    => 'TEXT',
277             'formtype'    => 'TEXTAREA',
278             'default'    => '',
279             'value'        => '',
280             'separator'    => '',
281             'width'        => '',
282             'maxlength'    => '',
283             'rows'        => '10',
284             'cols'        => '30'
285         ),
286     ##################################
287     # END Datatable fields
288     ##################################
289     )
290 );
291
292 $form["tabs"]['limits'] = array (
293     'title'     => "Limits",
294     'width'     => 80,
295     'template'     => "templates/client_edit_limits.htm",
296     'fields'     => array (
297     ##################################
298     # Begin Datatable fields
299     ##################################
300         'template_master' => array (
301             'datatype'    => 'INTEGER',
302             'formtype'    => 'SELECT',
303             'default'    => '1',
304             'datasource'    => array (     'type'    => 'CUSTOM',
305                                         'class'=> 'custom_datasource',
306                                         'function'=> 'master_templates'
307                                      ),
308             'value'        => ''
309         ),
310         'template_additional' => array (
311             'datatype'    => 'VARCHAR',
312             'formtype'    => 'TEXT',
313         ),
314         'default_mailserver' => array (
315             'datatype'    => 'INTEGER',
316             'formtype'    => 'SELECT',
317             'default'    => '1',
318             'datasource'    => array (     'type'    => 'SQL',
319                                         'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND {AUTHSQL} ORDER BY server_name',
320                                         'keyfield'=> 'server_id',
321                                         'valuefield'=> 'server_name'
322                                      ),
323             'value'        => ''
324         ),
325         'limit_maildomain' => array (
326             'datatype'    => 'INTEGER',
327             'formtype'    => 'TEXT',
328             'validators'    => array (     0 => array (    'type'    => 'ISINT',
329                                                         'errmsg'=> 'limit_maildomain_error_notint'),
330                                     ),
331             'default'    => '-1',
332             'value'        => '',
333             'separator'    => '',
334             'width'        => '10',
335             'maxlength'    => '10',
336             'rows'        => '',
337             'cols'        => ''
338         ),
339         'limit_mailbox' => array (
340             'datatype'    => 'INTEGER',
341             'formtype'    => 'TEXT',
342             'validators'    => array (     0 => array (    'type'    => 'ISINT',
343                                                         'errmsg'=> 'limit_mailbox_error_notint'),
344                                     ),
345             'default'    => '-1',
346             'value'        => '',
347             'separator'    => '',
348             'width'        => '10',
349             'maxlength'    => '10',
350             'rows'        => '',
351             'cols'        => ''
352         ),
353         'limit_mailalias' => array (
354             'datatype'    => 'INTEGER',
355             'formtype'    => 'TEXT',
356             'validators'    => array (     0 => array (    'type'    => 'ISINT',
357                                                         'errmsg'=> 'limit_mailalias_error_notint'),
358                                     ),
359             'default'    => '-1',
360             'value'        => '',
361             'separator'    => '',
362             'width'        => '10',
363             'maxlength'    => '10',
364             'rows'        => '',
365             'cols'        => ''
366         ),
367         'limit_mailforward' => array (
368             'datatype'    => 'INTEGER',
369             'formtype'    => 'TEXT',
370             'validators'    => array (     0 => array (    'type'    => 'ISINT',
371                                                         'errmsg'=> 'limit_mailforward_error_notint'),
372                                     ),
373             'default'    => '-1',
374             'value'        => '',
375             'separator'    => '',
376             'width'        => '10',
377             'maxlength'    => '10',
378             'rows'        => '',
379             'cols'        => ''
380         ),
381         'limit_mailcatchall' => array (
382             'datatype'    => 'INTEGER',
383             'formtype'    => 'TEXT',
384             'validators'    => array (     0 => array (    'type'    => 'ISINT',
385                                                         'errmsg'=> 'limit_mailcatchall_error_notint'),
386                                     ),
387             'default'    => '-1',
388             'value'        => '',
389             'separator'    => '',
390             'width'        => '10',
391             'maxlength'    => '10',
392             'rows'        => '',
393             'cols'        => ''
394         ),
395         'limit_mailrouting' => array (
396             'datatype'    => 'INTEGER',
397             'formtype'    => 'TEXT',
398             'validators'    => array (     0 => array (    'type'    => 'ISINT',
399                                                         'errmsg'=> 'limit_mailrouting_error_notint'),
400                                     ),
401             'default'    => '0',
402             'value'        => '',
403             'separator'    => '',
404             'width'        => '10',
405             'maxlength'    => '10',
406             'rows'        => '',
407             'cols'        => ''
408         ),
409         'limit_mailfilter' => array (
410             'datatype'    => 'INTEGER',
411             'formtype'    => 'TEXT',
412             'validators'    => array (     0 => array (    'type'    => 'ISINT',
413                                                         'errmsg'=> 'limit_mailfilter_error_notint'),
414                                     ),
415             'default'    => '-1',
416             'value'        => '',
417             'separator'    => '',
418             'width'        => '10',
419             'maxlength'    => '10',
420             'rows'        => '',
421             'cols'        => ''
422         ),
423         'limit_fetchmail' => array (
424             'datatype'    => 'INTEGER',
425             'formtype'    => 'TEXT',
426             'validators'    => array (     0 => array (    'type'    => 'ISINT',
427                                                         'errmsg'=> 'limit_mailfetchmail_error_notint'),
428                                     ),
429             'default'    => '-1',
430             'value'        => '',
431             'separator'    => '',
432             'width'        => '10',
433             'maxlength'    => '10',
434             'rows'        => '',
435             'cols'        => ''
436         ),
437         'limit_mailquota' => array (
438             'datatype'    => 'INTEGER',
439             'formtype'    => 'TEXT',
440             'validators'    => array (     0 => array (    'type'    => 'ISINT',
441                                                         'errmsg'=> 'limit_mailquota_error_notint'),
442                                     ),
443             'default'    => '-1',
444             'value'        => '',
445             'separator'    => '',
446             'width'        => '10',
447             'maxlength'    => '10',
448             'rows'        => '',
449             'cols'        => ''
450         ),
451         'limit_spamfilter_wblist' => array (
452             'datatype'    => 'INTEGER',
453             'formtype'    => 'TEXT',
454             'validators'    => array (     0 => array (    'type'    => 'ISINT',
455                                                         'errmsg'=> 'limit_spamfilter_wblist_error_notint'),
456                                     ),
457             'default'    => '-1',
458             'value'        => '',
459             'separator'    => '',
460             'width'        => '10',
461             'maxlength'    => '10',
462             'rows'        => '',
463             'cols'        => ''
464         ),
465         'limit_spamfilter_user' => array (
466             'datatype'    => 'INTEGER',
467             'formtype'    => 'TEXT',
468             'validators'    => array (     0 => array (    'type'    => 'ISINT',
469                                                         'errmsg'=> 'limit_spamfilter_user_error_notint'),
470                                     ),
471             'default'    => '-1',
472             'value'        => '',
473             'separator'    => '',
474             'width'        => '10',
475             'maxlength'    => '10',
476             'rows'        => '',
477             'cols'        => ''
478         ),
479         'limit_spamfilter_policy' => array (
480             'datatype'    => 'INTEGER',
481             'formtype'    => 'TEXT',
482             'validators'    => array (     0 => array (    'type'    => 'ISINT',
483                                                         'errmsg'=> 'limit_spamfilter_policy_error_notint'),
484                                     ),
485             'default'    => '-1',
486             'value'        => '',
487             'separator'    => '',
488             'width'        => '10',
489             'maxlength'    => '10',
490             'rows'        => '',
491             'cols'        => ''
492         ),
493         'default_webserver' => array (
494             'datatype'    => 'INTEGER',
495             'formtype'    => 'SELECT',
496             'default'    => '1',
497             'datasource'    => array (     'type'    => 'SQL',
498                                         'querystring' => 'SELECT server_id,server_name FROM server WHERE web_server = 1 AND {AUTHSQL} ORDER BY server_name',
499                                         'keyfield'=> 'server_id',
500                                         'valuefield'=> 'server_name'
501                                      ),
502             'value'        => ''
503         ),
504         'limit_web_domain' => array (
505             'datatype'    => 'INTEGER',
506             'formtype'    => 'TEXT',
507             'validators'    => array (     0 => array (    'type'    => 'ISINT',
508                                                         'errmsg'=> 'limit_web_domain_error_notint'),
509                                     ),
510             'default'    => '-1',
511             'value'        => '',
512             'separator'    => '',
513             'width'        => '10',
514             'maxlength'    => '10',
515             'rows'        => '',
516             'cols'        => ''
517         ),
518         'web_php_options' => array (
519             'datatype'    => 'VARCHAR',
520             'formtype'    => 'CHECKBOXARRAY',
521             'default'    => '',
522             'separator' => ',',
523             'value'        => array('no' => 'Disabled', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP')
524         ),
525         'limit_web_aliasdomain' => array (
526             'datatype'    => 'INTEGER',
527             'formtype'    => 'TEXT',
528             'validators'    => array (     0 => array (    'type'    => 'ISINT',
529                                                         'errmsg'=> 'limit_web_aliasdomain_error_notint'),
530                                     ),
531             'default'    => '-1',
532             'value'        => '',
533             'separator'    => '',
534             'width'        => '10',
535             'maxlength'    => '10',
536             'rows'        => '',
537             'cols'        => ''
538         ),
539         'limit_web_subdomain' => array (
540             'datatype'    => 'INTEGER',
541             'formtype'    => 'TEXT',
542             'validators'    => array (     0 => array (    'type'    => 'ISINT',
543                                                         'errmsg'=> 'limit_web_subdomain_error_notint'),
544                                     ),
545             'default'    => '-1',
546             'value'        => '',
547             'separator'    => '',
548             'width'        => '10',
549             'maxlength'    => '10',
550             'rows'        => '',
551             'cols'        => ''
552         ),
553         'limit_ftp_user' => array (
554             'datatype'    => 'INTEGER',
555             'formtype'    => 'TEXT',
556             'validators'    => array (     0 => array (    'type'    => 'ISINT',
557                                                         'errmsg'=> 'limit_ftp_user_error_notint'),
558                                     ),
559             'default'    => '-1',
560             'value'        => '',
561             'separator'    => '',
562             'width'        => '10',
563             'maxlength'    => '10',
564             'rows'        => '',
565             'cols'        => ''
566         ),
567         'limit_shell_user' => array (
568             'datatype'    => 'INTEGER',
569             'formtype'    => 'TEXT',
570             'validators'    => array (     0 => array (    'type'    => 'ISINT',
571                                                         'errmsg'=> 'limit_shell_user_error_notint'),
572                                     ),
573             'default'    => '-1',
574             'value'        => '',
575             'separator'    => '',
576             'width'        => '10',
577             'maxlength'    => '10',
578             'rows'        => '',
579             'cols'        => ''
580         ),
581         'ssh_chroot' => array (
582             'datatype'    => 'VARCHAR',
583             'formtype'    => 'CHECKBOXARRAY',
584             'default'    => '',
585             'separator' => ',',
586             'value'        => array('no' => 'None', 'jailkit' => 'Jailkit')
587         ),
588         'default_dnsserver' => array (
589             'datatype'    => 'INTEGER',
590             'formtype'    => 'SELECT',
591             'default'    => '1',
592             'datasource'    => array (     'type'    => 'SQL',
593                                         'querystring' => 'SELECT server_id,server_name FROM server WHERE dns_server = 1 AND {AUTHSQL} ORDER BY server_name',
594                                         'keyfield'=> 'server_id',
595                                         'valuefield'=> 'server_name'
596                                      ),
597             'value'        => ''
598         ),
599         'limit_dns_zone' => array (
600             'datatype'    => 'INTEGER',
601             'formtype'    => 'TEXT',
602             'validators'    => array (     0 => array (    'type'    => 'ISINT',
603                                                         'errmsg'=> 'limit_dns_zone_error_notint'),
604                                     ),
605             'default'    => '-1',
606             'value'        => '',
607             'separator'    => '',
608             'width'        => '10',
609             'maxlength'    => '10',
610             'rows'        => '',
611             'cols'        => ''
612         ),
613         'limit_dns_record' => array (
614             'datatype'    => 'INTEGER',
615             'formtype'    => 'TEXT',
616             'validators'    => array (     0 => array (    'type'    => 'ISINT',
617                                                         'errmsg'=> 'limit_dns_record_error_notint'),
618                                     ),
619             'default'    => '-1',
620             'value'        => '',
621             'separator'    => '',
622             'width'        => '10',
623             'maxlength'    => '10',
624             'rows'        => '',
625             'cols'        => ''
626         ),
627         'limit_client' => array (
628             'datatype'    => 'INTEGER',
629             'formtype'    => 'TEXT',
630             'validators'    => array (     0 => array (    'type'    => 'ISINT',
631                                                         'errmsg'=> 'limit_client_error_notint'),
632                                     ),
633             'default'    => '0',
634             'value'        => '',
635             'separator'    => '',
636             'width'        => '10',
637             'maxlength'    => '10',
638             'rows'        => '',
639             'cols'        => ''
640         ),
641         'default_dbserver' => array (
642             'datatype'    => 'INTEGER',
643             'formtype'    => 'SELECT',
644             'default'    => '1',
645             'datasource'    => array (     'type'    => 'SQL',
646                                         'querystring' => 'SELECT server_id,server_name FROM server WHERE db_server = 1 AND {AUTHSQL} ORDER BY server_name',
647                                         'keyfield'=> 'server_id',
648                                         'valuefield'=> 'server_name'
649                                      ),
650             'value'        => ''
651         ),
652         'limit_database' => array (
653             'datatype'    => 'INTEGER',
654             'formtype'    => 'TEXT',
655             'validators'    => array (     0 => array (    'type'    => 'ISINT',
656                                                         'errmsg'=> 'limit_database_error_notint'),
657                                     ),
658             'default'    => '-1',
659             'value'        => '',
660             'separator'    => '',
661             'width'        => '10',
662             'maxlength'    => '10',
663             'rows'        => '',
664             'cols'        => ''
665         ),
666     ##################################
667     # END Datatable fields
668     ##################################
669     )
670 );
671
672 /*
673 $form["tabs"]['ipaddress'] = array (
674     'title'     => "IP Addresses",
675     'width'     => 100,
676     'template'     => "templates/client_edit_ipaddress.htm",
677     'fields'     => array (
678     ##################################
679     # Beginn Datatable fields
680     ##################################
681         'ip_address' => array (
682             'datatype'    => 'TEXT',
683             'formtype'    => 'CHECKBOXARRAY',
684             'default'    => '',
685             'value'        => array('192.168.0.1' => '192.168.0.1', '192.168.0.2' => '192.168.0.2'),
686             'separator'    => ';'
687         ),
688     ##################################
689     # ENDE Datatable fields
690     ##################################
691     )
692 );
693 */
694
695
b5a2f8 696 ?>