mcramer
2012-09-18 8d0c359e014afaf79bfb2e574662721285066f84
interface/web/client/form/client.tform.php
@@ -29,26 +29,56 @@
   Hint:
   The ID field of the database table is not part of the datafield definition.
   The ID field must be always auto incement (int or bigint).
   Search:
   - searchable = 1 or searchable = 2 include the field in the search
   - searchable = 1: this field will be the title of the search result
   - searchable = 2: this field will be included in the description of the search result
*/
$form["title"]          = "Client";
$form["description"]    = "";
$form["name"]          = "client";
$form["action"]         = "client_edit.php";
$form["db_table"]      = "client";
$form["title"]       = "Client";
$form["description"]    = "";
$form["name"]       = "client";
$form["action"]      = "client_edit.php";
$form["db_table"]   = "client";
$form["db_table_idx"]   = "client_id";
$form["db_history"]      = "yes";
$form["db_history"]   = "yes";
$form["tab_default"]   = "address";
$form["list_default"]   = "client_list.php";
$form["auth"]         = 'yes';
$form["auth"]      = 'yes';
$form["auth_preset"]["userid"]  = 0; // 0 = id of the user, > 0 id must match with id of current user
$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
//* Languages
$language_list = array();
$handle = @opendir(ISPC_ROOT_PATH.'/lib/lang');
while ($file = @readdir ($handle)) {
    if ($file != '.' && $file != '..') {
        if(@is_file(ISPC_ROOT_PATH.'/lib/lang/'.$file) and substr($file,-4,4) == '.lng') {
         $tmp = substr($file, 0, 2);
         $language_list[$tmp] = $tmp;
        }
   }
}
//* Load themes
$themes_list = array();
$handle = @opendir(ISPC_THEMES_PATH);
while ($file = @readdir ($handle)) {
    if (substr($file, 0, 1) != '.') {
        if(@is_dir(ISPC_THEMES_PATH."/$file")) {
         if($file == 'default' || (@file_exists(ISPC_THEMES_PATH."/$file/ISPC_VERSION") && trim(@file_get_contents(ISPC_THEMES_PATH."/$file/ISPC_VERSION")) == ISPC_APP_VERSION)) {
                $themes_list[$file] = $file;
            }
        }
   }
}
$form["tabs"]['address'] = array (
   'title'    => "Address",
@@ -67,47 +97,66 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'contact_name' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'NOTEMPTY',
                                          'errmsg'=> 'contact_error_empty'),
                              ),
         'validators'   => array ( 0 => array (   'type'   => 'NOTEMPTY',
                                                                'errmsg'=> 'contact_error_empty'),
                                                ),
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 1
      ),
      'customer_no' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => '',
         'searchable' => 2
      ),
      'username' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'NOTEMPTY',
                                          'errmsg'=> 'username_error_empty'),
                              1 => array (   'type'   => 'CUSTOM',
                                          'class' => 'validate_client',
                                          'function' => 'username_unique',
                                          'errmsg'=> 'username_error_unique'),
                              2 => array (   'type'   => 'REGEX',
                                          'regex' => '/^[\w\.\-\_]{0,50}$/',
                                          'errmsg'=> 'username_error_regex'),
                              ),
                                                                        'errmsg'=> 'username_error_empty'),
                                                        1 => array (   'type'   => 'CUSTOM',
                                                                        'class' => 'validate_client',
                                                                        'function' => 'username_unique',
                                                                        'errmsg'=> 'username_error_unique'),
                                                        2 => array (   'type'   => 'CUSTOM',
                                                                        'class' => 'validate_client',
                                                                        'function' => 'username_collision',
                                                                        'errmsg'=> 'username_error_collision'),
                                                        3 => array (   'type'   => 'REGEX',
                                                                        'regex' => '/^[\w\.\-\_]{0,64}$/',
                                                                        'errmsg'=> 'username_error_regex'),
                                                        ),
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'password' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'PASSWORD',
         'encryption'=> 'MD5',
         'encryption'=> 'CRYPT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
