Marius Cramer
2013-10-14 d9bcf68e395d6156645a7974b1a992aa6e6c00aa
interface/web/sites/form/web_domain.tform.php
@@ -62,6 +62,15 @@
   $web_domain_edit_readonly = true;
}
$wildcard_available = true;
$ssl_available = true;
if(!$app->auth->is_admin()) {
    $client_group_id = $_SESSION["s"]["user"]["default_group"];
   $client = $app->db->queryOneRecord("SELECT limit_wildcard, limit_ssl FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
    if($client['limit_wildcard'] != 'y') $wildcard_available = false;
    if($client['limit_ssl'] != 'y') $ssl_available = false;
}
$form["tabs"]['domain'] = array (
   'title'    => "Domain",
@@ -76,6 +85,9 @@
         'datatype'   => 'INTEGER',
         'formtype'   => 'SELECT',
         'default'   => '',
         'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
                                                        'errmsg'=> 'no_server_error'),
                                    ),
         'datasource'   => array (    'type'   => 'SQL',
                              'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND web_server = 1 AND {AUTHSQL} ORDER BY server_name',
                              'keyfield'=> 'server_id',
@@ -110,14 +122,18 @@
      'domain' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'TEXT',
         'validators'   => array (    0 => array (   'type'   => 'NOTEMPTY',
                                          'errmsg'=> 'domain_error_empty'),
                              1 => array (   'type'   => 'UNIQUE',
                                          'errmsg'=> 'domain_error_unique'),
                              2 => array (   'type'   => 'REGEX',
                                          'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
                                          'errmsg'=> 'domain_error_regex'),
                           ),
            'filters'   => array( 0 => array( 'event' => 'SAVE',
                                              'type' => 'IDNTOASCII'),
                                  1 => array( 'event' => 'SHOW',
                                              'type' => 'IDNTOUTF8'),
                                  2 => array( 'event' => 'SAVE',
                                              'type' => 'TOLOWER')
                                ),
            'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
                                                        'class' => 'validate_domain',
                                                        'function' => 'web_domain',
                                                        'errmsg'=> 'domain_error_regex'),
                                    ),
         'default'   => '',
         'value'      => '',
         'width'      => '30',
@@ -203,7 +219,12 @@
         'datatype'   => 'VARCHAR',
         'formtype'   => 'SELECT',
         'default'   => 'www',
         'value'      => array('none' => 'none_txt', 'www' => 'www.', '*' => '*.')
            'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
                                                        'class' => 'validate_domain',
                                                        'function' => 'web_domain_autosub',
                                                        'errmsg'=> 'domain_error_autosub'),
                                    ),
         'value'      => ($wildcard_available ? array('none' => 'none_txt', 'www' => 'www.', '*' => '*.') : array('none' => 'none_txt', 'www' => 'www.'))
      ),
      'ssl' => array (
         'datatype'   => 'VARCHAR',
@@ -229,6 +250,12 @@
                              'valuefield'=> 'ip_address'
                            ),*/
         'value'      => ''
      ),
      'perl' => array (
         'datatype'   => 'VARCHAR',
         'formtype'   => 'CHECKBOX',
         'default'   => 'n',
         'value'      => array(0 => 'n',1 => 'y')
      ),
      'ruby' => array (
         'datatype'   => 'VARCHAR',
@@ -268,12 +295,12 @@
         'datatype'   => 'VARCHAR',
         'formtype'   => 'SELECT',
         'default'   => '',
         'value'      => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'R=301,L' => 'R=301,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent')
         'value'      => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'R=301,L' => 'R=301,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent', 'proxy' => 'proxy')
      ),
      'redirect_path' => array (
         'datatype'   => 'VARCHAR',
         'validators'   => array (    0 => array (   'type'   => 'REGEX',
                                          'regex' => '@^(([\.]{0})|(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~]*(\?\S+)?)?)?)|(/[\w/_\.\-]{1,255}/))$@',
                                          'regex' => '@^(([\.]{0})|((ftp|https?)://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~!:%]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!:%]*(\?\S+)?)?)?)|(/(?!.*\.\.)[\w/_\.\-]{1,255}/))$@',
                                          'errmsg'=> 'redirect_error_regex'),
                           ),
         'formtype'   => 'TEXT',
@@ -286,7 +313,15 @@
         'datatype'   => 'VARCHAR',
         'formtype'   => 'SELECT',
         'default'   => '',
         'value'      => array('' => 'no_redirect_txt', 'non_www_to_www' => 'non_www_to_www_txt', 'www_to_non_www' => 'www_to_non_www_txt')
         'value'      => array('' => 'no_redirect_txt', 'non_www_to_www' => 'domain.tld => www.domain.tld', 'www_to_non_www' => 'www.domain.tld => domain.tld', '*_domain_tld_to_domain_tld' => '*.doman.tld => domain.tld', '*_domain_tld_to_www_domain_tld' => '*.domain.tld => www.domain.tld', '*_to_domain_tld' => '* => domain.tld', '*_to_www_domain_tld' => '* => www.domain.tld')
      ),
      'rewrite_rules' => array (
         'datatype'   => 'TEXT',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'width'      => '30',
         'maxlength'   => '255'
      ),
   ##################################
   # ENDE Datatable fields
@@ -294,6 +329,7 @@
   )
);
if($ssl_available) {
$form["tabs"]['ssl'] = array (
   'title'    => "SSL",
   'width'    => 100,
@@ -427,6 +463,7 @@
   ##################################
   )
);
}
//* Statistics
$form["tabs"]['stats'] = array (
@@ -475,7 +512,7 @@
         'datatype'   => 'VARCHAR',
         'formtype'   => 'SELECT',
         'default'   => '',
         'value'      => array('none' => 'No backup', 'daily' => 'Daily', 'weekly' => 'Weekly', 'monthly' => 'Monthly')
         'value'      => array('none' => 'no_backup_txt', 'daily' => 'daily_backup_txt', 'weekly' => 'weekly_backup_txt', 'monthly' => 'monthly_backup_txt')
      ),
      'backup_copies' => array (
         'datatype'   => 'INTEGER',
@@ -671,7 +708,15 @@
         'value'      => '',
         'width'      => '30',
         'maxlength'   => '255'
      )
      ),
      'proxy_directives' => array (
         'datatype'   => 'TEXT',
         'formtype'   => 'TEXT',
         'default'   => '',
         'value'      => '',
         'width'      => '30',
         'maxlength'   => '255'
      ),
   ##################################
   # ENDE Datatable fields
   ##################################