| | |
| | | $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"; |
| | | } |
| | | } |
| | | |
| | |
| | | $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, |
| | |
| | | '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 ( |
| | |
| | | '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', |
| | |
| | | //################################# |
| | | // ENDE Datatable fields |
| | | //################################# |
| | | ) |
| | | ), |
| | | 'plugins' => array ( |
| | | // needs serverId for web.server_type |
| | | 'directive_snippets_id' => array ( |
| | | 'class' => 'plugin_directive_snippets' |
| | | ), |
| | | ) |
| | | ); |
| | | |
| | | // add type-specific field attributes |
| | |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'rewrite_to_https' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'CHECKBOX', |
| | | 'default' => 'n', |
| | | 'value' => array ( |
| | | 0 => 'n', |
| | | 1 => 'y' |
| | | ) |
| | | ), |
| | | //################################# |
| | | // ENDE Datatable fields |
| | |
| | | '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 |
| | | //################################# |
| | |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => 'webalizer', |
| | | 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats') |
| | | 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats', '' => 'None') |
| | | ), |
| | | //################################# |
| | | // ENDE Datatable fields |
| | |
| | | ) |
| | | ); |
| | | |
| | | // 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']))) { |
| | |
| | | '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' => '', |
| | |
| | | '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' => '', |
| | |
| | | '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', |