@@ -120,7 +169,7 @@
         'datatype'   => 'VARCHAR',
         'formtype'   => 'SELECT',
         'default'   => $conf["language"],
         'value'      => array('en' => 'en'),
         'value'      => $language_list,
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
@@ -130,8 +179,8 @@
      'usertheme' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'SELECT',
         'default'   => 'default',
         'value'      => array('default' => 'default'),
         'default'   => $conf["theme"],
         'value'      => $themes_list,
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
@@ -147,7 +196,8 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'zip' => array (
         'datatype'   => 'VARCHAR',
@@ -158,7 +208,8 @@
         'width'      => '10',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'city' => array (
         'datatype'   => 'VARCHAR',
@@ -169,7 +220,8 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'state' => array (
         'datatype'   => 'VARCHAR',
@@ -180,18 +232,19 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'country' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'formtype'   => 'SELECT',
         'default'   => (isset($conf['language']) ? strtoupper($conf['language']) : ''),
         'datasource'   => array (  'type'          => 'SQL',
                                                    'querystring'   => 'SELECT iso,printable_name FROM country ORDER BY iso ASC',
                                                    'keyfield'      => 'iso',
                                                    'valuefield'    => 'printable_name'
                                                ),
         'value'      => ''
      ),
      'telephone' => array (
         'datatype'   => 'VARCHAR',
@@ -202,7 +255,8 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'mobile' => array (
         'datatype'   => 'VARCHAR',
@@ -213,7 +267,8 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'fax' => array (
         'datatype'   => 'VARCHAR',
@@ -224,7 +279,8 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'email' => array (
         'datatype'   => 'VARCHAR',
@@ -235,7 +291,8 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'internet' => array (
         'datatype'   => 'VARCHAR',
@@ -246,9 +303,98 @@
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
         'cols'      => '',
         'searchable' => 2
      ),
      'icq' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
      ),
      'vat_id' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
      ),
      'company_id' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '20',
         'rows'      => '',
         'cols'      => ''
      ),
      'bank_account_owner' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
      ),
      'bank_account_number' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
      ),
      'bank_code' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
      ),
      'bank_name' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
      ),
      'bank_account_iban' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'separator'   => '',
         'width'      => '30',
         'maxlength'   => '255',
         'rows'      => '',
         'cols'      => ''
      ),
      'bank_account_swift' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'default'   => '',
@@ -284,16 +430,30 @@
   ##################################
   # Begin Datatable fields
   ##################################
      'template_master' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'SELECT',
         'default'   => '1',
         'datasource'   => array (    'type'   => 'CUSTOM',
                              'class'=> 'custom_datasource',
                              'function'=> 'master_templates'
                            ),
         'value'      => ''
      ),
      'template_additional' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
      ),
      'default_mailserver' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'SELECT',
         'default'   => '1',
         'datasource'   => array (    'type'   => 'SQL',
                              'querystring' => 'SELECT server_id,server_name FROM server WHERE mail_server = 1 AND {AUTHSQL} ORDER BY server_name',
                              'keyfield'=> 'server_id',
                              'valuefield'=> 'server_name'
         'datasource'   => array (    'type'   => 'CUSTOM',
                              'class'=> 'custom_datasource',
                              'function'=> 'client_servers'
                            ),
         'value'      => ''
         'value'      => '',
         'name'      => 'default_mailserver'
      ),
      'limit_maildomain' => array (
         'datatype'   => 'INTEGER',
@@ -328,6 +488,34 @@
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'limit_mailalias_error_notint'),
                           ),
         'default'   => '-1',
         'value'      => '',
         'separator'   => '',
         'width'      => '10',
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
      'limit_mailaliasdomain' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'limit_mailaliasdomain_error_notint'),
                           ),
         'default'   => '-1',
         'value'      => '',
         'separator'   => '',
         'width'      => '10',
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
      'limit_mailmailinglist' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'limit_mailmailinglist_error_notint'),
                           ),
         'default'   => '-1',
         'value'      => '',
@@ -467,12 +655,12 @@
         'datatype'   => 'INTEGER',
         'formtype'   => 'SELECT',
         'default'   => '1',
         'datasource'   => array (    'type'   => 'SQL',
                              'querystring' => 'SELECT server_id,server_name FROM server WHERE web_server = 1 AND {AUTHSQL} ORDER BY server_name',
                              'keyfield'=> 'server_id',
                              'valuefield'=> 'server_name'
         'datasource'   => array (    'type'   => 'CUSTOM',
                              'class'=> 'custom_datasource',
                              'function'=> 'client_servers'
                            ),
         'value'      => ''
         'value'      => '',
         'name'      => 'default_webserver'
      ),
      'limit_web_domain' => array (
         'datatype'   => 'INTEGER',
@@ -487,6 +675,85 @@
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
      'limit_web_quota' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'limit_web_quota_error_notint'),
                           ),
         'default'   => '-1',
         'value'      => '',
         'separator'   => '',
         'width'      => '10',
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
      'web_php_options' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOXARRAY',
         'validators'   => array (    0 => array (   'type'   => 'NOTEMPTY',
                                          'errmsg'=> 'web_php_options_notempty'),
                           ),
         'default'   => '',
         'separator' => ',',
         'valuelimit' => 'client:web_php_options',
         'value'      => array('no' => 'Disabled', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM')
      ),
      'limit_cgi' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_ssi' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_perl' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_ruby' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_python' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'force_suexec' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'y',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_hterror' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_wildcard' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_ssl' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'limit_web_aliasdomain' => array (
         'datatype'   => 'INTEGER',
