From b50d36a340f2cb3a54f7fa29699ec5d0f064f31c Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 24 Jan 2014 11:38:12 -0500
Subject: [PATCH] Merge branch 'master' into 'master'
---
interface/web/sites/lib/lang/hu_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/br_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/el_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/se_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/ar_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/module.conf.php | 6
interface/web/sites/lib/lang/pl_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/pt_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/en_web_vhost_domain.lng | 40 +
interface/web/sites/lib/lang/es_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng | 0
interface/web/sites/web_vhost_domain_del.php | 142 ++++
interface/web/sites/lib/lang/fr_web_vhost_domain.lng | 8
interface/web/sites/lib/lang/ja_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/nl_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/fi_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/fr_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/pl_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/pl_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/ro_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/hu_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/es_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/ro_web_vhost_domain.lng | 6
interface/web/sites/templates/web_vhost_domain_list.htm | 23
interface/web/sites/form/web_vhost_domain.tform.php | 120 +++-
interface/web/sites/web_vhost_domain_edit.php | 665 +++++++++++-----------
interface/web/sites/lib/lang/id_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/br_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/it_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/es_web_vhost_domain_admin_list.lng | 0
interface/web/sites/templates/web_vhost_domain_advanced.htm | 4
interface/web/sites/lib/lang/nl_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/it_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/bg_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/tr_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/de_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/bg_web_vhost_domain_admin_list.lng | 0
interface/web/sites/templates/web_vhost_domain_ssl.htm | 4
interface/web/sites/lib/lang/sk_web_vhost_domain_list.lng | 2
interface/web/sites/web_vhost_domain_list.php | 28
interface/web/sites/lib/lang/br_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/cz_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/pt_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/pt_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/id_web_vhost_domain_admin_list.lng | 0
interface/web/sites/templates/web_vhost_domain_stats.htm | 4
interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng | 3
interface/web/sites/lib/lang/sk_web_vhost_domain_admin_list.lng | 0
interface/web/sites/templates/web_vhost_domain_edit.htm | 75 ++
interface/web/sites/templates/web_vhost_domain_admin_list.htm | 69 ++
interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php | 243 ++++++++
interface/web/sites/templates/web_vhost_domain_backup.htm | 4
interface/web/sites/lib/lang/en_web_vhost_domain_list.lng | 3
interface/web/sites/lib/lang/ja_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/el_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/ja_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/nl_web_vhost_domain.lng | 6
interface/web/sites/list/web_vhost_domain.list.php | 60 +
interface/web/sites/lib/lang/se_web_vhost_domain_list.lng | 3
interface/web/sites/templates/web_vhost_domain_redirect.htm | 4
interface/web/sites/lib/lang/fi_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/hr_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/el_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/fr_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/cz_web_vhost_domain_list.lng | 3
interface/web/sites/lib/lang/en_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/fi_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/de_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/de_web_vhost_domain_admin_list.lng | 0
/dev/null | 55 -
interface/web/sites/lib/lang/ar_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/tr_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/bg_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/sk_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/ru_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/tr_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/ro_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/ru_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/id_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/cz_web_vhost_domain.lng | 7
interface/web/sites/lib/lang/hu_web_vhost_domain.lng | 6
interface/web/sites/lib/lang/it_web_vhost_domain_admin_list.lng | 0
interface/web/sites/lib/lang/ru_web_vhost_domain.lng | 6
85 files changed, 1,247 insertions(+), 484 deletions(-)
diff --git a/interface/lib/plugins/sites_web_domain_plugin.inc.php b/interface/lib/plugins/sites_web_domain_plugin.inc.php
deleted file mode 100644
index a84857a..0000000
--- a/interface/lib/plugins/sites_web_domain_plugin.inc.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/**
- * sites_web_domain_plugin plugin
- *
- * @author Julio Montoya <gugli100@gmail.com> BeezNest 2010
- */
-
-
-class sites_web_domain_plugin {
-
- var $plugin_name = 'sites_web_domain_plugin';
- var $class_name = 'sites_web_domain_plugin';
-
- // TODO: This function is a duplicate from the one in interface/web/sites/web_domain_edit.php
- // There should be a single "token replacement" function to be called from modules and
- // from the main code.
- // Returna a "3/2/1" path hash from a numeric id '123'
- function id_hash($id, $levels) {
- $hash = "" . $id % 10 ;
- $id /= 10 ;
- $levels -- ;
- while ( $levels > 0 ) {
- $hash .= "/" . $id % 10 ;
- $id /= 10 ;
- $levels-- ;
- }
- return $hash;
- }
-
- /*
- This function is called when the plugin is loaded
- */
- function onLoad() {
- global $app;
- //Register for the events
- $app->plugin->registerEvent('sites:web_domain:on_after_insert', 'sites_web_domain_plugin', 'sites_web_domain_edit');
- }
-
- /*
- Function to create the sites_web_domain rule and insert it into the custom rules
- */
- function sites_web_domain_edit($event_name, $page_form) {
- global $app, $conf;
- // make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it
- // also make sure that the user can not delete domain created by a admin
- if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($page_form->dataRecord["client_group_id"])) {
- $client_group_id = $app->functions->intval($page_form->dataRecord["client_group_id"]);
- $app->db->query("UPDATE web_domain SET sys_groupid = $client_group_id, sys_perm_group = 'ru' WHERE domain_id = ".$page_form->id);
- }
- if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($page_form->dataRecord["client_group_id"])) {
- $client_group_id = $app->functions->intval($page_form->dataRecord["client_group_id"]);
- $app->db->query("UPDATE web_domain SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE domain_id = ".$page_form->id);
- }
- // Get configuration for the web system
- $app->uses("getconf");
- $web_config = $app->getconf->get_server_config($app->functions->intval($page_form->dataRecord['server_id']), 'web');
- $document_root = str_replace("[website_id]", $page_form->id, $web_config["website_path"]);
- $document_root = str_replace("[website_idhash_1]", $this->id_hash($page_form->id, 1), $document_root);
- $document_root = str_replace("[website_idhash_2]", $this->id_hash($page_form->id, 1), $document_root);
- $document_root = str_replace("[website_idhash_3]", $this->id_hash($page_form->id, 1), $document_root);
- $document_root = str_replace("[website_idhash_4]", $this->id_hash($page_form->id, 1), $document_root);
-
- // get the ID of the client
- if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = $client_group_id");
- $client_id = $app->functions->intval($client["client_id"]);
- } else {
- //$client_id = $app->functions->intval($this->dataRecord["client_group_id"]);
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".$app->functions->intval($page_form->dataRecord["client_group_id"]));
- $client_id = $app->functions->intval($client["client_id"]);
- }
-
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote('web'.$page_form->id);
- $system_group = $app->db->quote('client'.$client_id);
-
- $document_root = str_replace("[client_id]", $client_id, $document_root);
- $document_root = str_replace("[client_idhash_1]", $this->id_hash($client_id, 1), $document_root);
- $document_root = str_replace("[client_idhash_2]", $this->id_hash($client_id, 2), $document_root);
- $document_root = str_replace("[client_idhash_3]", $this->id_hash($client_id, 3), $document_root);
- $document_root = str_replace("[client_idhash_4]", $this->id_hash($client_id, 4), $document_root);
- $document_root = $app->db->quote($document_root);
-
- $php_open_basedir = str_replace("[website_path]", $document_root, $web_config["php_open_basedir"]);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $page_form->dataRecord['domain'], $php_open_basedir));
-
- $htaccess_allow_override = $app->db->quote($web_config["htaccess_allow_override"]);
-
- $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$page_form->id;
- $app->db->query($sql);
- }
-
-}
diff --git a/interface/lib/plugins/sites_web_vhost_aliasdomain_plugin.inc.php b/interface/lib/plugins/sites_web_vhost_aliasdomain_plugin.inc.php
deleted file mode 100644
index c94db2a..0000000
--- a/interface/lib/plugins/sites_web_vhost_aliasdomain_plugin.inc.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-/**
- * sites_web_vhost_aliasdomain_plugin plugin
- *
- * @author Marius Cramer <m.cramer@pixcept.de> pixcept KG 2012, copied and adapted from web_domain plugin by:
- * @author Julio Montoya <gugli100@gmail.com> BeezNest 2010
- */
-
-
-class sites_web_vhost_aliasdomain_plugin {
-
- var $plugin_name = 'sites_web_vhost_aliasdomain_plugin';
- var $class_name = 'sites_web_vhost_aliasdomain_plugin';
-
- // TODO: This function is a duplicate from the one in interface/web/sites/web_vhost_aliasdomain_edit.php
- // There should be a single "token replacement" function to be called from modules and
- // from the main code.
- // Returna a "3/2/1" path hash from a numeric id '123'
- function id_hash($id, $levels) {
- $hash = "" . $id % 10 ;
- $id /= 10 ;
- $levels -- ;
- while ( $levels > 0 ) {
- $hash .= "/" . $id % 10 ;
- $id /= 10 ;
- $levels-- ;
- }
- return $hash;
- }
-
- /*
- This function is called when the plugin is loaded
- */
- function onLoad() {
- global $app;
- //Register for the events
- // both event call the same function as the things to do do not differ here
- $app->plugin->registerEvent('sites:web_vhost_aliasdomain:on_after_insert', 'sites_web_vhost_aliasdomain_plugin', 'sites_web_vhost_aliasdomain_edit');
- $app->plugin->registerEvent('sites:web_vhost_aliasdomain:on_after_update', 'sites_web_vhost_aliasdomain_plugin', 'sites_web_vhost_aliasdomain_edit');
- }
-
- /*
- Function to create the sites_web_vhost_aliasdomain rule and insert it into the custom rules
- */
- function sites_web_vhost_aliasdomain_edit($event_name, $page_form) {
- global $app, $conf;
-
- // Get configuration for the web system
- $app->uses("getconf");
- $web_config = $app->getconf->get_server_config($app->functions->intval($page_form->dataRecord['server_id']), 'web');
-
- $parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = '" . $app->functions->intval($page_form->dataRecord['parent_domain_id']) . "'");
-
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote($parent_domain['system_user']);
- $system_group = $app->db->quote($parent_domain['system_group']);
- $document_root = $app->db->quote($parent_domain['document_root']);
- $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$page_form->dataRecord['web_folder'], $web_config["php_open_basedir"]);
- $php_open_basedir = str_replace("[website_domain]/web", $page_form->dataRecord['domain'].'/'.$page_form->dataRecord['web_folder'], $php_open_basedir);
- $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $page_form->dataRecord['domain'], $php_open_basedir));
- $htaccess_allow_override = $app->db->quote($parent_domain['allow_override']);
-
- $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($parent_domain['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$page_form->id;
- $app->db->query($sql);
- }
-
-}
diff --git a/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php b/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php
new file mode 100644
index 0000000..4ca9f1f
--- /dev/null
+++ b/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php
@@ -0,0 +1,243 @@
+<?php
+/**
+ * sites_web_vhost_domain_plugin plugin
+ *
+ * @author Julio Montoya <gugli100@gmail.com> BeezNest 2010
+ */
+
+
+class sites_web_vhost_domain_plugin {
+
+ var $plugin_name = 'sites_web_vhost_domain_plugin';
+ var $class_name = 'sites_web_vhost_domain_plugin';
+
+ // TODO: This function is a duplicate from the one in interface/web/sites/web_domain_edit.php
+ // There should be a single "token replacement" function to be called from modules and
+ // from the main code.
+ // Returna a "3/2/1" path hash from a numeric id '123'
+ function id_hash($id, $levels) {
+ $hash = "" . $id % 10 ;
+ $id /= 10 ;
+ $levels -- ;
+ while ( $levels > 0 ) {
+ $hash .= "/" . $id % 10 ;
+ $id /= 10 ;
+ $levels-- ;
+ }
+ return $hash;
+ }
+
+ /*
+ This function is called when the plugin is loaded
+ */
+ function onLoad() {
+ global $app;
+ //Register for the events
+ $app->plugin->registerEvent('sites:web_vhost_domain:on_after_insert', 'sites_web_vhost_domain_plugin', 'sites_web_vhost_domain_edit');
+ $app->plugin->registerEvent('sites:web_vhost_domain:on_after_update', 'sites_web_vhost_domain_plugin', 'sites_web_vhost_domain_edit');
+ }
+
+ /*
+ Function to create the sites_web_domain rule and insert it into the custom rules
+ */
+ function sites_web_vhost_domain_edit($event_name, $page_form) {
+ global $app, $conf;
+
+ $vhostdomain_type = 'domain';
+ if($page_form->dataRecord['type'] == 'vhostalias') $vhostdomain_type = 'aliasdomain';
+ elseif($page_form->dataRecord['type'] == 'vhostsubdomain') $vhostdomain_type = 'subdomain';
+
+ // make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it
+ // also make sure that the user can not delete domain created by a admin
+ if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($page_form->dataRecord["client_group_id"])) {
+ $client_group_id = $app->functions->intval($page_form->dataRecord["client_group_id"]);
+ $app->db->query("UPDATE web_domain SET sys_groupid = $client_group_id, sys_perm_group = 'ru' WHERE domain_id = ".$page_form->id);
+ }
+ if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($page_form->dataRecord["client_group_id"])) {
+ $client_group_id = $app->functions->intval($page_form->dataRecord["client_group_id"]);
+ $app->db->query("UPDATE web_domain SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE domain_id = ".$page_form->id);
+ }
+ // Get configuration for the web system
+ $app->uses("getconf");
+ $web_config = $app->getconf->get_server_config($app->functions->intval($page_form->dataRecord['server_id']), 'web');
+ if(isset($app->tform) && is_object($app->tform)) $web_rec = $app->tform->getDataRecord($page_form->id);
+ else $web_rec = $app->remoting_lib->getDataRecord($page_form->id);
+
+ if($vhostdomain_type == 'domain') {
+ $document_root = str_replace("[website_id]", $page_form->id, $web_config["website_path"]);
+ $document_root = str_replace("[website_idhash_1]", $this->id_hash($page_form->id, 1), $document_root);
+ $document_root = str_replace("[website_idhash_2]", $this->id_hash($page_form->id, 1), $document_root);
+ $document_root = str_replace("[website_idhash_3]", $this->id_hash($page_form->id, 1), $document_root);
+ $document_root = str_replace("[website_idhash_4]", $this->id_hash($page_form->id, 1), $document_root);
+
+ // get the ID of the client
+ if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+ $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = $client_group_id");
+ $client_id = $app->functions->intval($client["client_id"]);
+ } elseif (isset($page_form->dataRecord["client_group_id"])) {
+ $client_group_id = $page_form->dataRecord["client_group_id"];
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".$app->functions->intval(@$page_form->dataRecord["client_group_id"]));
+ $client_id = $app->functions->intval($client["client_id"]);
+ } else {
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".$app->functions->intval($page_form->dataRecord["client_group_id"]));
+ $client_id = $app->functions->intval($client["client_id"]);
+ }
+
+ // Set the values for document_root, system_user and system_group
+ $system_user = $app->db->quote('web'.$page_form->id);
+ $system_group = $app->db->quote('client'.$client_id);
+
+ $document_root = str_replace("[client_id]", $client_id, $document_root);
+ $document_root = str_replace("[client_idhash_1]", $this->id_hash($client_id, 1), $document_root);
+ $document_root = str_replace("[client_idhash_2]", $this->id_hash($client_id, 2), $document_root);
+ $document_root = str_replace("[client_idhash_3]", $this->id_hash($client_id, 3), $document_root);
+ $document_root = str_replace("[client_idhash_4]", $this->id_hash($client_id, 4), $document_root);
+ $document_root = $app->db->quote($document_root);
+
+ if($event_name == 'sites:web_vhost_domain:on_after_update') {
+ if(($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) && isset($page_form->dataRecord["client_group_id"]) && $page_form->dataRecord["client_group_id"] != $page_form->oldDataRecord["sys_groupid"]) {
+
+ $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root' WHERE domain_id = ".$page_form->id;
+ $app->db->query($sql);
+
+ // Update the FTP user(s) too
+ $records = $app->db->queryAllRecords("SELECT ftp_user_id FROM ftp_user WHERE parent_domain_id = ".$page_form->id);
+ foreach($records as $rec) {
+ $app->db->datalogUpdate('ftp_user', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."', uid = '$system_user', gid = '$system_group', dir = '$document_root'", 'ftp_user_id', $app->functions->intval($rec['ftp_user_id']));
+ }
+ unset($records);
+ unset($rec);
+
+ // Update the Shell user(s) too
+ $records = $app->db->queryAllRecords("SELECT shell_user_id FROM shell_user WHERE parent_domain_id = ".$page_form->id);
+ foreach($records as $rec) {
+ $app->db->datalogUpdate('shell_user', "sys_userid = '".$web_rec['sys_userid']."', sys_groupid = '".$web_rec['sys_groupid']."', puser = '$system_user', pgroup = '$system_group', dir = '$document_root'", 'shell_user_id', $app->functions->intval($rec['shell_user_id']));
+ }
+ unset($records);
+ unset($rec);
+
+ //* Update all subdomains and alias domains
+ $records = $app->db->queryAllRecords("SELECT domain_id, `domain`, `type`, `web_folder` FROM web_domain WHERE parent_domain_id = ".$page_form->id);
+ foreach($records as $rec) {
+ $update_columns = "sys_userid = '".$web_rec['sys_userid']."', sys_groupid = '".$web_rec['sys_groupid']."'";
+ if($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') {
+ $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$rec['web_folder'], $web_config["php_open_basedir"]);
+ $php_open_basedir = str_replace("[website_domain]/web", $rec['domain'].'/'.$rec['web_folder'], $php_open_basedir);
+ $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
+ $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $rec['domain'], $php_open_basedir));
+
+ $update_columns .= ", document_root = '".$document_root."', `php_open_basedir` = '".$php_open_basedir."'";
+ }
+ $app->db->datalogUpdate('web_domain', $update_columns, 'domain_id', $rec['domain_id']);
+ }
+ unset($records);
+ unset($rec);
+
+ //* Update all databases
+ $records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ".$page_form->id);
+ foreach($records as $rec) {
+ $app->db->datalogUpdate('web_database', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'database_id', $app->functions->intval($rec['database_id']));
+ }
+ unset($records);
+ unset($rec);
+
+ }
+
+ //* If the domain name has been changed, we will have to change all subdomains + APS instances
+ if(!empty($page_form->dataRecord["domain"]) && !empty($page_form->oldDataRecord["domain"]) && $page_form->dataRecord["domain"] != $page_form->oldDataRecord["domain"]) {
+ $records = $app->db->queryAllRecords("SELECT domain_id,domain FROM web_domain WHERE (type = 'subdomain' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND domain LIKE '%.".$app->db->quote($page_form->oldDataRecord["domain"])."'");
+ foreach($records as $rec) {
+ $subdomain = $app->db->quote(str_replace($page_form->oldDataRecord["domain"], $page_form->dataRecord["domain"], $rec['domain']));
+ $app->db->datalogUpdate('web_domain', "domain = '".$subdomain."'", 'domain_id', $rec['domain_id']);
+ }
+ unset($records);
+ unset($rec);
+ unset($subdomain);
+
+ // Update APS instances
+ $records = $app->db->queryAllRecords("SELECT id, instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = '".$app->db->quote($page_form->oldDataRecord["domain"])."'");
+ if(is_array($records) && !empty($records)){
+ foreach($records as $rec){
+ $app->db->datalogUpdate('aps_instances_settings', "value = '".$app->db->quote($page_form->dataRecord["domain"])."'", 'id', $rec['id']);
+ // Reinstall of package needed?
+ //$app->db->datalogUpdate('aps_instances', "instance_status = '1'", 'id', $rec['instance_id']);
+ }
+ }
+ unset($records);
+ unset($rec);
+ }
+
+ //* Set allow_override if empty
+ if($web_rec['allow_override'] == '') {
+ $sql = "UPDATE web_domain SET allow_override = '".$app->db->quote($web_config["htaccess_allow_override"])."' WHERE domain_id = ".$page_form->id;
+ $app->db->query($sql);
+ }
+
+ //* Set php_open_basedir if empty or domain or client has been changed
+ if(empty($web_rec['php_open_basedir']) ||
+ (!empty($page_form->dataRecord["domain"]) && !empty($page_form->oldDataRecord["domain"]) && $page_form->dataRecord["domain"] != $page_form->oldDataRecord["domain"])) {
+ $php_open_basedir = $web_rec['php_open_basedir'];
+ $php_open_basedir = $app->db->quote(str_replace($page_form->oldDataRecord['domain'], $web_rec['domain'], $php_open_basedir));
+ $sql = "UPDATE web_domain SET php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$page_form->id;
+ $app->db->query($sql);
+ }
+ if(empty($web_rec['php_open_basedir']) ||
+ (isset($page_form->dataRecord["client_group_id"]) && $page_form->dataRecord["client_group_id"] != $page_form->oldDataRecord["sys_groupid"])) {
+ $document_root = $app->db->quote(str_replace("[client_id]", $client_id, $document_root));
+ $php_open_basedir = str_replace("[website_path]", $document_root, $web_config["php_open_basedir"]);
+ $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
+ $sql = "UPDATE web_domain SET php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$page_form->id;
+ $app->db->query($sql);
+ }
+
+ //* Change database backup options when web backup options have been changed
+ if(isset($page_form->dataRecord['backup_interval']) && ($page_form->dataRecord['backup_interval'] != $page_form->oldDataRecord['backup_interval'] || $page_form->dataRecord['backup_copies'] != $page_form->oldDataRecord['backup_copies'])) {
+ //* Update all databases
+ $backup_interval = $app->functions->intval($page_form->dataRecord['backup_interval']);
+ $backup_copies = $app->functions->intval($page_form->dataRecord['backup_copies']);
+ $records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ".$page_form->id);
+ foreach($records as $rec) {
+ $app->db->datalogUpdate('web_database', "backup_interval = '$backup_interval', backup_copies = '$backup_copies'", 'database_id', $rec['database_id']);
+ }
+ unset($records);
+ unset($rec);
+ unset($backup_copies);
+ unset($backup_interval);
+ }
+
+ //* Change vhost subdomain and alias ip/ipv6 if domain ip/ipv6 has changed
+ if(isset($page_form->dataRecord['ip_address']) && ($page_form->dataRecord['ip_address'] != $page_form->oldDataRecord['ip_address'] || $page_form->dataRecord['ipv6_address'] != $page_form->oldDataRecord['ipv6_address'])) {
+ $records = $app->db->queryAllRecords("SELECT domain_id FROM web_domain WHERE (type = 'vhostsubdomain' OR type = 'vhostalias') AND parent_domain_id = ".$page_form->id);
+ foreach($records as $rec) {
+ $app->db->datalogUpdate('web_domain', "ip_address = '".$app->db->quote($web_rec['ip_address'])."', ipv6_address = '".$app->db->quote($web_rec['ipv6_address'])."'", 'domain_id', $rec['domain_id']);
+ }
+ unset($records);
+ unset($rec);
+ }
+ } else {
+ $php_open_basedir = str_replace("[website_path]", $document_root, $web_config["php_open_basedir"]);
+ $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $page_form->dataRecord['domain'], $php_open_basedir));
+
+ $htaccess_allow_override = $app->db->quote($web_config["htaccess_allow_override"]);
+ $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$page_form->id;
+ $app->db->query($sql);
+ }
+ } else {
+ $parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = '" . $app->functions->intval($page_form->dataRecord['parent_domain_id']) . "'");
+
+ // Set the values for document_root, system_user and system_group
+ $system_user = $app->db->quote($parent_domain['system_user']);
+ $system_group = $app->db->quote($parent_domain['system_group']);
+ $document_root = $app->db->quote($parent_domain['document_root']);
+ $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$page_form->dataRecord['web_folder'], $web_config["php_open_basedir"]);
+ $php_open_basedir = str_replace("[website_domain]/web", $page_form->dataRecord['domain'].'/'.$page_form->dataRecord['web_folder'], $php_open_basedir);
+ $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
+ $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $page_form->dataRecord['domain'], $php_open_basedir));
+ $htaccess_allow_override = $app->db->quote($parent_domain['allow_override']);
+ $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($parent_domain['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$page_form->id;
+ $app->db->query($sql);
+ }
+ }
+
+}
diff --git a/interface/lib/plugins/sites_web_vhost_subdomain_plugin.inc.php b/interface/lib/plugins/sites_web_vhost_subdomain_plugin.inc.php
deleted file mode 100644
index e28c184..0000000
--- a/interface/lib/plugins/sites_web_vhost_subdomain_plugin.inc.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-/**
- * sites_web_domain_plugin plugin
- *
- * @author Marius Cramer <m.cramer@pixcept.de> pixcept KG 2012, copied and adapted from web_domain plugin by:
- * @author Julio Montoya <gugli100@gmail.com> BeezNest 2010
- */
-
-
-class sites_web_vhost_subdomain_plugin {
-
- var $plugin_name = 'sites_web_vhost_subdomain_plugin';
- var $class_name = 'sites_web_vhost_subdomain_plugin';
-
- // TODO: This function is a duplicate from the one in interface/web/sites/web_vhost_subdomain_edit.php
- // There should be a single "token replacement" function to be called from modules and
- // from the main code.
- // Returna a "3/2/1" path hash from a numeric id '123'
- function id_hash($id, $levels) {
- $hash = "" . $id % 10 ;
- $id /= 10 ;
- $levels -- ;
- while ( $levels > 0 ) {
- $hash .= "/" . $id % 10 ;
- $id /= 10 ;
- $levels-- ;
- }
- return $hash;
- }
-
- /*
- This function is called when the plugin is loaded
- */
- function onLoad() {
- global $app;
- //Register for the events
- // both event call the same function as the things to do do not differ here
- $app->plugin->registerEvent('sites:web_vhost_subdomain:on_after_insert', 'sites_web_vhost_subdomain_plugin', 'sites_web_vhost_subdomain_edit');
- $app->plugin->registerEvent('sites:web_vhost_subdomain:on_after_update', 'sites_web_vhost_subdomain_plugin', 'sites_web_vhost_subdomain_edit');
- }
-
- /*
- Function to create the sites_web_vhost_subdomain rule and insert it into the custom rules
- */
- function sites_web_vhost_subdomain_edit($event_name, $page_form) {
- global $app, $conf;
-
- // Get configuration for the web system
- $app->uses("getconf");
- $web_config = $app->getconf->get_server_config($app->functions->intval($page_form->dataRecord['server_id']), 'web');
-
- $parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = '" . $app->functions->intval($page_form->dataRecord['parent_domain_id']) . "'");
-
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote($parent_domain['system_user']);
- $system_group = $app->db->quote($parent_domain['system_group']);
- $document_root = $app->db->quote($parent_domain['document_root']);
- $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$page_form->dataRecord['web_folder'], $web_config["php_open_basedir"]);
- $php_open_basedir = str_replace("[website_domain]/web", $page_form->dataRecord['domain'].'/'.$page_form->dataRecord['web_folder'], $php_open_basedir);
- $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $page_form->dataRecord['domain'], $php_open_basedir));
- $htaccess_allow_override = $app->db->quote($parent_domain['allow_override']);
-
- $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($parent_domain['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$page_form->id;
- $app->db->query($sql);
- }
-
-}
diff --git a/interface/web/sites/form/web_vhost_aliasdomain.tform.php b/interface/web/sites/form/web_vhost_aliasdomain.tform.php
deleted file mode 100644
index 1b877a6..0000000
--- a/interface/web/sites/form/web_vhost_aliasdomain.tform.php
+++ /dev/null
@@ -1,735 +0,0 @@
-<?php
-
-/*
- Form Definition
-
- Tabledefinition
-
- Datatypes:
- - INTEGER (Forces the input to Int)
- - DOUBLE
- - CURRENCY (Formats the values to currency notation)
- - VARCHAR (no format check, maxlength: 255)
- - TEXT (no format check)
- - DATE (Dateformat, automatic conversion to timestamps)
-
- Formtype:
- - TEXT (Textfield)
- - TEXTAREA (Textarea)
- - PASSWORD (Password textfield, input is not shown when edited)
- - SELECT (Select option field)
- - RADIO
- - CHECKBOX
- - CHECKBOXARRAY
- - FILE
-
- VALUE:
- - Wert oder Array
-
- 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"] = "Aliasdomain";
-$form["description"] = "";
-$form["name"] = "web_vhost_aliasdomain";
-$form["action"] = "web_vhost_aliasdomain_edit.php";
-$form["db_table"] = "web_domain";
-$form["db_table_idx"] = "domain_id";
-$form["db_history"] = "yes";
-$form["tab_default"] = "domain";
-$form["list_default"] = "web_vhost_aliasdomain_list.php";
-$form["auth"] = 'yes'; // yes / no
-
-$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
-
-$wildcard_available = false;
-$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_ssl'] != 'y') $ssl_available = false;
-}
-
-$app->uses('getconf');
-$web_config = $app->getconf->get_global_config('sites');
-
-$form["tabs"]['domain'] = array (
- 'title' => "Domain",
- 'width' => 100,
- 'template' => "templates/web_vhost_aliasdomain_edit.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'server_id' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'SELECT',
- 'default' => '',
- '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',
- 'valuefield'=> 'server_name'
- ),
- 'value' => ''
- ),
- 'ip_address' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- /*'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
- 'keyfield'=> 'ip_address',
- 'valuefield'=> 'ip_address'
- ),*/
- 'value' => '',
- 'searchable' => 2
- ),
- 'ipv6_address' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- /*'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv6' AND {AUTHSQL} ORDER BY ip_address",
- 'keyfield'=> 'ip_address',
- 'valuefield'=> 'ip_address'
- ),*/
- 'value' => '',
- 'searchable' => 2
- ),
- 'domain' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- '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' => 'alias_domain',
- 'errmsg'=> 'domain_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255',
- 'searchable' => 1
- ),
- 'type' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'y',
- 'value' => array('vhost' => 'Site', 'alias' => 'Alias', 'vhostalias' => 'Alias', 'subdomain' => 'Subdomain', 'vhostsubdomain' => 'Subdomain')
- ),
- 'parent_domain_id' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain",
- 'keyfield'=> 'domain_id',
- 'valuefield'=> 'parent_domain'
- ),
- 'value' => ''
- ),
- 'web_folder' => array (
- 'datatype' => 'VARCHAR',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '@^((?!.*\.\.)[\w/_\.\-]{1,100})$@',
- 'errmsg'=> 'web_folder_error_regex'),
- ),
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'vhost_type' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'y',
- 'value' => array('name' => 'Namebased', 'ip' => 'IP-Based')
- ),
- 'hd_quota' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '0',
- 'value' => '',
- 'width' => '7',
- 'maxlength' => '7'
- ),
- 'traffic_quota' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'traffic_quota_error_empty'),
- 1 => array ( 'type' => 'REGEX',
- 'regex' => '/^(\-1|[0-9]{1,10})$/',
- 'errmsg'=> 'traffic_quota_error_regex'),
- ),
- 'default' => '-1',
- 'value' => '',
- 'width' => '7',
- 'maxlength' => '7'
- ),
- 'cgi' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'ssi' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'suexec' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'errordocs' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'CHECKBOX',
- 'default' => '1',
- 'value' => array(0 => '0', 1 => '1')
- ),
- 'subdomain' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'www',
- 'value' => ($wildcard_available ? array('none' => 'none_txt', 'www' => 'www.', '*' => '*.') : array('none' => 'none_txt', 'www' => 'www.'))
- ),
- 'ssl' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'php' => array (
- 'datatype' => 'VARCHAR',
- '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'),
- 'searchable' => 2
- ),
- 'fastcgi_php_version' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- /*'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
- 'keyfield'=> 'ip_address',
- 'valuefield'=> 'ip_address'
- ),*/
- 'value' => ''
- ),
- 'perl' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'ruby' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'python' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'active' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
-);
-
-
-$form["tabs"]['redirect'] = array (
- 'title' => "Redirect",
- 'width' => 100,
- 'template' => "templates/web_vhost_aliasdomain_redirect.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'redirect_type' => array (
- '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', 'proxy' => 'proxy')
- ),
- 'redirect_path' => array (
- 'datatype' => 'VARCHAR',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '@^(([\.]{0})|((ftp|https?)://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~!:%]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!:%]*(\?\S+)?)?)?)|(/(?!.*\.\.)[\w/_\.\-]{1,255}/))$@',
- 'errmsg'=> 'redirect_error_regex'),
- ),
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'seo_redirect' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- '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
- //#################################
- )
-);
-
-if($ssl_available) {
- $form["tabs"]['ssl'] = array (
- 'title' => "SSL",
- 'width' => 100,
- 'template' => "templates/web_vhost_aliasdomain_ssl.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'ssl_state' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_state_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_locality' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_locality_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_organisation' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_organisation_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_organisation_unit' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_organistaion_unit_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- /*
- 'ssl_country' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([A-Z]{2,2}))$/',
- 'errmsg'=> 'ssl_country_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '2',
- 'maxlength' => '2'
- ),
- */
- 'ssl_country' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name',
- 'keyfield'=> 'iso',
- 'valuefield'=> 'printable_name'
- ),
- 'value' => ''
- ),
- 'ssl_domain' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_key' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_request' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_cert' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_bundle' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_action' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'value' => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt')
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
- );
-}
-
-//* Statistics
-$form["tabs"]['stats'] = array (
- 'title' => "Stats",
- 'width' => 100,
- 'template' => "templates/web_vhost_aliasdomain_stats.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'stats_password' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'PASSWORD',
- 'encryption' => 'CRYPT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'stats_type' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'webalizer',
- 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
-);
-
-// if($_SESSION["s"]["user"]["typ"] == 'admin') {
-
-//* Backup
-$form["tabs"]['backup'] = array (
- 'title' => "Backup",
- 'width' => 100,
- 'template' => "templates/web_vhost_aliasdomain_backup.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'backup_interval' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'value' => array('none' => 'No backup', 'daily' => 'Daily', 'weekly' => 'Weekly', 'monthly' => 'Monthly')
- ),
- '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
- //#################################
- ),
- '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']))) {
-
- $form["tabs"]['advanced'] = array (
- 'title' => "Options",
- 'width' => 100,
- 'template' => "templates/web_vhost_aliasdomain_advanced.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'document_root' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'documentroot_error_empty'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'system_user' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'sysuser_error_empty'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'system_group' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'sysgroup_error_empty'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'allow_override' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'allow_override_error_empty'),
- ),
- 'default' => 'All',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'php_fpm_use_socket' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'pm' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'dynamic',
- 'value' => array('static' => 'static', 'dynamic' => 'dynamic', 'ondemand' => 'ondemand (PHP Version >= 5.3.9)')
- ),
- 'pm_max_children' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_max_children_error_regex'),
- ),
- 'default' => '10',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_start_servers' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_start_servers_error_regex'),
- ),
- 'default' => '2',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_min_spare_servers' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_min_spare_servers_error_regex'),
- ),
- 'default' => '1',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_max_spare_servers' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_max_spare_servers_error_regex'),
- ),
- 'default' => '5',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_process_idle_timeout' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_process_idle_timeout_error_regex'),
- ),
- 'default' => '10',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '6'
- ),
- 'pm_max_requests' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([0-9]{1,11})$/',
- 'errmsg'=> 'pm_max_requests_error_regex'),
- ),
- 'default' => '0',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '6'
- ),
- 'php_open_basedir' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- /*'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'php_open_basedir_error_empty'),
- ), */
- 'default' => 'All',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'custom_php_ini' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'apache_directives' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'nginx_directives' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'proxy_directives' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
- );
-
-}
-
-
-?>
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_vhost_domain.tform.php
similarity index 86%
rename from interface/web/sites/form/web_domain.tform.php
rename to interface/web/sites/form/web_vhost_domain.tform.php
index 84f8cd5..b529181 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_vhost_domain.tform.php
@@ -38,15 +38,31 @@
*/
-$form["title"] = "Web Domain";
+$vhostdomain_type = 'domain';
+$form_title = "Web Domain";
+$validator_function = 'web_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';
+ } elseif($_SESSION['s']['var']['vhostdomain_type'] == 'aliasdomain') {
+ $vhostdomain_type = 'aliasdomain';
+ $form_title = "Aliasdomain";
+ $validator_function = 'alias_domain';
+ }
+}
+
+$form["title"] = $form_title;
$form["description"] = "";
-$form["name"] = "web_domain";
-$form["action"] = "web_domain_edit.php";
+$form["name"] = "web_vhost_domain";
+$form["action"] = "web_vhost_domain_edit.php";
$form["db_table"] = "web_domain";
$form["db_table_idx"] = "domain_id";
$form["db_history"] = "yes";
$form["tab_default"] = "domain";
-$form["list_default"] = "web_domain_list.php";
+$form["list_default"] = "web_vhost_domain_list.php";
$form["auth"] = 'yes'; // yes / no
$form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user
@@ -55,14 +71,16 @@
$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
+$web_domain_edit_readonly = false;
// Clients may not change the website basic settings if they are not resellers
if($app->auth->has_clients($_SESSION['s']['user']['userid']) || $app->auth->is_admin()) {
$web_domain_edit_readonly = false;
} else {
- $web_domain_edit_readonly = true;
+ if($vhostdomain_type == 'domain') $web_domain_edit_readonly = true;
}
$wildcard_available = true;
+if($vhostdomain_type != 'domain') $wildcard_available = false;
$ssl_available = true;
if(!$app->auth->is_admin()) {
$client_group_id = $_SESSION["s"]["user"]["default_group"];
@@ -78,7 +96,7 @@
$form["tabs"]['domain'] = array (
'title' => "Domain",
'width' => 100,
- 'template' => "templates/web_domain_edit.htm",
+ 'template' => "templates/web_vhost_domain_edit.htm",
'readonly' => $web_domain_edit_readonly,
'fields' => array (
//#################################
@@ -88,9 +106,6 @@
'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',
@@ -134,7 +149,7 @@
),
'validators' => array ( 0 => array ( 'type' => 'CUSTOM',
'class' => 'validate_domain',
- 'function' => 'web_domain',
+ 'function' => $validator_function,
'errmsg'=> 'domain_error_regex'),
),
'default' => '',
@@ -147,17 +162,12 @@
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => 'y',
- 'value' => array('vhost' => 'Site', 'alias' => 'Alias')
+ 'value' => array('vhost' => 'Site', 'alias' => 'Alias', 'vhostalias' => 'Alias', 'subdomain' => 'Subdomain', 'vhostsubdomain' => 'Subdomain')
),
'parent_domain_id' => array (
'datatype' => 'INTEGER',
'formtype' => 'SELECT',
'default' => '',
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'site' AND {AUTHSQL} ORDER BY domain",
- 'keyfield'=> 'domain_id',
- 'valuefield'=> 'domain'
- ),
'value' => ''
),
'vhost_type' => array (
@@ -169,13 +179,7 @@
'hd_quota' => array (
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'hd_quota_error_empty'),
- 1 => array ( 'type' => 'REGEX',
- 'regex' => '/^(\-1|[0-9]{1,10})$/',
- 'errmsg'=> 'hd_quota_error_regex'),
- ),
- 'default' => '-1',
+ 'default' => ($vhostdomain_type == 'domain' ? '-1' : '0'),
'value' => '',
'width' => '7',
'maxlength' => '7'
@@ -222,11 +226,6 @@
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => '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 (
@@ -284,11 +283,66 @@
)
);
+// add type-specific field attributes
+if($vhostdomain_type == 'domain') {
+ $form['tabs']['domain']['fields']['server_id']['validators'] = array(
+ 0 => array (
+ 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'no_server_error'
+ ),
+ );
+ $form['tabs']['domain']['fields']['parent_domain_id']['datasource'] = array (
+ 'type' => 'SQL',
+ 'querystring' => "SELECT web_domain.domain_id,web_domain.domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain",
+ 'keyfield'=> 'domain_id',
+ 'valuefield'=> 'domain'
+ );
+ $form['tabs']['domain']['fields']['hd_quota']['validators'] = array (
+ 0 => array (
+ 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'hd_quota_error_empty'
+ ),
+ 1 => array (
+ 'type' => 'REGEX',
+ 'regex' => '/^(\-1|[0-9]{1,10})$/',
+ 'errmsg'=> 'hd_quota_error_regex'
+ ),
+ );
+ $form['tabs']['domain']['fields']['subdomain']['validators'] = array(
+ 0 => array (
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_domain',
+ 'function' => 'web_domain_autosub',
+ 'errmsg'=> 'domain_error_autosub'
+ ),
+ );
+} else {
+ $form['tabs']['domain']['fields']['parent_domain_id']['datasource'] = array (
+ 'type' => 'SQL',
+ 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain",
+ 'keyfield'=> 'domain_id',
+ 'valuefield'=> 'parent_domain'
+ );
+ $form['tabs']['domain']['fields']['web_folder'] = array (
+ 'datatype' => 'VARCHAR',
+ 'validators' => array ( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '@^((?!.*\.\.)[\w/_\.\-]{1,100})$@',
+ 'errmsg'=> 'web_folder_error_regex'),
+ ),
+ 'formtype' => 'TEXT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ );
+
+}
+
$form["tabs"]['redirect'] = array (
'title' => "Redirect",
'width' => 100,
- 'template' => "templates/web_domain_redirect.htm",
+ 'template' => "templates/web_vhost_domain_redirect.htm",
'readonly' => false,
'fields' => array (
//#################################
@@ -336,7 +390,7 @@
$form["tabs"]['ssl'] = array (
'title' => "SSL",
'width' => 100,
- 'template' => "templates/web_domain_ssl.htm",
+ 'template' => "templates/web_vhost_domain_ssl.htm",
'readonly' => false,
'fields' => array (
//#################################
@@ -472,7 +526,7 @@
$form["tabs"]['stats'] = array (
'title' => "Stats",
'width' => 100,
- 'template' => "templates/web_domain_stats.htm",
+ 'template' => "templates/web_vhost_domain_stats.htm",
'readonly' => false,
'fields' => array (
//#################################
@@ -505,7 +559,7 @@
$form["tabs"]['backup'] = array (
'title' => "Backup",
'width' => 100,
- 'template' => "templates/web_domain_backup.htm",
+ 'template' => "templates/web_vhost_domain_backup.htm",
'readonly' => false,
'fields' => array (
//#################################
@@ -556,7 +610,7 @@
$form["tabs"]['advanced'] = array (
'title' => "Options",
'width' => 100,
- 'template' => "templates/web_domain_advanced.htm",
+ 'template' => "templates/web_vhost_domain_advanced.htm",
'readonly' => false,
'fields' => array (
//#################################
diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php
deleted file mode 100644
index de2fba8..0000000
--- a/interface/web/sites/form/web_vhost_subdomain.tform.php
+++ /dev/null
@@ -1,735 +0,0 @@
-<?php
-
-/*
- Form Definition
-
- Tabledefinition
-
- Datatypes:
- - INTEGER (Forces the input to Int)
- - DOUBLE
- - CURRENCY (Formats the values to currency notation)
- - VARCHAR (no format check, maxlength: 255)
- - TEXT (no format check)
- - DATE (Dateformat, automatic conversion to timestamps)
-
- Formtype:
- - TEXT (Textfield)
- - TEXTAREA (Textarea)
- - PASSWORD (Password textfield, input is not shown when edited)
- - SELECT (Select option field)
- - RADIO
- - CHECKBOX
- - CHECKBOXARRAY
- - FILE
-
- VALUE:
- - Wert oder Array
-
- 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"] = "Subdomain";
-$form["description"] = "";
-$form["name"] = "web_vhost_subdomain";
-$form["action"] = "web_vhost_subdomain_edit.php";
-$form["db_table"] = "web_domain";
-$form["db_table_idx"] = "domain_id";
-$form["db_history"] = "yes";
-$form["tab_default"] = "domain";
-$form["list_default"] = "web_vhost_subdomain_list.php";
-$form["auth"] = 'yes'; // yes / no
-
-$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
-
-$wildcard_available = false;
-$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_ssl'] != 'y') $ssl_available = false;
-}
-
-$app->uses('getconf');
-$web_config = $app->getconf->get_global_config('sites');
-
-$form["tabs"]['domain'] = array (
- 'title' => "Domain",
- 'width' => 100,
- 'template' => "templates/web_vhost_subdomain_edit.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'server_id' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'SELECT',
- 'default' => '',
- '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',
- 'valuefield'=> 'server_name'
- ),
- 'value' => ''
- ),
- 'ip_address' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- /*'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
- 'keyfield'=> 'ip_address',
- 'valuefield'=> 'ip_address'
- ),*/
- 'value' => '',
- 'searchable' => 2
- ),
- 'ipv6_address' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- /*'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv6' AND {AUTHSQL} ORDER BY ip_address",
- 'keyfield'=> 'ip_address',
- 'valuefield'=> 'ip_address'
- ),*/
- 'value' => '',
- 'searchable' => 2
- ),
- 'domain' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- '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' => 'sub_domain',
- 'errmsg'=> 'domain_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255',
- 'searchable' => 1
- ),
- 'type' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'y',
- 'value' => array('vhost' => 'Site', 'alias' => 'Alias', 'vhostalias' => 'Alias', 'subdomain' => 'Subdomain', 'vhostsubdomain' => 'Subdomain')
- ),
- 'parent_domain_id' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain",
- 'keyfield'=> 'domain_id',
- 'valuefield'=> 'parent_domain'
- ),
- 'value' => ''
- ),
- 'web_folder' => array (
- 'datatype' => 'VARCHAR',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '@^((?!.*\.\.)[\w/_\.\-]{1,100})$@',
- 'errmsg'=> 'web_folder_error_regex'),
- ),
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'vhost_type' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'y',
- 'value' => array('name' => 'Namebased', 'ip' => 'IP-Based')
- ),
- 'hd_quota' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'default' => '0',
- 'value' => '',
- 'width' => '7',
- 'maxlength' => '7'
- ),
- 'traffic_quota' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'traffic_quota_error_empty'),
- 1 => array ( 'type' => 'REGEX',
- 'regex' => '/^(\-1|[0-9]{1,10})$/',
- 'errmsg'=> 'traffic_quota_error_regex'),
- ),
- 'default' => '-1',
- 'value' => '',
- 'width' => '7',
- 'maxlength' => '7'
- ),
- 'cgi' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'ssi' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'suexec' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'errordocs' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'CHECKBOX',
- 'default' => '1',
- 'value' => array(0 => '0', 1 => '1')
- ),
- 'subdomain' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'www',
- 'value' => ($wildcard_available ? array('none' => 'none_txt', 'www' => 'www.', '*' => '*.') : array('none' => 'none_txt', 'www' => 'www.'))
- ),
- 'ssl' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'php' => array (
- 'datatype' => 'VARCHAR',
- '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'),
- 'searchable' => 2
- ),
- 'fastcgi_php_version' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- /*'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
- 'keyfield'=> 'ip_address',
- 'valuefield'=> 'ip_address'
- ),*/
- 'value' => ''
- ),
- 'perl' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'ruby' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'python' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'active' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
-);
-
-
-$form["tabs"]['redirect'] = array (
- 'title' => "Redirect",
- 'width' => 100,
- 'template' => "templates/web_vhost_subdomain_redirect.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'redirect_type' => array (
- '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', 'proxy' => 'proxy')
- ),
- 'redirect_path' => array (
- 'datatype' => 'VARCHAR',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '@^(([\.]{0})|((ftp|https?)://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~!:%]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!:%]*(\?\S+)?)?)?)|(/(?!.*\.\.)[\w/_\.\-]{1,255}/))$@',
- 'errmsg'=> 'redirect_error_regex'),
- ),
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'seo_redirect' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- '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
- //#################################
- )
-);
-
-if($ssl_available) {
- $form["tabs"]['ssl'] = array (
- 'title' => "SSL",
- 'width' => 100,
- 'template' => "templates/web_vhost_subdomain_ssl.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'ssl_state' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_state_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_locality' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_locality_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_organisation' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_organisation_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_organisation_unit' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
- 'errmsg'=> 'ssl_organistaion_unit_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- /*
- 'ssl_country' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^(([\.]{0})|([A-Z]{2,2}))$/',
- 'errmsg'=> 'ssl_country_error_regex'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '2',
- 'maxlength' => '2'
- ),
- */
- 'ssl_country' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name',
- 'keyfield'=> 'iso',
- 'valuefield'=> 'printable_name'
- ),
- 'value' => ''
- ),
- 'ssl_domain' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'ssl_key' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_request' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_cert' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_bundle' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXTAREA',
- 'default' => '',
- 'value' => '',
- 'cols' => '30',
- 'rows' => '10'
- ),
- 'ssl_action' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'value' => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt')
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
- );
-}
-
-//* Statistics
-$form["tabs"]['stats'] = array (
- 'title' => "Stats",
- 'width' => 100,
- 'template' => "templates/web_vhost_subdomain_stats.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'stats_password' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'PASSWORD',
- 'encryption' => 'CRYPT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'stats_type' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'webalizer',
- 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
-);
-
-// if($_SESSION["s"]["user"]["typ"] == 'admin') {
-
-//* Backup
-$form["tabs"]['backup'] = array (
- 'title' => "Backup",
- 'width' => 100,
- 'template' => "templates/web_vhost_subdomain_backup.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'backup_interval' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '',
- 'value' => array('none' => 'No backup', 'daily' => 'Daily', 'weekly' => 'Weekly', 'monthly' => 'Monthly')
- ),
- '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
- //#################################
- ),
- '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']))) {
-
- $form["tabs"]['advanced'] = array (
- 'title' => "Options",
- 'width' => 100,
- 'template' => "templates/web_vhost_subdomain_advanced.htm",
- 'readonly' => false,
- 'fields' => array (
- //#################################
- // Begin Datatable fields
- //#################################
- 'document_root' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'documentroot_error_empty'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'system_user' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'sysuser_error_empty'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'system_group' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'sysgroup_error_empty'),
- ),
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'allow_override' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'allow_override_error_empty'),
- ),
- 'default' => 'All',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'php_fpm_use_socket' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'n',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'pm' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => 'dynamic',
- 'value' => array('static' => 'static', 'dynamic' => 'dynamic', 'ondemand' => 'ondemand (PHP Version >= 5.3.9)')
- ),
- 'pm_max_children' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_max_children_error_regex'),
- ),
- 'default' => '10',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_start_servers' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_start_servers_error_regex'),
- ),
- 'default' => '2',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_min_spare_servers' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_min_spare_servers_error_regex'),
- ),
- 'default' => '1',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_max_spare_servers' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_max_spare_servers_error_regex'),
- ),
- 'default' => '5',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '3'
- ),
- 'pm_process_idle_timeout' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([1-9][0-9]{0,10})$/',
- 'errmsg'=> 'pm_process_idle_timeout_error_regex'),
- ),
- 'default' => '10',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '6'
- ),
- 'pm_max_requests' => array (
- 'datatype' => 'INTEGER',
- 'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^([0-9]{1,11})$/',
- 'errmsg'=> 'pm_max_requests_error_regex'),
- ),
- 'default' => '0',
- 'value' => '',
- 'width' => '3',
- 'maxlength' => '6'
- ),
- 'php_open_basedir' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- /*'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'php_open_basedir_error_empty'),
- ), */
- 'default' => 'All',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'custom_php_ini' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'apache_directives' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'nginx_directives' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- 'proxy_directives' => array (
- 'datatype' => 'TEXT',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '30',
- 'maxlength' => '255'
- ),
- //#################################
- // ENDE Datatable fields
- //#################################
- )
- );
-
-}
-
-
-?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_list.lng b/interface/web/sites/lib/lang/ar_web_domain_list.lng
deleted file mode 100644
index 88ec412..0000000
--- a/interface/web/sites/lib/lang/ar_web_domain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index ae8bfec..0000000
--- a/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomain';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Add new aliasdomain';
-?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain.lng b/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/ar_web_domain.lng
rename to interface/web/sites/lib/lang/ar_web_vhost_domain.lng
index 3148cbb..7251f53 100644
--- a/interface/web/sites/lib/lang/ar_web_domain.lng
+++ b/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ar_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/ar_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/br_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/br_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng
index b460e27..b8f85d3 100644
--- a/interface/web/sites/lib/lang/br_web_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng
@@ -1,9 +1,10 @@
<?php
-$wb['sys_groupid_txt'] = 'Client';
$wb['list_head_txt'] = 'Websites';
$wb['domain_id_txt'] = 'ID';
$wb['active_txt'] = 'Active';
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Add new website';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/ar_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/ar_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/ar_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/ar_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 8e60e14..0000000
--- a/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomain';
-$wb['active_txt'] = 'Активен';
-$wb['server_id_txt'] = 'Сървър';
-$wb['parent_domain_id_txt'] = 'Сайт';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Нов aliasdomain';
-?>
diff --git a/interface/web/sites/lib/lang/bg_web_domain.lng b/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/bg_web_domain.lng
rename to interface/web/sites/lib/lang/bg_web_vhost_domain.lng
index dfc1dd0..55f35df 100644
--- a/interface/web/sites/lib/lang/bg_web_domain.lng
+++ b/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/bg_web_domain_admin_list.lng b/interface/web/sites/lib/lang/bg_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/bg_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/bg_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/bg_web_domain_list.lng b/interface/web/sites/lib/lang/bg_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/bg_web_domain_list.lng
rename to interface/web/sites/lib/lang/bg_web_vhost_domain_list.lng
index 57d63e5..a6a351b 100644
--- a/interface/web/sites/lib/lang/bg_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/bg_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Сървър';
$wb['domain_txt'] = 'Домейн';
$wb['add_new_record_txt'] = 'Нов сайт';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/bg_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/bg_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/bg_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/bg_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/br_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/br_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/br_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/br_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/br_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 78dbdd0..0000000
--- a/interface/web/sites/lib/lang/br_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-<?php
-$wb['list_head_txt'] = 'Domínio Alias';
-$wb['active_txt'] = 'Ativo';
-$wb['server_id_txt'] = 'Servidor';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Domínio Alias';
-$wb['add_new_record_txt'] = 'Adcionar novo domínio alias';
-?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/br_web_domain.lng b/interface/web/sites/lib/lang/br_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/br_web_domain.lng
rename to interface/web/sites/lib/lang/br_web_vhost_domain.lng
index 4feeb04..207224d 100644
--- a/interface/web/sites/lib/lang/br_web_domain.lng
+++ b/interface/web/sites/lib/lang/br_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/br_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/br_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/br_web_domain_list.lng b/interface/web/sites/lib/lang/br_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/br_web_domain_list.lng
rename to interface/web/sites/lib/lang/br_web_vhost_domain_list.lng
index dc52003..b65a3ca 100644
--- a/interface/web/sites/lib/lang/br_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/br_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Servidor';
$wb['domain_txt'] = 'Domínio';
$wb['add_new_record_txt'] = 'Adcionar um novo site';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/br_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/br_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/br_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/br_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/br_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/br_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain.lng
deleted file mode 100644
index ab47f26..0000000
--- a/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Interval zálohování';
-$wb['backup_copies_txt'] = 'Počet záložních kopií';
-$wb['ssl_state_txt'] = 'Stát';
-$wb['ssl_locality_txt'] = 'Lokalita';
-$wb['ssl_organisation_txt'] = 'Organizace';
-$wb['ssl_organisation_unit_txt'] = 'Organizační jednotka';
-$wb['ssl_country_txt'] = 'Země';
-$wb['ssl_key_txt'] = 'SSL klíč';
-$wb['ssl_request_txt'] = 'SSL požadavek';
-$wb['ssl_cert_txt'] = 'SSL certifikát';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL akce';
-$wb['ssl_domain_txt'] = 'SSL Doména';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Doména';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Verze';
-$wb['redirect_type_txt'] = 'Typ přesměrování';
-$wb['redirect_path_txt'] = 'Cesta přesměrování';
-$wb['active_txt'] = 'Aktivní';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Klient';
-$wb['limit_web_domain_txt'] = 'The max. Počet webových stránek for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Doména je prázdná.';
-$wb['domain_error_unique'] = 'Webové stránky nebo sub-doména / alias-domény již existuje s tímto doménovým jménem.';
-$wb['domain_error_regex'] = 'Neplatné doménové jméno.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Klient';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffik kvóta překročena';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Uložit certifikát';
-$wb['create_certificate_txt'] = 'Vytvořit certifikát';
-$wb['delete_certificate_txt'] = 'Smazat certifikát';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO přesměrování';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Kvóta pevného disku je neplatná.';
-$wb['traffic_quota_error_regex'] = 'Traffik kvóta je neplatná.';
-$wb['fastcgi_php_version_txt'] = 'PHP verze';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generovat heslo';
-$wb['repeat_password_txt'] = 'Opakujte heslo';
-$wb['password_mismatch_txt'] = 'Hesla se neshodují.';
-$wb['password_match_txt'] = 'Hesla se shodují.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
-
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 08a25f2..0000000
--- a/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Alias doména';
-$wb['active_txt'] = 'Aktivní';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Webová stránka';
-$wb['domain_txt'] = 'Alias doména';
-$wb['add_new_record_txt'] = 'Přidat alias doménu';
-?>
-
diff --git a/interface/web/sites/lib/lang/cz_web_domain.lng b/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/cz_web_domain.lng
rename to interface/web/sites/lib/lang/cz_web_vhost_domain.lng
index ab82df1..bab3b9e 100644
--- a/interface/web/sites/lib/lang/cz_web_domain.lng
+++ b/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
@@ -120,5 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
-?>
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+?>
diff --git a/interface/web/sites/lib/lang/cz_web_domain_admin_list.lng b/interface/web/sites/lib/lang/cz_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/cz_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/cz_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/cz_web_domain_list.lng b/interface/web/sites/lib/lang/cz_web_vhost_domain_list.lng
similarity index 82%
rename from interface/web/sites/lib/lang/cz_web_domain_list.lng
rename to interface/web/sites/lib/lang/cz_web_vhost_domain_list.lng
index 7829679..1c3a0c9 100644
--- a/interface/web/sites/lib/lang/cz_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_vhost_domain_list.lng
@@ -5,5 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Doména';
$wb['add_new_record_txt'] = 'Přidat webovou stránku';
-?>
+$wb['parent_domain_id_txt'] = 'Webové stránky';
+?>
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng
deleted file mode 100644
index ab47f26..0000000
--- a/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Interval zálohování';
-$wb['backup_copies_txt'] = 'Počet záložních kopií';
-$wb['ssl_state_txt'] = 'Stát';
-$wb['ssl_locality_txt'] = 'Lokalita';
-$wb['ssl_organisation_txt'] = 'Organizace';
-$wb['ssl_organisation_unit_txt'] = 'Organizační jednotka';
-$wb['ssl_country_txt'] = 'Země';
-$wb['ssl_key_txt'] = 'SSL klíč';
-$wb['ssl_request_txt'] = 'SSL požadavek';
-$wb['ssl_cert_txt'] = 'SSL certifikát';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL akce';
-$wb['ssl_domain_txt'] = 'SSL Doména';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Doména';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Verze';
-$wb['redirect_type_txt'] = 'Typ přesměrování';
-$wb['redirect_path_txt'] = 'Cesta přesměrování';
-$wb['active_txt'] = 'Aktivní';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Klient';
-$wb['limit_web_domain_txt'] = 'The max. Počet webových stránek for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Doména je prázdná.';
-$wb['domain_error_unique'] = 'Webové stránky nebo sub-doména / alias-domény již existuje s tímto doménovým jménem.';
-$wb['domain_error_regex'] = 'Neplatné doménové jméno.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Klient';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffik kvóta překročena';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Uložit certifikát';
-$wb['create_certificate_txt'] = 'Vytvořit certifikát';
-$wb['delete_certificate_txt'] = 'Smazat certifikát';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO přesměrování';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Kvóta pevného disku je neplatná.';
-$wb['traffic_quota_error_regex'] = 'Traffik kvóta je neplatná.';
-$wb['fastcgi_php_version_txt'] = 'PHP verze';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generovat heslo';
-$wb['repeat_password_txt'] = 'Opakujte heslo';
-$wb['password_mismatch_txt'] = 'Hesla se neshodují.';
-$wb['password_match_txt'] = 'Hesla se shodují.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
-
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/cz_web_vhost_subdomain_list.lng
deleted file mode 100644
index e15402b..0000000
--- a/interface/web/sites/lib/lang/cz_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomény';
-$wb['active_txt'] = 'Aktivní';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Webové stránky';
-$wb['domain_txt'] = 'Subdoména';
-$wb['add_new_record_txt'] = 'Přidat novou poddoménu';
-?>
-
diff --git a/interface/web/sites/lib/lang/de_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/de_web_vhost_aliasdomain.lng
deleted file mode 100644
index d234b40..0000000
--- a/interface/web/sites/lib/lang/de_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['web_folder_txt'] = 'Basisordner';
-$wb['web_folder_invalid_txt'] = 'Dieser Ordner darf nicht als Basisordner verwendet werden.';
-$wb['web_folder_unique_txt'] = 'Dieser Ordner wird bereits verwendet, bitte geben Sie einen anderen Basisordner an.';
-$wb['ssl_state_txt'] = 'Bundesland';
-$wb['ssl_locality_txt'] = 'Ort';
-$wb['ssl_organisation_txt'] = 'Firma';
-$wb['ssl_organisation_unit_txt'] = 'Abteilung';
-$wb['ssl_country_txt'] = 'Land';
-$wb['ssl_key_txt'] = 'SSL-Key';
-$wb['ssl_request_txt'] = 'SSL-Request';
-$wb['ssl_cert_txt'] = 'SSL-Zertifikat';
-$wb['ssl_bundle_txt'] = 'SSL-Bundle';
-$wb['ssl_action_txt'] = 'SSL-Aktion';
-$wb['server_id_txt'] = 'Server';
-$wb['type_txt'] = 'Typ';
-$wb['parent_domain_id_txt'] = 'Hauptwebseite';
-$wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe, bitte keinen / eingeben.';
-$wb['redirect_type_txt'] = 'Redirect-Typ';
-$wb['redirect_path_txt'] = 'Redirect-Pfad';
-$wb['active_txt'] = 'Aktiv';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux-Benutzer';
-$wb['system_group_txt'] = 'Linux-Gruppe';
-$wb['ip_address_txt'] = 'IP Adresse';
-$wb['vhost_type_txt'] = 'vHost-Typ';
-$wb['hd_quota_txt'] = 'Festplatten-Quota';
-$wb['traffic_quota_txt'] = 'Traffic-Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Kunde';
-$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.';
-$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.';
-$wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Subdomains für Ihr Konto wurde erreicht.';
-$wb['apache_directives_txt'] = 'Apache-Direktiven';
-$wb['domain_error_empty'] = 'Domain ist leer.';
-$wb['domain_error_unique'] = 'Domain muss eindeutig sein';
-$wb['domain_error_regex'] = 'Domain-Name ungültig.';
-$wb['domain_error_wildcard'] = 'Wildcard-Subdomains sind nicht erlaubt.';
-$wb['hd_quota_error_empty'] = 'Harddisk-Quota ist leer.';
-$wb['traffic_quota_error_empty'] = 'Traffic-Quota ist leer.';
-$wb['errordocs_txt'] = 'Eigene Fehlerseiten';
-$wb['error_ssl_state_empty'] = 'Bundesland (SSL) ist leer.';
-$wb['error_ssl_locality_empty'] = 'Ort (SSL) ist leer.';
-$wb['error_ssl_organisation_empty'] = 'Organisation (SSL) ist leer.';
-$wb['error_ssl_organisation_unit_empty'] = 'Abteilung (SSL) ist leer.';
-$wb['error_ssl_country_empty'] = 'Land (SSL) ist leer.';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['client_group_id_txt'] = 'Kunde';
-$wb['stats_password_txt'] = 'Webstatistik-Passwort';
-$wb['ssl_domain_txt'] = 'SSL-Domain';
-$wb['allow_override_txt'] = 'Allow Override';
-$wb['limit_web_quota_free_txt'] = 'Max. mögliches Festplatten-Quota';
-$wb['ssl_state_error_regex'] = 'Ungültiges SSL-Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_locality_error_regex'] = 'Ungültiger SSL-Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_organisation_error_regex'] = 'Ungültige SSL-Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL-Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_country_error_regex'] = 'Ungültiges SSL-Land. Gültige Zeichen sind: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. mögliches Traffic-Quota';
-$wb['redirect_error_regex'] = 'Ungültiger Redirect-Pfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['backup_interval_txt'] = 'Backup-Intervall';
-$wb['backup_copies_txt'] = 'Anzahl an Backups';
-$wb['traffic_quota_exceeded_txt'] = 'Max. Datentransfer verbraucht.';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistik-Benutzername';
-$wb['stats_type_txt'] = 'Webstatistik-Programm';
-$wb['custom_php_ini_txt'] = 'Individuelle php.ini-Einstellungen';
-$wb['error_ssl_cert_empty'] = 'SSL-Zertifikat-Feld ist leer.';
-$wb['none_txt'] = 'Keine';
-$wb['disabled_txt'] = 'Deaktiviert';
-$wb['no_redirect_txt'] = 'Kein Redirect';
-$wb['no_flag_txt'] = 'Kein Flag';
-$wb['save_certificate_txt'] = 'Zertifikat speichern';
-$wb['create_certificate_txt'] = 'Zertifikat erstellen';
-$wb['delete_certificate_txt'] = 'Zertifikat löschen';
-$wb['nginx_directives_txt'] = 'nginx-Direktiven';
-$wb['seo_redirect_txt'] = 'SEO-Redirect';
-$wb['non_www_to_www_txt'] = 'Nicht-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> Nicht-www';
-$wb['php_fpm_use_socket_txt'] = 'Benutze Socket für PHP-FPM';
-$wb['ipv6_address_txt'] = 'IPv6-Adresse';
-$wb['error_no_sni_txt'] = 'SNI für SSL ist auf diesem Server nicht aktiviert. Sie können daher nur ein SSL-Zertifikat pro IP-Adresse eintragen.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Die Werte der PHP-FPM pm Einstellungen müssen wie folgt sein: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muß eine positive ganze Zahl sein.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muß eine positive ganze Zahl sein.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muß eine positive ganze Zahl sein.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muß eine positive ganze Zahl sein.';
-$wb['hd_quota_error_regex'] = 'Harddisk-Quota ist ungültig.';
-$wb['traffic_quota_error_regex'] = 'Traffic-Quota ist ungültig.';
-$wb['fastcgi_php_version_txt'] = 'PHP-Version';
-$wb['pm_txt'] = 'PHP-FPM Prozess Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout muß eine positive ganze Zahl sein.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests muß eine ganze Zahl >= 0 sein.';
-$wb['pm_ondemand_hint_txt'] = 'Bitte beachten Sie, daß Ihre PHP Version >= 5.3.9 sein muß, wenn Sie den ondemand Prozess Manager nutzen möchten. Wenn Sie ondemand für eine ältere PHP-Version auswählen, wird PHP nicht mehr starten!';
-$wb['generate_password_txt'] = 'Passwort erzeugen';
-$wb['repeat_password_txt'] = 'Passwort wiederholen';
-$wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
-$wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
-$wb['available_php_directive_snippets_txt'] = 'Verfügbare PHP-Direktiven-Schnipsel:';
-$wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache-Direktiven-Schnipsel:';
-$wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx-Direktiven-Schnipsel:';
-$wb['proxy_directives_txt'] = 'Proxy-Direktiven';
-$wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy-Direktiven-Schnipsel:';
-$wb['rewrite_rules_txt'] = 'Rewrite Rules';
-$wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules';
-$wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:';
-$wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER';
-$wb['variables_txt'] = 'Variablen';
-$wb['backup_excludes_txt'] = 'Auszuschließende Verzeichnisse';
-$wb['backup_excludes_note_txt'] = '(Mehrere Verzeichnisse mit Kommas trennen. Beispiel: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'Die auszuschließenden Verzeichnisse enthalten ungültige Zeichen.';
-?>
diff --git a/interface/web/sites/lib/lang/de_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/de_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index a5b5b37..0000000
--- a/interface/web/sites/lib/lang/de_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomains';
-$wb['active_txt'] = 'Aktiv';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Domain';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Neue Aliasdomain hinzufügen';
-?>
diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/de_web_domain.lng
rename to interface/web/sites/lib/lang/de_web_vhost_domain.lng
index 069b185..27f790f 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_vhost_domain.lng
@@ -126,4 +126,10 @@
$wb['backup_excludes_txt'] = 'Auszuschließende Verzeichnisse';
$wb['backup_excludes_note_txt'] = '(Mehrere Verzeichnisse mit Kommas trennen. Beispiel: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'Die auszuschließenden Verzeichnisse enthalten ungültige Zeichen.';
+$wb['web_folder_txt'] = 'Basisordner';
+$wb['web_folder_invalid_txt'] = 'Dieser Ordner darf nicht als Basisordner verwendet werden.';
+$wb['web_folder_unique_txt'] = 'Dieser Ordner wird bereits verwendet, bitte geben Sie einen anderen Basisordner an.';
+$wb['host_txt'] = 'Host';
+$wb['domain_error_wildcard'] = 'Wildcard-Subdomains sind nicht erlaubt.';
+
?>
diff --git a/interface/web/sites/lib/lang/de_web_domain_admin_list.lng b/interface/web/sites/lib/lang/de_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/de_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/de_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/de_web_domain_list.lng b/interface/web/sites/lib/lang/de_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/de_web_domain_list.lng
rename to interface/web/sites/lib/lang/de_web_vhost_domain_list.lng
index ce56a1c..4e3d99f 100644
--- a/interface/web/sites/lib/lang/de_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/de_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Neue Domain hinzufügen';
+$wb['parent_domain_id_txt'] = 'Webseite';
+
?>
diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng
deleted file mode 100644
index e43803f..0000000
--- a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Zugehörige Webseite';
-$wb['web_folder_txt'] = 'Basisordner';
-$wb['web_folder_invalid_txt'] = 'Dieser Ordner darf nicht als Basisordner verwendet werden.';
-$wb['web_folder_unique_txt'] = 'Dieser Ordner wird bereits verwendet, bitte geben Sie einen anderen Basisordner an.';
-$wb['ssl_state_txt'] = 'Bundesland';
-$wb['ssl_locality_txt'] = 'Ort';
-$wb['ssl_organisation_txt'] = 'Firma';
-$wb['ssl_organisation_unit_txt'] = 'Abteilung';
-$wb['ssl_country_txt'] = 'Land';
-$wb['ssl_key_txt'] = 'SSL-Key';
-$wb['ssl_request_txt'] = 'SSL-Request';
-$wb['ssl_cert_txt'] = 'SSL-Zertifikat';
-$wb['ssl_bundle_txt'] = 'SSL-Bundle';
-$wb['ssl_action_txt'] = 'SSL-Aktion';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Host';
-$wb['type_txt'] = 'Typ';
-$wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe, bitte keinen / eingeben.';
-$wb['redirect_type_txt'] = 'Redirect-Typ';
-$wb['redirect_path_txt'] = 'Redirect-Pfad';
-$wb['active_txt'] = 'Aktiv';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux-Benutzer';
-$wb['system_group_txt'] = 'Linux-Gruppe';
-$wb['ip_address_txt'] = 'IP Adresse';
-$wb['vhost_type_txt'] = 'vHost-Typ';
-$wb['hd_quota_txt'] = 'Festplatten-Quota';
-$wb['traffic_quota_txt'] = 'Traffic-Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Kunde';
-$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.';
-$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.';
-$wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Subdomains für Ihr Konto wurde erreicht.';
-$wb['apache_directives_txt'] = 'Apache-Direktiven';
-$wb['domain_error_empty'] = 'Domain ist leer.';
-$wb['domain_error_unique'] = 'Domain muss eindeutig sein';
-$wb['domain_error_regex'] = 'Domain-Name ungültig.';
-$wb['domain_error_wildcard'] = 'Wildcard-Subdomains sind nicht erlaubt.';
-$wb['hd_quota_error_empty'] = 'Harddisk-Quota ist leer.';
-$wb['traffic_quota_error_empty'] = 'Traffic-Quota ist leer.';
-$wb['errordocs_txt'] = 'Eigene Fehlerseiten';
-$wb['error_ssl_state_empty'] = 'Bundesland (SSL) ist leer.';
-$wb['error_ssl_locality_empty'] = 'Ort (SSL) ist leer.';
-$wb['error_ssl_organisation_empty'] = 'Organisation (SSL) ist leer.';
-$wb['error_ssl_organisation_unit_empty'] = 'Abteilung (SSL) ist leer.';
-$wb['error_ssl_country_empty'] = 'Land (SSL) ist leer.';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['client_group_id_txt'] = 'Kunde';
-$wb['stats_password_txt'] = 'Webstatistik-Passwort';
-$wb['ssl_domain_txt'] = 'SSL-Domain';
-$wb['allow_override_txt'] = 'Allow Override';
-$wb['limit_web_quota_free_txt'] = 'Max. mögliches Festplatten-Quota';
-$wb['ssl_state_error_regex'] = 'Ungültiges SSL-Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_locality_error_regex'] = 'Ungültiger SSL-Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_organisation_error_regex'] = 'Ungültige SSL-Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL-Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_';
-$wb['ssl_country_error_regex'] = 'Ungültiges SSL-Land. Gültige Zeichen sind: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. mögliches Traffic-Quota';
-$wb['redirect_error_regex'] = 'Ungültiger Redirect-Pfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['backup_interval_txt'] = 'Backup-Intervall';
-$wb['backup_copies_txt'] = 'Anzahl an Backups';
-$wb['traffic_quota_exceeded_txt'] = 'Max. Datentransfer verbraucht.';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistik-Benutzername';
-$wb['stats_type_txt'] = 'Webstatistik-Programm';
-$wb['custom_php_ini_txt'] = 'Individuelle php.ini-Einstellungen';
-$wb['error_ssl_cert_empty'] = 'SSL-Zertifikat-Feld ist leer.';
-$wb['none_txt'] = 'Keine';
-$wb['disabled_txt'] = 'Deaktiviert';
-$wb['no_redirect_txt'] = 'Kein Redirect';
-$wb['no_flag_txt'] = 'Kein Flag';
-$wb['save_certificate_txt'] = 'Zertifikat speichern';
-$wb['create_certificate_txt'] = 'Zertifikat erstellen';
-$wb['delete_certificate_txt'] = 'Zertifikat löschen';
-$wb['nginx_directives_txt'] = 'nginx-Direktiven';
-$wb['seo_redirect_txt'] = 'SEO-Redirect';
-$wb['non_www_to_www_txt'] = 'Nicht-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> Nicht-www';
-$wb['php_fpm_use_socket_txt'] = 'Benutze Socket für PHP-FPM';
-$wb['ipv6_address_txt'] = 'IPv6-Adresse';
-$wb['error_no_sni_txt'] = 'SNI für SSL ist auf diesem Server nicht aktiviert. Sie können daher nur ein SSL-Zertifikat pro IP-Adresse eintragen.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Die Werte der PHP-FPM pm Einstellungen müssen wie folgt sein: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muß eine positive ganze Zahl sein.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muß eine positive ganze Zahl sein.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muß eine positive ganze Zahl sein.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muß eine positive ganze Zahl sein.';
-$wb['hd_quota_error_regex'] = 'Harddisk-Quota ist ungültig.';
-$wb['traffic_quota_error_regex'] = 'Traffic-Quota ist ungültig.';
-$wb['fastcgi_php_version_txt'] = 'PHP-Version';
-$wb['pm_txt'] = 'PHP-FPM Prozess Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout muß eine positive ganze Zahl sein.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests muß eine ganze Zahl >= 0 sein.';
-$wb['pm_ondemand_hint_txt'] = 'Bitte beachten Sie, daß Ihre PHP Version >= 5.3.9 sein muß, wenn Sie den ondemand Prozess Manager nutzen möchten. Wenn Sie ondemand für eine ältere PHP-Version auswählen, wird PHP nicht mehr starten!';
-$wb['generate_password_txt'] = 'Passwort erzeugen';
-$wb['repeat_password_txt'] = 'Passwort wiederholen';
-$wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
-$wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
-$wb['available_php_directive_snippets_txt'] = 'Verfügbare PHP-Direktiven-Schnipsel:';
-$wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache-Direktiven-Schnipsel:';
-$wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx-Direktiven-Schnipsel:';
-$wb['proxy_directives_txt'] = 'Proxy-Direktiven';
-$wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy-Direktiven-Schnipsel:';
-$wb['rewrite_rules_txt'] = 'Rewrite Rules';
-$wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules';
-$wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:';
-$wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER';
-$wb['variables_txt'] = 'Variablen';
-$wb['backup_excludes_txt'] = 'Auszuschließende Verzeichnisse';
-$wb['backup_excludes_note_txt'] = '(Mehrere Verzeichnisse mit Kommas trennen. Beispiel: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'Die auszuschließenden Verzeichnisse enthalten ungültige Zeichen.';
-?>
diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng
deleted file mode 100644
index 042b9f0..0000000
--- a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Aktiv';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Webseite';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Neue Subdomain hinzufügen';
-?>
diff --git a/interface/web/sites/lib/lang/el_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/el_web_vhost_aliasdomain.lng
deleted file mode 100644
index 7381df6..0000000
--- a/interface/web/sites/lib/lang/el_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Γονικό Website';
-$wb['web_folder_txt'] = 'Φάκελος Web';
-$wb['web_folder_invalid_txt'] = 'Ο Φάκελος Web δεν είναι έγκυρος, διαλέξτε κάποιον άλλο.';
-$wb['web_folder_unique_txt'] = 'Ο Φάκελος Web χρησιμοποιείται ήδη, διαλέξτε κάποιον άλλο.';
-$wb['backup_interval_txt'] = 'Χρονικό διάστημα Αντιγράφων Ασφαλείας';
-$wb['backup_copies_txt'] = 'Πλήθος Αντιγράφων Ασφαλείας';
-$wb['ssl_state_txt'] = 'Κατάσταση';
-$wb['ssl_locality_txt'] = 'Τοποθεσία';
-$wb['ssl_organisation_txt'] = 'Οργανισμός';
-$wb['ssl_organisation_unit_txt'] = 'Τμήμα Οργανισμού';
-$wb['ssl_country_txt'] = 'Χώρα';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Εισάγατε μη έγκυρο φάκελο. Μην εισάγετε την κάθετο';
-$wb['type_txt'] = 'Τύπος';
-$wb['redirect_type_txt'] = 'Τύπος Ανακατεύθυνσης';
-$wb['redirect_path_txt'] = 'Διαδρομή Ανακατεύθυνσης';
-$wb['active_txt'] = 'Ενεργό';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Χρήστης Linux';
-$wb['system_group_txt'] = 'Ομάδα Linux';
-$wb['ip_address_txt'] = 'Διεύθυνση IP';
-$wb['ipv6_address_txt'] = 'Διεύθυνση IPv6';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Όριο αποθηκευτικού χώρου';
-$wb['traffic_quota_txt'] = 'Όριο μεταφοράς δεδομένων';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Προσωπικά έγγραφα σφάλματος';
-$wb['subdomain_txt'] = 'Αυτόματο-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Πελάτης';
-$wb['limit_web_domain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των web domains για τον λογαριασμό σας.';
-$wb['limit_web_aliasdomain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των aliasdomains για τον λογαριασμό σας.';
-$wb['limit_web_subdomain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των web subdomains για τον λογαριασμό σας.';
-$wb['apache_directives_txt'] = 'Apache directives';
-$wb['domain_error_empty'] = 'Το Domain δεν έχει οριστεί.';
-$wb['domain_error_unique'] = 'Υπάρχει ήδη ένα website ή ένα sub / aliasdomain με αυτό το όνομα domain.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Το όριο αποθηκευτικού χώρου είναι 0 ή δεν έχει οριστεί.';
-$wb['traffic_quota_error_empty'] = 'Το όριο μεταφοράς δεδομένων δεν έχει οριστεί.';
-$wb['error_ssl_state_empty'] = 'Κενή περιφέρεια SSL.';
-$wb['error_ssl_locality_empty'] = 'Κενή τοποθεσία SSL.';
-$wb['error_ssl_organisation_empty'] = 'Ο Οργανισμός SSL δεν έχει οριστεί.';
-$wb['error_ssl_organisation_unit_empty'] = 'Το SSL τμήμα Οργανισμού δεν έχει οριστεί.';
-$wb['error_ssl_country_empty'] = 'Κενή χώρα SSL.';
-$wb['error_ssl_cert_empty'] = 'Το πεδίο SSL Certificate δεν έχει οριστεί';
-$wb['client_group_id_txt'] = 'Πελάτης';
-$wb['stats_password_txt'] = 'Συνθηματικο Στατιστικών Web';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Όριο αποθηκευτικού χώρου';
-$wb['ssl_state_error_regex'] = 'Άκυρη πολιτεία-περιφέρεια SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Άκυρο SSL Locality. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Άκυρος Οργανισμός SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Άκυρη μονάδα οργανισμού SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Άκυρη Χώρα SSL. Έγκυροι χαρακτήρες: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Όριο μεταφοράς δεδομένων';
-$wb['redirect_error_regex'] = 'Μη έγκυρη διαδρομή ανακατεύθυνσης. Έγκυρες τιμές είναι: /test/ ή http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Ξεπεράστηκε το όριο μεταφοράς δεδομένων';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Όνομα Χρήστη Στατιστικών Web';
-$wb['stats_type_txt'] = 'Πρόγραμμα Στατιστικών Web';
-$wb['custom_php_ini_txt'] = 'Προσαρμοσμένες ρυθμίσεις php.ini';
-$wb['none_txt'] = 'Καμία';
-$wb['disabled_txt'] = 'Απενεργοπ.';
-$wb['no_redirect_txt'] = 'Χωρίς Ανακατεύθυνση';
-$wb['no_flag_txt'] = 'Χωρίς Σημαία';
-$wb['save_certificate_txt'] = 'Αποθήκευση Πιστοποιητικού';
-$wb['create_certificate_txt'] = 'Δημιουργία Πιστοποιητικού';
-$wb['delete_certificate_txt'] = 'Διαγραφή Πιστοποιητικού';
-$wb['nginx_directives_txt'] = 'Ντιρεκτίβες nginx';
-$wb['seo_redirect_txt'] = 'Ανακατεύθυνση SEO';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Χρήση Socket Για PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Δημιουργία Συνθηματικού';
-$wb['repeat_password_txt'] = 'Επανάληψη Συνθηματικού';
-$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιριάζουν.';
-$wb['password_match_txt'] = 'Τα Συνθηματικά ταιριάζουν.';
-$wb['available_php_directive_snippets_txt'] = 'Διαθέσιμα PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Διαθέσιμα Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Διαθέσιμα nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Διαθέσιμα Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/el_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/el_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 4905e42..0000000
--- a/interface/web/sites/lib/lang/el_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Ψευδώνυμο domain';
-$wb['active_txt'] = 'Ενεργό';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Ψευδώνυμο domain';
-$wb['add_new_record_txt'] = 'Νέο ψευδωνύμο domain';
-?>
diff --git a/interface/web/sites/lib/lang/el_web_domain.lng b/interface/web/sites/lib/lang/el_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/el_web_domain.lng
rename to interface/web/sites/lib/lang/el_web_vhost_domain.lng
index e515e59..3ced8e7 100644
--- a/interface/web/sites/lib/lang/el_web_domain.lng
+++ b/interface/web/sites/lib/lang/el_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Φάκελος Web';
+$wb['web_folder_invalid_txt'] = 'Ο Φάκελος Web δεν είναι έγκυρος, διαλέξτε κάποιον άλλο.';
+$wb['web_folder_unique_txt'] = 'Ο Φάκελος Web χρησιμοποιείται ήδη, διαλέξτε κάποιον άλλο.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/el_web_domain_admin_list.lng b/interface/web/sites/lib/lang/el_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/el_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/el_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/el_web_domain_list.lng b/interface/web/sites/lib/lang/el_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/el_web_domain_list.lng
rename to interface/web/sites/lib/lang/el_web_vhost_domain_list.lng
index c3f42a9..3232d46 100644
--- a/interface/web/sites/lib/lang/el_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/el_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Νέο website';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/el_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/el_web_vhost_subdomain.lng
deleted file mode 100644
index 7381df6..0000000
--- a/interface/web/sites/lib/lang/el_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Γονικό Website';
-$wb['web_folder_txt'] = 'Φάκελος Web';
-$wb['web_folder_invalid_txt'] = 'Ο Φάκελος Web δεν είναι έγκυρος, διαλέξτε κάποιον άλλο.';
-$wb['web_folder_unique_txt'] = 'Ο Φάκελος Web χρησιμοποιείται ήδη, διαλέξτε κάποιον άλλο.';
-$wb['backup_interval_txt'] = 'Χρονικό διάστημα Αντιγράφων Ασφαλείας';
-$wb['backup_copies_txt'] = 'Πλήθος Αντιγράφων Ασφαλείας';
-$wb['ssl_state_txt'] = 'Κατάσταση';
-$wb['ssl_locality_txt'] = 'Τοποθεσία';
-$wb['ssl_organisation_txt'] = 'Οργανισμός';
-$wb['ssl_organisation_unit_txt'] = 'Τμήμα Οργανισμού';
-$wb['ssl_country_txt'] = 'Χώρα';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Εισάγατε μη έγκυρο φάκελο. Μην εισάγετε την κάθετο';
-$wb['type_txt'] = 'Τύπος';
-$wb['redirect_type_txt'] = 'Τύπος Ανακατεύθυνσης';
-$wb['redirect_path_txt'] = 'Διαδρομή Ανακατεύθυνσης';
-$wb['active_txt'] = 'Ενεργό';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Χρήστης Linux';
-$wb['system_group_txt'] = 'Ομάδα Linux';
-$wb['ip_address_txt'] = 'Διεύθυνση IP';
-$wb['ipv6_address_txt'] = 'Διεύθυνση IPv6';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Όριο αποθηκευτικού χώρου';
-$wb['traffic_quota_txt'] = 'Όριο μεταφοράς δεδομένων';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Προσωπικά έγγραφα σφάλματος';
-$wb['subdomain_txt'] = 'Αυτόματο-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Πελάτης';
-$wb['limit_web_domain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των web domains για τον λογαριασμό σας.';
-$wb['limit_web_aliasdomain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των aliasdomains για τον λογαριασμό σας.';
-$wb['limit_web_subdomain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των web subdomains για τον λογαριασμό σας.';
-$wb['apache_directives_txt'] = 'Apache directives';
-$wb['domain_error_empty'] = 'Το Domain δεν έχει οριστεί.';
-$wb['domain_error_unique'] = 'Υπάρχει ήδη ένα website ή ένα sub / aliasdomain με αυτό το όνομα domain.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Το όριο αποθηκευτικού χώρου είναι 0 ή δεν έχει οριστεί.';
-$wb['traffic_quota_error_empty'] = 'Το όριο μεταφοράς δεδομένων δεν έχει οριστεί.';
-$wb['error_ssl_state_empty'] = 'Κενή περιφέρεια SSL.';
-$wb['error_ssl_locality_empty'] = 'Κενή τοποθεσία SSL.';
-$wb['error_ssl_organisation_empty'] = 'Ο Οργανισμός SSL δεν έχει οριστεί.';
-$wb['error_ssl_organisation_unit_empty'] = 'Το SSL τμήμα Οργανισμού δεν έχει οριστεί.';
-$wb['error_ssl_country_empty'] = 'Κενή χώρα SSL.';
-$wb['error_ssl_cert_empty'] = 'Το πεδίο SSL Certificate δεν έχει οριστεί';
-$wb['client_group_id_txt'] = 'Πελάτης';
-$wb['stats_password_txt'] = 'Συνθηματικο Στατιστικών Web';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Όριο αποθηκευτικού χώρου';
-$wb['ssl_state_error_regex'] = 'Άκυρη πολιτεία-περιφέρεια SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Άκυρο SSL Locality. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Άκυρος Οργανισμός SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Άκυρη μονάδα οργανισμού SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Άκυρη Χώρα SSL. Έγκυροι χαρακτήρες: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Όριο μεταφοράς δεδομένων';
-$wb['redirect_error_regex'] = 'Μη έγκυρη διαδρομή ανακατεύθυνσης. Έγκυρες τιμές είναι: /test/ ή http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Ξεπεράστηκε το όριο μεταφοράς δεδομένων';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Όνομα Χρήστη Στατιστικών Web';
-$wb['stats_type_txt'] = 'Πρόγραμμα Στατιστικών Web';
-$wb['custom_php_ini_txt'] = 'Προσαρμοσμένες ρυθμίσεις php.ini';
-$wb['none_txt'] = 'Καμία';
-$wb['disabled_txt'] = 'Απενεργοπ.';
-$wb['no_redirect_txt'] = 'Χωρίς Ανακατεύθυνση';
-$wb['no_flag_txt'] = 'Χωρίς Σημαία';
-$wb['save_certificate_txt'] = 'Αποθήκευση Πιστοποιητικού';
-$wb['create_certificate_txt'] = 'Δημιουργία Πιστοποιητικού';
-$wb['delete_certificate_txt'] = 'Διαγραφή Πιστοποιητικού';
-$wb['nginx_directives_txt'] = 'Ντιρεκτίβες nginx';
-$wb['seo_redirect_txt'] = 'Ανακατεύθυνση SEO';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Χρήση Socket Για PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Δημιουργία Συνθηματικού';
-$wb['repeat_password_txt'] = 'Επανάληψη Συνθηματικού';
-$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιριάζουν.';
-$wb['password_match_txt'] = 'Τα Συνθηματικά ταιριάζουν.';
-$wb['available_php_directive_snippets_txt'] = 'Διαθέσιμα PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Διαθέσιμα Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Διαθέσιμα nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Διαθέσιμα Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/el_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/el_web_vhost_subdomain_list.lng
deleted file mode 100644
index a4426cf..0000000
--- a/interface/web/sites/lib/lang/el_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Ενεργό';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Νέο subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
deleted file mode 100644
index 8390066..0000000
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-$wb["backup_interval_txt"] = 'Backup interval';
-$wb["backup_copies_txt"] = 'Number of backup copies';
-$wb["ssl_state_txt"] = 'State';
-$wb["ssl_locality_txt"] = 'Locality';
-$wb["ssl_organisation_txt"] = 'Organisation';
-$wb["ssl_organisation_unit_txt"] = 'Organisation Unit';
-$wb["ssl_country_txt"] = 'Country';
-$wb["ssl_key_txt"] = 'SSL Key';
-$wb["ssl_request_txt"] = 'SSL Request';
-$wb["ssl_cert_txt"] = 'SSL Certificate';
-$wb["ssl_bundle_txt"] = 'SSL Bundle';
-$wb["ssl_action_txt"] = 'SSL Action';
-$wb["ssl_domain_txt"] = 'SSL Domain';
-$wb["server_id_txt"] = 'Server';
-$wb["domain_txt"] = 'Domain';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb["type_txt"] = 'Type';
-$wb["parent_domain_id_txt"] = 'Parent Website';
-$wb["redirect_type_txt"] = 'Redirect Type';
-$wb["redirect_path_txt"] = 'Redirect Path';
-$wb["active_txt"] = 'Active';
-$wb["document_root_txt"] = 'Documentroot';
-$wb["system_user_txt"] = 'Linux User';
-$wb["system_group_txt"] = 'Linux Group';
-$wb["ip_address_txt"] = 'IPv4-Address';
-$wb["ipv6_address_txt"] = 'IPv6-Address';
-$wb["vhost_type_txt"] = 'VHost Type';
-$wb["hd_quota_txt"] = 'Harddisk Quota';
-$wb["traffic_quota_txt"] = 'Traffic Quota';
-$wb["cgi_txt"] = 'CGI';
-$wb["ssi_txt"] = 'SSI';
-$wb["errordocs_txt"] = 'Own Error-Documents';
-$wb["subdomain_txt"] = 'Auto-Subdomain';
-$wb["ssl_txt"] = 'SSL';
-$wb["suexec_txt"] = 'SuEXEC';
-$wb["php_txt"] = 'PHP';
-$wb["client_txt"] = 'Client';
-$wb["limit_web_domain_txt"] = 'The max. number of web domains for your account is reached.';
-$wb["limit_web_aliasdomain_txt"] = 'The max. number of aliasdomains for your account is reached.';
-$wb["limit_web_subdomain_txt"] = 'The max. number of web subdomains for your account is reached.';
-$wb["apache_directives_txt"] = 'Apache Directives';
-$wb["domain_error_empty"] = 'Domain is empty.';
-$wb["domain_error_unique"] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb["domain_error_regex"] = 'Domain name invalid.';
-$wb["domain_error_autosub"] = 'There is already a subdomain with these settings.';
-$wb["hd_quota_error_empty"] = 'Harddisk quota is 0 or empty.';
-$wb["traffic_quota_error_empty"] = 'Traffic quota is empty.';
-$wb["error_ssl_state_empty"] = 'SSL State is empty.';
-$wb["error_ssl_locality_empty"] = 'SSL Locality is empty.';
-$wb["error_ssl_organisation_empty"] = 'SSL Organisation is empty.';
-$wb["error_ssl_organisation_unit_empty"] = 'SSL Organisation Unit is empty.';
-$wb["error_ssl_country_empty"] = 'SSL Country is empty.';
-$wb["error_ssl_cert_empty"] = 'SSL Certificate field is empty';
-$wb["client_group_id_txt"] = 'Client';
-$wb["stats_password_txt"] = 'Set Webstatistics password';
-$wb["allow_override_txt"] = 'Apache AllowOverride';
-$wb["limit_web_quota_free_txt"] = 'Max. available Harddisk Quota';
-$wb["ssl_state_error_regex"] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
-$wb["ssl_locality_error_regex"] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
-$wb["ssl_organisation_error_regex"] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
-$wb["ssl_organistaion_unit_error_regex"] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
-$wb["ssl_country_error_regex"] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb["limit_traffic_quota_free_txt"] = 'Max. available Traffic Quota';
-$wb["redirect_error_regex"] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb["php_open_basedir_txt"] = 'PHP open_basedir';
-$wb["traffic_quota_exceeded_txt"] = 'Traffic quota exceeded';
-$wb["ruby_txt"] = 'Ruby';
-$wb["stats_user_txt"] = 'Webstatistics username';
-$wb["stats_type_txt"] = 'Webstatistics program';
-$wb["custom_php_ini_txt"] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb["nginx_directives_txt"] = 'nginx Directives';
-$wb["seo_redirect_txt"] = 'SEO Redirect';
-$wb["non_www_to_www_txt"] = 'Non-www -> www';
-$wb["www_to_non_www_txt"] = 'www -> non-www';
-$wb["php_fpm_use_socket_txt"] = 'Use Socket For PHP-FPM';
-$wb["error_no_sni_txt"] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb["python_txt"] = 'Python';
-$wb["perl_txt"] = 'Perl';
-$wb["pm_max_children_txt"] = 'PHP-FPM pm.max_children';
-$wb["pm_start_servers_txt"] = 'PHP-FPM pm.start_servers';
-$wb["pm_min_spare_servers_txt"] = 'PHP-FPM pm.min_spare_servers';
-$wb["pm_max_spare_servers_txt"] = 'PHP-FPM pm.max_spare_servers';
-$wb["error_php_fpm_pm_settings_txt"] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb["pm_max_children_error_regex"] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb["pm_start_servers_error_regex"] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb["pm_min_spare_servers_error_regex"] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb["pm_max_spare_servers_error_regex"] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb["hd_quota_error_regex"] = 'Harddisk quota is invalid.';
-$wb["traffic_quota_error_regex"] = 'Traffic quota is invalid.';
-$wb["fastcgi_php_version_txt"] = 'PHP Version';
-$wb["pm_txt"] = 'PHP-FPM Process Manager';
-$wb["pm_process_idle_timeout_txt"] = 'PHP-FPM pm.process_idle_timeout';
-$wb["pm_max_requests_txt"] = 'PHP-FPM pm.max_requests';
-$wb["pm_process_idle_timeout_error_regex"] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb["pm_max_requests_error_regex"] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb["pm_ondemand_hint_txt"] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['no_server_error'] = 'No server selected.';
-$wb['no_backup_txt'] = 'No backup';
-$wb['daily_backup_txt'] = 'Daily';
-$wb['weekly_backup_txt'] = 'Weekly';
-$wb['monthly_backup_txt'] = 'Monthly';
-$wb['rewrite_rules_txt'] = 'Rewrite Rules';
-$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
-$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
-$wb['configuration_error_txt'] = "CONFIGURATION ERROR";
-$wb['server_chosen_not_ok'] = 'The selected server is not allowed for this account.';
-$wb['variables_txt'] = 'Variables';
-$wb['added_by_txt'] = 'Added by';
-$wb['added_date_txt'] = 'Added date';
-$wb['backup_excludes_txt'] = 'Excluded Directories';
-$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
-?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_domain_list.lng b/interface/web/sites/lib/lang/en_web_domain_list.lng
deleted file mode 100644
index 493350e..0000000
--- a/interface/web/sites/lib/lang/en_web_domain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb["list_head_txt"] = 'Websites';
-$wb["domain_id_txt"] = 'ID';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["domain_txt"] = 'Domain';
-$wb["add_new_record_txt"] = 'Add new website';
-?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/en_web_vhost_aliasdomain.lng
deleted file mode 100644
index 3c9009e..0000000
--- a/interface/web/sites/lib/lang/en_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-$wb["parent_domain_id_txt"] = 'Parent Website';
-$wb["web_folder_txt"] = 'Web folder';
-$wb["web_folder_invalid_txt"] = 'The web folder is invalid, please choose a different one.';
-$wb["web_folder_unique_txt"] = 'The web folder is already used, please choose a different one.';
-$wb["backup_interval_txt"] = 'Backup interval';
-$wb["backup_copies_txt"] = 'Number of backup copies';
-$wb["ssl_state_txt"] = 'State';
-$wb["ssl_locality_txt"] = 'Locality';
-$wb["ssl_organisation_txt"] = 'Organisation';
-$wb["ssl_organisation_unit_txt"] = 'Organisation Unit';
-$wb["ssl_country_txt"] = 'Country';
-$wb["ssl_key_txt"] = 'SSL Key';
-$wb["ssl_request_txt"] = 'SSL Request';
-$wb["ssl_cert_txt"] = 'SSL Certificate';
-$wb["ssl_bundle_txt"] = 'SSL Bundle';
-$wb["ssl_action_txt"] = 'SSL Action';
-$wb["ssl_domain_txt"] = 'SSL Domain';
-$wb["server_id_txt"] = 'Server';
-$wb["domain_txt"] = 'Domain';
-$wb["host_txt"] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb["type_txt"] = 'Type';
-$wb["parent_domain_id_txt"] = 'Parent Website';
-$wb["redirect_type_txt"] = 'Redirect Type';
-$wb["redirect_path_txt"] = 'Redirect Path';
-$wb["active_txt"] = 'Active';
-$wb["document_root_txt"] = 'Documentroot';
-$wb["system_user_txt"] = 'Linux User';
-$wb["system_group_txt"] = 'Linux Group';
-$wb["ip_address_txt"] = 'IPv4-Address';
-$wb["ipv6_address_txt"] = 'IPv6-Address';
-$wb["vhost_type_txt"] = 'VHost Type';
-$wb["hd_quota_txt"] = 'Harddisk Quota';
-$wb["traffic_quota_txt"] = 'Traffic Quota';
-$wb["cgi_txt"] = 'CGI';
-$wb["ssi_txt"] = 'SSI';
-$wb["errordocs_txt"] = 'Own Error-Documents';
-$wb["subdomain_txt"] = 'Auto-Subdomain';
-$wb["ssl_txt"] = 'SSL';
-$wb["suexec_txt"] = 'SuEXEC';
-$wb["php_txt"] = 'PHP';
-$wb["client_txt"] = 'Client';
-$wb["limit_web_domain_txt"] = 'The max. number of web domains for your account is reached.';
-$wb["limit_web_aliasdomain_txt"] = 'The max. number of aliasdomains for your account is reached.';
-$wb["limit_web_subdomain_txt"] = 'The max. number of web subdomains for your account is reached.';
-$wb["apache_directives_txt"] = 'Apache Directives';
-$wb["domain_error_empty"] = 'Domain is empty.';
-$wb["domain_error_unique"] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb["domain_error_regex"] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb["hd_quota_error_empty"] = 'Harddisk quota is 0 or empty.';
-$wb["traffic_quota_error_empty"] = 'Traffic quota is empty.';
-$wb["error_ssl_state_empty"] = 'SSL State is empty.';
-$wb["error_ssl_locality_empty"] = 'SSL Locality is empty.';
-$wb["error_ssl_organisation_empty"] = 'SSL Organisation is empty.';
-$wb["error_ssl_organisation_unit_empty"] = 'SSL Organisation Unit is empty.';
-$wb["error_ssl_country_empty"] = 'SSL Country is empty.';
-$wb["error_ssl_cert_empty"] = 'SSL Certificate field is empty';
-$wb["client_group_id_txt"] = 'Client';
-$wb["stats_password_txt"] = 'Set Webstatistics password';
-$wb["allow_override_txt"] = 'Apache AllowOverride';
-$wb["limit_web_quota_free_txt"] = 'Max. available Harddisk Quota';
-$wb["ssl_state_error_regex"] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_locality_error_regex"] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_organisation_error_regex"] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_organistaion_unit_error_regex"] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_country_error_regex"] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb["limit_traffic_quota_free_txt"] = 'Max. available Traffic Quota';
-$wb["redirect_error_regex"] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb["php_open_basedir_txt"] = 'PHP open_basedir';
-$wb["traffic_quota_exceeded_txt"] = 'Traffic quota exceeded';
-$wb["ruby_txt"] = 'Ruby';
-$wb["stats_user_txt"] = 'Webstatistics username';
-$wb["stats_type_txt"] = 'Webstatistics program';
-$wb["custom_php_ini_txt"] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb["nginx_directives_txt"] = 'nginx Directives';
-$wb["seo_redirect_txt"] = 'SEO Redirect';
-$wb["non_www_to_www_txt"] = 'Non-www -> www';
-$wb["www_to_non_www_txt"] = 'www -> non-www';
-$wb["php_fpm_use_socket_txt"] = 'Use Socket For PHP-FPM';
-$wb["error_no_sni_txt"] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb["python_txt"] = 'Python';
-$wb["perl_txt"] = 'Perl';
-$wb["pm_max_children_txt"] = 'PHP-FPM pm.max_children';
-$wb["pm_start_servers_txt"] = 'PHP-FPM pm.start_servers';
-$wb["pm_min_spare_servers_txt"] = 'PHP-FPM pm.min_spare_servers';
-$wb["pm_max_spare_servers_txt"] = 'PHP-FPM pm.max_spare_servers';
-$wb["error_php_fpm_pm_settings_txt"] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb["pm_max_children_error_regex"] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb["pm_start_servers_error_regex"] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb["pm_min_spare_servers_error_regex"] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb["pm_max_spare_servers_error_regex"] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb["hd_quota_error_regex"] = 'Harddisk quota is invalid.';
-$wb["traffic_quota_error_regex"] = 'Traffic quota is invalid.';
-$wb["fastcgi_php_version_txt"] = 'PHP Version';
-$wb["pm_txt"] = 'PHP-FPM Process Manager';
-$wb["pm_process_idle_timeout_txt"] = 'PHP-FPM pm.process_idle_timeout';
-$wb["pm_max_requests_txt"] = 'PHP-FPM pm.max_requests';
-$wb["pm_process_idle_timeout_error_regex"] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb["pm_max_requests_error_regex"] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb["pm_ondemand_hint_txt"] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['rewrite_rules_txt'] = 'Rewrite Rules';
-$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
-$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
-$wb['configuration_error_txt'] = "CONFIGURATION ERROR";
-$wb['variables_txt'] = 'Variables';
-$wb['backup_excludes_txt'] = 'Excluded Directories';
-$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
-?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/en_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 3699711..0000000
--- a/interface/web/sites/lib/lang/en_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb["list_head_txt"] = 'Aliasdomain';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["parent_domain_id_txt"] = 'Website';
-$wb["domain_txt"] = 'Aliasdomain';
-$wb["add_new_record_txt"] = 'Add new aliasdomain';
-?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/en_web_vhost_domain.lng
similarity index 84%
rename from interface/web/sites/lib/lang/ar_web_vhost_aliasdomain.lng
rename to interface/web/sites/lib/lang/en_web_vhost_domain.lng
index b87c788..9f410e0 100644
--- a/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain.lng
+++ b/interface/web/sites/lib/lang/en_web_vhost_domain.lng
@@ -1,8 +1,4 @@
<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
$wb['backup_interval_txt'] = 'Backup interval';
$wb['backup_copies_txt'] = 'Number of backup copies';
$wb['ssl_state_txt'] = 'State';
@@ -18,9 +14,9 @@
$wb['ssl_domain_txt'] = 'SSL Domain';
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
$wb['type_txt'] = 'Type';
+$wb['parent_domain_id_txt'] = 'Parent Website';
$wb['redirect_type_txt'] = 'Redirect Type';
$wb['redirect_path_txt'] = 'Redirect Path';
$wb['active_txt'] = 'Active';
@@ -47,7 +43,7 @@
$wb['domain_error_empty'] = 'Domain is empty.';
$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['domain_error_autosub'] = 'There is already a subdomain with these settings.';
$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
$wb['error_ssl_state_empty'] = 'SSL State is empty.';
@@ -57,13 +53,13 @@
$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['stats_password_txt'] = 'Set Webstatistics password';
$wb['allow_override_txt'] = 'Apache AllowOverride';
$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ';
$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
@@ -115,4 +111,26 @@
$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
$wb['proxy_directives_txt'] = 'Proxy Directives';
$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+$wb['no_server_error'] = 'No server selected.';
+$wb['no_backup_txt'] = 'No backup';
+$wb['daily_backup_txt'] = 'Daily';
+$wb['weekly_backup_txt'] = 'Weekly';
+$wb['monthly_backup_txt'] = 'Monthly';
+$wb['rewrite_rules_txt'] = 'Rewrite Rules';
+$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
+$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
+$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['server_chosen_not_ok'] = 'The selected server is not allowed for this account.';
+$wb['variables_txt'] = 'Variables';
+$wb['added_by_txt'] = 'Added by';
+$wb['added_date_txt'] = 'Added date';
+$wb['backup_excludes_txt'] = 'Excluded Directories';
+$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
+$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/en_web_domain_admin_list.lng b/interface/web/sites/lib/lang/en_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/en_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/en_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/br_web_domain_admin_list.lng b/interface/web/sites/lib/lang/en_web_vhost_domain_list.lng
similarity index 83%
copy from interface/web/sites/lib/lang/br_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/en_web_vhost_domain_list.lng
index b460e27..b8f85d3 100644
--- a/interface/web/sites/lib/lang/br_web_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/en_web_vhost_domain_list.lng
@@ -1,9 +1,10 @@
<?php
-$wb['sys_groupid_txt'] = 'Client';
$wb['list_head_txt'] = 'Websites';
$wb['domain_id_txt'] = 'ID';
$wb['active_txt'] = 'Active';
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Add new website';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/en_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/en_web_vhost_subdomain.lng
deleted file mode 100644
index 3c9009e..0000000
--- a/interface/web/sites/lib/lang/en_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-$wb["parent_domain_id_txt"] = 'Parent Website';
-$wb["web_folder_txt"] = 'Web folder';
-$wb["web_folder_invalid_txt"] = 'The web folder is invalid, please choose a different one.';
-$wb["web_folder_unique_txt"] = 'The web folder is already used, please choose a different one.';
-$wb["backup_interval_txt"] = 'Backup interval';
-$wb["backup_copies_txt"] = 'Number of backup copies';
-$wb["ssl_state_txt"] = 'State';
-$wb["ssl_locality_txt"] = 'Locality';
-$wb["ssl_organisation_txt"] = 'Organisation';
-$wb["ssl_organisation_unit_txt"] = 'Organisation Unit';
-$wb["ssl_country_txt"] = 'Country';
-$wb["ssl_key_txt"] = 'SSL Key';
-$wb["ssl_request_txt"] = 'SSL Request';
-$wb["ssl_cert_txt"] = 'SSL Certificate';
-$wb["ssl_bundle_txt"] = 'SSL Bundle';
-$wb["ssl_action_txt"] = 'SSL Action';
-$wb["ssl_domain_txt"] = 'SSL Domain';
-$wb["server_id_txt"] = 'Server';
-$wb["domain_txt"] = 'Domain';
-$wb["host_txt"] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb["type_txt"] = 'Type';
-$wb["parent_domain_id_txt"] = 'Parent Website';
-$wb["redirect_type_txt"] = 'Redirect Type';
-$wb["redirect_path_txt"] = 'Redirect Path';
-$wb["active_txt"] = 'Active';
-$wb["document_root_txt"] = 'Documentroot';
-$wb["system_user_txt"] = 'Linux User';
-$wb["system_group_txt"] = 'Linux Group';
-$wb["ip_address_txt"] = 'IPv4-Address';
-$wb["ipv6_address_txt"] = 'IPv6-Address';
-$wb["vhost_type_txt"] = 'VHost Type';
-$wb["hd_quota_txt"] = 'Harddisk Quota';
-$wb["traffic_quota_txt"] = 'Traffic Quota';
-$wb["cgi_txt"] = 'CGI';
-$wb["ssi_txt"] = 'SSI';
-$wb["errordocs_txt"] = 'Own Error-Documents';
-$wb["subdomain_txt"] = 'Auto-Subdomain';
-$wb["ssl_txt"] = 'SSL';
-$wb["suexec_txt"] = 'SuEXEC';
-$wb["php_txt"] = 'PHP';
-$wb["client_txt"] = 'Client';
-$wb["limit_web_domain_txt"] = 'The max. number of web domains for your account is reached.';
-$wb["limit_web_aliasdomain_txt"] = 'The max. number of aliasdomains for your account is reached.';
-$wb["limit_web_subdomain_txt"] = 'The max. number of web subdomains for your account is reached.';
-$wb["apache_directives_txt"] = 'Apache Directives';
-$wb["domain_error_empty"] = 'Domain is empty.';
-$wb["domain_error_unique"] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb["domain_error_regex"] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb["hd_quota_error_empty"] = 'Harddisk quota is 0 or empty.';
-$wb["traffic_quota_error_empty"] = 'Traffic quota is empty.';
-$wb["error_ssl_state_empty"] = 'SSL State is empty.';
-$wb["error_ssl_locality_empty"] = 'SSL Locality is empty.';
-$wb["error_ssl_organisation_empty"] = 'SSL Organisation is empty.';
-$wb["error_ssl_organisation_unit_empty"] = 'SSL Organisation Unit is empty.';
-$wb["error_ssl_country_empty"] = 'SSL Country is empty.';
-$wb["error_ssl_cert_empty"] = 'SSL Certificate field is empty';
-$wb["client_group_id_txt"] = 'Client';
-$wb["stats_password_txt"] = 'Set Webstatistics password';
-$wb["allow_override_txt"] = 'Apache AllowOverride';
-$wb["limit_web_quota_free_txt"] = 'Max. available Harddisk Quota';
-$wb["ssl_state_error_regex"] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_locality_error_regex"] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_organisation_error_regex"] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_organistaion_unit_error_regex"] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb["ssl_country_error_regex"] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb["limit_traffic_quota_free_txt"] = 'Max. available Traffic Quota';
-$wb["redirect_error_regex"] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb["php_open_basedir_txt"] = 'PHP open_basedir';
-$wb["traffic_quota_exceeded_txt"] = 'Traffic quota exceeded';
-$wb["ruby_txt"] = 'Ruby';
-$wb["stats_user_txt"] = 'Webstatistics username';
-$wb["stats_type_txt"] = 'Webstatistics program';
-$wb["custom_php_ini_txt"] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb["nginx_directives_txt"] = 'nginx Directives';
-$wb["seo_redirect_txt"] = 'SEO Redirect';
-$wb["non_www_to_www_txt"] = 'Non-www -> www';
-$wb["www_to_non_www_txt"] = 'www -> non-www';
-$wb["php_fpm_use_socket_txt"] = 'Use Socket For PHP-FPM';
-$wb["error_no_sni_txt"] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb["python_txt"] = 'Python';
-$wb["perl_txt"] = 'Perl';
-$wb["pm_max_children_txt"] = 'PHP-FPM pm.max_children';
-$wb["pm_start_servers_txt"] = 'PHP-FPM pm.start_servers';
-$wb["pm_min_spare_servers_txt"] = 'PHP-FPM pm.min_spare_servers';
-$wb["pm_max_spare_servers_txt"] = 'PHP-FPM pm.max_spare_servers';
-$wb["error_php_fpm_pm_settings_txt"] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb["pm_max_children_error_regex"] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb["pm_start_servers_error_regex"] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb["pm_min_spare_servers_error_regex"] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb["pm_max_spare_servers_error_regex"] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb["hd_quota_error_regex"] = 'Harddisk quota is invalid.';
-$wb["traffic_quota_error_regex"] = 'Traffic quota is invalid.';
-$wb["fastcgi_php_version_txt"] = 'PHP Version';
-$wb["pm_txt"] = 'PHP-FPM Process Manager';
-$wb["pm_process_idle_timeout_txt"] = 'PHP-FPM pm.process_idle_timeout';
-$wb["pm_max_requests_txt"] = 'PHP-FPM pm.max_requests';
-$wb["pm_process_idle_timeout_error_regex"] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb["pm_max_requests_error_regex"] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb["pm_ondemand_hint_txt"] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-$wb['rewrite_rules_txt'] = 'Rewrite Rules';
-$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
-$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
-$wb['configuration_error_txt'] = "CONFIGURATION ERROR";
-$wb['variables_txt'] = 'Variables';
-$wb['backup_excludes_txt'] = 'Excluded Directories';
-$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
-?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/en_web_vhost_subdomain_list.lng
deleted file mode 100644
index 8273dbd..0000000
--- a/interface/web/sites/lib/lang/en_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb["list_head_txt"] = 'Subdomains';
-$wb["active_txt"] = 'Active';
-$wb["server_id_txt"] = 'Server';
-$wb["parent_domain_id_txt"] = 'Website';
-$wb["domain_txt"] = 'Subdomain';
-$wb["add_new_record_txt"] = 'Add new subdomain';
-?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/es_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/es_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/es_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/es_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/es_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 4b28a64..0000000
--- a/interface/web/sites/lib/lang/es_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Alias de dominio';
-$wb['active_txt'] = 'Activar';
-$wb['server_id_txt'] = 'Servidor';
-$wb['parent_domain_id_txt'] = 'Sitio web';
-$wb['domain_txt'] = 'Alias de dominio';
-$wb['add_new_record_txt'] = 'Añadir nuevo alias de dominio';
-?>
diff --git a/interface/web/sites/lib/lang/es_web_domain.lng b/interface/web/sites/lib/lang/es_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/es_web_domain.lng
rename to interface/web/sites/lib/lang/es_web_vhost_domain.lng
index 37695c5..b3113b0 100644
--- a/interface/web/sites/lib/lang/es_web_domain.lng
+++ b/interface/web/sites/lib/lang/es_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/es_web_domain_admin_list.lng b/interface/web/sites/lib/lang/es_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/es_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/es_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/es_web_domain_list.lng b/interface/web/sites/lib/lang/es_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/es_web_domain_list.lng
rename to interface/web/sites/lib/lang/es_web_vhost_domain_list.lng
index f0248c5..199b5b1 100644
--- a/interface/web/sites/lib/lang/es_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/es_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Servidor';
$wb['domain_txt'] = 'Dominio';
$wb['add_new_record_txt'] = 'Añadir nuevo sitio web';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/es_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/es_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/es_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/es_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/es_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/es_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/fi_web_domain_admin_list.lng b/interface/web/sites/lib/lang/fi_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/fi_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index bbea906..0000000
--- a/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasverkkotunnus';
-$wb['active_txt'] = 'Käytössä';
-$wb['server_id_txt'] = 'Palvelin';
-$wb['parent_domain_id_txt'] = 'Sivusto';
-$wb['domain_txt'] = 'Aliasverkkotunnus';
-$wb['add_new_record_txt'] = 'Lisää uusi aliasverkkotunnus';
-?>
diff --git a/interface/web/sites/lib/lang/fi_web_domain.lng b/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/fi_web_domain.lng
rename to interface/web/sites/lib/lang/fi_web_vhost_domain.lng
index b910463..20136b5 100755
--- a/interface/web/sites/lib/lang/fi_web_domain.lng
+++ b/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/fi_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/fi_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/fi_web_domain_list.lng b/interface/web/sites/lib/lang/fi_web_vhost_domain_list.lng
similarity index 85%
rename from interface/web/sites/lib/lang/fi_web_domain_list.lng
rename to interface/web/sites/lib/lang/fi_web_vhost_domain_list.lng
index 8f5691c..52c238c 100755
--- a/interface/web/sites/lib/lang/fi_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/fi_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['domain_txt'] = 'Verkkotunnus';
$wb['add_new_record_txt'] = 'Lisää uusi verkkotunnus';
$wb['domain_id_txt'] = 'Verkkotunnus';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/fi_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/fi_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/fi_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/fi_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 0c6ab59..0000000
--- a/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Alias de domaine';
-$wb['active_txt'] = 'Actif';
-$wb['server_id_txt'] = 'Serveur';
-$wb['parent_domain_id_txt'] = 'Site web';
-$wb['domain_txt'] = 'Alias de domaine';
-$wb['add_new_record_txt'] = 'Nouvel alias de domaine';
-?>
diff --git a/interface/web/sites/lib/lang/fr_web_domain.lng b/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/fr_web_domain.lng
rename to interface/web/sites/lib/lang/fr_web_vhost_domain.lng
index 79971f8..20f9b61 100644
--- a/interface/web/sites/lib/lang/fr_web_domain.lng
+++ b/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
@@ -121,4 +121,10 @@
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
$wb['server_chosen_not_ok'] = 'Le serveur choisi n\'est pas autorisé pour ce compte.';
-?>
\ No newline at end of file
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
+?>
diff --git a/interface/web/sites/lib/lang/fr_web_domain_admin_list.lng b/interface/web/sites/lib/lang/fr_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/fr_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/fr_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/fr_web_domain_list.lng b/interface/web/sites/lib/lang/fr_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/fr_web_domain_list.lng
rename to interface/web/sites/lib/lang/fr_web_vhost_domain_list.lng
index ddf66f8..ba3584b 100644
--- a/interface/web/sites/lib/lang/fr_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/fr_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Serveur';
$wb['domain_txt'] = 'Domaine';
$wb['add_new_record_txt'] = 'Nouveau site web';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/fr_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/fr_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/fr_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/fr_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 79ee85d..0000000
--- a/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Alias domena';
-$wb['active_txt'] = 'Aktivno';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Web stranica';
-$wb['domain_txt'] = 'Alias domena';
-$wb['add_new_record_txt'] = 'Dodaj novu alias domenu';
-?>
diff --git a/interface/web/sites/lib/lang/hr_web_domain.lng b/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/hr_web_domain.lng
rename to interface/web/sites/lib/lang/hr_web_vhost_domain.lng
index b14d67a..4074388 100644
--- a/interface/web/sites/lib/lang/hr_web_domain.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/hr_web_domain_admin_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/hr_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/hr_web_domain_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/hr_web_domain_list.lng
rename to interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng
index 2f85d7c..cbb82a6 100644
--- a/interface/web/sites/lib/lang/hr_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domena';
$wb['add_new_record_txt'] = 'Dodaj novu web stranicu';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/hr_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/hr_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/hr_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 8fe58ed..0000000
--- a/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomain';
-$wb['active_txt'] = 'Aktív';
-$wb['server_id_txt'] = 'Szerver';
-$wb['parent_domain_id_txt'] = 'Webhely';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Új Aliasdomain';
-?>
diff --git a/interface/web/sites/lib/lang/hu_web_domain.lng b/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/hu_web_domain.lng
rename to interface/web/sites/lib/lang/hu_web_vhost_domain.lng
index 0e53fae..30236db 100644
--- a/interface/web/sites/lib/lang/hu_web_domain.lng
+++ b/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/hu_web_domain_admin_list.lng b/interface/web/sites/lib/lang/hu_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/hu_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/hu_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/hu_web_domain_list.lng b/interface/web/sites/lib/lang/hu_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/hu_web_domain_list.lng
rename to interface/web/sites/lib/lang/hu_web_vhost_domain_list.lng
index 0363b1c..832fa63 100644
--- a/interface/web/sites/lib/lang/hu_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/hu_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Szerver';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Új Webhely';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/hu_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/hu_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/hu_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/hu_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/id_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/id_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/id_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/id_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/id_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index b4aa9e0..0000000
--- a/interface/web/sites/lib/lang/id_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Alias Domain';
-$wb['active_txt'] = 'Aktif';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Situs Web';
-$wb['domain_txt'] = 'Alias Domain';
-$wb['add_new_record_txt'] = 'Tambah Alias Domain Baru';
-?>
diff --git a/interface/web/sites/lib/lang/id_web_domain.lng b/interface/web/sites/lib/lang/id_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/id_web_domain.lng
rename to interface/web/sites/lib/lang/id_web_vhost_domain.lng
index 0d240c9..e633ec3 100644
--- a/interface/web/sites/lib/lang/id_web_domain.lng
+++ b/interface/web/sites/lib/lang/id_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/id_web_domain_admin_list.lng b/interface/web/sites/lib/lang/id_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/id_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/id_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/id_web_domain_list.lng b/interface/web/sites/lib/lang/id_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/id_web_domain_list.lng
rename to interface/web/sites/lib/lang/id_web_vhost_domain_list.lng
index ba627a2..080c9d8 100644
--- a/interface/web/sites/lib/lang/id_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/id_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Tambah Situs Web Baru';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/id_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/id_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/id_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/id_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/id_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/id_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/it_web_domain_admin_list.lng b/interface/web/sites/lib/lang/it_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/it_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/it_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/it_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/it_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/it_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/it_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index ae8bfec..0000000
--- a/interface/web/sites/lib/lang/it_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomain';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Add new aliasdomain';
-?>
diff --git a/interface/web/sites/lib/lang/it_web_domain.lng b/interface/web/sites/lib/lang/it_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/it_web_domain.lng
rename to interface/web/sites/lib/lang/it_web_vhost_domain.lng
index eb60687..77c0c00 100644
--- a/interface/web/sites/lib/lang/it_web_domain.lng
+++ b/interface/web/sites/lib/lang/it_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/it_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/it_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/it_web_domain_list.lng b/interface/web/sites/lib/lang/it_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/it_web_domain_list.lng
rename to interface/web/sites/lib/lang/it_web_vhost_domain_list.lng
index a749148..4a4ef8a 100644
--- a/interface/web/sites/lib/lang/it_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/it_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Dominio';
$wb['add_new_record_txt'] = 'Aggiungi nuovo sito';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/it_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/it_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/it_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/it_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/it_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/it_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/ja_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ja_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/ja_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 1407d49..0000000
--- a/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'エイリアスドメイン';
-$wb['active_txt'] = '有効';
-$wb['server_id_txt'] = 'サーバー';
-$wb['parent_domain_id_txt'] = 'ウェブサイト';
-$wb['domain_txt'] = 'エイリアスドメイン';
-$wb['add_new_record_txt'] = 'エイリアスドメインを追加する';
-?>
diff --git a/interface/web/sites/lib/lang/ja_web_domain.lng b/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/ja_web_domain.lng
rename to interface/web/sites/lib/lang/ja_web_vhost_domain.lng
index e0402c0..e6537ef 100644
--- a/interface/web/sites/lib/lang/ja_web_domain.lng
+++ b/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ja_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/ja_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/ja_web_domain_list.lng b/interface/web/sites/lib/lang/ja_web_vhost_domain_list.lng
similarity index 85%
rename from interface/web/sites/lib/lang/ja_web_domain_list.lng
rename to interface/web/sites/lib/lang/ja_web_vhost_domain_list.lng
index e987d40..b26a548 100644
--- a/interface/web/sites/lib/lang/ja_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/ja_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'サーバー';
$wb['domain_txt'] = 'ドメイン';
$wb['add_new_record_txt'] = 'ウェブサイトを追加する';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/ja_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/ja_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/ja_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/ja_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 7a24c02..0000000
--- a/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomein';
-$wb['active_txt'] = 'Actief';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Aliasdomein';
-$wb['add_new_record_txt'] = 'Toevoegen nieuw aliasdomein';
-?>
diff --git a/interface/web/sites/lib/lang/nl_web_domain.lng b/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/nl_web_domain.lng
rename to interface/web/sites/lib/lang/nl_web_vhost_domain.lng
index 2d35781..3e2ffda 100644
--- a/interface/web/sites/lib/lang/nl_web_domain.lng
+++ b/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/nl_web_domain_admin_list.lng b/interface/web/sites/lib/lang/nl_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/nl_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/nl_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/nl_web_domain_list.lng b/interface/web/sites/lib/lang/nl_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/nl_web_domain_list.lng
rename to interface/web/sites/lib/lang/nl_web_vhost_domain_list.lng
index 882373d..f44597b 100644
--- a/interface/web/sites/lib/lang/nl_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domein';
$wb['add_new_record_txt'] = 'Toevoegen nieuwe website';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/nl_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/nl_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/nl_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/nl_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain.lng
deleted file mode 100644
index 8420a9d..0000000
--- a/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Strona macierzysta';
-$wb['web_folder_txt'] = 'Folder strony';
-$wb['web_folder_invalid_txt'] = 'Folder strony jest nieprawidłowy, proszę wybrać inny.';
-$wb['web_folder_unique_txt'] = 'Folder strony jest już w użyciu, proszę wybrać inny.';
-$wb['backup_interval_txt'] = 'Częstotliwość kopii';
-$wb['backup_copies_txt'] = 'Liczba kopii zapasowych';
-$wb['ssl_state_txt'] = 'Województwo';
-$wb['ssl_locality_txt'] = 'Lokalizacja';
-$wb['ssl_organisation_txt'] = 'Ogranizacja';
-$wb['ssl_organisation_unit_txt'] = 'Jednostka organizacji';
-$wb['ssl_country_txt'] = 'Kraj';
-$wb['ssl_key_txt'] = 'Klucz SSL';
-$wb['ssl_request_txt'] = 'Żądanie SSL';
-$wb['ssl_cert_txt'] = 'Certyfikat SSL';
-$wb['ssl_bundle_txt'] = 'Pakiet SSL (Bundle)';
-$wb['ssl_action_txt'] = 'Czynność SSL';
-$wb['ssl_domain_txt'] = 'Domena SSL';
-$wb['server_id_txt'] = 'Serwer';
-$wb['domain_txt'] = 'Domena';
-$wb['host_txt'] = 'Nazwa hosta';
-$wb['web_folder_error_regex'] = 'Wpisano nieprawidłowy folder. Proszę nie dopisywać znaku slash: / ';
-$wb['type_txt'] = 'Rodzaj';
-$wb['redirect_type_txt'] = 'Rodzaj przekierowania';
-$wb['redirect_path_txt'] = 'Ścieżka przekierowania';
-$wb['active_txt'] = 'Aktywny';
-$wb['document_root_txt'] = 'Document root';
-$wb['system_user_txt'] = 'Użytkownik systemowy';
-$wb['system_group_txt'] = 'Grupa systemowa';
-$wb['ip_address_txt'] = 'Adres IPv4';
-$wb['ipv6_address_txt'] = 'Adres IPv6';
-$wb['vhost_type_txt'] = 'Typ VHosta';
-$wb['hd_quota_txt'] = 'Limit dysku';
-$wb['traffic_quota_txt'] = 'Limit transferu';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Własne strony błędów';
-$wb['subdomain_txt'] = 'Automatyczna subdomena';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Klient';
-$wb['limit_web_domain_txt'] = 'Maks. liczba domen dla Twojego konta została osiągnięta.';
-$wb['limit_web_aliasdomain_txt'] = 'Maks. liczba aliasów domen dla Twojego konta została osiągnięta.';
-$wb['limit_web_subdomain_txt'] = 'Maks. liczba poddomen dla Twojego konta została osiągnięta.';
-$wb['apache_directives_txt'] = 'Dyrektywy Apache';
-$wb['domain_error_empty'] = 'Pole domeny jest puste';
-$wb['domain_error_unique'] = 'Istnieje już strona z taką domeną lub subdomeną.';
-$wb['domain_error_regex'] = 'Nazwa domeny jest nieprawidłowa.';
-$wb['domain_error_wildcard'] = 'Subdomeny typu wildcard nie są dozwolone.';
-$wb['hd_quota_error_empty'] = 'Pole limitu dysku jest puste lub wynosi 0.';
-$wb['traffic_quota_error_empty'] = 'Pole limitu transferu jest puste.';
-$wb['error_ssl_state_empty'] = 'Pole województwa dla SSL jest puste.';
-$wb['error_ssl_locality_empty'] = 'Pole lokalizacji dla SSL jest puste.';
-$wb['error_ssl_organisation_empty'] = 'Pole organizacji dla SSL jest puste.';
-$wb['error_ssl_organisation_unit_empty'] = 'Pole jednostki dla SSL jest puste.';
-$wb['error_ssl_country_empty'] = 'Pole kraju dla SSL jest puste.';
-$wb['error_ssl_cert_empty'] = 'Pole certyfikatu SSL jest puste.';
-$wb['client_group_id_txt'] = 'Klient';
-$wb['stats_password_txt'] = 'Hasło do statystyk';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Maks. dostępny limit dysku';
-$wb['ssl_state_error_regex'] = 'Nieprawidłowe województwo SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_locality_error_regex'] = 'Nieprawidłowa lokalizacja SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_organisation_error_regex'] = 'Nieprawidłowa organizacja SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Nieprawidłowa jednostka SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_country_error_regex'] = 'Nieprawidłowy kraj SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['limit_traffic_quota_free_txt'] = 'Maks. dostępny limit transferu';
-$wb['redirect_error_regex'] = 'Nieprawidłowa ścieżka przekierowania. Przykładowe prawidłowe przekierowania: /test/ lub http://www.domena.pl/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Limit transferu został przekroczony';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Login do statystyk';
-$wb['stats_type_txt'] = 'Rodzaj statystyk';
-$wb['custom_php_ini_txt'] = 'Własne ustawienia php.ini';
-$wb['none_txt'] = 'Brak';
-$wb['disabled_txt'] = 'Wyłączone';
-$wb['no_redirect_txt'] = 'Bez przekierowania';
-$wb['no_flag_txt'] = 'Bez flagi';
-$wb['save_certificate_txt'] = 'Zapisz certyfikat';
-$wb['create_certificate_txt'] = 'Utwórz certyfikat';
-$wb['delete_certificate_txt'] = 'Usuń certyfikat';
-$wb['nginx_directives_txt'] = 'Dyrektywy nginx';
-$wb['seo_redirect_txt'] = 'Przekierowanie SEO';
-$wb['non_www_to_www_txt'] = 'bez-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> bez-www';
-$wb['php_fpm_use_socket_txt'] = 'Użyj gniazda dla PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI dla SSL nie jest aktywowane dla tego serwera. Możesz włączyć tylko jeden certyfikat SSL dla jednego adresu IP.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Wartości ustawień PHP-FPM pm muszą być następujące: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children musi być dodatnią wartością całkowitą.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers musi być dodatnią wartością całkowitą.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers musi być dodatnią wartością całkowitą.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers musi być dodatnią wartością całkowitą.';
-$wb['hd_quota_error_regex'] = 'Limit dyski jest nieprawidłowy';
-$wb['traffic_quota_error_regex'] = 'Limit transferu jest nieprawidłowy';
-$wb['fastcgi_php_version_txt'] = 'Wersja PHP';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout musi być dodatnią wartością całkowitą.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests musi być wartością całkowitą >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Pamiętaj że musisz mieć wersję PHP >= 5.3.9 aby używać ondemand process manager. W przypadku starszej wersji PHP nie będzie działać w ogóle!';
-$wb['generate_password_txt'] = 'Generuj hasło';
-$wb['repeat_password_txt'] = 'Powtórz hasło';
-$wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie';
-$wb['password_match_txt'] = 'Hasła pasują do siebie';
-$wb['available_php_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw PHP:';
-$wb['available_apache_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw Apache:';
-$wb['available_nginx_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw nginx:';
-$wb['proxy_directives_txt'] = 'Dyrektywy Proxy';
-$wb['available_proxy_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw Proxy:';
-?>
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 621b614..0000000
--- a/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Alias domeny';
-$wb['active_txt'] = 'Aktywny';
-$wb['server_id_txt'] = 'Serwer';
-$wb['parent_domain_id_txt'] = 'Strona www';
-$wb['domain_txt'] = 'Alias domeny';
-$wb['add_new_record_txt'] = 'Dodaj nowy alias domeny';
-?>
diff --git a/interface/web/sites/lib/lang/pl_web_domain.lng b/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/pl_web_domain.lng
rename to interface/web/sites/lib/lang/pl_web_vhost_domain.lng
index ae5c3e1..5b56b1e 100644
--- a/interface/web/sites/lib/lang/pl_web_domain.lng
+++ b/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Folder strony';
+$wb['web_folder_invalid_txt'] = 'Folder strony jest nieprawidłowy, proszę wybrać inny.';
+$wb['web_folder_unique_txt'] = 'Folder strony jest już w użyciu, proszę wybrać inny.';
+$wb['host_txt'] = 'Nazwa hosta';
+$wb['domain_error_wildcard'] = 'Subdomeny typu wildcard nie są dozwolone.';
+
?>
diff --git a/interface/web/sites/lib/lang/pl_web_domain_admin_list.lng b/interface/web/sites/lib/lang/pl_web_vhost_domain_admin_list.lng
similarity index 100%
rename from interface/web/sites/lib/lang/pl_web_domain_admin_list.lng
rename to interface/web/sites/lib/lang/pl_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/pl_web_domain_list.lng b/interface/web/sites/lib/lang/pl_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/pl_web_domain_list.lng
rename to interface/web/sites/lib/lang/pl_web_vhost_domain_list.lng
index 62b7455..6a5d709 100644
--- a/interface/web/sites/lib/lang/pl_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/pl_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Serwer';
$wb['domain_txt'] = 'Domena';
$wb['add_new_record_txt'] = 'Dodaj nową stronę';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/pl_web_vhost_subdomain.lng
deleted file mode 100644
index 8420a9d..0000000
--- a/interface/web/sites/lib/lang/pl_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Strona macierzysta';
-$wb['web_folder_txt'] = 'Folder strony';
-$wb['web_folder_invalid_txt'] = 'Folder strony jest nieprawidłowy, proszę wybrać inny.';
-$wb['web_folder_unique_txt'] = 'Folder strony jest już w użyciu, proszę wybrać inny.';
-$wb['backup_interval_txt'] = 'Częstotliwość kopii';
-$wb['backup_copies_txt'] = 'Liczba kopii zapasowych';
-$wb['ssl_state_txt'] = 'Województwo';
-$wb['ssl_locality_txt'] = 'Lokalizacja';
-$wb['ssl_organisation_txt'] = 'Ogranizacja';
-$wb['ssl_organisation_unit_txt'] = 'Jednostka organizacji';
-$wb['ssl_country_txt'] = 'Kraj';
-$wb['ssl_key_txt'] = 'Klucz SSL';
-$wb['ssl_request_txt'] = 'Żądanie SSL';
-$wb['ssl_cert_txt'] = 'Certyfikat SSL';
-$wb['ssl_bundle_txt'] = 'Pakiet SSL (Bundle)';
-$wb['ssl_action_txt'] = 'Czynność SSL';
-$wb['ssl_domain_txt'] = 'Domena SSL';
-$wb['server_id_txt'] = 'Serwer';
-$wb['domain_txt'] = 'Domena';
-$wb['host_txt'] = 'Nazwa hosta';
-$wb['web_folder_error_regex'] = 'Wpisano nieprawidłowy folder. Proszę nie dopisywać znaku slash: / ';
-$wb['type_txt'] = 'Rodzaj';
-$wb['redirect_type_txt'] = 'Rodzaj przekierowania';
-$wb['redirect_path_txt'] = 'Ścieżka przekierowania';
-$wb['active_txt'] = 'Aktywny';
-$wb['document_root_txt'] = 'Document root';
-$wb['system_user_txt'] = 'Użytkownik systemowy';
-$wb['system_group_txt'] = 'Grupa systemowa';
-$wb['ip_address_txt'] = 'Adres IPv4';
-$wb['ipv6_address_txt'] = 'Adres IPv6';
-$wb['vhost_type_txt'] = 'Typ VHosta';
-$wb['hd_quota_txt'] = 'Limit dysku';
-$wb['traffic_quota_txt'] = 'Limit transferu';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Własne strony błędów';
-$wb['subdomain_txt'] = 'Automatyczna subdomena';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Klient';
-$wb['limit_web_domain_txt'] = 'Maks. liczba domen dla Twojego konta została osiągnięta.';
-$wb['limit_web_aliasdomain_txt'] = 'Maks. liczba aliasów domen dla Twojego konta została osiągnięta.';
-$wb['limit_web_subdomain_txt'] = 'Maks. liczba poddomen dla Twojego konta została osiągnięta.';
-$wb['apache_directives_txt'] = 'Dyrektywy Apache';
-$wb['domain_error_empty'] = 'Pole domeny jest puste';
-$wb['domain_error_unique'] = 'Istnieje już strona z taką domeną lub subdomeną.';
-$wb['domain_error_regex'] = 'Nazwa domeny jest nieprawidłowa.';
-$wb['domain_error_wildcard'] = 'Subdomeny typu wildcard nie są dozwolone.';
-$wb['hd_quota_error_empty'] = 'Pole limitu dysku jest puste lub wynosi 0.';
-$wb['traffic_quota_error_empty'] = 'Pole limitu transferu jest puste.';
-$wb['error_ssl_state_empty'] = 'Pole województwa dla SSL jest puste.';
-$wb['error_ssl_locality_empty'] = 'Pole lokalizacji dla SSL jest puste.';
-$wb['error_ssl_organisation_empty'] = 'Pole organizacji dla SSL jest puste.';
-$wb['error_ssl_organisation_unit_empty'] = 'Pole jednostki dla SSL jest puste.';
-$wb['error_ssl_country_empty'] = 'Pole kraju dla SSL jest puste.';
-$wb['error_ssl_cert_empty'] = 'Pole certyfikatu SSL jest puste.';
-$wb['client_group_id_txt'] = 'Klient';
-$wb['stats_password_txt'] = 'Hasło do statystyk';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Maks. dostępny limit dysku';
-$wb['ssl_state_error_regex'] = 'Nieprawidłowe województwo SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_locality_error_regex'] = 'Nieprawidłowa lokalizacja SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_organisation_error_regex'] = 'Nieprawidłowa organizacja SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Nieprawidłowa jednostka SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['ssl_country_error_regex'] = 'Nieprawidłowy kraj SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
-$wb['limit_traffic_quota_free_txt'] = 'Maks. dostępny limit transferu';
-$wb['redirect_error_regex'] = 'Nieprawidłowa ścieżka przekierowania. Przykładowe prawidłowe przekierowania: /test/ lub http://www.domena.pl/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Limit transferu został przekroczony';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Login do statystyk';
-$wb['stats_type_txt'] = 'Rodzaj statystyk';
-$wb['custom_php_ini_txt'] = 'Własne ustawienia php.ini';
-$wb['none_txt'] = 'Brak';
-$wb['disabled_txt'] = 'Wyłączone';
-$wb['no_redirect_txt'] = 'Bez przekierowania';
-$wb['no_flag_txt'] = 'Bez flagi';
-$wb['save_certificate_txt'] = 'Zapisz certyfikat';
-$wb['create_certificate_txt'] = 'Utwórz certyfikat';
-$wb['delete_certificate_txt'] = 'Usuń certyfikat';
-$wb['nginx_directives_txt'] = 'Dyrektywy nginx';
-$wb['seo_redirect_txt'] = 'Przekierowanie SEO';
-$wb['non_www_to_www_txt'] = 'bez-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> bez-www';
-$wb['php_fpm_use_socket_txt'] = 'Użyj gniazda dla PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI dla SSL nie jest aktywowane dla tego serwera. Możesz włączyć tylko jeden certyfikat SSL dla jednego adresu IP.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Wartości ustawień PHP-FPM pm muszą być następujące: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children musi być dodatnią wartością całkowitą.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers musi być dodatnią wartością całkowitą.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers musi być dodatnią wartością całkowitą.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers musi być dodatnią wartością całkowitą.';
-$wb['hd_quota_error_regex'] = 'Limit dyski jest nieprawidłowy';
-$wb['traffic_quota_error_regex'] = 'Limit transferu jest nieprawidłowy';
-$wb['fastcgi_php_version_txt'] = 'Wersja PHP';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout musi być dodatnią wartością całkowitą.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests musi być wartością całkowitą >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Pamiętaj że musisz mieć wersję PHP >= 5.3.9 aby używać ondemand process manager. W przypadku starszej wersji PHP nie będzie działać w ogóle!';
-$wb['generate_password_txt'] = 'Generuj hasło';
-$wb['repeat_password_txt'] = 'Powtórz hasło';
-$wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie';
-$wb['password_match_txt'] = 'Hasła pasują do siebie';
-$wb['available_php_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw PHP:';
-$wb['available_apache_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw Apache:';
-$wb['available_nginx_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw nginx:';
-$wb['proxy_directives_txt'] = 'Dyrektywy Proxy';
-$wb['available_proxy_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw Proxy:';
-?>
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/pl_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/pl_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/pt_web_domain_admin_list.lng b/interface/web/sites/lib/lang/pt_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/pt_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index b9dd27c..0000000
--- a/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Domínio Alias';
-$wb['active_txt'] = 'Activo';
-$wb['server_id_txt'] = 'Servidor';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Domínio Alias';
-$wb['add_new_record_txt'] = 'Adicionar Alias de Domínio';
-?>
diff --git a/interface/web/sites/lib/lang/pt_web_domain.lng b/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/pt_web_domain.lng
rename to interface/web/sites/lib/lang/pt_web_vhost_domain.lng
index e7f3fd2..4aad704 100644
--- a/interface/web/sites/lib/lang/pt_web_domain.lng
+++ b/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/pt_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/pt_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/pt_web_domain_list.lng b/interface/web/sites/lib/lang/pt_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/pt_web_domain_list.lng
rename to interface/web/sites/lib/lang/pt_web_vhost_domain_list.lng
index 5fb9118..9bbf366 100644
--- a/interface/web/sites/lib/lang/pt_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/pt_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Servidor';
$wb['domain_txt'] = 'Domínio';
$wb['add_new_record_txt'] = 'Adicionar um novo site';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/pt_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/pt_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/pt_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/pt_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/ro_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ro_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/ro_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index f63f62e..0000000
--- a/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomain';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Adauga un nou aliasdomain';
-?>
diff --git a/interface/web/sites/lib/lang/ro_web_domain.lng b/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/ro_web_domain.lng
rename to interface/web/sites/lib/lang/ro_web_vhost_domain.lng
index 4ff6a0d..dc1babb 100644
--- a/interface/web/sites/lib/lang/ro_web_domain.lng
+++ b/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ro_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/ro_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/ro_web_domain_list.lng b/interface/web/sites/lib/lang/ro_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/ro_web_domain_list.lng
rename to interface/web/sites/lib/lang/ro_web_vhost_domain_list.lng
index e84427d..cbae0a1 100644
--- a/interface/web/sites/lib/lang/ro_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/ro_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Adauga un nou website';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/ro_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/ro_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/ro_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/ro_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/ru_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ru_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/ru_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index 041c188..0000000
--- a/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Доменные алиасы';
-$wb['active_txt'] = 'Активен?';
-$wb['server_id_txt'] = 'Сервер';
-$wb['parent_domain_id_txt'] = 'Web-сайт';
-$wb['domain_txt'] = 'Доменный алиас';
-$wb['add_new_record_txt'] = 'Добавить новый алиас';
-?>
diff --git a/interface/web/sites/lib/lang/ru_web_domain.lng b/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/ru_web_domain.lng
rename to interface/web/sites/lib/lang/ru_web_vhost_domain.lng
index 964d9f4..460596d 100644
--- a/interface/web/sites/lib/lang/ru_web_domain.lng
+++ b/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/ru_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/ru_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/ru_web_domain_list.lng b/interface/web/sites/lib/lang/ru_web_vhost_domain_list.lng
similarity index 86%
rename from interface/web/sites/lib/lang/ru_web_domain_list.lng
rename to interface/web/sites/lib/lang/ru_web_vhost_domain_list.lng
index 018e365..0d159e5 100644
--- a/interface/web/sites/lib/lang/ru_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/ru_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['domain_txt'] = 'Домен';
$wb['add_new_record_txt'] = 'Добавить новый вебсайт';
$wb['domain_id_txt'] = 'ID';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/ru_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/ru_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/ru_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/ru_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/se_web_domain_admin_list.lng b/interface/web/sites/lib/lang/se_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/se_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/se_web_domain_list.lng b/interface/web/sites/lib/lang/se_web_domain_list.lng
deleted file mode 100644
index 88ec412..0000000
--- a/interface/web/sites/lib/lang/se_web_domain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/se_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/se_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/se_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/se_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/se_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index ae8bfec..0000000
--- a/interface/web/sites/lib/lang/se_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomain';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Add new aliasdomain';
-?>
diff --git a/interface/web/sites/lib/lang/se_web_domain.lng b/interface/web/sites/lib/lang/se_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/se_web_domain.lng
rename to interface/web/sites/lib/lang/se_web_vhost_domain.lng
index 2d9e432..3b6c9c3 100644
--- a/interface/web/sites/lib/lang/se_web_domain.lng
+++ b/interface/web/sites/lib/lang/se_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/br_web_domain_admin_list.lng b/interface/web/sites/lib/lang/se_web_vhost_domain_list.lng
similarity index 83%
copy from interface/web/sites/lib/lang/br_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/se_web_vhost_domain_list.lng
index b460e27..b8f85d3 100644
--- a/interface/web/sites/lib/lang/br_web_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/se_web_vhost_domain_list.lng
@@ -1,9 +1,10 @@
<?php
-$wb['sys_groupid_txt'] = 'Client';
$wb['list_head_txt'] = 'Websites';
$wb['domain_id_txt'] = 'ID';
$wb['active_txt'] = 'Active';
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Add new website';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/sk_web_domain_admin_list.lng b/interface/web/sites/lib/lang/sk_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/sk_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index c626f08..0000000
--- a/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Alias doména';
-$wb['active_txt'] = 'Aktívne';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Webstránky';
-$wb['domain_txt'] = 'Alias doména';
-$wb['add_new_record_txt'] = 'Pridať novú alias doménu';
-?>
diff --git a/interface/web/sites/lib/lang/sk_web_domain.lng b/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/sk_web_domain.lng
rename to interface/web/sites/lib/lang/sk_web_vhost_domain.lng
index 40b00bd..f4234f8 100644
--- a/interface/web/sites/lib/lang/sk_web_domain.lng
+++ b/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/sk_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/sk_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/sk_web_domain_list.lng b/interface/web/sites/lib/lang/sk_web_vhost_domain_list.lng
similarity index 84%
rename from interface/web/sites/lib/lang/sk_web_domain_list.lng
rename to interface/web/sites/lib/lang/sk_web_vhost_domain_list.lng
index 05a1d4f..8b9c86f 100644
--- a/interface/web/sites/lib/lang/sk_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/sk_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Server';
$wb['domain_txt'] = 'Doména';
$wb['add_new_record_txt'] = 'Pridať novú doménu';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/sk_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/sk_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/sk_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/sk_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/lang/tr_web_domain_admin_list.lng b/interface/web/sites/lib/lang/tr_web_domain_admin_list.lng
deleted file mode 100644
index b460e27..0000000
--- a/interface/web/sites/lib/lang/tr_web_domain_admin_list.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['sys_groupid_txt'] = 'Client';
-$wb['list_head_txt'] = 'Websites';
-$wb['domain_id_txt'] = 'ID';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['add_new_record_txt'] = 'Add new website';
-?>
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain_list.lng
deleted file mode 100644
index afe91af..0000000
--- a/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Aliasdomain';
-$wb['active_txt'] = 'Aktif';
-$wb['server_id_txt'] = 'Sunucu';
-$wb['parent_domain_id_txt'] = 'Websitesi';
-$wb['domain_txt'] = 'Aliasdomain';
-$wb['add_new_record_txt'] = 'Yeni Aliasdomain';
-?>
diff --git a/interface/web/sites/lib/lang/tr_web_domain.lng b/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
similarity index 95%
rename from interface/web/sites/lib/lang/tr_web_domain.lng
rename to interface/web/sites/lib/lang/tr_web_vhost_domain.lng
index 1b33005..695fb4f 100644
--- a/interface/web/sites/lib/lang/tr_web_domain.lng
+++ b/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
@@ -120,4 +120,10 @@
$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
$wb['configuration_error_txt'] = 'CONFIGURATION ERROR';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['host_txt'] = 'Hostname';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+
?>
diff --git a/interface/web/sites/lib/lang/ar_web_domain_admin_list.lng b/interface/web/sites/lib/lang/tr_web_vhost_domain_admin_list.lng
similarity index 100%
copy from interface/web/sites/lib/lang/ar_web_domain_admin_list.lng
copy to interface/web/sites/lib/lang/tr_web_vhost_domain_admin_list.lng
diff --git a/interface/web/sites/lib/lang/tr_web_domain_list.lng b/interface/web/sites/lib/lang/tr_web_vhost_domain_list.lng
similarity index 83%
rename from interface/web/sites/lib/lang/tr_web_domain_list.lng
rename to interface/web/sites/lib/lang/tr_web_vhost_domain_list.lng
index 8dbf8fd..8969029 100644
--- a/interface/web/sites/lib/lang/tr_web_domain_list.lng
+++ b/interface/web/sites/lib/lang/tr_web_vhost_domain_list.lng
@@ -5,4 +5,6 @@
$wb['server_id_txt'] = 'Sunucu';
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Yeni Website';
+$wb['parent_domain_id_txt'] = 'Website';
+
?>
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/tr_web_vhost_subdomain.lng
deleted file mode 100644
index b87c788..0000000
--- a/interface/web/sites/lib/lang/tr_web_vhost_subdomain.lng
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-$wb['parent_domain_id_txt'] = 'Parent Website';
-$wb['web_folder_txt'] = 'Web folder';
-$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
-$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
-$wb['backup_interval_txt'] = 'Backup interval';
-$wb['backup_copies_txt'] = 'Number of backup copies';
-$wb['ssl_state_txt'] = 'State';
-$wb['ssl_locality_txt'] = 'Locality';
-$wb['ssl_organisation_txt'] = 'Organisation';
-$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
-$wb['ssl_country_txt'] = 'Country';
-$wb['ssl_key_txt'] = 'SSL Key';
-$wb['ssl_request_txt'] = 'SSL Request';
-$wb['ssl_cert_txt'] = 'SSL Certificate';
-$wb['ssl_bundle_txt'] = 'SSL Bundle';
-$wb['ssl_action_txt'] = 'SSL Action';
-$wb['ssl_domain_txt'] = 'SSL Domain';
-$wb['server_id_txt'] = 'Server';
-$wb['domain_txt'] = 'Domain';
-$wb['host_txt'] = 'Hostname';
-$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
-$wb['type_txt'] = 'Type';
-$wb['redirect_type_txt'] = 'Redirect Type';
-$wb['redirect_path_txt'] = 'Redirect Path';
-$wb['active_txt'] = 'Active';
-$wb['document_root_txt'] = 'Documentroot';
-$wb['system_user_txt'] = 'Linux User';
-$wb['system_group_txt'] = 'Linux Group';
-$wb['ip_address_txt'] = 'IPv4-Address';
-$wb['ipv6_address_txt'] = 'IPv6-Address';
-$wb['vhost_type_txt'] = 'VHost Type';
-$wb['hd_quota_txt'] = 'Harddisk Quota';
-$wb['traffic_quota_txt'] = 'Traffic Quota';
-$wb['cgi_txt'] = 'CGI';
-$wb['ssi_txt'] = 'SSI';
-$wb['errordocs_txt'] = 'Own Error-Documents';
-$wb['subdomain_txt'] = 'Auto-Subdomain';
-$wb['ssl_txt'] = 'SSL';
-$wb['suexec_txt'] = 'SuEXEC';
-$wb['php_txt'] = 'PHP';
-$wb['client_txt'] = 'Client';
-$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
-$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
-$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
-$wb['apache_directives_txt'] = 'Apache Directives';
-$wb['domain_error_empty'] = 'Domain is empty.';
-$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
-$wb['domain_error_regex'] = 'Domain name invalid.';
-$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
-$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
-$wb['error_ssl_state_empty'] = 'SSL State is empty.';
-$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
-$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
-$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
-$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
-$wb['client_group_id_txt'] = 'Client';
-$wb['stats_password_txt'] = 'Webstatistics password';
-$wb['allow_override_txt'] = 'Apache AllowOverride';
-$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
-$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
-$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
-$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
-$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
-$wb['php_open_basedir_txt'] = 'PHP open_basedir';
-$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
-$wb['ruby_txt'] = 'Ruby';
-$wb['stats_user_txt'] = 'Webstatistics username';
-$wb['stats_type_txt'] = 'Webstatistics program';
-$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
-$wb['none_txt'] = 'None';
-$wb['disabled_txt'] = 'Disabled';
-$wb['no_redirect_txt'] = 'No redirect';
-$wb['no_flag_txt'] = 'No flag';
-$wb['save_certificate_txt'] = 'Save certificate';
-$wb['create_certificate_txt'] = 'Create certificate';
-$wb['delete_certificate_txt'] = 'Delete certificate';
-$wb['nginx_directives_txt'] = 'nginx Directives';
-$wb['seo_redirect_txt'] = 'SEO Redirect';
-$wb['non_www_to_www_txt'] = 'Non-www -> www';
-$wb['www_to_non_www_txt'] = 'www -> non-www';
-$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
-$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
-$wb['python_txt'] = 'Python';
-$wb['perl_txt'] = 'Perl';
-$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
-$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
-$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
-$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
-$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
-$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
-$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
-$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
-$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
-$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
-$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
-$wb['fastcgi_php_version_txt'] = 'PHP Version';
-$wb['pm_txt'] = 'PHP-FPM Process Manager';
-$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
-$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
-$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
-$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
-$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
-$wb['generate_password_txt'] = 'Generate Password';
-$wb['repeat_password_txt'] = 'Repeat Password';
-$wb['password_mismatch_txt'] = 'The passwords do not match.';
-$wb['password_match_txt'] = 'The passwords do match.';
-$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
-$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
-$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
-$wb['proxy_directives_txt'] = 'Proxy Directives';
-$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
-?>
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/tr_web_vhost_subdomain_list.lng
deleted file mode 100644
index 1c16bcd..0000000
--- a/interface/web/sites/lib/lang/tr_web_vhost_subdomain_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Subdomains';
-$wb['active_txt'] = 'Active';
-$wb['server_id_txt'] = 'Server';
-$wb['parent_domain_id_txt'] = 'Website';
-$wb['domain_txt'] = 'Subdomain';
-$wb['add_new_record_txt'] = 'Add new subdomain';
-?>
diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php
index 02478fc..0a61e06 100644
--- a/interface/web/sites/lib/module.conf.php
+++ b/interface/web/sites/lib/module.conf.php
@@ -15,7 +15,7 @@
{
$items[] = array( 'title' => "Website",
'target' => 'content',
- 'link' => 'sites/web_domain_list.php',
+ 'link' => 'sites/web_vhost_domain_list.php?type=domain',
'html_id' => 'domain_list');
}
@@ -32,7 +32,7 @@
if($sys_config['vhost_subdomains'] == 'y') {
$items[] = array( 'title' => "Subdomain (Vhost)",
'target' => 'content',
- 'link' => 'sites/web_vhost_subdomain_list.php',
+ 'link' => 'sites/web_vhost_domain_list.php?type=subdomain',
'html_id' => 'childdomain_list');
}
}
@@ -50,7 +50,7 @@
if($sys_config['vhost_aliasdomains'] == 'y') {
$items[] = array( 'title' => "Aliasdomain (Vhost)",
'target' => 'content',
- 'link' => 'sites/web_vhost_aliasdomain_list.php',
+ 'link' => 'sites/web_vhost_domain_list.php?type=aliasdomain',
'html_id' => 'childdomain_list');
}
}
diff --git a/interface/web/sites/list/web_vhost_aliasdomain.list.php b/interface/web/sites/list/web_vhost_aliasdomain.list.php
deleted file mode 100644
index a9a044f..0000000
--- a/interface/web/sites/list/web_vhost_aliasdomain.list.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- Datatypes:
- - INTEGER
- - DOUBLE
- - CURRENCY
- - VARCHAR
- - TEXT
- - DATE
-*/
-
-
-
-// Name of the list
-$liste["name"] = "web_vhost_aliasdomain";
-
-// Database table
-$liste["table"] = "web_domain";
-
-// Index index field of the database table
-$liste["table_idx"] = "domain_id";
-
-// Search Field Prefix
-$liste["search_prefix"] = "search_";
-
-// Records per page
-$liste["records_per_page"] = "15";
-
-// Script File of the list
-$liste["file"] = "web_vhost_aliasdomain_list.php";
-
-// Script file of the edit form
-$liste["edit_file"] = "web_vhost_aliasdomain_edit.php";
-
-// Script File of the delete script
-$liste["delete_file"] = "web_vhost_aliasdomain_del.php";
-
-// Paging Template
-$liste["paging_tpl"] = "templates/paging.tpl.htm";
-
-// Enable auth
-$liste["auth"] = "yes";
-
-
-/*****************************************************
-* Suchfelder
-*****************************************************/
-
-
-$liste["item"][] = array( 'field' => "active",
- 'datatype' => "VARCHAR",
- 'formtype' => "SELECT",
- 'op' => "=",
- 'prefix' => "",
- 'suffix' => "",
- 'width' => "",
- 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
-
-
-$liste["item"][] = array( 'field' => "server_id",
- 'datatype' => "VARCHAR",
- 'formtype' => "SELECT",
- 'op' => "like",
- 'prefix' => "%",
- 'suffix' => "%",
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
- 'keyfield'=> 'server_id',
- 'valuefield'=> 'server_name'
- ),
- 'width' => "",
- 'value' => "");
-
-$liste["item"][] = array( 'field' => "parent_domain_id",
- 'datatype' => "VARCHAR",
- 'filters' => array( 0 => array( 'event' => 'SHOW',
- 'type' => 'IDNTOUTF8')
- ),
- 'formtype' => "SELECT",
- 'op' => "=",
- 'prefix' => "",
- 'suffix' => "",
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain",
- 'keyfield'=> 'domain_id',
- 'valuefield'=> 'domain'
- ),
- 'width' => "",
- 'value' => "");
-
-$liste["item"][] = array( 'field' => "domain",
- 'datatype' => "VARCHAR",
- 'filters' => array( 0 => array( 'event' => 'SHOW',
- 'type' => 'IDNTOUTF8')
- ),
- 'formtype' => "TEXT",
- 'op' => "like",
- 'prefix' => "%",
- 'suffix' => "%",
- 'width' => "",
- 'value' => "");
-
-
-?>
diff --git a/interface/web/sites/list/web_domain.list.php b/interface/web/sites/list/web_vhost_domain.list.php
similarity index 61%
rename from interface/web/sites/list/web_domain.list.php
rename to interface/web/sites/list/web_vhost_domain.list.php
index a455f54..f997d7b 100644
--- a/interface/web/sites/list/web_domain.list.php
+++ b/interface/web/sites/list/web_vhost_domain.list.php
@@ -10,13 +10,22 @@
- DATE
*/
+$vhostdomain_type = 'domain';
+
+if(isset($_SESSION['s']['var']['vhostdomain_type'])) {
+ if($_SESSION['s']['var']['vhostdomain_type'] == 'subdomain') {
+ $vhostdomain_type = 'subdomain';
+ } elseif($_SESSION['s']['var']['vhostdomain_type'] == 'aliasdomain') {
+ $vhostdomain_type = 'aliasdomain';
+ }
+}
// Name of the list
if($_SESSION['s']['user']['typ'] == 'admin') {
- $liste["name"] = "web_domain_admin";
+ $liste["name"] = "web_vhost_domain_admin";
} else {
- $liste["name"] = "web_domain";
+ $liste["name"] = "web_vhost_domain";
}
// Database table
@@ -32,13 +41,13 @@
$liste["records_per_page"] = "15";
// Script File of the list
-$liste["file"] = "web_domain_list.php";
+$liste["file"] = "web_vhost_domain_list.php";
// Script file of the edit form
-$liste["edit_file"] = "web_domain_edit.php";
+$liste["edit_file"] = "web_vhost_domain_edit.php";
// Script File of the delete script
-$liste["delete_file"] = "web_domain_del.php";
+$liste["delete_file"] = "web_vhost_domain_del.php";
// Paging Template
$liste["paging_tpl"] = "templates/paging.tpl.htm";
@@ -51,15 +60,16 @@
* Suchfelder
*****************************************************/
-$liste["item"][] = array( 'field' => "domain_id",
- 'datatype' => "INTEGER",
- 'formtype' => "TEXT",
- 'op' => "=",
- 'prefix' => "",
- 'suffix' => "",
- 'width' => "",
- 'value' => "");
-
+if($vhostdomain_type == 'domain') {
+ $liste["item"][] = array( 'field' => "domain_id",
+ 'datatype' => "INTEGER",
+ 'formtype' => "TEXT",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'width' => "",
+ 'value' => "");
+}
$liste["item"][] = array( 'field' => "active",
'datatype' => "VARCHAR",
@@ -70,7 +80,7 @@
'width' => "",
'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
-if($_SESSION['s']['user']['typ'] == 'admin') {
+if($_SESSION['s']['user']['typ'] == 'admin' && $vhostdomain_type == 'domain') {
$liste["item"][] = array( 'field' => "sys_groupid",
'datatype' => "INTEGER",
'formtype' => "SELECT",
@@ -100,6 +110,26 @@
'width' => "",
'value' => "");
+if($vhostdomain_type != 'domain') {
+ $liste["item"][] = array( 'field' => "parent_domain_id",
+ 'datatype' => "VARCHAR",
+ 'filters' => array( 0 => array( 'event' => 'SHOW',
+ 'type' => 'IDNTOUTF8')
+ ),
+ 'formtype' => "SELECT",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain",
+ 'keyfield'=> 'domain_id',
+ 'valuefield'=> 'domain'
+ ),
+ 'width' => "",
+ 'value' => "");
+
+}
+
$liste["item"][] = array( 'field' => "domain",
'datatype' => "VARCHAR",
'filters' => array( 0 => array( 'event' => 'SHOW',
diff --git a/interface/web/sites/list/web_vhost_subdomain.list.php b/interface/web/sites/list/web_vhost_subdomain.list.php
deleted file mode 100644
index 975814d..0000000
--- a/interface/web/sites/list/web_vhost_subdomain.list.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- Datatypes:
- - INTEGER
- - DOUBLE
- - CURRENCY
- - VARCHAR
- - TEXT
- - DATE
-*/
-
-
-
-// Name of the list
-$liste["name"] = "web_vhost_subdomain";
-
-// Database table
-$liste["table"] = "web_domain";
-
-// Index index field of the database table
-$liste["table_idx"] = "domain_id";
-
-// Search Field Prefix
-$liste["search_prefix"] = "search_";
-
-// Records per page
-$liste["records_per_page"] = "15";
-
-// Script File of the list
-$liste["file"] = "web_vhost_subdomain_list.php";
-
-// Script file of the edit form
-$liste["edit_file"] = "web_vhost_subdomain_edit.php";
-
-// Script File of the delete script
-$liste["delete_file"] = "web_vhost_subdomain_del.php";
-
-// Paging Template
-$liste["paging_tpl"] = "templates/paging.tpl.htm";
-
-// Enable auth
-$liste["auth"] = "yes";
-
-
-/*****************************************************
-* Suchfelder
-*****************************************************/
-
-
-$liste["item"][] = array( 'field' => "active",
- 'datatype' => "VARCHAR",
- 'formtype' => "SELECT",
- 'op' => "=",
- 'prefix' => "",
- 'suffix' => "",
- 'width' => "",
- 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
-
-
-$liste["item"][] = array( 'field' => "server_id",
- 'datatype' => "VARCHAR",
- 'formtype' => "SELECT",
- 'op' => "like",
- 'prefix' => "%",
- 'suffix' => "%",
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
- 'keyfield'=> 'server_id',
- 'valuefield'=> 'server_name'
- ),
- 'width' => "",
- 'value' => "");
-
-$liste["item"][] = array( 'field' => "parent_domain_id",
- 'datatype' => "VARCHAR",
- 'filters' => array( 0 => array( 'event' => 'SHOW',
- 'type' => 'IDNTOUTF8')
- ),
- 'formtype' => "SELECT",
- 'op' => "=",
- 'prefix' => "",
- 'suffix' => "",
- 'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain",
- 'keyfield'=> 'domain_id',
- 'valuefield'=> 'domain'
- ),
- 'width' => "",
- 'value' => "");
-
-$liste["item"][] = array( 'field' => "domain",
- 'datatype' => "VARCHAR",
- 'filters' => array( 0 => array( 'event' => 'SHOW',
- 'type' => 'IDNTOUTF8')
- ),
- 'formtype' => "TEXT",
- 'op' => "like",
- 'prefix' => "%",
- 'suffix' => "%",
- 'width' => "",
- 'value' => "");
-
-
-?>
diff --git a/interface/web/sites/templates/web_domain_admin_list.htm b/interface/web/sites/templates/web_domain_admin_list.htm
deleted file mode 100644
index fc280a5..0000000
--- a/interface/web/sites/templates/web_domain_admin_list.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_web_domain_admin">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/web_domain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr class="caption">
- <th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr class="filter">
- <td class="tbl_col_domain_id"><input type="text" name="search_domain_id" size="4" value="{tmpl_var name='search_domain_id'}" /></td>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons">
- <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','sites/web_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
- </td>
- </tr>
- </thead>
- <tbody>
- <tmpl_loop name="records">
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_domain_id"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain_id"}</a></td>
- <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a><a href="http://{tmpl_var name="domain"}" target="_blank" class="button icons16 icoLink"><span>Link</span></a></td>
- <td class="tbl_col_buttons">
- <a class="button icons16 icoDelete" href="javascript: del_record('sites/web_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </td>
- </tr>
- </tmpl_loop>
- <tmpl_unless name="records">
- <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td colspan="6">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
- </tr>
- </tmpl_unless>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_advanced.htm b/interface/web/sites/templates/web_vhost_aliasdomain_advanced.htm
deleted file mode 100644
index 85f5027..0000000
--- a/interface/web/sites/templates/web_vhost_aliasdomain_advanced.htm
+++ /dev/null
@@ -1,157 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
- <div class="ctrlHolder">
- <label for="system_user">{tmpl_var name='system_user_txt'}</label>
- <label for="system_user">{tmpl_var name='system_user'}</label>
- <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
- </div>
- <div class="ctrlHolder">
- <label for="system_group">{tmpl_var name='system_group_txt'}</label>
- <label for="system_group">{tmpl_var name='system_group'}</label>
- <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
- </div>
- <div class="ctrlHolder apache">
- <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
- <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="phpfpm">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
- <div class="multiField">
- {tmpl_var name='php_fpm_use_socket'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="pm">{tmpl_var name='pm_txt'}</label>
- <select name="pm" id="pm" class="selectInput">
- {tmpl_var name='pm'}
- </select>
- </div>
- <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
- {tmpl_var name='pm_ondemand_hint_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
- <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
- <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
- <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
- <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_ondemand">
- <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
- <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" /> s
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
- <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
- <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" type="text" class="textInput" style="width:400px;" />
- </div>
- <div class="ctrlHolder">
- <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
- <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea> <b>{tmpl_var name="available_php_directive_snippets_txt"}</b><br><br> {tmpl_var name="php_directive_snippets_txt"}
- </div>
- <div class="ctrlHolder apache">
- <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
- <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea> <b>{tmpl_var name="available_apache_directive_snippets_txt"}</b><br><br> {tmpl_var name="apache_directive_snippets_txt"}
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
- <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea> <b>{tmpl_var name="available_nginx_directive_snippets_txt"}</b><br><br> {tmpl_var name="nginx_directive_snippets_txt"}<br>----<br><b> {tmpl_var name='variables_txt'}:</b> <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>
- </div>
- <div class="ctrlHolder proxy">
- <label for="proxy_directives">{tmpl_var name='proxy_directives_txt'}</label>
- <textarea name="proxy_directives" id="proxy_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='proxy_directives'}</textarea> <b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br> {tmpl_var name="proxy_directive_snippets_txt"}
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var webId = jQuery('input[name="id"]').val();
- var serverId;
- getServerId();
- adjustForm();
-
- var pm = jQuery('#pm').val();
- pmMode(pm);
- jQuery('#pm').change(function(){
- pm = jQuery(this).val();
- pmMode(pm);
- });
-
- function pmMode(pm){
- switch(pm){
- case "static":
- jQuery('.pm_dynamic').add('.pm_ondemand').hide();
- jQuery('.pm_static').show();
- break;
- case "dynamic":
- jQuery('.pm_static').add('.pm_ondemand').hide();
- jQuery('.pm_dynamic').show();
- break;
- case "ondemand":
- jQuery('.pm_static').add('.pm_dynamic').hide();
- jQuery('.pm_ondemand').show();
- break;
- }
- }
-
- function getServerId(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- });
- }
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- jQuery('.nginx').show();
- jQuery('.apache').hide();
- } else {
- jQuery('.nginx').hide();
- jQuery('.apache').show();
- }
- });
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
- if(data.phptype == "php-fpm"){
- jQuery('.phpfpm').show();
- } else {
- jQuery('.phpfpm').hide();
- }
- });
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) {
- if(data.redirecttype == "proxy"){
- jQuery('.proxy').show();
- } else {
- jQuery('.proxy').hide();
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_backup.htm b/interface/web/sites/templates/web_vhost_aliasdomain_backup.htm
deleted file mode 100644
index 8a3b0c3..0000000
--- a/interface/web/sites/templates/web_vhost_aliasdomain_backup.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Backup</legend>
- <div class="ctrlHolder">
- <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
- <select name="backup_interval" id="backup_interval" class="selectInput">
- {tmpl_var name='backup_interval'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
- <select name="backup_copies" id="backup_copies" class="selectInput">
- {tmpl_var name='backup_copies'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_excludes">{tmpl_var name='backup_excludes_txt'}</label>
- <input name="backup_excludes" id="backup_excludes" value="{tmpl_var name='backup_excludes'}" size="30" type="text" class="textInput" /> {tmpl_var name='backup_excludes_note_txt'}
- </div>
- </fieldset>
-
- {tmpl_var name='backup_records'}
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_edit.htm b/interface/web/sites/templates/web_vhost_aliasdomain_edit.htm
deleted file mode 100644
index 936973a..0000000
--- a/interface/web/sites/templates/web_vhost_aliasdomain_edit.htm
+++ /dev/null
@@ -1,227 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <tmpl_if name="domain_option">
- <select name="domain" id="domain" class="selectInput">
- {tmpl_var name='domain_option'}
- </select>
- <tmpl_else>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
- <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
- </div>
- <div class="ctrlHolder">
- <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
- <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB <tmpl_var name='traffic_quota_exceeded_txt'>
- </div>
- <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='cgi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='perl'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ruby'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='python'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='suexec'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='errordocs_txt'}</p>
- <div class="multiField">
- {tmpl_var name='errordocs'}
- </div>
- </div></tmpl_if>
-
- <div class="ctrlHolder">
- <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
- <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
- {tmpl_var name='subdomain'}
- </select>
- </div>
- <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssl'}
- </div>
- </div></tmpl_if>
- <div class="ctrlHolder">
- <label for="php">{tmpl_var name='php_txt'}</label>
- <select name="php" id="php" class="selectInput formLengthHalf">
- {tmpl_var name='php'}
- </select>
- </div>
- <div class="ctrlHolder fastcgi_php_version">
- <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
- <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
- {tmpl_var name='fastcgi_php_version'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var serverId;
- var clientGroupId = jQuery('#client_group_id').val();
- var serverIdDisabled = jQuery('#server_id_disabled').val();
- if(serverIdDisabled > 0){
- serverId = serverIdDisabled;
- } else {
- serverId = jQuery('#server_id').val();
- jQuery('#server_id').change(function(){
- serverId = $(this).val();
- adjustForm();
- reloadWebIP();
- reloadFastcgiPHPVersions();
- });
- }
- reloadServerId(true);
-
- jQuery('#client_group_id').change(function(){
- clientGroupId = $(this).val();
- reloadWebIP();
- });
-
- if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- jQuery('#php').change(function(){
- reloadFastcgiPHPVersions();
- if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- });
- jQuery('#parent_domain_id').change(function() {
- reloadServerId(false);
- });
-
- function reloadServerId(noFormChange) {
- var parentWebId = jQuery('#parent_domain_id').val();
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : parentWebId, type : "getserverid"}, function(data) {
- if(data.serverid) serverId = data.serverid;
- adjustForm(noFormChange);
- if(noFormChange) reloadFastcgiPHPVersions(noFormChange);
- });
- }
-
- function adjustForm(noFormChange){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- var selected = jQuery('#php').val();
- jQuery('.apache').hide();
- if(selected != "no" && selected != "php-fpm") {
- jQuery('#php option[value="php-fpm"]').attr('selected', 'selected').val('php-fpm');
- }
- jQuery('#php option[value="fast-cgi"]').hide();
- jQuery('#php option[value="cgi"]').hide();
- jQuery('#php option[value="mod"]').hide();
- jQuery('#php option[value="suphp"]').hide();
- } else {
- jQuery('.apache').show();
- jQuery('#php option[value="fast-cgi"]').show();
- jQuery('#php option[value="cgi"]').show();
- jQuery('#php option[value="mod"]').show();
- jQuery('#php option[value="suphp"]').show();
- }
- if(noFormChange) {
- resetFormChanged();
- jQuery('#php').addClass('no-page-form-change').change();
- jQuery('#php').removeClass('no-page-form-change');
- } else {
- jQuery('#php').change();
- }
- });
- }
-
- function reloadWebIP() {
- loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
- loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
- }
-
- function reloadFastcgiPHPVersions(noFormChange) {
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
- var options = '<option value="">Default</option>';
- var phpfastcgiselected = '';
- $.each(data, function(key, val) {
- if($('#fastcgi_php_version').val() == key){
- phpfastcgiselected = ' selected="selected"';
- } else {
- phpfastcgiselected = '';
- }
- options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
- });
- $('#fastcgi_php_version').html(options).change();
- if(noFormChange) resetFormChanged();
- });
- }
-
- <tmpl_if name="readonly_tab">
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').bind('click mousedown', function(e) { e.preventDefault(); }).focus(function() { $(this).blur(); });
- jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
- });
- <tmpl_else>
- jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
- });
- </tmpl_if>
-
-</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_list.htm b/interface/web/sites/templates/web_vhost_aliasdomain_list.htm
deleted file mode 100644
index f07c4f3..0000000
--- a/interface/web/sites/templates/web_vhost_aliasdomain_list.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_aliasdomain">
-
- <div class="pnl_toolsarea">
- <tmpl_if name='datalog_changes_count' op='>' value='0'>
- <div>
- <div class="systemmonitor-state state-info">
- <div class="status"></div>
- <div class="statusMsg">
- {tmpl_var name="datalog_changes_txt"}
- <ul>
- <tmpl_loop name="datalog_changes">
- <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
- </tmpl_loop>
- </ul>
- {tmpl_var name="datalog_changes_end_txt"}
- </div>
- </div><br />
- </div>
- </tmpl_if>
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></td>
- </tr>
- </thead>
- <tbody>
- <tmpl_loop name="records">
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <a class="button icons16 icoDelete" href="javascript: del_record('sites/web_vhost_aliasdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </td>
- </tr>
- </tmpl_loop>
- <tmpl_unless name="records">
- <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td colspan="5">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
- </tr>
- </tmpl_unless>
- </tbody>
-
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_redirect.htm b/interface/web/sites/templates/web_vhost_aliasdomain_redirect.htm
deleted file mode 100644
index d1b8b30..0000000
--- a/interface/web/sites/templates/web_vhost_aliasdomain_redirect.htm
+++ /dev/null
@@ -1,84 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
- <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
- {tmpl_var name='redirect_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
- <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
- <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
- {tmpl_var name='seo_redirect'}
- </select>
- </div>
- <div class="ctrlHolder nginx">
- <label for="rewrite_rules">{tmpl_var name='rewrite_rules_txt'}</label>
- <textarea name="rewrite_rules" id="rewrite_rules" rows='10' cols='50' style="width:400px;">{tmpl_var name='rewrite_rules'}</textarea> <b>{tmpl_var name="allowed_rewrite_rule_directives_txt"}</b><br><br> break<br> if<br> return<br> rewrite<br> set<br><br> <a href="http://wiki.nginx.org/HttpRewriteModule" target="_blank">http://wiki.nginx.org/HttpRewriteModule</a>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var webId = jQuery('input[name="id"]').val();
- var serverId;
- getServerId(webId);
-
- function getServerId(webId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- adjustForm(serverId);
- });
- }
-
- function adjustForm(serverId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- var selected = jQuery('#redirect_type').val();
- if(data.servertype == "nginx"){
- jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
- jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="R"]').hide();
- jQuery('#redirect_type option[value="L"]').hide();
- jQuery('#redirect_type option[value="R,L"]').hide();
- jQuery('#redirect_type option[value="R=301,L"]').hide();
- if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent" && selected != "proxy") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- jQuery('.nginx').show();
- } else {
- jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="proxy"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="last"]').hide();
- jQuery('#redirect_type option[value="break"]').hide();
- jQuery('#redirect_type option[value="redirect"]').hide();
- jQuery('#redirect_type option[value="permanent"]').hide();
- jQuery('#redirect_type option[value="proxy"]').hide();
- if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- jQuery('.nginx').hide();
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_ssl.htm b/interface/web/sites/templates/web_vhost_aliasdomain_ssl.htm
deleted file mode 100644
index e442f3d..0000000
--- a/interface/web/sites/templates/web_vhost_aliasdomain_ssl.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
- <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
- <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
- <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
- <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
- <select name="ssl_country" id="ssl_country" class="selectInput flags">
- {tmpl_var name='ssl_country'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
- <select name="ssl_domain" id="ssl_domain" class="selectInput">
- {tmpl_var name='ssl_domain'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
- <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
- <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
- <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
- <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
- <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
- {tmpl_var name='ssl_action'}
- </select>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_stats.htm b/interface/web/sites/templates/web_vhost_aliasdomain_stats.htm
deleted file mode 100644
index d4b06bd..0000000
--- a/interface/web/sites/templates/web_vhost_aliasdomain_stats.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
- </div>
- <div class="ctrlHolder">
- <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
- <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" /> <a href="javascript:void(0);" onclick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
- <select name="stats_type" id="stats_type" class="selectInput" >
- {tmpl_var name='stats_type'}
- </select>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/sites/templates/web_vhost_domain_admin_list.htm b/interface/web/sites/templates/web_vhost_domain_admin_list.htm
new file mode 100644
index 0000000..1ec96a6
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_domain_admin_list.htm
@@ -0,0 +1,69 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+
+<div class="panel panel_list_web_vhost_domain_admin">
+
+ <div class="pnl_toolsarea">
+ <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
+ <div class="buttons">
+ <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/web_vhost_domain_edit.php?type={tmpl_var name='vhostdomain_type'}');">
+ <span>{tmpl_var name="add_new_record_txt"}</span>
+ </button>
+ </div>
+ </fieldset>
+ </div>
+
+ <div class="pnl_listarea">
+ <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+ <table class="list">
+ <thead>
+ <tr class="caption">
+ <tmpl_if name="vhostdomain_type" value="domain"><th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th></tmpl_if>
+ <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
+ <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
+ <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+ <tmpl_if name="vhostdomain_type" op="!=" value="domain"><th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th></tmpl_if>
+ <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
+ <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
+ </tr>
+ <tr class="filter">
+ <tmpl_if name="vhostdomain_type" value="domain"><td class="tbl_col_domain_id"><input type="text" size="5" name="search_domain_id" value="{tmpl_var name='search_domain_id'}" /></td></tmpl_if>
+ <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
+ <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
+ <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+ <tmpl_if name="vhostdomain_type" op="!=" value="domain"><td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td></tmpl_if>
+ <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
+ <td class="tbl_col_buttons">
+ <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','sites/web_vhost_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
+ </td>
+ </tr>
+ </thead>
+ <tbody>
+ <tmpl_loop name="records">
+ <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+ <tmpl_if name="vhostdomain_type" value="domain"><td class="tbl_col_domain_id"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="domain_id"}</a></td></tmpl_if>
+ <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="active"}</a></td>
+ <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="sys_groupid"}</a></td>
+ <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="server_id"}</a></td>
+ <tmpl_if name="vhostdomain_type" op="!=" value="domain"><td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td></tmpl_if>
+ <td class="tbl_col_domain"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="domain"}</a><a href="http://{tmpl_var name="domain"}" target="_blank" class="button icons16 icoLink"><span>Link</span></a></td>
+ <td class="tbl_col_buttons">
+ <a class="button icons16 icoDelete" href="javascript: del_record('sites/web_vhost_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+ </td>
+ </tr>
+ </tmpl_loop>
+ <tmpl_unless name="records">
+ <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+ <td colspan="6">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
+ </tr>
+ </tmpl_unless>
+ </tbody>
+ <tfoot>
+ <tr>
+ <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
+ </tr>
+ </tfoot>
+ </table>
+ </fieldset>
+ </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_domain_advanced.htm b/interface/web/sites/templates/web_vhost_domain_advanced.htm
similarity index 97%
rename from interface/web/sites/templates/web_domain_advanced.htm
rename to interface/web/sites/templates/web_vhost_domain_advanced.htm
index 3a634e1..2b680db 100644
--- a/interface/web/sites/templates/web_domain_advanced.htm
+++ b/interface/web/sites/templates/web_vhost_domain_advanced.htm
@@ -103,8 +103,8 @@
<input type="hidden" name="id" value="{tmpl_var name='id'}">
<div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+ <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
</div>
</div>
diff --git a/interface/web/sites/templates/web_domain_backup.htm b/interface/web/sites/templates/web_vhost_domain_backup.htm
similarity index 91%
rename from interface/web/sites/templates/web_domain_backup.htm
rename to interface/web/sites/templates/web_vhost_domain_backup.htm
index e5829e5..7f573b8 100644
--- a/interface/web/sites/templates/web_domain_backup.htm
+++ b/interface/web/sites/templates/web_vhost_domain_backup.htm
@@ -37,8 +37,8 @@
<input type="hidden" name="id" value="{tmpl_var name='id'}">
<div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+ <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
</div>
</div>
diff --git a/interface/web/sites/templates/web_domain_edit.htm b/interface/web/sites/templates/web_vhost_domain_edit.htm
similarity index 76%
rename from interface/web/sites/templates/web_domain_edit.htm
rename to interface/web/sites/templates/web_vhost_domain_edit.htm
index 2f97383..9f22ebd 100644
--- a/interface/web/sites/templates/web_domain_edit.htm
+++ b/interface/web/sites/templates/web_vhost_domain_edit.htm
@@ -14,6 +14,7 @@
<div class="pnl_formsarea">
<fieldset class="inlineLabels">
+ <tmpl_if name="vhostdomain_type" value="domain">
<tmpl_if name="is_admin">
<div class="ctrlHolder">
<tmpl_if name="edit_disabled">
@@ -89,6 +90,60 @@
<label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
<input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB
</div>
+ </tmpl_if>
+ <tmpl_if name="vhostdomain_type" value="subdomain">
+ <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
+ <tmpl_if name="domain_option">
+ <div class="ctrlHolder">
+ <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
+ <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
+ </div>
+ </tmpl_if>
+ <div class="ctrlHolder">
+ <label for="domain">{tmpl_var name='host_txt'}</label>
+ <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
+ </div>
+ <tmpl_if name="domain_option">
+ <div class="ctrlHolder">
+ <label for="sel_domain">{tmpl_var name='domain_txt'}</label>
+ <select name="sel_domain" id="sel_domain" class="selectInput">
+ {tmpl_var name='domain_option'}
+ </select>
+ </div>
+ <tmpl_else>
+ <div class="ctrlHolder">
+ <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
+ <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
+ </div>
+ </tmpl_if>
+ <div class="ctrlHolder">
+ <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
+ <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
+ </div>
+ </tmpl_if>
+ <tmpl_if name="vhostdomain_type" value="aliasdomain">
+ <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
+ <div class="ctrlHolder">
+ <label for="domain">{tmpl_var name='domain_txt'}</label>
+ <tmpl_if name="domain_option">
+ <select name="domain" id="domain" class="selectInput">
+ {tmpl_var name='domain_option'}
+ </select>
+ <tmpl_else>
+ <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
+ </tmpl_if>
+ </div>
+ <div class="ctrlHolder">
+ <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
+ <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
+ {tmpl_var name='parent_domain_id'}
+ </select>
+ </div>
+ <div class="ctrlHolder">
+ <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
+ <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
+ </div>
+ </tmpl_if>
<div class="ctrlHolder">
<label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
<input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB <tmpl_var name='traffic_quota_exceeded_txt'>
@@ -172,7 +227,7 @@
<div class="buttonHolder buttons">
<button id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
</div>
</div>
@@ -216,7 +271,19 @@
jQuery('.fastcgi_php_version:visible').hide();
}
});
-
+ jQuery('#parent_domain_id').change(function() {
+ reloadServerId(false);
+ });
+
+ function reloadServerId(noFormChange) {
+ var parentWebId = jQuery('#parent_domain_id').val();
+ jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : parentWebId, type : "getserverid"}, function(data) {
+ if(data.serverid) serverId = data.serverid;
+ adjustForm(noFormChange);
+ if(noFormChange) reloadFastcgiPHPVersions(noFormChange);
+ });
+ }
+
function adjustForm(noFormChange){
jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
if(data.servertype == "nginx"){
@@ -271,11 +338,11 @@
<tmpl_if name="readonly_tab">
jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').bind('click mousedown', function(e) { e.preventDefault(); }).focus(function() { $(this).blur(); });
jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_domain_edit.php');
+ submitForm('pageForm','sites/web_vhost_domain_edit.php');
});
<tmpl_else>
jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_domain_edit.php');
+ submitForm('pageForm','sites/web_vhost_domain_edit.php');
});
</tmpl_if>
diff --git a/interface/web/sites/templates/web_domain_list.htm b/interface/web/sites/templates/web_vhost_domain_list.htm
similarity index 60%
rename from interface/web/sites/templates/web_domain_list.htm
rename to interface/web/sites/templates/web_vhost_domain_list.htm
index b67b4ca..f486b2f 100644
--- a/interface/web/sites/templates/web_domain_list.htm
+++ b/interface/web/sites/templates/web_vhost_domain_list.htm
@@ -1,7 +1,7 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
-<div class="panel panel_list_web_domain">
+<div class="panel panel_list_web_vhost_domain">
<div class="pnl_toolsarea">
<tmpl_if name='datalog_changes_count' op='>' value='0'>
@@ -22,7 +22,7 @@
</tmpl_if>
<fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
<div class="buttons">
- <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/web_domain_edit.php');">
+ <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/web_vhost_domain_edit.php?type={tmpl_var name='vhostdomain_type'}');">
<span>{tmpl_var name="add_new_record_txt"}</span>
</button>
</div>
@@ -34,31 +34,34 @@
<table class="list">
<thead>
<tr class="caption">
- <th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th>
+ <tmpl_if name="vhostdomain_type" value="domain"><th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th></tmpl_if>
<th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
<th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+ <tmpl_if name="vhostdomain_type" op="!=" value="domain"><th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th></tmpl_if>
<th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
<th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
</tr>
<tr class="filter">
- <td class="tbl_col_domain_id"><input type="text" size="5" name="search_domain_id" value="{tmpl_var name='search_domain_id'}" /></td>
+ <tmpl_if name="vhostdomain_type" value="domain"><td class="tbl_col_domain_id"><input type="text" size="5" name="search_domain_id" value="{tmpl_var name='search_domain_id'}" /></td></tmpl_if>
<td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
<td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+ <tmpl_if name="vhostdomain_type" op="!=" value="domain"><td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td></tmpl_if>
<td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
<td class="tbl_col_buttons">
- <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','sites/web_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
+ <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','sites/web_vhost_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
</td>
</tr>
</thead>
<tbody>
<tmpl_loop name="records">
<tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_domain_id"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain_id"}</a></td>
- <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a><a href="http://{tmpl_var name="domain"}" target="_blank" class="button icons16 icoLink"><span>Link</span></a></td>
+ <tmpl_if name="vhostdomain_type" value="domain"><td class="tbl_col_domain_id"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="domain_id"}</a></td></tmpl_if>
+ <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="active"}</a></td>
+ <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="server_id"}</a></td>
+ <tmpl_if name="vhostdomain_type" op="!=" value="domain"><td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td></tmpl_if>
+ <td class="tbl_col_domain"><a href="#" onclick="loadContent('sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}');">{tmpl_var name="domain"}</a><a href="http://{tmpl_var name="domain"}" target="_blank" class="button icons16 icoLink"><span>Link</span></a></td>
<td class="tbl_col_buttons">
- <a class="button icons16 icoDelete" href="javascript: del_record('sites/web_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+ <a class="button icons16 icoDelete" href="javascript: del_record('sites/web_vhost_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
</td>
</tr>
</tmpl_loop>
diff --git a/interface/web/sites/templates/web_domain_redirect.htm b/interface/web/sites/templates/web_vhost_domain_redirect.htm
similarity index 96%
rename from interface/web/sites/templates/web_domain_redirect.htm
rename to interface/web/sites/templates/web_vhost_domain_redirect.htm
index c0bd977..3cd8da3 100644
--- a/interface/web/sites/templates/web_domain_redirect.htm
+++ b/interface/web/sites/templates/web_vhost_domain_redirect.htm
@@ -39,8 +39,8 @@
<input type="hidden" name="id" value="{tmpl_var name='id'}">
<div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+ <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
</div>
</div>
diff --git a/interface/web/sites/templates/web_domain_ssl.htm b/interface/web/sites/templates/web_vhost_domain_ssl.htm
similarity index 95%
rename from interface/web/sites/templates/web_domain_ssl.htm
rename to interface/web/sites/templates/web_vhost_domain_ssl.htm
index 50d95d3..4869c19 100644
--- a/interface/web/sites/templates/web_domain_ssl.htm
+++ b/interface/web/sites/templates/web_vhost_domain_ssl.htm
@@ -69,8 +69,8 @@
<input type="hidden" name="id" value="{tmpl_var name='id'}">
<div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+ <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
</div>
</div>
diff --git a/interface/web/sites/templates/web_domain_stats.htm b/interface/web/sites/templates/web_vhost_domain_stats.htm
similarity index 93%
rename from interface/web/sites/templates/web_domain_stats.htm
rename to interface/web/sites/templates/web_vhost_domain_stats.htm
index 769e088..43b0721 100644
--- a/interface/web/sites/templates/web_domain_stats.htm
+++ b/interface/web/sites/templates/web_vhost_domain_stats.htm
@@ -43,8 +43,8 @@
<input type="hidden" name="id" value="{tmpl_var name='id'}">
<div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+ <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
</div>
</div>
diff --git a/interface/web/sites/templates/web_vhost_subdomain_advanced.htm b/interface/web/sites/templates/web_vhost_subdomain_advanced.htm
deleted file mode 100644
index 52fb5c7..0000000
--- a/interface/web/sites/templates/web_vhost_subdomain_advanced.htm
+++ /dev/null
@@ -1,157 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
- <div class="ctrlHolder">
- <label for="system_user">{tmpl_var name='system_user_txt'}</label>
- <label for="system_user">{tmpl_var name='system_user'}</label>
- <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
- </div>
- <div class="ctrlHolder">
- <label for="system_group">{tmpl_var name='system_group_txt'}</label>
- <label for="system_group">{tmpl_var name='system_group'}</label>
- <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
- </div>
- <div class="ctrlHolder apache">
- <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
- <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="phpfpm">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
- <div class="multiField">
- {tmpl_var name='php_fpm_use_socket'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="pm">{tmpl_var name='pm_txt'}</label>
- <select name="pm" id="pm" class="selectInput">
- {tmpl_var name='pm'}
- </select>
- </div>
- <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
- {tmpl_var name='pm_ondemand_hint_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
- <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
- <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
- <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
- <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_ondemand">
- <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
- <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" /> s
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
- <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
- <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" type="text" class="textInput" style="width:400px;" />
- </div>
- <div class="ctrlHolder">
- <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
- <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea> <b>{tmpl_var name="available_php_directive_snippets_txt"}</b><br><br> {tmpl_var name="php_directive_snippets_txt"}
- </div>
- <div class="ctrlHolder apache">
- <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
- <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea> <b>{tmpl_var name="available_apache_directive_snippets_txt"}</b><br><br> {tmpl_var name="apache_directive_snippets_txt"}
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
- <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea> <b>{tmpl_var name="available_nginx_directive_snippets_txt"}</b><br><br> {tmpl_var name="nginx_directive_snippets_txt"}<br>----<br><b> {tmpl_var name='variables_txt'}:</b> <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>
- </div>
- <div class="ctrlHolder proxy">
- <label for="proxy_directives">{tmpl_var name='proxy_directives_txt'}</label>
- <textarea name="proxy_directives" id="proxy_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='proxy_directives'}</textarea> <b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br> {tmpl_var name="proxy_directive_snippets_txt"}
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var webId = jQuery('input[name="id"]').val();
- var serverId;
- getServerId();
- adjustForm();
-
- var pm = jQuery('#pm').val();
- pmMode(pm);
- jQuery('#pm').change(function(){
- pm = jQuery(this).val();
- pmMode(pm);
- });
-
- function pmMode(pm){
- switch(pm){
- case "static":
- jQuery('.pm_dynamic').add('.pm_ondemand').hide();
- jQuery('.pm_static').show();
- break;
- case "dynamic":
- jQuery('.pm_static').add('.pm_ondemand').hide();
- jQuery('.pm_dynamic').show();
- break;
- case "ondemand":
- jQuery('.pm_static').add('.pm_dynamic').hide();
- jQuery('.pm_ondemand').show();
- break;
- }
- }
-
- function getServerId(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- });
- }
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- jQuery('.nginx').show();
- jQuery('.apache').hide();
- } else {
- jQuery('.nginx').hide();
- jQuery('.apache').show();
- }
- });
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
- if(data.phptype == "php-fpm"){
- jQuery('.phpfpm').show();
- } else {
- jQuery('.phpfpm').hide();
- }
- });
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) {
- if(data.redirecttype == "proxy"){
- jQuery('.proxy').show();
- } else {
- jQuery('.proxy').hide();
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_subdomain_backup.htm b/interface/web/sites/templates/web_vhost_subdomain_backup.htm
deleted file mode 100644
index d76afdf..0000000
--- a/interface/web/sites/templates/web_vhost_subdomain_backup.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Backup</legend>
- <div class="ctrlHolder">
- <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
- <select name="backup_interval" id="backup_interval" class="selectInput">
- {tmpl_var name='backup_interval'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
- <select name="backup_copies" id="backup_copies" class="selectInput">
- {tmpl_var name='backup_copies'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_excludes">{tmpl_var name='backup_excludes_txt'}</label>
- <input name="backup_excludes" id="backup_excludes" value="{tmpl_var name='backup_excludes'}" size="30" type="text" class="textInput" /> {tmpl_var name='backup_excludes_note_txt'}
- </div>
- </fieldset>
-
- {tmpl_var name='backup_records'}
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_subdomain_edit.htm b/interface/web/sites/templates/web_vhost_subdomain_edit.htm
deleted file mode 100644
index 8070e00..0000000
--- a/interface/web/sites/templates/web_vhost_subdomain_edit.htm
+++ /dev/null
@@ -1,234 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
- <tmpl_if name="domain_option">
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='host_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <tmpl_if name="domain_option">
- <div class="ctrlHolder">
- <label for="sel_domain">{tmpl_var name='domain_txt'}</label>
- <select name="sel_domain" id="sel_domain" class="selectInput">
- {tmpl_var name='domain_option'}
- </select>
- </div>
- <tmpl_else>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
- <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
- <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
- </div>
- <div class="ctrlHolder">
- <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
- <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB <tmpl_var name='traffic_quota_exceeded_txt'>
- </div>
- <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='cgi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='perl'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ruby'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='python'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='suexec'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='errordocs_txt'}</p>
- <div class="multiField">
- {tmpl_var name='errordocs'}
- </div>
- </div></tmpl_if>
-
- <div class="ctrlHolder">
- <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
- <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
- {tmpl_var name='subdomain'}
- </select>
- </div>
- <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssl'}
- </div>
- </div></tmpl_if>
- <div class="ctrlHolder">
- <label for="php">{tmpl_var name='php_txt'}</label>
- <select name="php" id="php" class="selectInput formLengthHalf">
- {tmpl_var name='php'}
- </select>
- </div>
- <div class="ctrlHolder fastcgi_php_version">
- <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
- <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
- {tmpl_var name='fastcgi_php_version'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var serverId;
- var clientGroupId = jQuery('#client_group_id').val();
- var serverIdDisabled = jQuery('#server_id_disabled').val();
- if(serverIdDisabled > 0){
- serverId = serverIdDisabled;
- } else {
- serverId = jQuery('#server_id').val();
- jQuery('#server_id').change(function(){
- serverId = $(this).val();
- adjustForm();
- reloadWebIP();
- reloadFastcgiPHPVersions();
- });
- }
- reloadServerId(true);
-
- jQuery('#client_group_id').change(function(){
- clientGroupId = $(this).val();
- reloadWebIP();
- });
-
- if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- jQuery('#php').change(function(){
- reloadFastcgiPHPVersions();
- if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- });
- jQuery('#parent_domain_id').change(function() {
- reloadServerId(false);
- });
-
- function reloadServerId(noFormChange) {
- var parentWebId = jQuery('#parent_domain_id').val();
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : parentWebId, type : "getserverid"}, function(data) {
- if(data.serverid) serverId = data.serverid;
- adjustForm(noFormChange);
- if(noFormChange) reloadFastcgiPHPVersions(noFormChange);
- });
- }
-
- function adjustForm(noFormChange){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- var selected = jQuery('#php').val();
- jQuery('.apache').hide();
- if(selected != "no" && selected != "php-fpm") {
- jQuery('#php option[value="php-fpm"]').attr('selected', 'selected').val('php-fpm');
- }
- jQuery('#php option[value="fast-cgi"]').hide();
- jQuery('#php option[value="cgi"]').hide();
- jQuery('#php option[value="mod"]').hide();
- jQuery('#php option[value="suphp"]').hide();
- } else {
- jQuery('.apache').show();
- jQuery('#php option[value="fast-cgi"]').show();
- jQuery('#php option[value="cgi"]').show();
- jQuery('#php option[value="mod"]').show();
- jQuery('#php option[value="suphp"]').show();
- }
- if(noFormChange) {
- resetFormChanged();
- jQuery('#php').addClass('no-page-form-change').change();
- jQuery('#php').removeClass('no-page-form-change');
- } else {
- jQuery('#php').change();
- }
- });
- }
-
- function reloadWebIP() {
- loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
- loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
- }
-
- function reloadFastcgiPHPVersions(noFormChange) {
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
- var options = '<option value="">Default</option>';
- var phpfastcgiselected = '';
- $.each(data, function(key, val) {
- if($('#fastcgi_php_version').val() == key){
- phpfastcgiselected = ' selected="selected"';
- } else {
- phpfastcgiselected = '';
- }
- options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
- });
- $('#fastcgi_php_version').html(options).change();
- if(noFormChange) resetFormChanged();
- });
- }
-
- <tmpl_if name="readonly_tab">
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').bind('click mousedown', function(e) { e.preventDefault(); }).focus(function() { $(this).blur(); });
- jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_vhost_subdomain_edit.php');
- });
- <tmpl_else>
- jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_vhost_subdomain_edit.php');
- });
- </tmpl_if>
-
-</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_subdomain_list.htm b/interface/web/sites/templates/web_vhost_subdomain_list.htm
deleted file mode 100644
index 4c7a72e..0000000
--- a/interface/web/sites/templates/web_vhost_subdomain_list.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_subdomain">
-
- <div class="pnl_toolsarea">
- <tmpl_if name='datalog_changes_count' op='>' value='0'>
- <div>
- <div class="systemmonitor-state state-info">
- <div class="status"></div>
- <div class="statusMsg">
- {tmpl_var name="datalog_changes_txt"}
- <ul>
- <tmpl_loop name="datalog_changes">
- <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
- </tmpl_loop>
- </ul>
- {tmpl_var name="datalog_changes_end_txt"}
- </div>
- </div><br />
- </div>
- </tmpl_if>
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/web_vhost_subdomain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></td>
- </tr>
- </thead>
- <tbody>
- <tmpl_loop name="records">
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onclick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <a class="button icons16 icoDelete" href="javascript: del_record('sites/web_vhost_subdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </td>
- </tr>
- </tmpl_loop>
- <tmpl_unless name="records">
- <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td colspan="5">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
- </tr>
- </tmpl_unless>
- </tbody>
-
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_subdomain_redirect.htm b/interface/web/sites/templates/web_vhost_subdomain_redirect.htm
deleted file mode 100644
index c00b866..0000000
--- a/interface/web/sites/templates/web_vhost_subdomain_redirect.htm
+++ /dev/null
@@ -1,84 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
- <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
- {tmpl_var name='redirect_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
- <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
- <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
- {tmpl_var name='seo_redirect'}
- </select>
- </div>
- <div class="ctrlHolder nginx">
- <label for="rewrite_rules">{tmpl_var name='rewrite_rules_txt'}</label>
- <textarea name="rewrite_rules" id="rewrite_rules" rows='10' cols='50' style="width:400px;">{tmpl_var name='rewrite_rules'}</textarea> <b>{tmpl_var name="allowed_rewrite_rule_directives_txt"}</b><br><br> break<br> if<br> return<br> rewrite<br> set<br><br> <a href="http://wiki.nginx.org/HttpRewriteModule" target="_blank">http://wiki.nginx.org/HttpRewriteModule</a>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var webId = jQuery('input[name="id"]').val();
- var serverId;
- getServerId(webId);
-
- function getServerId(webId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- adjustForm(serverId);
- });
- }
-
- function adjustForm(serverId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- var selected = jQuery('#redirect_type').val();
- if(data.servertype == "nginx"){
- jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
- jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="R"]').hide();
- jQuery('#redirect_type option[value="L"]').hide();
- jQuery('#redirect_type option[value="R,L"]').hide();
- jQuery('#redirect_type option[value="R=301,L"]').hide();
- if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent" && selected != "proxy") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- jQuery('.nginx').show();
- } else {
- jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="proxy"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="last"]').hide();
- jQuery('#redirect_type option[value="break"]').hide();
- jQuery('#redirect_type option[value="redirect"]').hide();
- jQuery('#redirect_type option[value="permanent"]').hide();
- jQuery('#redirect_type option[value="proxy"]').hide();
- if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- jQuery('.nginx').hide();
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_subdomain_ssl.htm b/interface/web/sites/templates/web_vhost_subdomain_ssl.htm
deleted file mode 100644
index e5b13c1..0000000
--- a/interface/web/sites/templates/web_vhost_subdomain_ssl.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
- <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
- <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
- <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
- <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
- <select name="ssl_country" id="ssl_country" class="selectInput flags">
- {tmpl_var name='ssl_country'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
- <select name="ssl_domain" id="ssl_domain" class="selectInput">
- {tmpl_var name='ssl_domain'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
- <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
- <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
- <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
- <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
- <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
- {tmpl_var name='ssl_action'}
- </select>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_subdomain_stats.htm b/interface/web/sites/templates/web_vhost_subdomain_stats.htm
deleted file mode 100644
index aa1605e..0000000
--- a/interface/web/sites/templates/web_vhost_subdomain_stats.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
- </div>
- <div class="ctrlHolder">
- <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
- <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" /> <a href="javascript:void(0);" onclick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
- <select name="stats_type" id="stats_type" class="selectInput" >
- {tmpl_var name='stats_type'}
- </select>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/sites/web_domain_del.php b/interface/web/sites/web_domain_del.php
deleted file mode 100644
index 7ee5d13..0000000
--- a/interface/web/sites/web_domain_del.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/******************************************
-* Begin Form configuration
-******************************************/
-
-$list_def_file = "list/web_domain.list.php";
-$tform_def_file = "form/web_domain.tform.php";
-
-/******************************************
-* End Form configuration
-******************************************/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('sites');
-
-$app->uses('tpl,tform,tform_actions');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- function onBeforeDelete() {
- global $app; $conf;
-
- if($app->tform->checkPerm($this->id, 'd') == false) $app->error($app->lng('error_no_delete_permission'));
-
- //* Delete all records that belong to this web.
- $records = $app->db->queryAllRecords("SELECT domain_id FROM web_domain WHERE parent_domain_id = '".$app->functions->intval($this->id)."' AND type != 'vhost'");
- foreach($records as $rec) {
- $app->db->datalogDelete('web_domain', 'domain_id', $rec['domain_id']);
- }
-
- //* Delete all records that belong to this web.
- $records = $app->db->queryAllRecords("SELECT ftp_user_id FROM ftp_user WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- $app->db->datalogDelete('ftp_user', 'ftp_user_id', $rec['ftp_user_id']);
- }
-
- //* Delete all records that belong to this web.
- $records = $app->db->queryAllRecords("SELECT shell_user_id FROM shell_user WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- $app->db->datalogDelete('shell_user', 'shell_user_id', $rec['shell_user_id']);
- }
-
- //* Delete all records that belong to this web.
- $records = $app->db->queryAllRecords("SELECT id FROM cron WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- $app->db->datalogDelete('cron', 'id', $rec['id']);
- }
-
- //* Delete all records that belong to this web
- $records = $app->db->queryAllRecords("SELECT webdav_user_id FROM webdav_user WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- $app->db->datalogDelete('webdav_user', 'webdav_user_id', $rec['webdav_user_id']);
- }
-
- //* Delete all records that belong to this web
- $records = $app->db->queryAllRecords("SELECT backup_id FROM web_backup WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- $app->db->datalogDelete('web_backup', 'backup_id', $rec['backup_id']);
- }
-
- //* Delete all records that belog to this web.
- $web_domain = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- if($web_domain['domain'] != ''){
- $aps_instances = $app->db->queryAllRecords("SELECT instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = '".$app->db->quote($web_domain['domain'])."'");
- if(is_array($aps_instances) && !empty($aps_instances)){
- foreach($aps_instances as $aps_instance){
- if($aps_instance['instance_id'] > 0){
- $app->db->datalogDelete('aps_instances_settings', 'instance_id', $aps_instance['instance_id']);
- $app->db->datalogDelete('aps_instances', 'id', $aps_instance['instance_id']);
- }
- }
- }
- }
-
- //* Delete all web folders
- $records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- //* Delete all web folder users
- $records2 = $app->db->queryAllRecords("SELECT web_folder_user_id FROM web_folder_user WHERE web_folder_id = '".$app->functions->intval($rec['web_folder_id'])."'");
- foreach($records2 as $rec2) {
- $app->db->datalogDelete('web_folder_user', 'web_folder_user_id', $rec2['web_folder_user_id']);
- }
- $app->db->datalogDelete('web_folder', 'web_folder_id', $rec['web_folder_id']);
- }
- }
-
-}
-
-$page = new page_action;
-$page->onDelete();
-
-?>
diff --git a/interface/web/sites/web_vhost_aliasdomain_del.php b/interface/web/sites/web_vhost_aliasdomain_del.php
deleted file mode 100644
index 2d288dd..0000000
--- a/interface/web/sites/web_vhost_aliasdomain_del.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/******************************************
-* Begin Form configuration
-******************************************/
-
-$list_def_file = "list/web_vhost_aliasdomain.list.php";
-$tform_def_file = "form/web_vhost_aliasdomain.tform.php";
-
-/******************************************
-* End Form configuration
-******************************************/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('sites');
-
-$app->uses('tpl,tform,tform_actions');
-$app->load("tform_actions");
-class page_action extends tform_actions {
-
- function onBeforeDelete() {
- global $app; $conf;
-
- //* Delete all web folders
- $records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- //* Delete all web folder users
- $records2 = $app->db->queryAllRecords("SELECT web_folder_user_id FROM web_folder_user WHERE web_folder_id = '".$app->functions->intval($rec['web_folder_id'])."'");
- foreach($records2 as $rec2) {
- $app->db->datalogDelete('web_folder_user', 'web_folder_user_id', $rec2['web_folder_user_id']);
- }
- $app->db->datalogDelete('web_folder', 'web_folder_id', $rec['web_folder_id']);
- }
-
- }
-
-}
-
-$page = new page_action;
-$page->onDelete();
-
-?>
diff --git a/interface/web/sites/web_vhost_aliasdomain_edit.php b/interface/web/sites/web_vhost_aliasdomain_edit.php
deleted file mode 100644
index 49a9f27..0000000
--- a/interface/web/sites/web_vhost_aliasdomain_edit.php
+++ /dev/null
@@ -1,658 +0,0 @@
-<?php
-/*
-Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-/******************************************
-* Begin Form configuration
-******************************************/
-
-$tform_def_file = "form/web_vhost_aliasdomain.tform.php";
-
-/******************************************
-* End Form configuration
-******************************************/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('sites');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions,tools_sites');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- //* Returna a "3/2/1" path hash from a numeric id '123'
- function id_hash($id, $levels) {
- $hash = "" . $id % 10 ;
- $id /= 10 ;
- $levels -- ;
- while ( $levels > 0 ) {
- $hash .= "/" . $id % 10 ;
- $id /= 10 ;
- $levels-- ;
- }
- return $hash;
- }
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
- if(!$app->tform->checkClientLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
- $app->error($app->tform->wordbook["limit_web_aliasdomain_txt"]);
- }
- if(!$app->tform->checkResellerLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
- $app->error('Reseller: '.$app->tform->wordbook["limit_web_aliasdomain_txt"]);
- }
- }
- parent::onShowNew();
- }
-
- function onShowEnd() {
- global $app, $conf;
-
- $app->uses('ini_parser,getconf');
-
- $read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
-
- $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]));
-
- //* Client: If the logged in user is not admin and has no sub clients (no reseller)
- if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
-
- // Get the limits of the client
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT client.limit_web_aliasdomain, client.default_webserver, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- //* Get global web config
- $web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
-
- //PHP Version Selection (FastCGI)
- $server_type = 'apache';
- if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
- if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- if($this->dataRecord['php'] == 'fast-cgi'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- $php_select = "<option value=''>Default</option>";
- if(is_array($php_records) && !empty($php_records)) {
- foreach( $php_records as $php_record) {
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
- } else {
- $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
- }
- $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
- $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
- }
- }
- $app->tpl->setVar("fastcgi_php_version", $php_select);
- unset($php_records);
-
- // add limits to template to be able to hide settings
- foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
-
-
- //* Reseller: If the logged in user is not admin and has sub clients (is a reseller)
- } elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
-
- // Get the limits of the client
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_aliasdomain, client.default_webserver, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- //* Get global web config
- $web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
-
- //PHP Version Selection (FastCGI)
- $server_type = 'apache';
- if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
- if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- if($this->dataRecord['php'] == 'fast-cgi') {
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- $php_select = "<option value=''>Default</option>";
- if(is_array($php_records) && !empty($php_records)) {
- foreach( $php_records as $php_record) {
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
- } else {
- $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
- }
- $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
- $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
- }
- }
- $app->tpl->setVar("fastcgi_php_version", $php_select);
- unset($php_records);
-
- // add limits to template to be able to hide settings
- foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
-
- $sites_config = $app->getconf->get_global_config('sites');
- if($sites_config['reseller_can_use_options']) {
- // Directive Snippets
- $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
- $php_directive_snippets_txt = '';
- if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
- foreach($php_directive_snippets as $php_directive_snippet){
- $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
- $app->tpl->setVar("php_directive_snippets_txt", $php_directive_snippets_txt);
-
- if($server_type == 'apache'){
- $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
- $apache_directive_snippets_txt = '';
- if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
- foreach($apache_directive_snippets as $apache_directive_snippet){
- $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
- $app->tpl->setVar("apache_directive_snippets_txt", $apache_directive_snippets_txt);
- }
-
- if($server_type == 'nginx'){
- $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
- $nginx_directive_snippets_txt = '';
- if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
- foreach($nginx_directive_snippets as $nginx_directive_snippet){
- $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
- $app->tpl->setVar("nginx_directive_snippets_txt", $nginx_directive_snippets_txt);
- }
-
- $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
- $proxy_directive_snippets_txt = '';
- if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
- foreach($proxy_directive_snippets as $proxy_directive_snippet){
- $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
- $app->tpl->setVar("proxy_directive_snippets_txt", $proxy_directive_snippets_txt);
- }
-
- //* Admin: If the logged in user is admin
- } else {
-
- //* get global web config
- $web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
-
- //PHP Version Selection (FastCGI)
- $server_type = 'apache';
- if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
- if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
- }
- if($this->dataRecord['php'] == 'fast-cgi') {
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
- }
- $php_select = "<option value=''>Default</option>";
- if(is_array($php_records) && !empty($php_records)) {
- foreach( $php_records as $php_record) {
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
- } else {
- $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
- }
- $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
- $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
- }
- }
- $app->tpl->setVar("fastcgi_php_version", $php_select);
- unset($php_records);
-
- foreach($read_limits as $limit) $app->tpl->setVar($limit, ($limit == 'force_suexec' ? 'n' : 'y'));
-
- // Directive Snippets
- $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
- $php_directive_snippets_txt = '';
- if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
- foreach($php_directive_snippets as $php_directive_snippet){
- $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
- $app->tpl->setVar("php_directive_snippets_txt", $php_directive_snippets_txt);
-
- if($server_type == 'apache'){
- $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
- $apache_directive_snippets_txt = '';
- if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
- foreach($apache_directive_snippets as $apache_directive_snippet){
- $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
- $app->tpl->setVar("apache_directive_snippets_txt", $apache_directive_snippets_txt);
- }
-
- if($server_type == 'nginx'){
- $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
- $nginx_directive_snippets_txt = '';
- if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
- foreach($nginx_directive_snippets as $nginx_directive_snippet){
- $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
- $app->tpl->setVar("nginx_directive_snippets_txt", $nginx_directive_snippets_txt);
- }
-
- $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
- $proxy_directive_snippets_txt = '';
- if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
- foreach($proxy_directive_snippets as $proxy_directive_snippet){
- $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
- $app->tpl->setVar("proxy_directive_snippets_txt", $proxy_directive_snippets_txt);
- }
-
- $ssl_domain_select = '';
- $tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id);
- $ssl_domains = array($tmp["domain"], 'www.'.$tmp["domain"]);
- if(is_array($ssl_domains)) {
- foreach( $ssl_domains as $ssl_domain) {
- $selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':'';
- $ssl_domain_select .= "<option value='$ssl_domain' $selected>$ssl_domain</option>\r\n";
- }
- }
-
- if($this->id > 0) {
- $app->tpl->setVar('fixed_folder', 'y');
- $app->tpl->setVar('server_id_value', $parent_domain['server_id']);
- } else {
- $app->tpl->setVar('fixed_folder', 'n');
- $app->tpl->setVar('server_id_value', $parent_domain['server_id']);
- }
-
- $app->tpl->setVar("ssl_domain", $ssl_domain_select);
- unset($ssl_domain_select);
- unset($ssl_domains);
- unset($ssl_domain);
-
- $tmp_txt = ($this->dataRecord['traffic_quota_lock'] == 'y')?'<b>('.$app->tform->lng('traffic_quota_exceeded_txt').')</b>':'';
- $app->tpl->setVar("traffic_quota_exceeded_txt", $tmp_txt);
-
-
- $app->uses('ini_parser,getconf');
- $settings = $app->getconf->get_global_config('domains');
- if ($settings['use_domain_module'] == 'y') {
- /*
- * The domain-module is in use.
- */
- $domains = $app->tools_sites->getDomainModuleDomains();
- $domain_select = '';
- $selected_domain = '';
- if(is_array($domains) && sizeof($domains) > 0) {
- /* We have domains in the list, so create the drop-down-list */
- foreach( $domains as $domain) {
- $domain_select .= "<option value=" . $domain['domain_id'] ;
- if ('.' . $domain['domain'] == substr($this->dataRecord["domain"], -strlen($domain['domain']) - 1)) {
- $domain_select .= " selected";
- $selected_domain = $domain['domain'];
- }
- $domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n";
- }
- }
- else {
- /*
- * We have no domains in the domain-list. This means, we can not add ANY new domain.
- * To avoid, that the variable "domain_option" is empty and so the user can
- * free enter a domain, we have to create a empty option!
- */
- $domain_select .= "<option value=''></option>\r\n";
- }
- $app->tpl->setVar("domain_option", $domain_select);
- }
- $app->tpl->setVar("domain", $this->dataRecord["domain"]);
-
- parent::onShowEnd();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the record of the parent domain
- if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
- $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
- unset($tmp);
- }
-
- $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
- if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm");
-
- // Set a few fixed values
- $this->dataRecord["type"] = 'vhostalias';
- $this->dataRecord["server_id"] = $parent_domain["server_id"];
- $this->dataRecord["ip_address"] = $parent_domain["ip_address"];
- $this->dataRecord["ipv6_address"] = $parent_domain["ipv6_address"];
- $this->dataRecord["client_group_id"] = $parent_domain["client_group_id"];
- $this->dataRecord["vhost_type"] = 'name';
-
- $this->parent_domain_record = $parent_domain;
-
- $read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
-
- if($app->tform->getCurrentTab() == 'domain') {
-
- /* check if the domain module is used - and check if the selected domain can be used! */
- $app->uses('ini_parser,getconf');
- $settings = $app->getconf->get_global_config('domains');
- if ($settings['use_domain_module'] == 'y') {
- $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['domain']);
- if(!$domain_check) {
- // invalid domain selected
- $app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />";
- } else {
- $this->dataRecord['domain'] = $domain_check;
- }
- }
-
- $this->dataRecord['web_folder'] = strtolower($this->dataRecord['web_folder']);
- if(substr($this->dataRecord['web_folder'], 0, 1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 1);
- if(substr($this->dataRecord['web_folder'], -1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 0, -1);
- $forbidden_folders = array('', 'cgi-bin', 'log', 'private', 'ssl', 'tmp', 'webdav');
- $check_folder = strtolower($this->dataRecord['web_folder']);
- if(substr($check_folder, 0, 1) === '/') $check_folder = substr($check_folder, 1); // strip / at beginning to check against forbidden entries
- if(strpos($check_folder, '/') !== false) $check_folder = substr($check_folder, 0, strpos($check_folder, '/')); // get the first part of the path to check it
- if(in_array($check_folder, $forbidden_folders)) {
- $app->tform->errorMessage .= $app->tform->lng("web_folder_invalid_txt")."<br>";
- }
-
- // vhostaliasdomains do not have a quota of their own
- $this->dataRecord["hd_quota"] = 0;
-
- // check for duplicate folder usage
- /*
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'vhostalias' AND `parent_domain_id` = '" . $app->functions->intval($this->dataRecord['parent_domain_id']) . "' AND `web_folder` = '" . $app->db->quote($this->dataRecord['web_folder']) . "' AND `domain_id` != '" . $app->functions->intval($this->id) . "'");
- if($check && $check['cnt'] > 0) {
- $app->tform->errorMessage .= $app->tform->lng("web_folder_unique_txt")."<br>";
- }
- */
- } else {
- $this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"];
- }
-
- if($_SESSION["s"]["user"]["typ"] != 'admin') {
- // Get the limits of the client
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_aliasdomain, default_webserver, parent_client_id, limit_web_quota, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- if($client['limit_cgi'] != 'y') $this->dataRecord['cgi'] = '-';
- if($client['limit_ssi'] != 'y') $this->dataRecord['ssi'] = '-';
- if($client['limit_perl'] != 'y') $this->dataRecord['perl'] = '-';
- if($client['limit_ruby'] != 'y') $this->dataRecord['ruby'] = '-';
- if($client['limit_python'] != 'y') $this->dataRecord['python'] = '-';
- if($client['force_suexec'] != 'n') $this->dataRecord['suexec'] = 'y';
- if($client['limit_hterror'] != 'y') $this->dataRecord['errordocs'] = '-';
- if($client['limit_wildcard'] != 'y' && $this->dataRecord['subdomain'] == '*') $this->dataRecord['subdomain'] = '-';
- if($client['limit_ssl'] != 'y') $this->dataRecord['ssl'] = '-';
-
- // only generate quota and traffic warnings if value has changed
- if($this->id > 0) {
- $old_web_values = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- } else {
- $old_web_values = $_POST;
- }
-
- //* Check the traffic quota of the client
- if(isset($_POST["traffic_quota"]) && $client["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) {
- $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
- $trafficquota = $tmp["trafficquota"];
- $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]);
- if(($trafficquota + $new_traffic_quota > $client["limit_traffic_quota"]) || ($new_traffic_quota < 0 && $client["limit_traffic_quota"] >= 0)) {
- $max_free_quota = floor($client["limit_traffic_quota"] - $trafficquota);
- if($max_free_quota < 0) $max_free_quota = 0;
- $app->tform->errorMessage .= $app->tform->lng("limit_traffic_quota_free_txt").": ".$max_free_quota." MB<br>";
- // Set the quota field to the max free space
- $this->dataRecord["traffic_quota"] = $max_free_quota;
- }
- unset($tmp);
- unset($tmp_quota);
- }
-
- if($client['parent_client_id'] > 0) {
- // Get the limits of the reseller
- $reseller = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_aliasdomain, default_webserver, limit_web_quota FROM client WHERE client_id = ".$app->functions->intval($client['parent_client_id']));
-
- //* Check the traffic quota of the client
- if(isset($_POST["traffic_quota"]) && $reseller["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) {
- $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
- $trafficquota = $tmp["trafficquota"];
- $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]);
- if(($trafficquota + $new_traffic_quota > $reseller["limit_traffic_quota"]) || ($new_traffic_quota < 0 && $reseller["limit_traffic_quota"] >= 0)) {
- $max_free_quota = floor($reseller["limit_traffic_quota"] - $trafficquota);
- if($max_free_quota < 0) $max_free_quota = 0;
- $app->tform->errorMessage .= $app->tform->lng("limit_traffic_quota_free_txt").": ".$max_free_quota." MB<br>";
- // Set the quota field to the max free space
- $this->dataRecord["traffic_quota"] = $max_free_quota;
- }
- unset($tmp);
- unset($tmp_quota);
- }
- }
-
- // When the record is updated
- if($this->id > 0) {
- // restore the server ID if the user is not admin and record is edited
- $tmp = $app->db->queryOneRecord("SELECT server_id, `web_folder`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- $this->dataRecord['web_folder'] = $tmp['web_folder']; // cannot be changed!
-
- // set the settings to current if not provided (or cleared due to limits)
- if($this->dataRecord['cgi'] == '-') $this->dataRecord['cgi'] = $tmp['cgi'];
- if($this->dataRecord['ssi'] == '-') $this->dataRecord['ssi'] = $tmp['ssi'];
- if($this->dataRecord['perl'] == '-') $this->dataRecord['perl'] = $tmp['perl'];
- if($this->dataRecord['ruby'] == '-') $this->dataRecord['ruby'] = $tmp['ruby'];
- if($this->dataRecord['python'] == '-') $this->dataRecord['python'] = $tmp['python'];
- if($this->dataRecord['suexec'] == '-') $this->dataRecord['suexec'] = $tmp['suexec'];
- if($this->dataRecord['errordocs'] == '-') $this->dataRecord['errordocs'] = $tmp['errordocs'];
- if($this->dataRecord['subdomain'] == '-') $this->dataRecord['subdomain'] = $tmp['subdomain'];
- if($this->dataRecord['ssl'] == '-') $this->dataRecord['ssl'] = $tmp['ssl'];
-
- unset($tmp);
- // When the record is inserted
- } else {
- // Check if the user may add another web_domain
- if($client["limit_web_aliasdomain"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and (type = 'alias' OR type = 'vhostalias')");
- if($tmp["number"] >= $client["limit_web_aliasdomain"]) {
- $app->error($app->tform->wordbook["limit_web_aliasdomain_txt"]);
- }
- }
- }
- }
-
- //* make sure that the domain is lowercase
- if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
-
- //* get the server config for this server
- $app->uses("getconf");
- $web_config = $app->getconf->get_server_config($app->functions->intval(isset($this->dataRecord["server_id"]) ? $this->dataRecord["server_id"] : 0), 'web');
- //* Check for duplicate ssl certs per IP if SNI is disabled
- if(isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y' && $web_config['enable_sni'] != 'y') {
- $sql = "SELECT count(domain_id) as number FROM web_domain WHERE `ssl` = 'y' AND ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."' and domain_id != ".$this->id;
- $tmp = $app->db->queryOneRecord($sql);
- if($tmp['number'] > 0) $app->tform->errorMessage .= $app->tform->lng("error_no_sni_txt");
- }
-
- // Check if pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0
- if(isset($this->dataRecord['pm_max_children']) && $this->dataRecord['pm'] == 'dynamic') {
- if($app->functions->intval($this->dataRecord['pm_max_children'], true) >= $app->functions->intval($this->dataRecord['pm_max_spare_servers'], true) && $app->functions->intval($this->dataRecord['pm_max_spare_servers'], true) >= $app->functions->intval($this->dataRecord['pm_start_servers'], true) && $app->functions->intval($this->dataRecord['pm_start_servers'], true) >= $app->functions->intval($this->dataRecord['pm_min_spare_servers'], true) && $app->functions->intval($this->dataRecord['pm_min_spare_servers'], true) > 0){
-
- } else {
- $app->tform->errorMessage .= $app->tform->lng("error_php_fpm_pm_settings_txt").'<br>';
- }
- }
-
- // Check rewrite rules
- $server_type = $web_config['server_type'];
-
- if($server_type == 'nginx' && isset($this->dataRecord['rewrite_rules']) && trim($this->dataRecord['rewrite_rules']) != '') {
- $rewrite_rules = trim($this->dataRecord['rewrite_rules']);
- $rewrites_are_valid = true;
- // use this counter to make sure all curly brackets are properly closed
- $if_level = 0;
- // Make sure we only have Unix linebreaks
- $rewrite_rules = str_replace("\r\n", "\n", $rewrite_rules);
- $rewrite_rules = str_replace("\r", "\n", $rewrite_rules);
- $rewrite_rule_lines = explode("\n", $rewrite_rules);
- if(is_array($rewrite_rule_lines) && !empty($rewrite_rule_lines)){
- foreach($rewrite_rule_lines as $rewrite_rule_line){
- // ignore comments
- if(substr(ltrim($rewrite_rule_line), 0, 1) == '#') continue;
- // empty lines
- if(trim($rewrite_rule_line) == '') continue;
- // rewrite
- if(preg_match('@^\s*rewrite\s+(^/)?\S+(\$)?\s+\S+(\s+(last|break|redirect|permanent|))?\s*;\s*$@', $rewrite_rule_line)) continue;
- // if
- if(preg_match('@^\s*if\s+\(\s*\$\S+(\s+(\!?(=|~|~\*))\s+(\S+|\".+\"))?\s*\)\s*\{\s*$@', $rewrite_rule_line)){
- $if_level += 1;
- continue;
- }
- // if - check for files, directories, etc.
- if(preg_match('@^\s*if\s+\(\s*\!?-(f|d|e|x)\s+\S+\s*\)\s*\{\s*$@', $rewrite_rule_line)){
- $if_level += 1;
- continue;
- }
- // break
- if(preg_match('@^\s*break\s*;\s*$@', $rewrite_rule_line)){
- continue;
- }
- // return code [ text ]
- if(preg_match('@^\s*return\s+\d\d\d.*;\s*$@', $rewrite_rule_line)) continue;
- // return code URL
- // return URL
- if(preg_match('@^\s*return(\s+\d\d\d)?\s+(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*\@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*\s*;\s*$@', $rewrite_rule_line)) continue;
- // set
- if(preg_match('@^\s*set\s+\$\S+\s+\S+\s*;\s*$@', $rewrite_rule_line)) continue;
- // closing curly bracket
- if(trim($rewrite_rule_line) == '}'){
- $if_level -= 1;
- continue;
- }
- $rewrites_are_valid = false;
- break;
- }
- }
-
- if(!$rewrites_are_valid || $if_level != 0){
- $app->tform->errorMessage .= $app->tform->lng("invalid_rewrite_rules_txt").'<br>';
- }
- }
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Get configuration for the web system
- $app->uses("getconf");
- $web_rec = $app->tform->getDataRecord($this->id);
- $web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
- //var_dump($this->parent_domain_record, $web_rec);
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote($this->parent_domain_record['system_user']);
- $system_group = $app->db->quote($this->parent_domain_record['system_group']);
- $document_root = $app->db->quote($this->parent_domain_record['document_root']);
- $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$web_rec['web_folder'], $web_config["php_open_basedir"]);
- $php_open_basedir = str_replace("[website_domain]/web", $web_rec['domain'].'/'.$web_rec['web_folder'], $php_open_basedir);
- $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
- $htaccess_allow_override = $app->db->quote($this->parent_domain_record['allow_override']);
-
- $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($this->parent_domain_record['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
- }
-
- function onBeforeUpdate () {
- global $app, $conf;
-
- //* Check that all fields for the SSL cert creation are filled
- if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'create') {
- if($this->dataRecord['ssl_state'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_state_empty').'<br />';
- if($this->dataRecord['ssl_locality'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_locality_empty').'<br />';
- if($this->dataRecord['ssl_organisation'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_empty').'<br />';
- if($this->dataRecord['ssl_organisation_unit'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_unit_empty').'<br />';
- if($this->dataRecord['ssl_country'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_country_empty').'<br />';
- }
-
- if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'save') {
- if(trim($this->dataRecord['ssl_cert']) == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_cert_empty').'<br />';
- }
-
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Get configuration for the web system
- $app->uses("getconf");
- $web_rec = $app->tform->getDataRecord($this->id);
- $web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
-
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote($this->parent_domain_record['system_user']);
- $system_group = $app->db->quote($this->parent_domain_record['system_group']);
- $document_root = $app->db->quote($this->parent_domain_record['document_root']);
- $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$web_rec['web_folder'], $web_config["php_open_basedir"]);
- $php_open_basedir = str_replace("[website_domain]/web", $web_rec['domain'].'/'.$web_rec['web_folder'], $php_open_basedir);
- $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
- $htaccess_allow_override = $app->db->quote($this->parent_domain_record['allow_override']);
-
- $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($this->parent_domain_record['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
- }
-
-}
-
-$page = new page_action;
-$page->onLoad();
-
-?>
diff --git a/interface/web/sites/web_vhost_aliasdomain_list.php b/interface/web/sites/web_vhost_aliasdomain_list.php
deleted file mode 100644
index 52033a1..0000000
--- a/interface/web/sites/web_vhost_aliasdomain_list.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-/******************************************
-* Begin Form configuration
-******************************************/
-
-$list_def_file = "list/web_vhost_aliasdomain.list.php";
-
-/******************************************
-* End Form configuration
-******************************************/
-
-//* Check permissions for module
-$app->auth->check_module_permissions('sites');
-
-$app->uses('listform_actions');
-
-// Limit the results to alias domains
-$app->listform_actions->SQLExtWhere = "web_domain.type = 'vhostalias'";
-$app->listform_actions->SQLOrderBy = 'ORDER BY web_domain.domain';
-$app->listform_actions->onLoad();
-
-
-?>
diff --git a/interface/web/sites/web_vhost_domain_del.php b/interface/web/sites/web_vhost_domain_del.php
new file mode 100644
index 0000000..25c7425
--- /dev/null
+++ b/interface/web/sites/web_vhost_domain_del.php
@@ -0,0 +1,142 @@
+<?php
+
+/*
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/******************************************
+* Begin Form configuration
+******************************************/
+
+$list_def_file = "list/web_vhost_domain.list.php";
+$tform_def_file = "form/web_vhost_domain.tform.php";
+
+/******************************************
+* End Form configuration
+******************************************/
+
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+//* Get and set the vhost domain type - store in session
+$show_type = 'domain';
+if(isset($_GET['type']) && $_GET['type'] == 'subdomain') {
+ $show_type = 'subdomain';
+} elseif(isset($_GET['type']) && $_GET['type'] == 'aliasdomain') {
+ $show_type = 'aliasdomain';
+} elseif(!isset($_GET['type']) && isset($_SESSION['s']['var']['vhostdomain_type']) && $_SESSION['s']['var']['vhostdomain_type'] == 'subdomain') {
+ $show_type = 'subdomain';
+} elseif(!isset($_GET['type']) && isset($_SESSION['s']['var']['vhostdomain_type']) && $_SESSION['s']['var']['vhostdomain_type'] == 'aliasdomain') {
+ $show_type = 'aliasdomain';
+}
+
+$_SESSION['s']['var']['vhostdomain_type'] = $show_type;
+
+
+class page_action extends tform_actions {
+
+ function onBeforeDelete() {
+ global $app; $conf;
+
+ if($_SESSION['s']['var']['vhostdomain_type'] == 'domain') {
+ if($app->tform->checkPerm($this->id, 'd') == false) $app->error($app->lng('error_no_delete_permission'));
+
+ //* Delete all records that belong to this web.
+ $records = $app->db->queryAllRecords("SELECT domain_id FROM web_domain WHERE parent_domain_id = '".$app->functions->intval($this->id)."' AND type != 'vhost'");
+ foreach($records as $rec) {
+ $app->db->datalogDelete('web_domain', 'domain_id', $rec['domain_id']);
+ }
+
+ //* Delete all records that belong to this web.
+ $records = $app->db->queryAllRecords("SELECT ftp_user_id FROM ftp_user WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
+ foreach($records as $rec) {
+ $app->db->datalogDelete('ftp_user', 'ftp_user_id', $rec['ftp_user_id']);
+ }
+
+ //* Delete all records that belong to this web.
+ $records = $app->db->queryAllRecords("SELECT shell_user_id FROM shell_user WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
+ foreach($records as $rec) {
+ $app->db->datalogDelete('shell_user', 'shell_user_id', $rec['shell_user_id']);
+ }
+
+ //* Delete all records that belong to this web.
+ $records = $app->db->queryAllRecords("SELECT id FROM cron WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
+ foreach($records as $rec) {
+ $app->db->datalogDelete('cron', 'id', $rec['id']);
+ }
+
+ //* Delete all records that belong to this web
+ $records = $app->db->queryAllRecords("SELECT webdav_user_id FROM webdav_user WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
+ foreach($records as $rec) {
+ $app->db->datalogDelete('webdav_user', 'webdav_user_id', $rec['webdav_user_id']);
+ }
+
+ //* Delete all records that belong to this web
+ $records = $app->db->queryAllRecords("SELECT backup_id FROM web_backup WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
+ foreach($records as $rec) {
+ $app->db->datalogDelete('web_backup', 'backup_id', $rec['backup_id']);
+ }
+
+ //* Delete all records that belog to this web.
+ $web_domain = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+ if($web_domain['domain'] != ''){
+ $aps_instances = $app->db->queryAllRecords("SELECT instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = '".$app->db->quote($web_domain['domain'])."'");
+ if(is_array($aps_instances) && !empty($aps_instances)){
+ foreach($aps_instances as $aps_instance){
+ if($aps_instance['instance_id'] > 0){
+ $app->db->datalogDelete('aps_instances_settings', 'instance_id', $aps_instance['instance_id']);
+ $app->db->datalogDelete('aps_instances', 'id', $aps_instance['instance_id']);
+ }
+ }
+ }
+ }
+ }
+
+ //* Delete all web folders
+ $records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
+ foreach($records as $rec) {
+ //* Delete all web folder users
+ $records2 = $app->db->queryAllRecords("SELECT web_folder_user_id FROM web_folder_user WHERE web_folder_id = '".$app->functions->intval($rec['web_folder_id'])."'");
+ foreach($records2 as $rec2) {
+ $app->db->datalogDelete('web_folder_user', 'web_folder_user_id', $rec2['web_folder_user_id']);
+ }
+ $app->db->datalogDelete('web_folder', 'web_folder_id', $rec['web_folder_id']);
+ }
+ }
+
+}
+
+$page = new page_action;
+$page->onDelete();
+
+?>
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
similarity index 64%
rename from interface/web/sites/web_domain_edit.php
rename to interface/web/sites/web_vhost_domain_edit.php
index 738bbab..b671c33 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -32,7 +32,7 @@
* Begin Form configuration
******************************************/
-$tform_def_file = "form/web_domain.tform.php";
+$tform_def_file = "form/web_vhost_domain.tform.php";
/******************************************
* End Form configuration
@@ -49,6 +49,7 @@
$app->load('tform_actions');
class page_action extends tform_actions {
+ var $_vhostdomain_type = 'domain';
//* Returna a "3/2/1" path hash from a numeric id '123'
function id_hash($id, $levels) {
@@ -63,18 +64,51 @@
return $hash;
}
+ function onLoad() {
+ $show_type = 'domain';
+ if(isset($_GET['type']) && $_GET['type'] == 'subdomain') {
+ $show_type = 'subdomain';
+ } elseif(isset($_GET['type']) && $_GET['type'] == 'aliasdomain') {
+ $show_type = 'aliasdomain';
+ } elseif(!isset($_GET['type']) && isset($_SESSION['s']['var']['vhostdomain_type']) && $_SESSION['s']['var']['vhostdomain_type'] == 'subdomain') {
+ $show_type = 'subdomain';
+ } elseif(!isset($_GET['type']) && isset($_SESSION['s']['var']['vhostdomain_type']) && $_SESSION['s']['var']['vhostdomain_type'] == 'aliasdomain') {
+ $show_type = 'aliasdomain';
+ }
+
+ $_SESSION['s']['var']['vhostdomain_type'] = $show_type;
+ $this->_vhostdomain_type = $show_type;
+
+ parent::onLoad();
+ }
+
function onShowNew() {
global $app, $conf;
// we will check only users, not admins
if($_SESSION["s"]["user"]["typ"] == 'user') {
- if(!$app->tform->checkClientLimit('limit_web_domain', "type = 'vhost'")) {
- $app->error($app->tform->wordbook["limit_web_domain_txt"]);
+ if($this->_vhostdomain_type == 'domain') {
+ if(!$app->tform->checkClientLimit('limit_web_domain', "type = 'vhost'")) {
+ $app->error($app->tform->wordbook["limit_web_domain_txt"]);
+ }
+ if(!$app->tform->checkResellerLimit('limit_web_domain', "type = 'vhost'")) {
+ $app->error('Reseller: '.$app->tform->wordbook["limit_web_domain_txt"]);
+ }
+ } elseif($this->_vhostdomain_type == 'subdomain') {
+ if(!$app->tform->checkClientLimit('limit_web_subdomain', "(type = 'subdomain' OR type = 'vhostsubdomain')")) {
+ $app->error($app->tform->wordbook["limit_web_subdomain_txt"]);
+ }
+ if(!$app->tform->checkResellerLimit('limit_web_subdomain', "(type = 'subdomain' OR type = 'vhostsubdomain')")) {
+ $app->error('Reseller: '.$app->tform->wordbook["limit_web_subdomain_txt"]);
+ }
+ } elseif($this->_vhostdomain_type == 'aliasdomain') {
+ if(!$app->tform->checkClientLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
+ $app->error($app->tform->wordbook["limit_web_aliasdomain_txt"]);
+ }
+ if(!$app->tform->checkResellerLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
+ $app->error('Reseller: '.$app->tform->wordbook["limit_web_aliasdomain_txt"]);
+ }
}
- if(!$app->tform->checkResellerLimit('limit_web_domain', "type = 'vhost'")) {
- $app->error('Reseller: '.$app->tform->wordbook["limit_web_domain_txt"]);
- }
-
// Get the limits of the client
$client_group_id = $_SESSION["s"]["user"]["default_group"];
$client = $app->db->queryOneRecord("SELECT client.web_servers FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
@@ -84,6 +118,7 @@
}
$app->tform->formDef['tabs']['domain']['readonly'] = false;
+ $app->tpl->setVar('vhostdomain_type', $this->_vhostdomain_type);
parent::onShowNew();
}
@@ -94,15 +129,22 @@
$read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
+ if($this->_vhostdomain_type != 'domain') $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]));
+
//* Client: If the logged in user is not admin and has no sub clients (no reseller)
if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
// Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT client.limit_web_domain, client.web_servers, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+ if($this->_vhostdomain_type == 'domain') {
+ $client = $app->db->queryOneRecord("SELECT client.limit_web_domain, client.web_servers, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ } elseif($this->_vhostdomain_type == 'subdomain') {
+ $client = $app->db->queryOneRecord("SELECT client.limit_web_subdomain, client.web_servers, client.default_webserver, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ } elseif($this->_vhostdomain_type == 'aliasdomain') {
+ $client = $app->db->queryOneRecord("SELECT client.limit_web_aliasdomain, client.web_servers, client.default_webserver, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ }
$client['web_servers_ids'] = explode(',', $client['web_servers']);
-
$only_one_server = count($client['web_servers_ids']) === 1;
$app->tpl->setVar('only_one_server', $only_one_server);
@@ -178,11 +220,21 @@
$server_type = 'apache';
if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver']))." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- if($this->dataRecord['php'] == 'fast-cgi'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver']))." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+
+ if($this->_vhostdomain_type == 'domain') {
+ if($this->dataRecord['php'] == 'php-fpm'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver']))." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+ }
+ if($this->dataRecord['php'] == 'fast-cgi'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver']))." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+ }
+ } else {
+ if($this->dataRecord['php'] == 'php-fpm'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+ }
+ if($this->dataRecord['php'] == 'fast-cgi'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+ }
}
$php_select = "<option value=''>Default</option>";
if(is_array($php_records) && !empty($php_records)) {
@@ -208,7 +260,18 @@
// Get the limits of the client
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_domain, client.default_webserver, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+ if($this->_vhostdomain_type == 'domain') {
+ $client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_domain, client.web_servers, client.default_webserver, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ $app->tpl->setVar('only_one_server', $only_one_server);
+ } elseif($this->_vhostdomain_type == 'subdomain') {
+ $client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_subdomain, client.web_servers, client.default_webserver, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ } elseif($this->_vhostdomain_type == 'aliasdomain') {
+ $client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_aliasdomain, client.web_servers, client.default_webserver, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ }
+
+ $client['web_servers_ids'] = explode(',', $client['web_servers']);
+ $only_one_server = count($client['web_servers_ids']) === 1;
//* Get global web config
foreach ($client['web_servers_ids'] as $web_server_id) {
@@ -291,11 +354,20 @@
$selected_client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = ".$app->functions->intval($selected_client_group_id));
//$sql_where = " AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id']." OR client_id = ".intval($selected_client['client_id']).")";
$sql_where = " AND (client_id = 0 OR client_id = ".intval($selected_client['client_id']).")";
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver'])).$sql_where);
- }
- if($this->dataRecord['php'] == 'fast-cgi') {
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver'])).$sql_where);
+ if($this->_vhostdomain_type == 'domain') {
+ if($this->dataRecord['php'] == 'php-fpm'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver'])).$sql_where);
+ }
+ if($this->dataRecord['php'] == 'fast-cgi') {
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".($this->id > 0 ? $app->functions->intval($this->dataRecord['server_id']) : $app->functions->intval($client['default_webserver'])).$sql_where);
+ }
+ } else {
+ if($this->dataRecord['php'] == 'php-fpm'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+ }
+ if($this->dataRecord['php'] == 'fast-cgi') {
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+ }
}
$php_select = "<option value=''>Default</option>";
if(is_array($php_records) && !empty($php_records)) {
@@ -366,22 +438,27 @@
//* Admin: If the logged in user is admin
} else {
- // The user is admin, so we fill in all IP addresses of the server
- if($this->id > 0) {
- if(!isset($this->dataRecord["server_id"])){
- $tmp = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- $this->dataRecord["server_id"] = $tmp["server_id"];
- unset($tmp);
+ if($this->_vhostdomain_type == 'domain') {
+ // The user is admin, so we fill in all IP addresses of the server
+ if($this->id > 0) {
+ if(!isset($this->dataRecord["server_id"])){
+ $tmp = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+ $this->dataRecord["server_id"] = $tmp["server_id"];
+ unset($tmp);
+ }
+ $server_id = intval(@$this->dataRecord["server_id"]);
+ } else {
+ // Get the first server ID
+ $tmp = $app->db->queryOneRecord("SELECT server_id FROM server WHERE web_server = 1 ORDER BY server_name LIMIT 0,1");
+ $server_id = intval($tmp['server_id']);
}
- $server_id = intval(@$this->dataRecord["server_id"]);
- } else {
- // Get the first server ID
- $tmp = $app->db->queryOneRecord("SELECT server_id FROM server WHERE web_server = 1 ORDER BY server_name LIMIT 0,1");
- $server_id = intval($tmp['server_id']);
- }
- //* get global web config
- $web_config = $app->getconf->get_server_config($server_id, 'web');
+ //* get global web config
+ $web_config = $app->getconf->get_server_config($server_id, 'web');
+ } else {
+ //* get global web config
+ $web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
+ }
//* Fill the IPv4 select field
$sql = "SELECT ip_address FROM server_ip WHERE ip_type = 'IPv4' AND server_id = ".$app->functions->intval($server_id);
@@ -437,11 +514,20 @@
$selected_client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = ".$app->functions->intval($selected_client_group_id));
//$sql_where = " AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id']." OR client_id = ".intval($selected_client['client_id']).")";
$sql_where = " AND (client_id = 0 OR client_id = ".$app->functions->intval($selected_client['client_id']).")";
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = $server_id".$sql_where);
- }
- if($this->dataRecord['php'] == 'fast-cgi') {
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($server_id).$sql_where);
+ if($this->_vhostdomain_type == 'domain') {
+ if($this->dataRecord['php'] == 'php-fpm'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = $server_id".$sql_where);
+ }
+ if($this->dataRecord['php'] == 'fast-cgi') {
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($server_id).$sql_where);
+ }
+ } else {
+ if($this->dataRecord['php'] == 'php-fpm'){
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
+ }
+ if($this->dataRecord['php'] == 'fast-cgi') {
+ $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
+ }
}
$php_select = "<option value=''>Default</option>";
if(is_array($php_records) && !empty($php_records)) {
@@ -523,9 +609,13 @@
if($this->id > 0) {
//* we are editing a existing record
$app->tpl->setVar("edit_disabled", 1);
- $app->tpl->setVar("server_id_value", $this->dataRecord["server_id"]);
+ $app->tpl->setVar('fixed_folder', 'y');
+ if($this->_vhostdomain_type == 'domain') $app->tpl->setVar("server_id_value", $this->dataRecord["server_id"]);
+ else $app->tpl->setVar('server_id_value', $parent_domain['server_id']);
} else {
$app->tpl->setVar("edit_disabled", 0);
+ $app->tpl->setVar('fixed_folder', 'n');
+ if($this->_vhostdomain_type != 'domain') $app->tpl->setVar('server_id_value', $parent_domain['server_id']);
}
$tmp_txt = ($this->dataRecord['traffic_quota_lock'] == 'y')?'<b>('.$app->tform->lng('traffic_quota_exceeded_txt').')</b>':'';
@@ -535,6 +625,7 @@
* Now we have to check, if we should use the domain-module to select the domain
* or not
*/
+ $app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
/*
@@ -542,11 +633,17 @@
*/
$domains = $app->tools_sites->getDomainModuleDomains();
$domain_select = '';
+ $selected_domain = '';
if(is_array($domains) && sizeof($domains) > 0) {
/* We have domains in the list, so create the drop-down-list */
foreach( $domains as $domain) {
$domain_select .= "<option value=" . $domain['domain_id'] ;
- if ($domain['domain'] == $this->dataRecord["domain"]) {
+ if ($this->_vhostdomain_type == 'subdomain' && '.' . $domain['domain'] == substr($this->dataRecord["domain"], -strlen($domain['domain']) - 1)) {
+ $domain_select .= " selected";
+ $selected_domain = $domain['domain'];
+ } elseif($this->_vhostdomain_type == 'aliasdomain' && $domain['domain'] == $this->dataRecord["domain"]) {
+ $domain_select .= " selected";
+ } elseif($this->_vhostdomain_type == 'domain' && $domain['domain'] == $this->dataRecord["domain"]) {
$domain_select .= " selected";
}
$domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n";
@@ -562,6 +659,7 @@
}
$app->tpl->setVar("domain_option", $domain_select);
}
+ if($this->_vhostdomain_type != 'domain') $app->tpl->setVar("domain", $this->dataRecord["domain"]);
// check for configuration errors in sys_datalog
if($this->id > 0) {
@@ -573,6 +671,8 @@
}
}
}
+
+ $app->tpl->setVar('vhostdomain_type', $this->_vhostdomain_type);
parent::onShowEnd();
}
@@ -586,38 +686,86 @@
function onSubmit() {
global $app, $conf;
+ // Set a few fixed values
+ $this->dataRecord["vhost_type"] = 'name';
+ if($this->_vhostdomain_type == 'domain') {
+ $this->dataRecord["parent_domain_id"] = 0;
+ $this->dataRecord["type"] = 'vhost';
+ } else {
+ // Get the record of the parent domain
+ if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
+ $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+ if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
+ unset($tmp);
+ }
+
+ $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
+ if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm");
+
+ if($this->_vhostdomain_type == 'subdomain') {
+ $this->dataRecord["type"] = 'vhostsubdomain';
+ } else {
+ $this->dataRecord["type"] = 'vhostalias';
+ }
+ $this->dataRecord["server_id"] = $parent_domain["server_id"];
+ $this->dataRecord["ip_address"] = $parent_domain["ip_address"];
+ $this->dataRecord["ipv6_address"] = $parent_domain["ipv6_address"];
+ $this->dataRecord["client_group_id"] = $parent_domain["client_group_id"];
+
+ $this->parent_domain_record = $parent_domain;
+ }
+
+ $read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
+
/* check if the domain module is used - and check if the selected domain can be used! */
if($app->tform->getCurrentTab() == 'domain') {
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
- $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['domain']);
+ if($this->_vhostdomain_type == 'subdomain') $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['sel_domain']);
+ else $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['domain']);
if(!$domain_check) {
// invalid domain selected
$app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />";
} else {
- $this->dataRecord['domain'] = $domain_check;
+ if($this->_vhostdomain_type == 'subdomain') $this->dataRecord['domain'] = $this->dataRecord['domain'] . '.' . $domain_check;
+ else $this->dataRecord['domain'] = $domain_check;
}
+ } else {
+ if($this->_vhostdomain_type == 'subdomain') $this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"];
+ }
+
+ if($this->_vhostdomain_type != 'domain') {
+ $this->dataRecord['web_folder'] = strtolower($this->dataRecord['web_folder']);
+ if(substr($this->dataRecord['web_folder'], 0, 1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 1);
+ if(substr($this->dataRecord['web_folder'], -1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 0, -1);
+ $forbidden_folders = array('', 'cgi-bin', 'log', 'private', 'ssl', 'tmp', 'webdav');
+ $check_folder = strtolower($this->dataRecord['web_folder']);
+ if(substr($check_folder, 0, 1) === '/') $check_folder = substr($check_folder, 1); // strip / at beginning to check against forbidden entries
+ if(strpos($check_folder, '/') !== false) $check_folder = substr($check_folder, 0, strpos($check_folder, '/')); // get the first part of the path to check it
+ if(in_array($check_folder, $forbidden_folders)) {
+ $app->tform->errorMessage .= $app->tform->lng("web_folder_invalid_txt")."<br>";
+ }
+
+ // vhostaliasdomains do not have a quota of their own
+ $this->dataRecord["hd_quota"] = 0;
+
+ // check for duplicate folder usage
+ /*
+ $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'vhostalias' AND `parent_domain_id` = '" . $app->functions->intval($this->dataRecord['parent_domain_id']) . "' AND `web_folder` = '" . $app->db->quote($this->dataRecord['web_folder']) . "' AND `domain_id` != '" . $app->functions->intval($this->id) . "'");
+ if($check && $check['cnt'] > 0) {
+ $app->tform->errorMessage .= $app->tform->lng("web_folder_unique_txt")."<br>";
+ }
+ */
}
}
- // nginx: if redirect type is proxy and redirect path is no URL, display error
- //if($this->dataRecord["redirect_type"] == 'proxy' && substr($this->dataRecord['redirect_path'],0,1) == '/'){
- // $app->tform->errorMessage .= $app->tform->lng("error_proxy_requires_url")."<br />";
- //}
-
- // Set a few fixed values
- $this->dataRecord["parent_domain_id"] = 0;
- $this->dataRecord["type"] = 'vhost';
- $this->dataRecord["vhost_type"] = 'name';
-
- $read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
if($_SESSION["s"]["user"]["typ"] != 'admin') {
// Get the limits of the client
- $client_group_id = $_SESSION["s"]["user"]["default_group"];
- $client = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_domain, web_servers, parent_client_id, limit_web_quota, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+ $client = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_domain, limit_web_aliasdomain, limit_web_subdomain, web_servers, parent_client_id, limit_web_quota, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
$client['web_servers_ids'] = explode(',', $client['web_servers']);
@@ -637,21 +785,23 @@
} else {
$old_web_values = array();
}
-
- //* Check the website quota of the client
- if(isset($_POST["hd_quota"]) && $client["limit_web_quota"] >= 0 && $_POST["hd_quota"] != $old_web_values["hd_quota"]) {
- $tmp = $app->db->queryOneRecord("SELECT sum(hd_quota) as webquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND type = 'vhost' AND ".$app->tform->getAuthSQL('u'));
- $webquota = $tmp["webquota"];
- $new_web_quota = $app->functions->intval($this->dataRecord["hd_quota"]);
- if(($webquota + $new_web_quota > $client["limit_web_quota"]) || ($new_web_quota < 0 && $client["limit_web_quota"] >= 0)) {
- $max_free_quota = floor($client["limit_web_quota"] - $webquota);
- if($max_free_quota < 0) $max_free_quota = 0;
- $app->tform->errorMessage .= $app->tform->lng("limit_web_quota_free_txt").": ".$max_free_quota." MB<br>";
- // Set the quota field to the max free space
- $this->dataRecord["hd_quota"] = $max_free_quota;
+
+ if($this->_vhostdomain_type == 'domain') {
+ //* Check the website quota of the client
+ if(isset($_POST["hd_quota"]) && $client["limit_web_quota"] >= 0 && $_POST["hd_quota"] != $old_web_values["hd_quota"]) {
+ $tmp = $app->db->queryOneRecord("SELECT sum(hd_quota) as webquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND type = 'vhost' AND ".$app->tform->getAuthSQL('u'));
+ $webquota = $tmp["webquota"];
+ $new_web_quota = $app->functions->intval($this->dataRecord["hd_quota"]);
+ if(($webquota + $new_web_quota > $client["limit_web_quota"]) || ($new_web_quota < 0 && $client["limit_web_quota"] >= 0)) {
+ $max_free_quota = floor($client["limit_web_quota"] - $webquota);
+ if($max_free_quota < 0) $max_free_quota = 0;
+ $app->tform->errorMessage .= $app->tform->lng("limit_web_quota_free_txt").": ".$max_free_quota." MB<br>";
+ // Set the quota field to the max free space
+ $this->dataRecord["hd_quota"] = $max_free_quota;
+ }
+ unset($tmp);
+ unset($tmp_quota);
}
- unset($tmp);
- unset($tmp_quota);
}
//* Check the traffic quota of the client
@@ -672,22 +822,24 @@
if($client['parent_client_id'] > 0) {
// Get the limits of the reseller
- $reseller = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_domain, web_servers, limit_web_quota FROM client WHERE client_id = ".$client['parent_client_id']);
+ $reseller = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_domain, limit_web_aliasdomain, limit_web_subdomain, web_servers, limit_web_quota FROM client WHERE client_id = ".$client['parent_client_id']);
- //* Check the website quota of the client
- if(isset($_POST["hd_quota"]) && $reseller["limit_web_quota"] >= 0 && $_POST["hd_quota"] != $old_web_values["hd_quota"]) {
- $tmp = $app->db->queryOneRecord("SELECT sum(hd_quota) as webquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND type = 'vhost' AND ".$app->tform->getAuthSQL('u'));
- $webquota = $tmp["webquota"];
- $new_web_quota = $app->functions->intval($this->dataRecord["hd_quota"]);
- if(($webquota + $new_web_quota > $reseller["limit_web_quota"]) || ($new_web_quota < 0 && $reseller["limit_web_quota"] >= 0)) {
- $max_free_quota = floor($reseller["limit_web_quota"] - $webquota);
- if($max_free_quota < 0) $max_free_quota = 0;
- $app->tform->errorMessage .= $app->tform->lng("limit_web_quota_free_txt").": ".$max_free_quota." MB<br>";
- // Set the quota field to the max free space
- $this->dataRecord["hd_quota"] = $max_free_quota;
+ if($this->_vhostdomain_type == 'domain') {
+ //* Check the website quota of the client
+ if(isset($_POST["hd_quota"]) && $reseller["limit_web_quota"] >= 0 && $_POST["hd_quota"] != $old_web_values["hd_quota"]) {
+ $tmp = $app->db->queryOneRecord("SELECT sum(hd_quota) as webquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND type = 'vhost' AND ".$app->tform->getAuthSQL('u'));
+ $webquota = $tmp["webquota"];
+ $new_web_quota = $app->functions->intval($this->dataRecord["hd_quota"]);
+ if(($webquota + $new_web_quota > $reseller["limit_web_quota"]) || ($new_web_quota < 0 && $reseller["limit_web_quota"] >= 0)) {
+ $max_free_quota = floor($reseller["limit_web_quota"] - $webquota);
+ if($max_free_quota < 0) $max_free_quota = 0;
+ $app->tform->errorMessage .= $app->tform->lng("limit_web_quota_free_txt").": ".$max_free_quota." MB<br>";
+ // Set the quota field to the max free space
+ $this->dataRecord["hd_quota"] = $max_free_quota;
+ }
+ unset($tmp);
+ unset($tmp_quota);
}
- unset($tmp);
- unset($tmp_quota);
}
//* Check the traffic quota of the client
@@ -710,8 +862,9 @@
// When the record is updated
if($this->id > 0) {
// restore the server ID if the user is not admin and record is edited
- $tmp = $app->db->queryOneRecord("SELECT server_id, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+ $tmp = $app->db->queryOneRecord("SELECT server_id, `web_folder`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
$this->dataRecord["server_id"] = $tmp["server_id"];
+ $this->dataRecord['web_folder'] = $tmp['web_folder']; // cannot be changed!
// set the settings to current if not provided (or cleared due to limits)
if($this->dataRecord['cgi'] == '-') $this->dataRecord['cgi'] = $tmp['cgi'];
@@ -727,26 +880,37 @@
unset($tmp);
// When the record is inserted
} else {
- //* display an error if chosen server is not allowed for this client
- if (!is_array($client['web_servers_ids']) || !in_array($this->dataRecord['server_id'], $client['web_servers_ids'])) {
- $app->error($app->tform->wordbook['server_chosen_not_ok']);
+ if($this->_vhostdomain_type == 'domain') {
+ //* display an error if chosen server is not allowed for this client
+ if (!is_array($client['web_servers_ids']) || !in_array($this->dataRecord['server_id'], $client['web_servers_ids'])) {
+ $app->error($app->tform->wordbook['server_chosen_not_ok']);
+ }
}
// Check if the user may add another web_domain
- if($client["limit_web_domain"] >= 0) {
+ if($this->_vhostdomain_type == 'domain' && $client["limit_web_domain"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and type = 'vhost'");
if($tmp["number"] >= $client["limit_web_domain"]) {
$app->error($app->tform->wordbook["limit_web_domain_txt"]);
}
+ } elseif($this->_vhostdomain_type == 'aliasdomain' && $client["limit_web_aliasdomain"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and (type = 'alias' OR type = 'vhostalias')");
+ if($tmp["number"] >= $client["limit_web_aliasdomain"]) {
+ $app->error($app->tform->wordbook["limit_web_aliasdomain_txt"]);
+ }
+ } elseif($this->_vhostdomain_type == 'subdomain' && $client["limit_web_subdomain"] >= 0) {
+ $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and (type = 'subdomain' OR type = 'vhostsubdomain')");
+ if($tmp["number"] >= $client["limit_web_subdomain"]) {
+ $app->error($app->tform->wordbook["limit_web_subdomain_txt"]);
+ }
}
-
}
// Clients may not set the client_group_id, so we unset them if user is not a admin and the client is not a reseller
if(!$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]);
}
- //* make sure that the email domain is lowercase
+ //* make sure that the domain is lowercase
if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
//* get the server config for this server
@@ -853,73 +1017,93 @@
$app->uses("getconf");
$web_rec = $app->tform->getDataRecord($this->id);
$web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
- $document_root = str_replace("[website_id]", $this->id, $web_config["website_path"]);
- $document_root = str_replace("[website_idhash_1]", $this->id_hash($page_form->id, 1), $document_root);
- $document_root = str_replace("[website_idhash_2]", $this->id_hash($page_form->id, 1), $document_root);
- $document_root = str_replace("[website_idhash_3]", $this->id_hash($page_form->id, 1), $document_root);
- $document_root = str_replace("[website_idhash_4]", $this->id_hash($page_form->id, 1), $document_root);
- // get the ID of the client
- if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = $client_group_id");
- $client_id = $app->functions->intval($client["client_id"]);
- } else {
- //$client_id = $app->functions->intval($this->dataRecord["client_group_id"]);
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".$app->functions->intval($this->dataRecord["client_group_id"]));
- $client_id = $app->functions->intval($client["client_id"]);
+ if($this->_vhostdomain_type == 'domain') {
+ $document_root = str_replace("[website_id]", $this->id, $web_config["website_path"]);
+ $document_root = str_replace("[website_idhash_1]", $this->id_hash($page_form->id, 1), $document_root);
+ $document_root = str_replace("[website_idhash_2]", $this->id_hash($page_form->id, 1), $document_root);
+ $document_root = str_replace("[website_idhash_3]", $this->id_hash($page_form->id, 1), $document_root);
+ $document_root = str_replace("[website_idhash_4]", $this->id_hash($page_form->id, 1), $document_root);
+
+ // get the ID of the client
+ if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+ $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = $client_group_id");
+ $client_id = $app->functions->intval($client["client_id"]);
+ } else {
+ //$client_id = $app->functions->intval($this->dataRecord["client_group_id"]);
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".$app->functions->intval($this->dataRecord["client_group_id"]));
+ $client_id = $app->functions->intval($client["client_id"]);
+ }
+
+ // Set the values for document_root, system_user and system_group
+ $system_user = $app->db->quote('web'.$this->id);
+ $system_group = $app->db->quote('client'.$client_id);
+ $document_root = str_replace("[client_id]", $client_id, $document_root);
+ $document_root = str_replace("[client_idhash_1]", $this->id_hash($client_id, 1), $document_root);
+ $document_root = str_replace("[client_idhash_2]", $this->id_hash($client_id, 2), $document_root);
+ $document_root = str_replace("[client_idhash_3]", $this->id_hash($client_id, 3), $document_root);
+ $document_root = str_replace("[client_idhash_4]", $this->id_hash($client_id, 4), $document_root);
+ $document_root = $app->db->quote($document_root);
+ $php_open_basedir = str_replace("[website_path]", $document_root, $web_config["php_open_basedir"]);
+ $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
+ $htaccess_allow_override = $app->db->quote($web_config["htaccess_allow_override"]);
+ $added_date = date($app->lng('conf_format_dateshort'));
+ $added_by = $app->db->quote($_SESSION['s']['user']['username']);
+
+ $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir', added_date = '$added_date', added_by = '$added_by' WHERE domain_id = ".$this->id;
+ } else {
+ // Set the values for document_root, system_user and system_group
+ $system_user = $app->db->quote($this->parent_domain_record['system_user']);
+ $system_group = $app->db->quote($this->parent_domain_record['system_group']);
+ $document_root = $app->db->quote($this->parent_domain_record['document_root']);
+ $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$web_rec['web_folder'], $web_config["php_open_basedir"]);
+ $php_open_basedir = str_replace("[website_domain]/web", $web_rec['domain'].'/'.$web_rec['web_folder'], $php_open_basedir);
+ $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
+ $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
+ $htaccess_allow_override = $app->db->quote($this->parent_domain_record['allow_override']);
+ $added_date = date($app->lng('conf_format_dateshort'));
+ $added_by = $app->db->quote($_SESSION['s']['user']['username']);
+
+ $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($this->parent_domain_record['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir', added_date = '$added_date', added_by = '$added_by' WHERE domain_id = ".$this->id;
}
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote('web'.$this->id);
- $system_group = $app->db->quote('client'.$client_id);
- $document_root = str_replace("[client_id]", $client_id, $document_root);
- $document_root = str_replace("[client_idhash_1]", $this->id_hash($client_id, 1), $document_root);
- $document_root = str_replace("[client_idhash_2]", $this->id_hash($client_id, 2), $document_root);
- $document_root = str_replace("[client_idhash_3]", $this->id_hash($client_id, 3), $document_root);
- $document_root = str_replace("[client_idhash_4]", $this->id_hash($client_id, 4), $document_root);
- $document_root = $app->db->quote($document_root);
- $php_open_basedir = str_replace("[website_path]", $document_root, $web_config["php_open_basedir"]);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
- $htaccess_allow_override = $app->db->quote($web_config["htaccess_allow_override"]);
- $added_date = date($app->lng('conf_format_dateshort'));
- $added_by = $app->db->quote($_SESSION['s']['user']['username']);
-
- $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir', added_date = '$added_date', added_by = '$added_by' WHERE domain_id = ".$this->id;
$app->db->query($sql);
}
function onBeforeUpdate () {
global $app, $conf;
- //* Check if the server has been changed
- // We do this only for the admin or reseller users, as normal clients can not change the server ID anyway
- if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
- if (isset($this->dataRecord["server_id"])) {
- $rec = $app->db->queryOneRecord("SELECT server_id from web_domain WHERE domain_id = ".$this->id);
- if($rec['server_id'] != $this->dataRecord["server_id"]) {
+ if($this->_vhostdomain_type == 'domain') {
+ //* Check if the server has been changed
+ // We do this only for the admin or reseller users, as normal clients can not change the server ID anyway
+ if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+ if (isset($this->dataRecord["server_id"])) {
+ $rec = $app->db->queryOneRecord("SELECT server_id from web_domain WHERE domain_id = ".$this->id);
+ if($rec['server_id'] != $this->dataRecord["server_id"]) {
+ //* Add a error message and switch back to old server
+ $app->tform->errorMessage .= $app->lng('The Server can not be changed.');
+ $this->dataRecord["server_id"] = $rec['server_id'];
+ }
+ unset($rec);
+ }
+ //* If the user is neither admin nor reseller
+ } else {
+ //* We do not allow users to change a domain which has been created by the admin
+ $rec = $app->db->queryOneRecord("SELECT sys_perm_group, domain, ip_address, ipv6_address from web_domain WHERE domain_id = ".$this->id);
+ if(isset($this->dataRecord["domain"]) && $rec['domain'] != $this->dataRecord["domain"] && $app->tform->checkPerm($this->id, 'u')) {
//* Add a error message and switch back to old server
- $app->tform->errorMessage .= $app->lng('The Server can not be changed.');
- $this->dataRecord["server_id"] = $rec['server_id'];
+ $app->tform->errorMessage .= $app->lng('The Domain can not be changed. Please ask your Administrator if you want to change the domain name.');
+ $this->dataRecord["domain"] = $rec['domain'];
+ }
+ if(isset($this->dataRecord["ip_address"]) && $rec['ip_address'] != $this->dataRecord["ip_address"] && $rec['sys_perm_group'] != 'riud') {
+ $this->dataRecord["ip_address"] = $rec['ip_address'];
+ }
+ if(isset($this->dataRecord["ipv6_address"]) && $rec['ipv6_address'] != $this->dataRecord["ipv6_address"] && $rec['sys_perm_group'] != 'riud') {
+ $this->dataRecord["ipv6_address"] = $rec['ipv6_address'];
}
unset($rec);
}
- //* If the user is neither admin nor reseller
- } else {
- //* We do not allow users to change a domain which has been created by the admin
- $rec = $app->db->queryOneRecord("SELECT sys_perm_group, domain, ip_address, ipv6_address from web_domain WHERE domain_id = ".$this->id);
- if(isset($this->dataRecord["domain"]) && $rec['domain'] != $this->dataRecord["domain"] && $app->tform->checkPerm($this->id, 'u')) {
- //* Add a error message and switch back to old server
- $app->tform->errorMessage .= $app->lng('The Domain can not be changed. Please ask your Administrator if you want to change the domain name.');
- $this->dataRecord["domain"] = $rec['domain'];
- }
- if(isset($this->dataRecord["ip_address"]) && $rec['ip_address'] != $this->dataRecord["ip_address"] && $rec['sys_perm_group'] != 'riud') {
- $this->dataRecord["ip_address"] = $rec['ip_address'];
- }
- if(isset($this->dataRecord["ipv6_address"]) && $rec['ipv6_address'] != $this->dataRecord["ipv6_address"] && $rec['sys_perm_group'] != 'riud') {
- $this->dataRecord["ipv6_address"] = $rec['ipv6_address'];
- }
- unset($rec);
}
//* Check that all fields for the SSL cert creation are filled
@@ -934,195 +1118,6 @@
if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'save') {
if(trim($this->dataRecord['ssl_cert']) == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_cert_empty').'<br />';
}
-
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // make sure that the record belongs to the client group and not the admin group when a admin inserts it
- // also make sure that the user can not delete domain created by a admin
- if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
- $client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]);
- $app->db->query("UPDATE web_domain SET sys_groupid = $client_group_id, sys_perm_group = 'ru' WHERE domain_id = ".$this->id);
- }
- if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($this->dataRecord["client_group_id"])) {
- $client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]);
- $app->db->query("UPDATE web_domain SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE domain_id = ".$this->id);
- }
-
- // Get configuration for the web system
- $app->uses("getconf");
- $web_rec = $app->tform->getDataRecord($this->id);
- $web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
- $document_root = str_replace("[website_id]", $this->id, $web_config["website_path"]);
- $page_formid = isset($page_form->id) ? $page_form->id : '';
- $document_root = str_replace("[website_idhash_1]", $this->id_hash($page_formid, 1), $document_root);
- $document_root = str_replace("[website_idhash_2]", $this->id_hash($page_formid, 1), $document_root);
- $document_root = str_replace("[website_idhash_3]", $this->id_hash($page_formid, 1), $document_root);
- $document_root = str_replace("[website_idhash_4]", $this->id_hash($page_formid, 1), $document_root);
-
- // get the ID of the client
- if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = $client_group_id");
- $client_id = $app->functions->intval($client["client_id"]);
- } elseif (isset($this->dataRecord["client_group_id"])) {
- $client_group_id = $this->dataRecord["client_group_id"];
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".$app->functions->intval(@$this->dataRecord["client_group_id"]));
- $client_id = $app->functions->intval($client["client_id"]);
- } else {
- $client_group_id = $web_rec['sys_groupid'];
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".$app->functions->intval($client_group_id));
- $client_id = $app->functions->intval($client["client_id"]);
- }
-
- if(($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) && isset($this->dataRecord["client_group_id"]) && $this->dataRecord["client_group_id"] != $this->oldDataRecord["sys_groupid"]) {
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote('web'.$this->id);
- $system_group = $app->db->quote('client'.$client_id);
- $document_root = str_replace("[client_id]", $client_id, $document_root);
- $document_root = str_replace("[client_idhash_1]", $this->id_hash($client_id, 1), $document_root);
- $document_root = str_replace("[client_idhash_2]", $this->id_hash($client_id, 2), $document_root);
- $document_root = str_replace("[client_idhash_3]", $this->id_hash($client_id, 3), $document_root);
- $document_root = str_replace("[client_idhash_4]", $this->id_hash($client_id, 4), $document_root);
- $document_root = $app->db->quote($document_root);
-
- $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root' WHERE domain_id = ".$this->id;
- //$sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
-
- // Update the FTP user(s) too
- $records = $app->db->queryAllRecords("SELECT ftp_user_id FROM ftp_user WHERE parent_domain_id = ".$this->id);
- foreach($records as $rec) {
- $app->db->datalogUpdate('ftp_user', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."', uid = '$system_user', gid = '$system_group', dir = '$document_root'", 'ftp_user_id', $app->functions->intval($rec['ftp_user_id']));
- }
- unset($records);
- unset($rec);
-
- // Update the Shell user(s) too
- $records = $app->db->queryAllRecords("SELECT shell_user_id FROM shell_user WHERE parent_domain_id = ".$this->id);
- foreach($records as $rec) {
- $app->db->datalogUpdate('shell_user', "sys_userid = '".$web_rec['sys_userid']."', sys_groupid = '".$web_rec['sys_groupid']."', puser = '$system_user', pgroup = '$system_group', dir = '$document_root'", 'shell_user_id', $app->functions->intval($rec['shell_user_id']));
- }
- unset($records);
- unset($rec);
-
- //* Update all subdomains and alias domains
- $records = $app->db->queryAllRecords("SELECT domain_id, `domain`, `type`, `web_folder` FROM web_domain WHERE parent_domain_id = ".$this->id);
- foreach($records as $rec) {
- $update_columns = "sys_userid = '".$web_rec['sys_userid']."', sys_groupid = '".$web_rec['sys_groupid']."'";
- if($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') {
- $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$rec['web_folder'], $web_config["php_open_basedir"]);
- $php_open_basedir = str_replace("[website_domain]/web", $rec['domain'].'/'.$rec['web_folder'], $php_open_basedir);
- $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $rec['domain'], $php_open_basedir));
-
- $update_columns .= ", document_root = '".$document_root."', `php_open_basedir` = '".$php_open_basedir."'";
- }
- $app->db->datalogUpdate('web_domain', $update_columns, 'domain_id', $rec['domain_id']);
- }
- unset($records);
- unset($rec);
-
- //* Update all databases
- $records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ".$this->id);
- foreach($records as $rec) {
- $app->db->datalogUpdate('web_database', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'database_id', $app->functions->intval($rec['database_id']));
- }
- unset($records);
- unset($rec);
-
- }
-
- //* If the domain name has been changed, we will have to change all subdomains + APS instances
- if(!empty($this->dataRecord["domain"]) && !empty($this->oldDataRecord["domain"]) && $this->dataRecord["domain"] != $this->oldDataRecord["domain"]) {
- $records = $app->db->queryAllRecords("SELECT domain_id,domain FROM web_domain WHERE (type = 'subdomain' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND domain LIKE '%.".$app->db->quote($this->oldDataRecord["domain"])."'");
- foreach($records as $rec) {
- $subdomain = $app->db->quote(str_replace($this->oldDataRecord["domain"], $this->dataRecord["domain"], $rec['domain']));
- $app->db->datalogUpdate('web_domain', "domain = '".$subdomain."'", 'domain_id', $rec['domain_id']);
- }
- unset($records);
- unset($rec);
- unset($subdomain);
-
- // Update APS instances
- $records = $app->db->queryAllRecords("SELECT id, instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = '".$app->db->quote($this->oldDataRecord["domain"])."'");
- if(is_array($records) && !empty($records)){
- foreach($records as $rec){
- $app->db->datalogUpdate('aps_instances_settings', "value = '".$app->db->quote($this->dataRecord["domain"])."'", 'id', $rec['id']);
- // Reinstall of package needed?
- //$app->db->datalogUpdate('aps_instances', "instance_status = '1'", 'id', $rec['instance_id']);
- }
- }
- unset($records);
- unset($rec);
- }
-
- //* Set allow_override if empty
- if($web_rec['allow_override'] == '') {
- $sql = "UPDATE web_domain SET allow_override = '".$app->db->quote($web_config["htaccess_allow_override"])."' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
- }
-
- //* Set php_open_basedir if empty or domain or client has been changed
- if(empty($web_rec['php_open_basedir']) ||
- (!empty($this->dataRecord["domain"]) && !empty($this->oldDataRecord["domain"]) && $this->dataRecord["domain"] != $this->oldDataRecord["domain"])) {
- $php_open_basedir = $web_rec['php_open_basedir'];
- $php_open_basedir = $app->db->quote(str_replace($this->oldDataRecord['domain'], $web_rec['domain'], $php_open_basedir));
- $sql = "UPDATE web_domain SET php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
- }
- if(empty($web_rec['php_open_basedir']) ||
- (isset($this->dataRecord["client_group_id"]) && $this->dataRecord["client_group_id"] != $this->oldDataRecord["sys_groupid"])) {
- $document_root = $app->db->quote(str_replace("[client_id]", $client_id, $document_root));
- $php_open_basedir = str_replace("[website_path]", $document_root, $web_config["php_open_basedir"]);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
- $sql = "UPDATE web_domain SET php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
- }
-
- //* Change database backup options when web backup options have been changed
- if(isset($this->dataRecord['backup_interval']) && ($this->dataRecord['backup_interval'] != $this->oldDataRecord['backup_interval'] || $this->dataRecord['backup_copies'] != $this->oldDataRecord['backup_copies'])) {
- //* Update all databases
- $backup_interval = $app->functions->intval($this->dataRecord['backup_interval']);
- $backup_copies = $app->functions->intval($this->dataRecord['backup_copies']);
- $records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ".$this->id);
- foreach($records as $rec) {
- $app->db->datalogUpdate('web_database', "backup_interval = '$backup_interval', backup_copies = '$backup_copies'", 'database_id', $rec['database_id']);
- }
- unset($records);
- unset($rec);
- unset($backup_copies);
- unset($backup_interval);
- }
-
- //* Change vhost subdomain and alias ip/ipv6 if domain ip/ipv6 has changed
- if(isset($this->dataRecord['ip_address']) && ($this->dataRecord['ip_address'] != $this->oldDataRecord['ip_address'] || $this->dataRecord['ipv6_address'] != $this->oldDataRecord['ipv6_address'])) {
- $records = $app->db->queryAllRecords("SELECT domain_id FROM web_domain WHERE (type = 'vhostsubdomain' OR type = 'vhostalias') AND parent_domain_id = ".$this->id);
- foreach($records as $rec) {
- $app->db->datalogUpdate('web_domain', "ip_address = '".$app->db->quote($web_rec['ip_address'])."', ipv6_address = '".$app->db->quote($web_rec['ipv6_address'])."'", 'domain_id', $rec['domain_id']);
- }
- unset($records);
- unset($rec);
- }
- }
-
- function onAfterDelete() {
- global $app, $conf;
-
- // Delete the sub and alias domains
- $child_domains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$this->id);
- foreach($child_domains as $d) {
- // Saving record to datalog when db_history enabled
- if($app->tform->formDef["db_history"] == 'yes') {
- $app->tform->datalogSave('DELETE', $d["domain_id"], $d, array());
- }
-
- $app->db->query("DELETE FROM web_domain WHERE domain_id = ".$app->functions->intval($d["domain_id"])." LIMIT 0,1");
- }
- unset($child_domains);
- unset($d);
}
diff --git a/interface/web/sites/web_domain_list.php b/interface/web/sites/web_vhost_domain_list.php
similarity index 64%
rename from interface/web/sites/web_domain_list.php
rename to interface/web/sites/web_vhost_domain_list.php
index 301ec96..f2089e2 100644
--- a/interface/web/sites/web_domain_list.php
+++ b/interface/web/sites/web_vhost_domain_list.php
@@ -35,7 +35,7 @@
* Begin Form configuration
******************************************/
-$list_def_file = "list/web_domain.list.php";
+$list_def_file = "list/web_vhost_domain.list.php";
/******************************************
* End Form configuration
@@ -46,13 +46,37 @@
$app->load('listform_actions');
+//* Get and set the vhost domain type - store in session
+$query_type = 'vhost';
+$show_type = 'domain';
+if(isset($_GET['type']) && $_GET['type'] == 'subdomain') {
+ $show_type = 'subdomain';
+ $query_type = 'vhostsubdomain';
+} elseif(isset($_GET['type']) && $_GET['type'] == 'aliasdomain') {
+ $show_type = 'aliasdomain';
+ $query_type = 'vhostalias';
+} elseif(!isset($_GET['type']) && isset($_SESSION['s']['var']['vhostdomain_type']) && $_SESSION['s']['var']['vhostdomain_type'] == 'subdomain') {
+ $show_type = 'subdomain';
+ $query_type = 'vhostsubdomain';
+} elseif(!isset($_GET['type']) && isset($_SESSION['s']['var']['vhostdomain_type']) && $_SESSION['s']['var']['vhostdomain_type'] == 'aliasdomain') {
+ $show_type = 'aliasdomain';
+ $query_type = 'vhostalias';
+}
+
+$_SESSION['s']['var']['vhostdomain_type'] = $show_type;
class list_action extends listform_actions {
+ function onShow() {
+ global $app;
+ $app->tpl->setVar('vhostdomain_type', $_SESSION['s']['var']['vhostdomain_type']);
+
+ parent::onShow();
+ }
}
$list = new list_action;
-$list->SQLExtWhere = "web_domain.type = 'vhost' AND web_domain.parent_domain_id = '0'";
+$list->SQLExtWhere = "web_domain.type = '" . $query_type . "'" . ($show_type != 'domain' ? " AND web_domain.parent_domain_id = '0'" : "");
$list->SQLOrderBy = 'ORDER BY web_domain.domain';
$list->onLoad();
diff --git a/interface/web/sites/web_vhost_subdomain_del.php b/interface/web/sites/web_vhost_subdomain_del.php
deleted file mode 100644
index f64ff66..0000000
--- a/interface/web/sites/web_vhost_subdomain_del.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/******************************************
-* Begin Form configuration
-******************************************/
-
-$list_def_file = "list/web_vhost_subdomain.list.php";
-$tform_def_file = "form/web_vhost_subdomain.tform.php";
-
-/******************************************
-* End Form configuration
-******************************************/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('sites');
-
-$app->uses('tpl,tform,tform_actions');
-$app->load("tform_actions");
-class page_action extends tform_actions {
-
- function onBeforeDelete() {
- global $app; $conf;
-
- //* Delete all web folders
- $records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
- foreach($records as $rec) {
- //* Delete all web folder users
- $records2 = $app->db->queryAllRecords("SELECT web_folder_user_id FROM web_folder_user WHERE web_folder_id = '".$app->functions->intval($rec['web_folder_id'])."'");
- foreach($records2 as $rec2) {
- $app->db->datalogDelete('web_folder_user', 'web_folder_user_id', $rec2['web_folder_user_id']);
- }
- $app->db->datalogDelete('web_folder', 'web_folder_id', $rec['web_folder_id']);
- }
-
- }
-
-}
-
-$page = new page_action;
-$page->onDelete();
-
-?>
diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php
deleted file mode 100644
index a2242dc..0000000
--- a/interface/web/sites/web_vhost_subdomain_edit.php
+++ /dev/null
@@ -1,676 +0,0 @@
-<?php
-/*
-Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-/******************************************
-* Begin Form configuration
-******************************************/
-
-$tform_def_file = "form/web_vhost_subdomain.tform.php";
-
-/******************************************
-* End Form configuration
-******************************************/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('sites');
-
-// Loading classes
-$app->uses('tpl,tform,tform_actions,tools_sites');
-$app->load('tform_actions');
-
-class page_action extends tform_actions {
-
- //* Returna a "3/2/1" path hash from a numeric id '123'
- function id_hash($id, $levels) {
- $hash = "" . $id % 10 ;
- $id /= 10 ;
- $levels -- ;
- while ( $levels > 0 ) {
- $hash .= "/" . $id % 10 ;
- $id /= 10 ;
- $levels-- ;
- }
- return $hash;
- }
-
- function onShowNew() {
- global $app, $conf;
-
- // we will check only users, not admins
- if($_SESSION["s"]["user"]["typ"] == 'user') {
- if(!$app->tform->checkClientLimit('limit_web_subdomain', "(type = 'subdomain' OR type = 'vhostsubdomain')")) {
- $app->error($app->tform->wordbook["limit_web_subdomain_txt"]);
- }
- if(!$app->tform->checkResellerLimit('limit_web_subdomain', "(type = 'subdomain' OR type = 'vhostsubdomain')")) {
- $app->error('Reseller: '.$app->tform->wordbook["limit_web_subdomain_txt"]);
- }
- }
- parent::onShowNew();
- }
-
- function onShowEnd() {
- global $app, $conf;
-
- $app->uses('ini_parser,getconf');
-
- $read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
-
- $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]));
-
- //* Client: If the logged in user is not admin and has no sub clients (no reseller)
- if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
-
- // Get the limits of the client
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT client.limit_web_subdomain, client.default_webserver, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- //* Get global web config
- $web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
-
- //PHP Version Selection (FastCGI)
- $server_type = 'apache';
- if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
- if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- if($this->dataRecord['php'] == 'fast-cgi'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- $php_select = "<option value=''>Default</option>";
- if(is_array($php_records) && !empty($php_records)) {
- foreach( $php_records as $php_record) {
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
- } else {
- $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
- }
- $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
- $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
- }
- }
- $app->tpl->setVar("fastcgi_php_version", $php_select);
- unset($php_records);
-
- // add limits to template to be able to hide settings
- foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
-
-
- //* Reseller: If the logged in user is not admin and has sub clients (is a reseller)
- } elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
-
- // Get the limits of the client
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_subdomain, client.default_webserver, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- //* Get global web config
- $web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
-
- //PHP Version Selection (FastCGI)
- $server_type = 'apache';
- if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
- if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- if($this->dataRecord['php'] == 'fast-cgi') {
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
- }
- $php_select = "<option value=''>Default</option>";
- if(is_array($php_records) && !empty($php_records)) {
- foreach( $php_records as $php_record) {
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
- } else {
- $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
- }
- $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
- $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
- }
- }
- $app->tpl->setVar("fastcgi_php_version", $php_select);
- unset($php_records);
-
- // add limits to template to be able to hide settings
- foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
-
- $sites_config = $app->getconf->get_global_config('sites');
- if($sites_config['reseller_can_use_options']) {
- // Directive Snippets
- $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
- $php_directive_snippets_txt = '';
- if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
- foreach($php_directive_snippets as $php_directive_snippet){
- $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
- $app->tpl->setVar("php_directive_snippets_txt", $php_directive_snippets_txt);
-
- if($server_type == 'apache'){
- $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
- $apache_directive_snippets_txt = '';
- if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
- foreach($apache_directive_snippets as $apache_directive_snippet){
- $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
- $app->tpl->setVar("apache_directive_snippets_txt", $apache_directive_snippets_txt);
- }
-
- if($server_type == 'nginx'){
- $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
- $nginx_directive_snippets_txt = '';
- if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
- foreach($nginx_directive_snippets as $nginx_directive_snippet){
- $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
- $app->tpl->setVar("nginx_directive_snippets_txt", $nginx_directive_snippets_txt);
- }
-
- $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
- $proxy_directive_snippets_txt = '';
- if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
- foreach($proxy_directive_snippets as $proxy_directive_snippet){
- $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> ';
- }
- }
- if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
- $app->tpl->setVar("proxy_directive_snippets_txt", $proxy_directive_snippets_txt);
- }
-
- //* Admin: If the logged in user is admin
- } else {
-
- //* get global web config
- $web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
-
- //PHP Version Selection (FastCGI)
- $server_type = 'apache';
- if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
- if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
- }
- if($this->dataRecord['php'] == 'fast-cgi') {
- $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
- }
- $php_select = "<option value=''>Default</option>";
- if(is_array($php_records) && !empty($php_records)) {
- foreach( $php_records as $php_record) {
- if($this->dataRecord['php'] == 'php-fpm'){
- $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
- } else {
- $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
- }
- $selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
- $php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
- }
- }
- $app->tpl->setVar("fastcgi_php_version", $php_select);
- unset($php_records);
-
- foreach($read_limits as $limit) $app->tpl->setVar($limit, ($limit == 'force_suexec' ? 'n' : 'y'));
-
- // Directive Snippets
- $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
- $php_directive_snippets_txt = '';
- if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
- foreach($php_directive_snippets as $php_directive_snippet){
- $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($php_directive_snippet['snippet']).'</pre></a> ';
- }
- }
- if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
- $app->tpl->setVar("php_directive_snippets_txt", $php_directive_snippets_txt);
-
- if($server_type == 'apache'){
- $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
- $apache_directive_snippets_txt = '';
- if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
- foreach($apache_directive_snippets as $apache_directive_snippet){
- $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($apache_directive_snippet['snippet']).'</pre></a> ';
- }
- }
- if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
- $app->tpl->setVar("apache_directive_snippets_txt", $apache_directive_snippets_txt);
- }
-
- if($server_type == 'nginx'){
- $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
- $nginx_directive_snippets_txt = '';
- if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
- foreach($nginx_directive_snippets as $nginx_directive_snippet){
- $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($nginx_directive_snippet['snippet']).'</pre></a> ';
- }
- }
- if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
- $app->tpl->setVar("nginx_directive_snippets_txt", $nginx_directive_snippets_txt);
- }
-
- $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
- $proxy_directive_snippets_txt = '';
- if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
- foreach($proxy_directive_snippets as $proxy_directive_snippet){
- $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($proxy_directive_snippet['snippet']).'</pre></a> ';
- }
- }
- if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
- $app->tpl->setVar("proxy_directive_snippets_txt", $proxy_directive_snippets_txt);
- }
-
- $ssl_domain_select = '';
- $tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id);
- $ssl_domains = array($tmp["domain"], 'www.'.$tmp["domain"], '*.'.$tmp["domain"]);
- if(is_array($ssl_domains)) {
- foreach( $ssl_domains as $ssl_domain) {
- $selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':'';
- $ssl_domain_select .= "<option value='$ssl_domain' $selected>$ssl_domain</option>\r\n";
- }
- }
- $app->tpl->setVar("ssl_domain", $ssl_domain_select);
- unset($ssl_domain_select);
- unset($ssl_domains);
- unset($ssl_domain);
-
- if($this->id > 0) {
- $app->tpl->setVar('fixed_folder', 'y');
- $app->tpl->setVar('server_id_value', $parent_domain['server_id']);
- } else {
- $app->tpl->setVar('fixed_folder', 'n');
- $app->tpl->setVar('server_id_value', $parent_domain['server_id']);
- }
-
- $tmp_txt = ($this->dataRecord['traffic_quota_lock'] == 'y')?'<b>('.$app->tform->lng('traffic_quota_exceeded_txt').')</b>':'';
- $app->tpl->setVar("traffic_quota_exceeded_txt", $tmp_txt);
-
-
- $app->uses('ini_parser,getconf');
- $settings = $app->getconf->get_global_config('domains');
- if ($settings['use_domain_module'] == 'y') {
- /*
- * The domain-module is in use.
- */
- $domains = $app->tools_sites->getDomainModuleDomains();
- $domain_select = '';
- $selected_domain = '';
- if(is_array($domains) && sizeof($domains) > 0) {
- /* We have domains in the list, so create the drop-down-list */
- foreach( $domains as $domain) {
- $domain_select .= "<option value=" . $domain['domain_id'] ;
- if ('.' . $domain['domain'] == substr($this->dataRecord["domain"], -strlen($domain['domain']) - 1)) {
- $domain_select .= " selected";
- $selected_domain = $domain['domain'];
- }
- $domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n";
- }
- }
- else {
- /*
- * We have no domains in the domain-list. This means, we can not add ANY new domain.
- * To avoid, that the variable "domain_option" is empty and so the user can
- * free enter a domain, we have to create a empty option!
- */
- $domain_select .= "<option value=''></option>\r\n";
- }
- $app->tpl->setVar("domain_option", $domain_select);
- $this->dataRecord['domain'] = substr($this->dataRecord["domain"], 0, strlen($this->dataRecord['domain']) - strlen($selected_domain) - 1);
- } else {
-
- // remove the parent domain part of the domain name before we show it in the text field.
- $this->dataRecord["domain"] = str_replace('.'.$parent_domain["domain"], '', $this->dataRecord["domain"]);
- }
- $app->tpl->setVar("domain", $this->dataRecord["domain"]);
-
- // check for configuration errors in sys_datalog
- if($this->id > 0) {
- $datalog = $app->db->queryOneRecord("SELECT sys_datalog.error, sys_log.tstamp FROM sys_datalog, sys_log WHERE sys_datalog.dbtable = 'web_domain' AND sys_datalog.dbidx = 'domain_id:".$app->functions->intval($this->id)."' AND sys_datalog.datalog_id = sys_log.datalog_id AND sys_log.message = CONCAT('Processed datalog_id ',sys_log.datalog_id) ORDER BY sys_datalog.tstamp DESC");
- if(is_array($datalog) && !empty($datalog)){
- if(trim($datalog['error']) != ''){
- $app->tpl->setVar("config_error_msg", nl2br(htmlentities($datalog['error'])));
- $app->tpl->setVar("config_error_tstamp", date($app->lng('conf_format_datetime'), $datalog['tstamp']));
- }
- }
- }
-
- parent::onShowEnd();
- }
-
- function onSubmit() {
- global $app, $conf;
-
- // Get the record of the parent domain
- if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
- $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
- unset($tmp);
- }
-
- $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
- if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm");
-
- // Set a few fixed values
- $this->dataRecord["type"] = 'vhostsubdomain';
- $this->dataRecord["server_id"] = $parent_domain["server_id"];
- $this->dataRecord["ip_address"] = $parent_domain["ip_address"];
- $this->dataRecord["ipv6_address"] = $parent_domain["ipv6_address"];
- $this->dataRecord["client_group_id"] = $parent_domain["client_group_id"];
- $this->dataRecord["vhost_type"] = 'name';
-
- $this->parent_domain_record = $parent_domain;
-
- $read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
-
- if($app->tform->getCurrentTab() == 'domain') {
-
- /* check if the domain module is used - and check if the selected domain can be used! */
- $app->uses('ini_parser,getconf');
- $settings = $app->getconf->get_global_config('domains');
- if ($settings['use_domain_module'] == 'y') {
- $domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['sel_domain']);
- if(!$domain_check) {
- // invalid domain selected
- $app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />";
- } else {
- $this->dataRecord['domain'] = $this->dataRecord['domain'] . '.' . $domain_check;
- }
- } else {
- $this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"];
- }
-
-
- $this->dataRecord['web_folder'] = strtolower($this->dataRecord['web_folder']);
- if(substr($this->dataRecord['web_folder'], 0, 1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 1);
- if(substr($this->dataRecord['web_folder'], -1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 0, -1);
- $forbidden_folders = array('', 'cgi-bin', 'log', 'private', 'ssl', 'tmp', 'webdav');
- $check_folder = strtolower($this->dataRecord['web_folder']);
- if(substr($check_folder, 0, 1) === '/') $check_folder = substr($check_folder, 1); // strip / at beginning to check against forbidden entries
- if(strpos($check_folder, '/') !== false) $check_folder = substr($check_folder, 0, strpos($check_folder, '/')); // get the first part of the path to check it
- if(in_array($check_folder, $forbidden_folders)) {
- $app->tform->errorMessage .= $app->tform->lng("web_folder_invalid_txt")."<br>";
- }
-
- // vhostsubdomains do not have a quota of their own
- $this->dataRecord["hd_quota"] = 0;
-
- // check for duplicate folder usage
- /*
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'vhostsubdomain' AND `parent_domain_id` = '" . $app->functions->intval($this->dataRecord['parent_domain_id']) . "' AND `web_folder` = '" . $app->db->quote($this->dataRecord['web_folder']) . "' AND `domain_id` != '" . $app->functions->intval($this->id) . "'");
- if($check && $check['cnt'] > 0) {
- $app->tform->errorMessage .= $app->tform->lng("web_folder_unique_txt")."<br>";
- }
- */
- } else {
- $this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"];
- }
-
- if($_SESSION["s"]["user"]["typ"] != 'admin') {
- // Get the limits of the client
- $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
- $client = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_subdomain, default_webserver, parent_client_id, limit_web_quota, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-
- if($client['limit_cgi'] != 'y') $this->dataRecord['cgi'] = '-';
- if($client['limit_ssi'] != 'y') $this->dataRecord['ssi'] = '-';
- if($client['limit_perl'] != 'y') $this->dataRecord['perl'] = '-';
- if($client['limit_ruby'] != 'y') $this->dataRecord['ruby'] = '-';
- if($client['limit_python'] != 'y') $this->dataRecord['python'] = '-';
- if($client['force_suexec'] == 'y') $this->dataRecord['suexec'] = 'y';
- if($client['limit_hterror'] != 'y') $this->dataRecord['errordocs'] = '-';
- if($client['limit_wildcard'] != 'y' && $this->dataRecord['subdomain'] == '*') $this->dataRecord['subdomain'] = '-';
- if($client['limit_ssl'] != 'y') $this->dataRecord['ssl'] = '-';
-
- // only generate quota and traffic warnings if value has changed
- if($this->id > 0) {
- $old_web_values = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- } else {
- $old_web_values = array();
- }
-
- //* Check the traffic quota of the client
- if(isset($_POST["traffic_quota"]) && $client["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) {
- $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
- $trafficquota = $tmp["trafficquota"];
- $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]);
- if(($trafficquota + $new_traffic_quota > $client["limit_traffic_quota"]) || ($new_traffic_quota < 0 && $client["limit_traffic_quota"] >= 0)) {
- $max_free_quota = floor($client["limit_traffic_quota"] - $trafficquota);
- if($max_free_quota < 0) $max_free_quota = 0;
- $app->tform->errorMessage .= $app->tform->lng("limit_traffic_quota_free_txt").": ".$max_free_quota." MB<br>";
- // Set the quota field to the max free space
- $this->dataRecord["traffic_quota"] = $max_free_quota;
- }
- unset($tmp);
- unset($tmp_quota);
- }
-
- if($client['parent_client_id'] > 0) {
- // Get the limits of the reseller
- $reseller = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_subdomain, default_webserver, limit_web_quota FROM client WHERE client_id = ".$app->functions->intval($client['parent_client_id']));
-
- //* Check the traffic quota of the client
- if(isset($_POST["traffic_quota"]) && $reseller["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) {
- $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
- $trafficquota = $tmp["trafficquota"];
- $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]);
- if(($trafficquota + $new_traffic_quota > $reseller["limit_traffic_quota"]) || ($new_traffic_quota < 0 && $reseller["limit_traffic_quota"] >= 0)) {
- $max_free_quota = floor($reseller["limit_traffic_quota"] - $trafficquota);
- if($max_free_quota < 0) $max_free_quota = 0;
- $app->tform->errorMessage .= $app->tform->lng("limit_traffic_quota_free_txt").": ".$max_free_quota." MB<br>";
- // Set the quota field to the max free space
- $this->dataRecord["traffic_quota"] = $max_free_quota;
- }
- unset($tmp);
- unset($tmp_quota);
- }
- }
-
- // When the record is updated
- if($this->id > 0) {
- // restore the server ID if the user is not admin and record is edited
- $tmp = $app->db->queryOneRecord("SELECT server_id, `web_folder`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
- $this->dataRecord['web_folder'] = $tmp['web_folder']; // cannot be changed!
-
- // set the settings to current if not provided (or cleared due to limits)
- if($this->dataRecord['cgi'] == '-') $this->dataRecord['cgi'] = $tmp['cgi'];
- if($this->dataRecord['ssi'] == '-') $this->dataRecord['ssi'] = $tmp['ssi'];
- if($this->dataRecord['perl'] == '-') $this->dataRecord['perl'] = $tmp['perl'];
- if($this->dataRecord['ruby'] == '-') $this->dataRecord['ruby'] = $tmp['ruby'];
- if($this->dataRecord['python'] == '-') $this->dataRecord['python'] = $tmp['python'];
- if($this->dataRecord['suexec'] == '-') $this->dataRecord['suexec'] = $tmp['suexec'];
- if($this->dataRecord['errordocs'] == '-') $this->dataRecord['errordocs'] = $tmp['errordocs'];
- if($this->dataRecord['subdomain'] == '-') $this->dataRecord['subdomain'] = $tmp['subdomain'];
- if($this->dataRecord['ssl'] == '-') $this->dataRecord['ssl'] = $tmp['ssl'];
-
- unset($tmp);
- // When the record is inserted
- } else {
- // Check if the user may add another web_domain
- if($client["limit_web_subdomain"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and (type = 'subdomain' OR type = 'vhostsubdomain')");
- if($tmp["number"] >= $client["limit_web_subdomain"]) {
- $app->error($app->tform->wordbook["limit_web_subdomain_txt"]);
- }
- }
- }
- }
-
- //* make sure that the domain is lowercase
- if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
-
- //* get the server config for this server
- $app->uses("getconf");
- $web_config = $app->getconf->get_server_config($app->functions->intval(isset($this->dataRecord["server_id"]) ? $this->dataRecord["server_id"] : 0), 'web');
- //* Check for duplicate ssl certs per IP if SNI is disabled
- if(isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y' && $web_config['enable_sni'] != 'y') {
- $sql = "SELECT count(domain_id) as number FROM web_domain WHERE `ssl` = 'y' AND ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."' and domain_id != ".$this->id;
- $tmp = $app->db->queryOneRecord($sql);
- if($tmp['number'] > 0) $app->tform->errorMessage .= $app->tform->lng("error_no_sni_txt");
- }
-
- // Check if pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0
- if(isset($this->dataRecord['pm_max_children']) && $this->dataRecord['pm'] == 'dynamic') {
- if($app->functions->intval($this->dataRecord['pm_max_children'], true) >= $app->functions->intval($this->dataRecord['pm_max_spare_servers'], true) && $app->functions->intval($this->dataRecord['pm_max_spare_servers'], true) >= $app->functions->intval($this->dataRecord['pm_start_servers'], true) && $app->functions->intval($this->dataRecord['pm_start_servers'], true) >= $app->functions->intval($this->dataRecord['pm_min_spare_servers'], true) && $app->functions->intval($this->dataRecord['pm_min_spare_servers'], true) > 0){
-
- } else {
- $app->tform->errorMessage .= $app->tform->lng("error_php_fpm_pm_settings_txt").'<br>';
- }
- }
-
- // Check rewrite rules
- $server_type = $web_config['server_type'];
-
- if($server_type == 'nginx' && isset($this->dataRecord['rewrite_rules']) && trim($this->dataRecord['rewrite_rules']) != '') {
- $rewrite_rules = trim($this->dataRecord['rewrite_rules']);
- $rewrites_are_valid = true;
- // use this counter to make sure all curly brackets are properly closed
- $if_level = 0;
- // Make sure we only have Unix linebreaks
- $rewrite_rules = str_replace("\r\n", "\n", $rewrite_rules);
- $rewrite_rules = str_replace("\r", "\n", $rewrite_rules);
- $rewrite_rule_lines = explode("\n", $rewrite_rules);
- if(is_array($rewrite_rule_lines) && !empty($rewrite_rule_lines)){
- foreach($rewrite_rule_lines as $rewrite_rule_line){
- // ignore comments
- if(substr(ltrim($rewrite_rule_line), 0, 1) == '#') continue;
- // empty lines
- if(trim($rewrite_rule_line) == '') continue;
- // rewrite
- if(preg_match('@^\s*rewrite\s+(^/)?\S+(\$)?\s+\S+(\s+(last|break|redirect|permanent|))?\s*;\s*$@', $rewrite_rule_line)) continue;
- // if
- if(preg_match('@^\s*if\s+\(\s*\$\S+(\s+(\!?(=|~|~\*))\s+(\S+|\".+\"))?\s*\)\s*\{\s*$@', $rewrite_rule_line)){
- $if_level += 1;
- continue;
- }
- // if - check for files, directories, etc.
- if(preg_match('@^\s*if\s+\(\s*\!?-(f|d|e|x)\s+\S+\s*\)\s*\{\s*$@', $rewrite_rule_line)){
- $if_level += 1;
- continue;
- }
- // break
- if(preg_match('@^\s*break\s*;\s*$@', $rewrite_rule_line)){
- continue;
- }
- // return code [ text ]
- if(preg_match('@^\s*return\s+\d\d\d.*;\s*$@', $rewrite_rule_line)) continue;
- // return code URL
- // return URL
- if(preg_match('@^\s*return(\s+\d\d\d)?\s+(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*\@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*\s*;\s*$@', $rewrite_rule_line)) continue;
- // set
- if(preg_match('@^\s*set\s+\$\S+\s+\S+\s*;\s*$@', $rewrite_rule_line)) continue;
- // closing curly bracket
- if(trim($rewrite_rule_line) == '}'){
- $if_level -= 1;
- continue;
- }
- $rewrites_are_valid = false;
- break;
- }
- }
-
- if(!$rewrites_are_valid || $if_level != 0){
- $app->tform->errorMessage .= $app->tform->lng("invalid_rewrite_rules_txt").'<br>';
- }
- }
-
- parent::onSubmit();
- }
-
- function onAfterInsert() {
- global $app, $conf;
-
- // Get configuration for the web system
- $app->uses("getconf");
- $web_rec = $app->tform->getDataRecord($this->id);
- $web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
- //var_dump($this->parent_domain_record, $web_rec);
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote($this->parent_domain_record['system_user']);
- $system_group = $app->db->quote($this->parent_domain_record['system_group']);
- $document_root = $app->db->quote($this->parent_domain_record['document_root']);
- $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$web_rec['web_folder'], $web_config["php_open_basedir"]);
- $php_open_basedir = str_replace("[website_domain]/web", $web_rec['domain'].'/'.$web_rec['web_folder'], $php_open_basedir);
- $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
- $htaccess_allow_override = $app->db->quote($this->parent_domain_record['allow_override']);
-
- $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($this->parent_domain_record['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
- }
-
- function onBeforeUpdate () {
- global $app, $conf;
-
- //* Check that all fields for the SSL cert creation are filled
- if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'create') {
- if($this->dataRecord['ssl_state'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_state_empty').'<br />';
- if($this->dataRecord['ssl_locality'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_locality_empty').'<br />';
- if($this->dataRecord['ssl_organisation'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_empty').'<br />';
- if($this->dataRecord['ssl_organisation_unit'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_unit_empty').'<br />';
- if($this->dataRecord['ssl_country'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_country_empty').'<br />';
- }
-
- if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'save') {
- if(trim($this->dataRecord['ssl_cert']) == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_cert_empty').'<br />';
- }
-
- }
-
- function onAfterUpdate() {
- global $app, $conf;
-
- // Get configuration for the web system
- $app->uses("getconf");
- $web_rec = $app->tform->getDataRecord($this->id);
- $web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
-
- // Set the values for document_root, system_user and system_group
- $system_user = $app->db->quote($this->parent_domain_record['system_user']);
- $system_group = $app->db->quote($this->parent_domain_record['system_group']);
- $document_root = $app->db->quote($this->parent_domain_record['document_root']);
- $php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$web_rec['web_folder'], $web_config["php_open_basedir"]);
- $php_open_basedir = str_replace("[website_domain]/web", $web_rec['domain'].'/'.$web_rec['web_folder'], $php_open_basedir);
- $php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
- $php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
- $htaccess_allow_override = $app->db->quote($this->parent_domain_record['allow_override']);
-
- $sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($this->parent_domain_record['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir' WHERE domain_id = ".$this->id;
- $app->db->query($sql);
- }
-
-}
-
-$page = new page_action;
-$page->onLoad();
-
-?>
diff --git a/interface/web/sites/web_vhost_subdomain_list.php b/interface/web/sites/web_vhost_subdomain_list.php
deleted file mode 100644
index 6f68d7b..0000000
--- a/interface/web/sites/web_vhost_subdomain_list.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-/******************************************
-* Begin Form configuration
-******************************************/
-
-$list_def_file = "list/web_vhost_subdomain.list.php";
-
-/******************************************
-* End Form configuration
-******************************************/
-
-//* Check permissions for module
-$app->auth->check_module_permissions('sites');
-
-$app->uses('listform_actions');
-
-// Limit the results to alias domains
-$app->listform_actions->SQLExtWhere = "web_domain.type = 'vhostsubdomain'";
-$app->listform_actions->SQLOrderBy = 'ORDER BY web_domain.domain';
-$app->listform_actions->onLoad();
-
-
-?>
--
Gitblit v1.9.1