diff --git a/install/updates/froxlor/update_2.1.inc.php b/install/updates/froxlor/update_2.1.inc.php index 4ffa9bcb..e6fff65d 100644 --- a/install/updates/froxlor/update_2.1.inc.php +++ b/install/updates/froxlor/update_2.1.inc.php @@ -132,7 +132,7 @@ if (Froxlor::isDatabaseVersion('202304260')) { Update::lastStepStatus(0); Update::showUpdateStep("Adjusting system for data-export function"); - Database::query("UPDATE `" . TABLE_PANEL_SETTINGS . "`SET `varname` = 'exportenabled' WHERE `settinggroup`= 'system' AND `varname`= 'backupenabled"); + Database::query("UPDATE `" . TABLE_PANEL_SETTINGS . "`SET `varname` = 'exportenabled' WHERE `settinggroup`= 'system' AND `varname`= 'backupenabled'"); Database::query("UPDATE `" . TABLE_PANEL_SETTINGS . "`SET `value` = REPLACE(`value`, 'extras.backup', 'extras.export') WHERE `settinggroup` = 'panel' AND `varname` = 'customer_hide_options'"); Database::query("DELETE FROM `" . TABLE_PANEL_USERCOLUMNS . "` WHERE `section` = 'backup_list'"); Database::query("DELETE FROM `" . TABLE_PANEL_TASKS . "` WHERE `type` = '20'"); diff --git a/lib/Froxlor/Cron/Http/Nginx.php b/lib/Froxlor/Cron/Http/Nginx.php index 55b02a96..b9a345f2 100644 --- a/lib/Froxlor/Cron/Http/Nginx.php +++ b/lib/Froxlor/Cron/Http/Nginx.php @@ -863,13 +863,7 @@ class Nginx extends HttpConfigBase // remove comments $vhost = implode("\n", preg_replace('/^(\s+)?#(.*)$/', '', explode("\n", $vhost))); // Break blocks into lines - $vhost = str_replace([ - "{", - "}" - ], [ - " {\n", - "\n}" - ], $vhost); + $vhost = preg_replace("/^(\s+)?location(.+)\{(.+)\}$/misU", "location $2 {\n $3 \n}", $vhost); // Break into array items $vhost = explode("\n", preg_replace('/[ \t]+/', ' ', trim(preg_replace('/\t+/', '', $vhost)))); // Remove empty lines diff --git a/lib/Froxlor/UI/Callbacks/SSLCertificate.php b/lib/Froxlor/UI/Callbacks/SSLCertificate.php index 444bc34f..2b4be3c6 100644 --- a/lib/Froxlor/UI/Callbacks/SSLCertificate.php +++ b/lib/Froxlor/UI/Callbacks/SSLCertificate.php @@ -47,4 +47,9 @@ class SSLCertificate } return false; } + + public static function isNotLetsEncrypt(array $attributes): bool + { + return (int)$attributes['fields']['letsencrypt'] == 0; + } } diff --git a/lib/tablelisting/tablelisting.sslcertificates.php b/lib/tablelisting/tablelisting.sslcertificates.php index d243f333..d5cf1255 100644 --- a/lib/tablelisting/tablelisting.sslcertificates.php +++ b/lib/tablelisting/tablelisting.sslcertificates.php @@ -89,6 +89,9 @@ return [ 'action' => 'delete', 'id' => ':id' ], + // Let's Encrypt certificates can be removed 'correctly' + // by disabling let's encrypt for the domain + 'visible' => [SSLCertificate::class, 'isNotLetsEncrypt'] ], ] ] diff --git a/lng/en.lng.php b/lng/en.lng.php index 38224a84..15ef2d92 100644 --- a/lng/en.lng.php +++ b/lng/en.lng.php @@ -2210,7 +2210,7 @@ Yours sincerely, your administrator', 'toolselect' => 'Traffic analyzer', 'webalizer' => 'Webalizer', 'awstats' => 'AWStats', - 'goaccess' => 'goacccess' + 'goaccess' => 'goaccess' ], 'requires_reconfiguration' => 'Changing this settings might require a reconfiguration of the following services:
%s', 'req_limit_per_interval' => [ diff --git a/lng/es.lng.php b/lng/es.lng.php index ab50024e..eb464ccd 100644 --- a/lng/es.lng.php +++ b/lng/es.lng.php @@ -2176,7 +2176,7 @@ Atentamente, su administrador' 'toolselect' => 'Analizador de tráfico', 'webalizer' => 'Webalizer', 'awstats' => 'AWStats', - 'goaccess' => 'goacccess' + 'goaccess' => 'goaccess' ], 'requires_reconfiguration' => 'El cambio de esta configuración podría requerir una reconfiguración de los siguientes servicios:
%s' ],