diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1118672ec17bd0ac804770b4cf630e92119ba8b8 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `web_domain` ADD `statsdb_retention` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `log_retention`;
+ALTER TABLE `web_domain` ADD `stats_anonymize_level` INT(11) NOT NULL DEFAULT '0' AFTER `statsdb_retention`;
+ALTER TABLE `client` ADD `limit_statsdb_retention` INT(11) NOT NULL DEFAULT '-1' AFTER `limit_openvz_vm_template_id`;
+ALTER TABLE `client_template` ADD `limit_statsdb_retention` INT(11) NOT NULL DEFAULT '-1' AFTER `limit_openvz_vm_template_id`;
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 75529ab82b50735e6bd00e22f31d791d430514d4..4eb2d15e4262cc8aba53e3d1872fef257314c640 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -244,6 +244,7 @@ CREATE TABLE `client` (
`limit_mailmailinglist` int(11) NOT NULL DEFAULT '-1',
`limit_openvz_vm` int(11) NOT NULL DEFAULT '0',
`limit_openvz_vm_template_id` int(11) NOT NULL DEFAULT '0',
+ `limit_statsdb_retention` int(11) NOT NULL DEFAULT '-1',
`parent_client_id` int(11) unsigned NOT NULL DEFAULT '0',
`username` varchar(64) DEFAULT NULL,
`password` varchar(200) DEFAULT NULL,
@@ -374,6 +375,7 @@ CREATE TABLE `client_template` (
`limit_mailmailinglist` int(11) NOT NULL default '-1',
`limit_openvz_vm` int(11) NOT NULL DEFAULT '0',
`limit_openvz_vm_template_id` int(11) NOT NULL DEFAULT '0',
+ `limit_statsdb_retention` int(11) NOT NULL DEFAULT '-1',
PRIMARY KEY (`template_id`)
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
@@ -2039,6 +2041,8 @@ CREATE TABLE `web_domain` (
`https_port` int(11) unsigned NOT NULL DEFAULT '443',
`folder_directive_snippets` text,
`log_retention` int(11) NOT NULL DEFAULT '10',
+ `statsdb_retention` int(11) UNSIGNED NOT NULL DEFAULT 0,
+ `stats_anonymize_level` int(11) NOT NULL DEFAULT 0,
`proxy_protocol` enum('n','y') NOT NULL default 'n',
`server_php_id` INT(11) UNSIGNED NOT NULL DEFAULT 0,
`jailkit_chroot_app_sections` mediumtext NULL DEFAULT NULL,
diff --git a/interface/lib/classes/remote.d/sites.inc.php b/interface/lib/classes/remote.d/sites.inc.php
index 10fc028e645f80b96e2b8461f95894b1b23d9d36..02c54f1168147fcd28ba070f31c9f3cc311a067f 100644
--- a/interface/lib/classes/remote.d/sites.inc.php
+++ b/interface/lib/classes/remote.d/sites.inc.php
@@ -432,6 +432,8 @@ class remoting_sites extends remoting {
if($params['system_user'] == '') $params['system_user'] = '-';
if($params['system_group'] == '') $params['system_group'] = '-';
if($params['log_retention'] == '') $params['log_retention'] = 30;
+ if($params['statsdb_retention'] == '') $params['statsdb_retention'] = 0;
+ if($params['stats_anonymize_level'] == '') $params['stats_anonymize_level'] = 0;
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
@@ -454,6 +456,8 @@ class remoting_sites extends remoting {
}
if($params['log_retention'] == '') $params['log_retention'] = 30;
+ if($params['statsdb_retention'] == '') $params['statsdb_retention'] = 0;
+ if($params['stats_anonymize_level'] == '') $params['stats_anonymize_level'] = 0;
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
@@ -506,6 +510,8 @@ class remoting_sites extends remoting {
if($params['system_user'] == '') $params['system_user'] = '-';
if($params['system_group'] == '') $params['system_group'] = '-';
if($params['log_retention'] == '') $params['log_retention'] = 30;
+ if($params['statsdb_retention'] == '') $params['statsdb_retention'] = 0;
+ if($params['stats_anonymize_level'] == '') $params['stats_anonymize_level'] = 0;
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
@@ -526,6 +532,8 @@ class remoting_sites extends remoting {
}
if($params['log_retention'] == '') $params['log_retention'] = 30;
+ if($params['statsdb_retention'] == '') $params['statsdb_retention'] = 0;
+ if($params['stats_anonymize_level'] == '') $params['stats_anonymize_level'] = 0;
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
@@ -578,6 +586,8 @@ class remoting_sites extends remoting {
if($params['system_user'] == '') $params['system_user'] = '-';
if($params['system_group'] == '') $params['system_group'] = '-';
if($params['log_retention'] == '') $params['log_retention'] = 30;
+ if($params['statsdb_retention'] == '') $params['statsdb_retention'] = 0;
+ if($params['stats_anonymize_level'] == '') $params['stats_anonymize_level'] = 0;
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
@@ -598,6 +608,8 @@ class remoting_sites extends remoting {
}
if($params['log_retention'] == '') $params['log_retention'] = 30;
+ if($params['statsdb_retention'] == '') $params['statsdb_retention'] = 0;
+ if($params['stats_anonymize_level'] == '') $params['stats_anonymize_level'] = 0;
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
diff --git a/interface/lib/classes/validate_statsdb_retention.inc.php b/interface/lib/classes/validate_statsdb_retention.inc.php
new file mode 100644
index 0000000000000000000000000000000000000000..86f6ca1524eeb1bab52d70efbf8fb069edf55e23
--- /dev/null
+++ b/interface/lib/classes/validate_statsdb_retention.inc.php
@@ -0,0 +1,81 @@
+tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."
\r\n";
+ } else {
+ return $errmsg."
\r\n";
+ }
+ }
+
+ function check_statsdb_value($field_name, $field_value, $validator) {
+
+ global $app;
+
+ $limit_statsdb_retention = null;
+
+ if(!$app->auth->is_admin()) {
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_statsdb_retention FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
+
+ $retention_value = $_POST['statsdb_retention'];
+
+ if($client['limit_statsdb_retention'] > 0 && $retention_value > $client['limit_statsdb_retention'] || $retention_value <= 0) {
+ $limit_statsdb_retention_min = 1;
+ $limit_statsdb_retention_max = $client['limit_statsdb_retention'];
+ $lng_text = $this->get_error($validator['errmsg']);
+ $lng_text = str_replace(array('{minimum}', '{maximum}'), array($app->lng($limit_statsdb_retention_min), $app->lng($limit_statsdb_retention_max)), $lng_text);
+ return $lng_text;
+
+ } else {
+ return false;
+ }
+
+ }
+
+ if(!preg_match('/^(0|[1-9][0-9]?[0-9]?[0-9]?)$/', $field_value)) {
+ $limit_statsdb_retention_min = 0;
+ $limit_statsdb_retention_max = 9999;
+ $lng_text = $this->get_error($validator['errmsg']);
+ $lng_text = str_replace(array('{minimum}', '{maximum}'), array($app->lng($limit_statsdb_retention_min), $app->lng($limit_statsdb_retention_max)), $lng_text);
+ return $lng_text;
+ } else {
+ return false;
+ }
+ }
+
+
+}
+
diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php
index 098041257602217efb40b63a02b1935fe901a3e1..408f5711a168c6b07a2b4765ffcaa4d28125eff7 100644
--- a/interface/web/client/form/client.tform.php
+++ b/interface/web/client/form/client.tform.php
@@ -1301,6 +1301,20 @@ $form["tabs"]['limits'] = array (
'valuelimit' => 'client:limit_directive_snippets',
'value' => array(0 => 'n', 1 => 'y')
),
+ 'limit_statsdb_retention' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'ISINT',
+ 'errmsg'=> 'limit_statsdb_retention_error_notint'),
+ ),
+ 'default' => '0',
+ 'value' => '',
+ 'separator' => '',
+ 'width' => '10',
+ 'maxlength' => '10',
+ 'rows' => '',
+ 'cols' => ''
+ ),
'default_dnsserver' => array (
'datatype' => 'INTEGER',
'formtype' => 'SELECT',
diff --git a/interface/web/client/form/client_template.tform.php b/interface/web/client/form/client_template.tform.php
index adf72670f8f01f97a1bc02e8a9e35b797191b09c..d4fc8e4ccf3d6713b43f2adf8ed47a04c4ebe80e 100644
--- a/interface/web/client/form/client_template.tform.php
+++ b/interface/web/client/form/client_template.tform.php
@@ -701,7 +701,22 @@ $form["tabs"]['limits'] = array (
'default' => 'n',
'valuelimit' => 'client:limit_directive_snippets',
'value' => array(0 => 'n', 1 => 'y')
- ),/*
+ ),
+ 'limit_statsdb_retention' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'ISINT',
+ 'errmsg'=> 'limit_statsdb_retention_error_notint'),
+ ),
+ 'default' => '0',
+ 'value' => '',
+ 'separator' => '',
+ 'width' => '10',
+ 'maxlength' => '10',
+ 'rows' => '',
+ 'cols' => ''
+ ),
+ /*
'default_dnsserver' => array (
'datatype' => 'INTEGER',
'formtype' => 'SELECT',
diff --git a/interface/web/client/form/reseller.tform.php b/interface/web/client/form/reseller.tform.php
index c90b8f4a0aabd7c32f28ddb14c8864f08d1c678a..8e89aa8d7af55598a64d41cac6431240f62d4e88 100644
--- a/interface/web/client/form/reseller.tform.php
+++ b/interface/web/client/form/reseller.tform.php
@@ -1267,6 +1267,20 @@ $form["tabs"]['limits'] = array (
'default' => 'n',
'value' => array(0 => 'n', 1 => 'y')
),
+ 'limit_statsdb_retention' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'ISINT',
+ 'errmsg'=> 'limit_statsdb_retention_error_notint'),
+ ),
+ 'default' => '0',
+ 'value' => '',
+ 'separator' => '',
+ 'width' => '10',
+ 'maxlength' => '10',
+ 'rows' => '',
+ 'cols' => ''
+ ),
'default_dnsserver' => array (
'datatype' => 'INTEGER',
'formtype' => 'SELECT',
diff --git a/interface/web/client/lib/lang/ar_client.lng b/interface/web/client/lib/lang/ar_client.lng
index 9f881f7c1787c894a8d00df04b5d910af945bea6..fa4900cc3d84d04ecadbef62a1369bd791fd0348 100644
--- a/interface/web/client/lib/lang/ar_client.lng
+++ b/interface/web/client/lib/lang/ar_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/ar_client_template.lng b/interface/web/client/lib/lang/ar_client_template.lng
index 464f1426bec1b804c03ffc63190f639cf8df4467..72b7a50914cf39448c3367555fa6915c99b7ea5c 100644
--- a/interface/web/client/lib/lang/ar_client_template.lng
+++ b/interface/web/client/lib/lang/ar_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/ar_reseller.lng b/interface/web/client/lib/lang/ar_reseller.lng
index 9f3ce64e8007a6dd75590e1e68f32586827d9561..a1d39eebc107002b104391abe94355e3f380ecd1 100644
--- a/interface/web/client/lib/lang/ar_reseller.lng
+++ b/interface/web/client/lib/lang/ar_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/bg_client.lng b/interface/web/client/lib/lang/bg_client.lng
index d44884b1a9407f2e1754fd4b0ae270ee48a5efcf..62501dfb297341bea77a983afe3230b24798cfda 100644
--- a/interface/web/client/lib/lang/bg_client.lng
+++ b/interface/web/client/lib/lang/bg_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/bg_client_template.lng b/interface/web/client/lib/lang/bg_client_template.lng
index 393af633eb323c27eddf094195a82c82f95682d5..239d0c1ea965b5a8ba7d944212b9afbcefe78664 100644
--- a/interface/web/client/lib/lang/bg_client_template.lng
+++ b/interface/web/client/lib/lang/bg_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/bg_reseller.lng b/interface/web/client/lib/lang/bg_reseller.lng
index bd25475c64b7d53f9039ee404fb9d352eca2db9f..a5acf07b6e89c0480bf918665dff38169ad7555c 100644
--- a/interface/web/client/lib/lang/bg_reseller.lng
+++ b/interface/web/client/lib/lang/bg_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/br_client.lng b/interface/web/client/lib/lang/br_client.lng
index 9f7e4eb642524726accab6ec46671114b0f2345c..241683f9ff1c082ec575a46224bd38b982bd6f27 100644
--- a/interface/web/client/lib/lang/br_client.lng
+++ b/interface/web/client/lib/lang/br_client.lng
@@ -206,4 +206,6 @@ $wb['email_error_empty'] = 'O email está vazio';
$wb['limit_directive_snippets_txt'] = 'Exibir configurações de seleção do servidor Web';
$wb['Address'] = 'Cliente';
$wb['Limits'] = 'Limites';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/br_client_template.lng b/interface/web/client/lib/lang/br_client_template.lng
index 92bff5cb06e629bb1b83ccf4bdf2802fc2496fdc..e7646669440d7ddd5875bd051660dbd1b56ff2d7 100644
--- a/interface/web/client/lib/lang/br_client_template.lng
+++ b/interface/web/client/lib/lang/br_client_template.lng
@@ -128,3 +128,6 @@ $wb['mail_servers_txt'] = 'Servidores de email';
$wb['Limits'] = 'Limites';
$wb['Client-Templates'] = 'Gabaritos de clientes';
$wb['Template'] = 'Gabarito';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
+
diff --git a/interface/web/client/lib/lang/br_reseller.lng b/interface/web/client/lib/lang/br_reseller.lng
index fea2945178b27515760599e835e6a117f2c7fdf8..b5e6e9e09747402732015d6bc50e2ebf1696f87c 100644
--- a/interface/web/client/lib/lang/br_reseller.lng
+++ b/interface/web/client/lib/lang/br_reseller.lng
@@ -210,3 +210,5 @@ $wb['limit_database_quota_error_notint'] = 'A cota do Banco de Dados deve ser um
$wb['Reseller'] = 'Revenda';
$wb['Address'] = 'Revenda';
$wb['Limits'] = 'Limites';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/ca_client.lng b/interface/web/client/lib/lang/ca_client.lng
index 99fd5bafb7c1d4791513adf037bcb6e1bdb03b32..07974c90d5e5b13c71d7434b7a6ab227dc2e125b 100644
--- a/interface/web/client/lib/lang/ca_client.lng
+++ b/interface/web/client/lib/lang/ca_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/ca_client_template.lng b/interface/web/client/lib/lang/ca_client_template.lng
index 2a0f6eac455066350e28e2cf2d6169dd4159ed0a..9a6a204e4c372ce1a822da9316b3ef29d1765edf 100644
--- a/interface/web/client/lib/lang/ca_client_template.lng
+++ b/interface/web/client/lib/lang/ca_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/ca_reseller.lng b/interface/web/client/lib/lang/ca_reseller.lng
index 7d92ced9888ab9105744d8b615c37721955c464e..33e348a0a5d183e3334464be0da29ac02b3dda0c 100644
--- a/interface/web/client/lib/lang/ca_reseller.lng
+++ b/interface/web/client/lib/lang/ca_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/cz_client.lng b/interface/web/client/lib/lang/cz_client.lng
index 2217ca19589f42b9fbf6a7d0189ef7c7dda61ee9..5fcaab10824b7ac9fa91136c634b3076a638eeca 100644
--- a/interface/web/client/lib/lang/cz_client.lng
+++ b/interface/web/client/lib/lang/cz_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Pro nastavení klikni zde';
$wb['limit_dns_record_error_notint'] = 'Limit DNS záznamů musí být číslo.';
$wb['Address'] = 'Adresa';
$wb['Limits'] = 'Limity';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/cz_client_template.lng b/interface/web/client/lib/lang/cz_client_template.lng
index f927e7bffdcd3b2acf51f25b20d9ae936d84dac6..e82e947b2a16faa1997177ed3e289c7f5e85d1f0 100644
--- a/interface/web/client/lib/lang/cz_client_template.lng
+++ b/interface/web/client/lib/lang/cz_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webové servery';
$wb['db_servers_txt'] = 'Databázové servery';
$wb['mail_servers_txt'] = 'E-mailové servery';
$wb['Limits'] = 'Limity';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/cz_reseller.lng b/interface/web/client/lib/lang/cz_reseller.lng
index 3b137a11bc9999b1b1c299dbab0807dc491f93bc..8459c5ab15cb5b41624abb25ee7c860c19018a06 100644
--- a/interface/web/client/lib/lang/cz_reseller.lng
+++ b/interface/web/client/lib/lang/cz_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Pro nastavení klikni zde';
$wb['Reseller'] = 'Prodejce';
$wb['Address'] = 'Adresa';
$wb['Limits'] = 'Limity';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng
index 3774319404d9c829d13a8d70be56dc4d653a16d3..c1dd98c79e428b78900f2fb1824e41f947214b2b 100644
--- a/interface/web/client/lib/lang/de_client.lng
+++ b/interface/web/client/lib/lang/de_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximal zulässige Aufbewahrungsdauer der GoAccess-Speicherdatenbank (Tage)';
+$wb['limit_statsdb_retention_error_notint'] = 'Die Aufbewahrungsdauer der GoAccess-Speicherdatenbank muss eine Zahl sein';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/de_client_template.lng b/interface/web/client/lib/lang/de_client_template.lng
index f985e19847c23a23596b0cb2f1443adfa74548ff..8aa689561b38f2beabb1858ea1308277e0555a81 100644
--- a/interface/web/client/lib/lang/de_client_template.lng
+++ b/interface/web/client/lib/lang/de_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Web-Server';
$wb['db_servers_txt'] = 'Datenbank-Server';
$wb['mail_servers_txt'] = 'Mail-Server';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximal zulässige Aufbewahrungsdauer der GoAccess-Speicherdatenbank (Tage)';
+$wb['limit_statsdb_retention_error_notint'] = 'Die Aufbewahrungsdauer der GoAccess-Speicherdatenbank muss eine Zahl sein';
diff --git a/interface/web/client/lib/lang/de_reseller.lng b/interface/web/client/lib/lang/de_reseller.lng
index c45422280134e2618d186f111a72d97582cffc37..6c536a43fe68eefdde1a471705d900c5a4e5e69e 100644
--- a/interface/web/client/lib/lang/de_reseller.lng
+++ b/interface/web/client/lib/lang/de_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximal zulässige Aufbewahrungsdauer der GoAccess-Speicherdatenbank (Tage)';
+$wb['limit_statsdb_retention_error_notint'] = 'Die Aufbewahrungsdauer der GoAccess-Speicherdatenbank muss eine Zahl sein';
diff --git a/interface/web/client/lib/lang/dk_client.lng b/interface/web/client/lib/lang/dk_client.lng
index 43c00f9c0173f656c222a8e7ad3a7ac5b71c0010..4c16bd4b8716814af3a986a05e0f34db3686b63d 100644
--- a/interface/web/client/lib/lang/dk_client.lng
+++ b/interface/web/client/lib/lang/dk_client.lng
@@ -206,4 +206,6 @@ $wb['limit_directive_snippets_txt'] = 'Show web server config selection';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/dk_client_template.lng b/interface/web/client/lib/lang/dk_client_template.lng
index daacc207e49901281a688a0d197266210c662e3d..0329d7e04dd0dfe6e1851b0068b1d628a82a9d2f 100644
--- a/interface/web/client/lib/lang/dk_client_template.lng
+++ b/interface/web/client/lib/lang/dk_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/dk_reseller.lng b/interface/web/client/lib/lang/dk_reseller.lng
index 816d9a35ef2768afe2ef23ac53b3b0b849f02eea..a83f50d55df5d3e08ca44285869a09504eea1682 100644
--- a/interface/web/client/lib/lang/dk_reseller.lng
+++ b/interface/web/client/lib/lang/dk_reseller.lng
@@ -210,3 +210,5 @@ $wb['limit_database_quota_error_notint'] = 'The database quota limit must be a n
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/el_client.lng b/interface/web/client/lib/lang/el_client.lng
index 151b2ed4f5f513e3f2d57d4ce027644cd43194dc..5d88b8a76e28ef0293b3a3ccaaa72de5ea74bf01 100644
--- a/interface/web/client/lib/lang/el_client.lng
+++ b/interface/web/client/lib/lang/el_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/el_client_template.lng b/interface/web/client/lib/lang/el_client_template.lng
index bd0097b3dfe1b548ad6fba74daa26e0d04847637..d168878a77955a5ce679084d667947af66b136a6 100644
--- a/interface/web/client/lib/lang/el_client_template.lng
+++ b/interface/web/client/lib/lang/el_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/el_reseller.lng b/interface/web/client/lib/lang/el_reseller.lng
index 512351c8f0374ae136a7bf642a753016b50fc2d9..94c7b238309e734e045810a2d762653c8875e1bc 100644
--- a/interface/web/client/lib/lang/el_reseller.lng
+++ b/interface/web/client/lib/lang/el_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng
index 467424a6ca30aeaa3c3723a40da0713a05b698df..d1698911d5bc4c823e0473fc53fb338d701de363 100644
--- a/interface/web/client/lib/lang/en_client.lng
+++ b/interface/web/client/lib/lang/en_client.lng
@@ -208,4 +208,6 @@ $wb['email_error_empty'] = 'Email is empty';
$wb['limit_directive_snippets_txt'] = 'Show web server config selection';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/en_client_template.lng b/interface/web/client/lib/lang/en_client_template.lng
index ad20fc5699b774a50588513119ad21c7ed9e9457..b5ec77b2ee7374e12e9fc21e63581e601aed96dd 100644
--- a/interface/web/client/lib/lang/en_client_template.lng
+++ b/interface/web/client/lib/lang/en_client_template.lng
@@ -129,3 +129,5 @@ $wb['xmpp_servers_txt'] = 'XMPP Servers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/en_reseller.lng b/interface/web/client/lib/lang/en_reseller.lng
index d243c28cc17e6785121a63afc7c0d1e2c42a445f..d0053e5ddc53987378f9d49db1f7adcab1d0ac5a 100644
--- a/interface/web/client/lib/lang/en_reseller.lng
+++ b/interface/web/client/lib/lang/en_reseller.lng
@@ -179,7 +179,6 @@ $wb['customer_no_template_txt'] = 'Customer No. template';
$wb['customer_no_template_error_regex_txt'] = 'The customer No. template contains invalid characters';
$wb['customer_no_start_txt'] = 'Customer No. start value';
$wb['customer_no_counter_txt'] = 'Customer No. counter';
-
$wb['xmpp_limits_txt'] = 'XMPP Limits';
$wb['xmpp_servers_txt'] = 'XMPP Servers';
$wb['xmpp_servers_placeholder'] = 'Select XMPP Servers';
@@ -214,3 +213,5 @@ $wb['limit_database_quota_error_notint'] = 'The database quota limit must be a n
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/es_client.lng b/interface/web/client/lib/lang/es_client.lng
index b55abb52e2fdd4be5824816a003dbde4772f1a37..b99e81d230b4d862fe1f04e93870367ea8b4a924 100644
--- a/interface/web/client/lib/lang/es_client.lng
+++ b/interface/web/client/lib/lang/es_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/es_client_template.lng b/interface/web/client/lib/lang/es_client_template.lng
index 2099173c191006baf1c7d7e1fd0e3f191335c1fb..75735c6b24e9dbd2a9edde3af6ceec41915c8787 100644
--- a/interface/web/client/lib/lang/es_client_template.lng
+++ b/interface/web/client/lib/lang/es_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/es_reseller.lng b/interface/web/client/lib/lang/es_reseller.lng
index 9fe710e6e327e33656ca2821ccc7a50507d1c11d..521d41f76a0fd255b3b6dfa0f48bf15e884b536f 100644
--- a/interface/web/client/lib/lang/es_reseller.lng
+++ b/interface/web/client/lib/lang/es_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/fi_client.lng b/interface/web/client/lib/lang/fi_client.lng
index e55a5e9bfbff292a37f494d07270ba7c59f0f38d..37cbbcccef84fb3eb138c3307557e3c2d5ee5d88 100644
--- a/interface/web/client/lib/lang/fi_client.lng
+++ b/interface/web/client/lib/lang/fi_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/fi_client_template.lng b/interface/web/client/lib/lang/fi_client_template.lng
index 46ce6e6a8d03a0a96d6964adf46253d8aa2820bb..d5a840272dd44f790602e85dfdf85afa5c203243 100644
--- a/interface/web/client/lib/lang/fi_client_template.lng
+++ b/interface/web/client/lib/lang/fi_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/fi_reseller.lng b/interface/web/client/lib/lang/fi_reseller.lng
index 5c16e702644e8586b5aff5795f7aac8c3e2857f8..63e0483b3b637ea8cbf1ba7e7cddbb4203cbcbb1 100644
--- a/interface/web/client/lib/lang/fi_reseller.lng
+++ b/interface/web/client/lib/lang/fi_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/fr_client.lng b/interface/web/client/lib/lang/fr_client.lng
index 98a3907fb78e8e615924a67f1b5d5097b4459f01..df7739e7e4bcd61b7c1dc06005091c8116624a2c 100644
--- a/interface/web/client/lib/lang/fr_client.lng
+++ b/interface/web/client/lib/lang/fr_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/fr_client_template.lng b/interface/web/client/lib/lang/fr_client_template.lng
index 33548deba4979d017765df6fd9a6eebbe787c742..35f68bba1e88de04236b09ee2266d6818ad0c331 100644
--- a/interface/web/client/lib/lang/fr_client_template.lng
+++ b/interface/web/client/lib/lang/fr_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/fr_reseller.lng b/interface/web/client/lib/lang/fr_reseller.lng
index 867e9d5da06ff6320e8389d42f9bb41934679317..254000ce29d6fe42c3b53a28ffc0fd6a3193d817 100644
--- a/interface/web/client/lib/lang/fr_reseller.lng
+++ b/interface/web/client/lib/lang/fr_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/hr_client.lng b/interface/web/client/lib/lang/hr_client.lng
index 709b20c793641e6335315b0319c1e0dc847d0947..fe43022d4da4b4fd5842426c68e954b5230a1f76 100644
--- a/interface/web/client/lib/lang/hr_client.lng
+++ b/interface/web/client/lib/lang/hr_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/hr_client_template.lng b/interface/web/client/lib/lang/hr_client_template.lng
index ce5b3e8ebc874b95612da325d18f4a3add305157..c8ca87e0a10d6e7e941fa09eafb6c4d37bbeace5 100644
--- a/interface/web/client/lib/lang/hr_client_template.lng
+++ b/interface/web/client/lib/lang/hr_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/hr_reseller.lng b/interface/web/client/lib/lang/hr_reseller.lng
index aaedd0b1c5e35e98b5fef8510a81839e0e5da42d..67560dc3f2a9552b1974a491ab71eeb5e385c74f 100644
--- a/interface/web/client/lib/lang/hr_reseller.lng
+++ b/interface/web/client/lib/lang/hr_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/hu_client.lng b/interface/web/client/lib/lang/hu_client.lng
index 98c0d2ceb906300acd02083fbaef73aacc6a9f26..7d76674921ebfffd0d7dd7b8f1d2063cb217ee0e 100644
--- a/interface/web/client/lib/lang/hu_client.lng
+++ b/interface/web/client/lib/lang/hu_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/hu_client_template.lng b/interface/web/client/lib/lang/hu_client_template.lng
index 74d37e7589486816faa3462e85e7ae1257c5cf47..0c6bc102eea0669a8a00e7d1675f85b719223eb4 100644
--- a/interface/web/client/lib/lang/hu_client_template.lng
+++ b/interface/web/client/lib/lang/hu_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/hu_reseller.lng b/interface/web/client/lib/lang/hu_reseller.lng
index 26fffbc7e35a00eece5f249f943667fe516cea11..a788231ce980af7ca22bb08020fdf64d6935d9d8 100644
--- a/interface/web/client/lib/lang/hu_reseller.lng
+++ b/interface/web/client/lib/lang/hu_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/id_client.lng b/interface/web/client/lib/lang/id_client.lng
index 4e2a526c740759807d4981747abf26c2ff62c660..5793ae0b481b8f18a027b1dba3ec754ddf1bc3b5 100644
--- a/interface/web/client/lib/lang/id_client.lng
+++ b/interface/web/client/lib/lang/id_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/id_client_template.lng b/interface/web/client/lib/lang/id_client_template.lng
index b4367236f73c9f09c1a35c92490d8867737184b1..e672f5affac2e166a737c3aadedbd31e5fa52ed8 100644
--- a/interface/web/client/lib/lang/id_client_template.lng
+++ b/interface/web/client/lib/lang/id_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/id_reseller.lng b/interface/web/client/lib/lang/id_reseller.lng
index 01195a244c3eb45d6fad9134d7d3abd44e452281..f159e19583d271dc2d65adea7eb19f5d348567ef 100644
--- a/interface/web/client/lib/lang/id_reseller.lng
+++ b/interface/web/client/lib/lang/id_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/it_client.lng b/interface/web/client/lib/lang/it_client.lng
index 520bcd37de38819adeb816827ea07a55478ef006..0218c3728a60cd5e35d322c22e942d41e18852ac 100644
--- a/interface/web/client/lib/lang/it_client.lng
+++ b/interface/web/client/lib/lang/it_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Clicca per impostare';
$wb['limit_dns_record_error_notint'] = 'Il limite di record DNS deve essere un numero.';
$wb['Address'] = 'Indirizzo';
$wb['Limits'] = 'Limiti';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/it_client_template.lng b/interface/web/client/lib/lang/it_client_template.lng
index 418bb033c7784802089f3915e7109c5a38ac382b..5f75626470da047ad736c05b07a21c6699096946 100644
--- a/interface/web/client/lib/lang/it_client_template.lng
+++ b/interface/web/client/lib/lang/it_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limiti';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/it_reseller.lng b/interface/web/client/lib/lang/it_reseller.lng
index 2acac2cb609c9aa20161f460ab8970a28d32a8c8..30c461641a065125f7a3c75c781052f895762626 100644
--- a/interface/web/client/lib/lang/it_reseller.lng
+++ b/interface/web/client/lib/lang/it_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Clicca per impostare';
$wb['Reseller'] = 'Rivenditore';
$wb['Address'] = 'Indirizzo';
$wb['Limits'] = 'Limiti';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/ja_client.lng b/interface/web/client/lib/lang/ja_client.lng
index 10caa99603659f313b878317db724e3c98592a55..d156c79205e74f1c566513e6ed696e1449abed05 100644
--- a/interface/web/client/lib/lang/ja_client.lng
+++ b/interface/web/client/lib/lang/ja_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/ja_client_template.lng b/interface/web/client/lib/lang/ja_client_template.lng
index a871199051c506aaccf96f3111b827c16bbc9d18..faf67f1fd828868ab1c31cde75021197ef57c202 100644
--- a/interface/web/client/lib/lang/ja_client_template.lng
+++ b/interface/web/client/lib/lang/ja_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/ja_reseller.lng b/interface/web/client/lib/lang/ja_reseller.lng
index 041174da1bffb74ca02a52c37cf03d27a866143a..2aab9270d76d7222867b98678b740ae6f15137d5 100644
--- a/interface/web/client/lib/lang/ja_reseller.lng
+++ b/interface/web/client/lib/lang/ja_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/nl_client.lng b/interface/web/client/lib/lang/nl_client.lng
index b247947c76e9af4dd8bb86901d71b209d5dc4936..6f2ea306676f1547380e8f31a4e074809dfa0179 100644
--- a/interface/web/client/lib/lang/nl_client.lng
+++ b/interface/web/client/lib/lang/nl_client.lng
@@ -206,4 +206,6 @@ $wb['limit_directive_snippets_txt'] = 'Show web server config selection';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/nl_client_template.lng b/interface/web/client/lib/lang/nl_client_template.lng
index c31638c1327e4f56b8cd6029825dfd19b38cc6c3..1d2f18260263e2f70f0a3c1318c5a78c5b58507a 100644
--- a/interface/web/client/lib/lang/nl_client_template.lng
+++ b/interface/web/client/lib/lang/nl_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/nl_reseller.lng b/interface/web/client/lib/lang/nl_reseller.lng
index e67e560e93b091dfe3fe57e92a8069b01777d040..ba769c5335be58c95e987ce8be8bda40eea3c788 100644
--- a/interface/web/client/lib/lang/nl_reseller.lng
+++ b/interface/web/client/lib/lang/nl_reseller.lng
@@ -210,3 +210,5 @@ $wb['limit_directive_snippets_txt'] = 'Show web server config selection';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/pl_client.lng b/interface/web/client/lib/lang/pl_client.lng
index 662d04e4479d33d3b6c86f944f5b029ce131d744..b3fd90195b78b77a7d0d08150cf641612199d5bb 100644
--- a/interface/web/client/lib/lang/pl_client.lng
+++ b/interface/web/client/lib/lang/pl_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/pl_client_template.lng b/interface/web/client/lib/lang/pl_client_template.lng
index 614bf2757584bab00c4c83b74c486da935bd0a11..33116a658733012656b3175093be74d308c13ef6 100644
--- a/interface/web/client/lib/lang/pl_client_template.lng
+++ b/interface/web/client/lib/lang/pl_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/pl_reseller.lng b/interface/web/client/lib/lang/pl_reseller.lng
index da566ab4c6c14fdc8674a0bd06fb2057cec38851..fa9cfdf17a3bcea5cf5a4043e722cb78c6a5e2bb 100644
--- a/interface/web/client/lib/lang/pl_reseller.lng
+++ b/interface/web/client/lib/lang/pl_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/pt_client.lng b/interface/web/client/lib/lang/pt_client.lng
index 96fd1dd4e046a93bac96554c1cb4bec47cf9b288..261ba9e7c3eecc33e183e7f942eb27e17d294a72 100644
--- a/interface/web/client/lib/lang/pt_client.lng
+++ b/interface/web/client/lib/lang/pt_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/pt_client_template.lng b/interface/web/client/lib/lang/pt_client_template.lng
index 7f63af0df32217c2291abb807e942d6eb43890f5..cf98e3712bc5ac737b7e7aa5a7e566fcf66ea59a 100644
--- a/interface/web/client/lib/lang/pt_client_template.lng
+++ b/interface/web/client/lib/lang/pt_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/pt_reseller.lng b/interface/web/client/lib/lang/pt_reseller.lng
index 22c4f107a8d0030bd1536898d66ccd21f87ade81..53aeb6997b4e0a01e57d0bb2deb468fdb515bd7c 100644
--- a/interface/web/client/lib/lang/pt_reseller.lng
+++ b/interface/web/client/lib/lang/pt_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/ro_client.lng b/interface/web/client/lib/lang/ro_client.lng
index 79dcc4fc5031c05294932fc8e5162a67013d4726..9278101c39634840353cab2099d91c7cf62597ff 100644
--- a/interface/web/client/lib/lang/ro_client.lng
+++ b/interface/web/client/lib/lang/ro_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/ro_client_template.lng b/interface/web/client/lib/lang/ro_client_template.lng
index abd9f64eb123a7333335f5066125d6d7a7852b62..f457dbfad516b7fe6e9c005d3d8048fd90f9b71c 100644
--- a/interface/web/client/lib/lang/ro_client_template.lng
+++ b/interface/web/client/lib/lang/ro_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/ro_reseller.lng b/interface/web/client/lib/lang/ro_reseller.lng
index 9f3ce64e8007a6dd75590e1e68f32586827d9561..a1d39eebc107002b104391abe94355e3f380ecd1 100644
--- a/interface/web/client/lib/lang/ro_reseller.lng
+++ b/interface/web/client/lib/lang/ro_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/ru_client.lng b/interface/web/client/lib/lang/ru_client.lng
index 936463e3e845eb09624c6d25b4f54e5e92e45f03..686e5fe62c1c34eb847610703b9306a0eb57aab4 100644
--- a/interface/web/client/lib/lang/ru_client.lng
+++ b/interface/web/client/lib/lang/ru_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Клик для установки';
$wb['limit_dns_record_error_notint'] = 'Лимит вторичных DNS-зон должен быть числом.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Лимиты';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/ru_client_template.lng b/interface/web/client/lib/lang/ru_client_template.lng
index 65397933ff0069216bbe2975df9ae26a13a5d459..156a6bc6eff1707139931c4f6f5c185ef0ca65c2 100644
--- a/interface/web/client/lib/lang/ru_client_template.lng
+++ b/interface/web/client/lib/lang/ru_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Web-серверы';
$wb['db_servers_txt'] = 'Серверы баз данных';
$wb['mail_servers_txt'] = 'Серверы почты';
$wb['Limits'] = 'Лимиты';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/ru_reseller.lng b/interface/web/client/lib/lang/ru_reseller.lng
index 3447e52070648f84a820cb9efb5a5da4753a58f9..4f51f42fcb725090eb92b7f423403fb2ba99decc 100644
--- a/interface/web/client/lib/lang/ru_reseller.lng
+++ b/interface/web/client/lib/lang/ru_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Клик для установки';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Лимиты';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/se_client.lng b/interface/web/client/lib/lang/se_client.lng
index c1a921d750de88659b670c0e85454d889ea0a8c3..b26d627a9ba415b2d712f627daca9057c5ec7260 100644
--- a/interface/web/client/lib/lang/se_client.lng
+++ b/interface/web/client/lib/lang/se_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/se_client_template.lng b/interface/web/client/lib/lang/se_client_template.lng
index a1a6f9457b3138d1cfa5994abc1efab1baf0de3f..53a680f01e711d2421f26e62b6c59883242cd308 100644
--- a/interface/web/client/lib/lang/se_client_template.lng
+++ b/interface/web/client/lib/lang/se_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/se_reseller.lng b/interface/web/client/lib/lang/se_reseller.lng
index 9f3ce64e8007a6dd75590e1e68f32586827d9561..a1d39eebc107002b104391abe94355e3f380ecd1 100644
--- a/interface/web/client/lib/lang/se_reseller.lng
+++ b/interface/web/client/lib/lang/se_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/sk_client.lng b/interface/web/client/lib/lang/sk_client.lng
index 87c92c7184a3e0948e896a0b3b6eac7e525869d6..44e74e4b8c6e9c3647fb46d15986028be656d38b 100644
--- a/interface/web/client/lib/lang/sk_client.lng
+++ b/interface/web/client/lib/lang/sk_client.lng
@@ -206,4 +206,6 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/sk_client_template.lng b/interface/web/client/lib/lang/sk_client_template.lng
index 21acadd651d85f63a8e8fa469e7d46fbacece76d..2e0221e8b8172bac6a6ef2d089417a2b6bad771a 100644
--- a/interface/web/client/lib/lang/sk_client_template.lng
+++ b/interface/web/client/lib/lang/sk_client_template.lng
@@ -126,3 +126,5 @@ $wb['web_servers_txt'] = 'Webservers';
$wb['db_servers_txt'] = 'Database servers';
$wb['mail_servers_txt'] = 'Mailservers';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
\ No newline at end of file
diff --git a/interface/web/client/lib/lang/sk_reseller.lng b/interface/web/client/lib/lang/sk_reseller.lng
index a00b1a4156eb4d3b6dc668b0d59338ea37fbf327..4baecb19b48a6d7362e3edb82be96e03cdbd5d3d 100644
--- a/interface/web/client/lib/lang/sk_reseller.lng
+++ b/interface/web/client/lib/lang/sk_reseller.lng
@@ -210,3 +210,5 @@ $wb['password_click_to_set_txt'] = 'Click to set';
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Limits';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/tr_client.lng b/interface/web/client/lib/lang/tr_client.lng
index 25d28da1fcf3f5940a4f70717619b454677b2aad..1e324066ae915bb8206b9df5f5932d39eb1ddae7 100644
--- a/interface/web/client/lib/lang/tr_client.lng
+++ b/interface/web/client/lib/lang/tr_client.lng
@@ -208,4 +208,6 @@ $wb['email_error_empty'] = 'E-posta boş olamaz.';
$wb['limit_directive_snippets_txt'] = 'Web Sunucu Yapılandırma Seçimi Görüntülensin';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Sınırlar';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
$wb['language_error_empty'] = 'Language is empty.';
diff --git a/interface/web/client/lib/lang/tr_client_template.lng b/interface/web/client/lib/lang/tr_client_template.lng
index 3d5edfeeba178c393661f8251189d3d52e13961b..502086331d0362ffba59163548b8c3f6fa82d019 100644
--- a/interface/web/client/lib/lang/tr_client_template.lng
+++ b/interface/web/client/lib/lang/tr_client_template.lng
@@ -129,3 +129,5 @@ $wb['xmpp_servers_txt'] = 'XMPP Sunucuları';
$wb['db_servers_txt'] = 'Veritabanı Sunucuları';
$wb['mail_servers_txt'] = 'E-posta Sunucuları';
$wb['Limits'] = 'Sınırlar';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/lib/lang/tr_reseller.lng b/interface/web/client/lib/lang/tr_reseller.lng
index 31da0d1bc42672253f6013a456924016c8a1052c..ae35cf0d2445d99cd0eb797457e581c0519eeabe 100644
--- a/interface/web/client/lib/lang/tr_reseller.lng
+++ b/interface/web/client/lib/lang/tr_reseller.lng
@@ -179,7 +179,6 @@ $wb['customer_no_template_txt'] = 'Müşteri No Kalıbı';
$wb['customer_no_template_error_regex_txt'] = 'Müşteri no kalıbında geçersiz karakterler var';
$wb['customer_no_start_txt'] = 'Müşteri No Başlangıç Değeri';
$wb['customer_no_counter_txt'] = 'Müşteri No Sayacı';
-
$wb['xmpp_limits_txt'] = 'XMPP Sınırları';
$wb['xmpp_servers_txt'] = 'XMPP Sunucular';
$wb['xmpp_servers_placeholder'] = 'XMPP Sunucuları Seçin';
@@ -214,3 +213,5 @@ $wb['limit_database_quota_error_notint'] = 'Veritabanı kotası sınırı bir sa
$wb['Reseller'] = 'Reseller';
$wb['Address'] = 'Address';
$wb['Limits'] = 'Sınırlar';
+$wb['limit_statsdb_retention_txt'] = 'Maximum allowed retention period of the GoAccess storage database (days)';
+$wb['limit_statsdb_retention_error_notint'] = 'The retention period of the GoAccess storage database must be a number';
diff --git a/interface/web/client/templates/client_edit_limits.htm b/interface/web/client/templates/client_edit_limits.htm
index 9a2578b697b20e8424aee5dee86fa531c3cf261d..b16f1cb22d5e9593bb890b6cd0164f4e13102e46 100644
--- a/interface/web/client/templates/client_edit_limits.htm
+++ b/interface/web/client/templates/client_edit_limits.htm
@@ -168,6 +168,10 @@
{tmpl_var name='limit_directive_snippets'}
+
-
+