diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index c975908fa49224b17d402a62c9588f7ad0b54a11..72c8ac0576fc513ad25d937591c1b7919fd79323 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -390,6 +390,14 @@ $form["tabs"]['web'] = array( 'default' => 'n', 'value' => array(0 => 'n',1 => 'y') ), + 'website_autoalias' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), 'vhost_conf_dir' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index bc14bb8c383dcefeea30ee72357fd92eb54d63f7..8d660d6db7e5ed14a6f53e0a24f94d87e32a1284 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -35,6 +35,8 @@ $wb['hostname_txt'] = 'Hostname'; $wb['nameservers_txt'] = 'Nameserver'; $wb['auto_network_configuration_txt'] = 'Netzwerkkonfiguration'; $wb['website_basedir_txt'] = 'Website basedir'; +$wb["website_autoalias_txt"] = 'Website Autoalias'; +$wb["website_autoalias_note_txt"] = 'Platzhalter: [client_id], [client_username], [website_id], [website_domain]'; $wb['ip_address_error_wrong'] = 'Ungültiges IP-Adressen-Format.'; $wb['netmask_error_wrong'] = 'Ungültiges Netzmasken-Format.'; $wb['gateway_error_wrong'] = 'Ungültiges Gateway-Format.'; diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index c32657b21cb758f022d9f3166beac77a6b36ce7d..af97459f0155595bb6b6cc52d30f9161f2cf38e6 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -15,6 +15,8 @@ $wb["website_path_txt"] = 'Website path'; $wb["website_symlinks_txt"] = 'Website symlinks'; $wb['website_symlinks_rel_txt'] = 'Make relative symlinks'; $wb["website_basedir_txt"] = 'Website basedir'; +$wb["website_autoalias_txt"] = 'Website auto alias'; +$wb["website_autoalias_note_txt"] = 'Placeholders: [client_id], [client_username], [website_id], [website_domain]'; $wb["vhost_conf_dir_txt"] = 'Vhost config dir'; $wb["vhost_conf_enabled_dir_txt"] = 'Vhost config enabled dir'; $wb["getmail_config_dir_txt"] = 'Getmail config dir'; diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index fecd3dcedb1345c198479c11b5773803de8135a4..c0c9b3b963778968925170ad7f31669d2ef40795 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -31,6 +31,10 @@ {tmpl_var name='website_symlinks_rel'} +
+ +  {tmpl_var name='website_autoalias_note_txt'} +
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index f72f93a3e7816c2f067401871c3b8261c3f0c2f6..ad2abcc3108701f4f839a6e9106597216bd23344 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -871,10 +871,25 @@ class apache2_plugin { 'rewrite_target_ssl' => $rewrite_target_ssl); } } - + + $server_alias = array(); + + // get autoalias + $auto_alias = $web_config['website_autoalias']; + if($auto_alias != '') { + // get the client username + $client = $app->db->queryOneRecord("SELECT `username` FROM `client` WHERE `client_id` = '" . intval($client_id) . "'"); + $aa_search = array('[client_id]', '[website_id]', '[client_username]', '[website_domain]'); + $aa_replace = array($client_id, $data['new']['domain_id'], $client['username'], $data['new']['domain']); + $auto_alias = str_replace($aa_search, $aa_replace, $auto_alias); + unset($client); + unset($aa_search); + unset($aa_replace); + $server_alias[] .= $auto_alias; + } + // get alias domains (co-domains and subdomains) $aliases = $app->db->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y'"); - $server_alias = array(); switch($data['new']['subdomain']) { case 'www': $server_alias[] .= 'www.'.$data['new']['domain'].' '; diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 9d444f5563792613bd49898c61593253e0efa8da..5050e01ec069dbe53b324a53205c50ac1ab096e4 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -912,10 +912,25 @@ class nginx_plugin { 'rewrite_exclude' => $rewrite_exclude); } } - + + $server_alias = array(); + + // get autoalias + $auto_alias = $web_config['website_autoalias']; + if($auto_alias != '') { + // get the client username + $client = $app->db->queryOneRecord("SELECT `username` FROM `client` WHERE `client_id` = '" . intval($client_id) . "'"); + $aa_search = array('[client_id]', '[website_id]', '[client_username]', '[website_domain]'); + $aa_replace = array($client_id, $data['new']['domain_id'], $client['username'], $data['new']['domain']); + $auto_alias = str_replace($aa_search, $aa_replace, $auto_alias); + unset($client); + unset($aa_search); + unset($aa_replace); + $server_alias[] .= $auto_alias; + } + // get alias domains (co-domains and subdomains) $aliases = $app->db->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y'"); - $server_alias = array(); switch($data['new']['subdomain']) { case 'www': $server_alias[] = 'www.'.$data['new']['domain'].' ';