@@ -544,16 +811,41 @@
         'rows'      => '',
         'cols'      => ''
      ),
      'ssh_chroot' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOXARRAY',
         'validators'   => array (    0 => array (   'type'   => 'NOTEMPTY',
                                          'errmsg'=> 'ssh_chroot_notempty'),
                           ),
         'default'   => '',
         'separator' => ',',
         'valuelimit' => 'client:ssh_chroot',
         'value'      => array('no' => 'None', 'jailkit' => 'Jailkit')
      ),
      'limit_webdav_user' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'limit_webdav_user_error_notint'),
                           ),
         'default'   => '-1',
         'value'      => '',
         'separator'   => '',
         'width'      => '10',
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
      'default_dnsserver' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'SELECT',
         'default'   => '1',
         'datasource'   => array (    'type'   => 'SQL',
                              'querystring' => 'SELECT server_id,server_name FROM server WHERE dns_server = 1 AND {AUTHSQL} ORDER BY server_name',
                              'keyfield'=> 'server_id',
                              'valuefield'=> 'server_name'
         'datasource'   => array (    'type'   => 'CUSTOM',
                              'class'=> 'custom_datasource',
                              'function'=> 'client_servers'
                            ),
         'value'      => ''
         'value'      => '',
         'name'      => 'default_dnsserver'
      ),
      'limit_dns_zone' => array (
         'datatype'   => 'INTEGER',
@@ -569,6 +861,20 @@
         'rows'      => '',
         'cols'      => ''
      ),
                'limit_dns_slave_zone' => array (
                        'datatype'      => 'INTEGER',
                        'formtype'      => 'TEXT',
                        'validators'    => array (      0 => array (    'type'  => 'ISINT',
                                                                                                                'errmsg'=> 'limit_dns_slave_zone_error_notint'),
                                                                        ),
                        'default'       => '-1',
                        'value'         => '',
                        'separator'     => '',
                        'width'         => '10',
                        'maxlength'     => '10',
                        'rows'          => '',
                        'cols'          => ''
                ),
      'limit_dns_record' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'TEXT',
@@ -601,12 +907,12 @@
         'datatype'   => 'INTEGER',
         'formtype'   => 'SELECT',
         'default'   => '1',
         'datasource'   => array (    'type'   => 'SQL',
                              'querystring' => 'SELECT server_id,server_name FROM server WHERE db_server = 1 AND {AUTHSQL} ORDER BY server_name',
                              'keyfield'=> 'server_id',
                              'valuefield'=> 'server_name'
         'datasource'   => array (    'type'   => 'CUSTOM',
                              'class'=> 'custom_datasource',
                              'function'=> 'client_servers'
                            ),
         'value'      => ''
         'value'      => '',
         'name'      => 'default_dbserver'
      ),
      'limit_database' => array (
         'datatype'   => 'INTEGER',
@@ -621,6 +927,79 @@
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
        'limit_cron' => array (
            'datatype'  => 'INTEGER',
            'formtype'  => 'TEXT',
            'validators'    => array (  0 => array (    'type'  => 'ISINT',
                                                        'errmsg'=> 'limit_cron_error_notint'),
                                    ),
            'default'   => '0',
            'value'     => '',
            'separator' => '',
            'width'     => '10',
            'maxlength' => '10',
            'rows'      => '',
            'cols'      => ''
        ),
        'limit_cron_type' => array (
            'datatype'  => 'VARCHAR',
            'formtype'  => 'SELECT',
            'default'   => '',
            'value'     => array('full' => 'Full Cron','chrooted' => 'Chrooted Cron','url' => 'URL Cron')
        ),
        'limit_cron_frequency' => array (
            'datatype'  => 'INTEGER',
            'formtype'  => 'TEXT',
            'validators'    => array (  0 => array (    'type'  => 'ISINT',
                                                        'errmsg'=> 'limit_cron_error_frequency'),
                                    ),
            'default'   => '-1',
            'value'     => '',
            'separator' => '',
            'width'     => '10',
            'maxlength' => '10',
            'rows'      => '',
            'cols'      => ''
        ),
      'limit_traffic_quota' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'limit_traffic_quota_error_notint'),
                           ),
         'default'   => '-1',
         'value'      => '',
         'separator'   => '',
         'width'      => '10',
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
      'limit_openvz_vm' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'ISINT',
                                          'errmsg'=> 'limit_openvz_vm_error_notint'),
                           ),
         'default'   => '0',
         'value'      => '',
         'separator'   => '',
         'width'      => '10',
         'maxlength'   => '10',
         'rows'      => '',
         'cols'      => ''
      ),
      'limit_openvz_vm_template_id' => array (
         'datatype'   => 'INTEGER',
         'formtype'   => 'SELECT',
         'default'   => '',
         'datasource'   => array (    'type'   => 'SQL',
                              'querystring' => 'SELECT template_id,template_name FROM openvz_template WHERE 1 ORDER BY template_name',
                              'keyfield'=> 'template_id',
                              'valuefield'=> 'template_name'
                            ),
         'value'      => array(0 => ' ')
      ),
   ##################################
   # END Datatable fields
@@ -652,4 +1031,4 @@
*/
?>
?>