Marius Cramer
2015-08-06 37b29231e47a0c4458dc1c15d98588f16f07e1e2
interface/web/sites/form/web_vhost_domain.tform.php
@@ -41,16 +41,19 @@
$vhostdomain_type = 'domain';
$form_title = "Web Domain";
$validator_function = 'web_domain';
$first_tab_title = "Domain";
if(isset($_SESSION['s']['var']['vhostdomain_type'])) {
   if($_SESSION['s']['var']['vhostdomain_type'] == 'subdomain') {
      $vhostdomain_type = 'subdomain';
      $form_title = "Subdomain";
      $validator_function = 'sub_domain';
      $first_tab_title = "Subomain";
   } elseif($_SESSION['s']['var']['vhostdomain_type'] == 'aliasdomain') {
      $vhostdomain_type = 'aliasdomain';
      $form_title = "Aliasdomain";
      $validator_function = 'alias_domain';
      $first_tab_title = "Aliasomain";
   }
}
@@ -82,19 +85,21 @@
$wildcard_available = true;
if($vhostdomain_type != 'domain') $wildcard_available = false;
$ssl_available = true;
$backup_available = ($vhostdomain_type == 'domain');
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");
   $client = $app->db->queryOneRecord("SELECT limit_wildcard, limit_ssl, limit_backup 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;
   if($client['limit_backup'] != 'y') $backup_available = false;
}
$app->uses('getconf');
$web_config = $app->getconf->get_global_config('sites');
$form["tabs"]['domain'] = array (
   'title'  => "Domain",
   'title'  => $first_tab_title,
   'width'  => 100,
   'template'  => "templates/web_vhost_domain_edit.htm",
   'readonly' => $web_domain_edit_readonly,
@@ -239,7 +244,7 @@
         'formtype' => 'SELECT',
         'default' => 'fast-cgi',
         'valuelimit' => 'client:web_php_options',
         'value'  => array('no' => 'disabled_txt', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM'),
         'value'  => array('no' => 'disabled_txt', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM', 'hhvm' => 'HHVM'),
         'searchable' => 2
      ),
      'fastcgi_php_version' => array (
@@ -271,6 +276,15 @@
         'default' => 'n',
         'value'  => array(0 => 'n', 1 => 'y')
      ),
      'enable_pagespeed' => array (
         'datatype' => 'VARCHAR',
         'formtype' => 'CHECKBOX',
         'default'  => 'n',
         'value' => array (
            0 => 'n',
            1 => 'y'
         )
      ),
      'active' => array (
         'datatype' => 'VARCHAR',
         'formtype' => 'CHECKBOX',
@@ -280,7 +294,13 @@
      //#################################
      // ENDE Datatable fields
      //#################################
   )
   ),
   'plugins' => array (
      // needs serverId for web.server_type
      'directive_snippets_id' => array (
         'class' => 'plugin_directive_snippets'
      ),
    )
);
// add type-specific field attributes
@@ -379,6 +399,15 @@
         'value'  => '',
         'width'  => '30',
         'maxlength' => '255'
      ),
      'rewrite_to_https' => array (
         'datatype' => 'VARCHAR',
         'formtype' => 'CHECKBOX',
         'default'  => 'n',
         'value' => array (
            0 => 'n',
            1 => 'y'
         )
      ),
      //#################################
      // ENDE Datatable fields
@@ -515,6 +544,15 @@
            'default' => '',
            'value'  => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt')
         ),
         'enable_spdy' => array (
            'datatype' => 'VARCHAR',
            'formtype' => 'CHECKBOX',
            'default'  => 'n',
            'value' => array (
               0 => 'n',
               1 => 'y'
            )
         ),
         //#################################
         // ENDE Datatable fields
         //#################################
@@ -553,7 +591,7 @@
         'datatype' => 'VARCHAR',
         'formtype' => 'SELECT',
         'default' => 'webalizer',
         'value'  => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
         'value'  => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats', '' => 'None')
      ),
      //#################################
      // ENDE Datatable fields
@@ -561,56 +599,55 @@
   )
);
// if($_SESSION["s"]["user"]["typ"] == 'admin') {
//* Backup
$form["tabs"]['backup'] = array (
   'title'  => "Backup",
   'width'  => 100,
   'template'  => "templates/web_vhost_domain_backup.htm",
   'readonly' => false,
   'fields'  => array (
      //#################################
      // Begin Datatable fields
      //#################################
      'backup_interval' => array (
         'datatype' => 'VARCHAR',
         'formtype' => 'SELECT',
         'default' => '',
         'value'  => array('none' => 'no_backup_txt', 'daily' => 'daily_backup_txt', 'weekly' => 'weekly_backup_txt', 'monthly' => 'monthly_backup_txt')
      ),
      'backup_copies' => array (
         'datatype' => 'INTEGER',
         'formtype' => 'SELECT',
         'default' => '',
         'value'  => array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10')
      ),
      'backup_excludes' => array (
         'datatype' => 'VARCHAR',
         'validators' => array (  0 => array ( 'type' => 'REGEX',
               'regex' => '@^(?!.*\.\.)[-a-zA-Z0-9_/.~,*]*$@',
               'errmsg'=> 'backup_excludes_error_regex'),
if ($backup_available) {
   $form["tabs"]['backup'] = array (
      'title'  => "Backup",
      'width'  => 100,
      'template'  => "templates/web_domain_backup.htm",
      'readonly' => false,
      'fields'  => array (
         //#################################
         // Begin Datatable fields
         //#################################
         'backup_interval' => array (
            'datatype' => 'VARCHAR',
            'formtype' => 'SELECT',
            'default' => '',
            'value'  => array('none' => 'no_backup_txt', 'daily' => 'daily_backup_txt', 'weekly' => 'weekly_backup_txt', 'monthly' => 'monthly_backup_txt')
         ),
         'formtype' => 'TEXT',
         'default' => '',
         'value'  => '',
         'width'  => '30',
         'maxlength' => '255'
         'backup_copies' => array (
            'datatype' => 'INTEGER',
            'formtype' => 'SELECT',
            'default' => '',
            'value'  => array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10')
         ),
         'backup_excludes' => array (
            'datatype' => 'VARCHAR',
            'validators' => array (  0 => array ( 'type' => 'REGEX',
                  'regex' => '@^(?!.*\.\.)[-a-zA-Z0-9_/.~,*]*$@',
                  'errmsg'=> 'backup_excludes_error_regex'),
            ),
            'formtype' => 'TEXT',
            'default' => '',
            'value'  => '',
            'width'  => '30',
            'maxlength' => '255'
         ),
         //#################################
         // ENDE Datatable fields
         //#################################
      ),
      //#################################
      // ENDE Datatable fields
      //#################################
   ),
   'plugins' => array (
      'backup_records' => array (
         'class'   => 'plugin_backuplist',
         'options' => array(
      'plugins' => array (
         'backup_records' => array (
            'class'   => 'plugin_backuplist',
            'options' => array(
            )
         )
      )
   )
);
// }
   );
}
if($_SESSION["s"]["user"]["typ"] == 'admin'
   || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
@@ -640,6 +677,13 @@
            'formtype' => 'TEXT',
            'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
                  'errmsg'=> 'sysuser_error_empty'),
                  1 => array(
                     'type' => 'CUSTOM',
                     'class' => 'validate_systemuser',
                     'function' => 'check_sysuser',
                     'check_names' => true,
                     'errmsg' => 'invalid_system_user_or_group_txt'
                  ),
            ),
            'default' => '',
            'value'  => '',
@@ -651,6 +695,13 @@
            'formtype' => 'TEXT',
            'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
                  'errmsg'=> 'sysgroup_error_empty'),
                  1 => array(
                     'type' => 'CUSTOM',
                     'class' => 'validate_systemuser',
                     'function' => 'check_sysgroup',
                     'check_names' => true,
                     'errmsg' => 'invalid_system_user_or_group_txt'
                  ),
            ),
            'default' => '',
            'value'  => '',
@@ -774,6 +825,13 @@
         'apache_directives' => array (
            'datatype' => 'TEXT',
            'formtype' => 'TEXT',
            'validators' => array (  0 => array(
                     'type' => 'CUSTOM',
                     'class' => 'validate_domain',
                     'function' => 'web_apache_directives',
                     'errmsg' => 'apache_directive_blockd_error'
                  ),
            ),
            'default' => '',
            'value'  => '',
            'width'  => '30',