diff --git a/CHANGELOG b/CHANGELOG index 97db614..036315d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ ====================== Version Description +1.0.56......Add extra confirmation before extension removal. 1.0.55......Add backup path config check. 1.0.54......Don't skip ZFS activation if "Available but not enabled" status displayed. 1.0.53......Add initial ZFS activation guided support. diff --git a/gui/bastille_manager_maintenance.php b/gui/bastille_manager_maintenance.php index fdb22b3..6d236ff 100644 --- a/gui/bastille_manager_maintenance.php +++ b/gui/bastille_manager_maintenance.php @@ -94,48 +94,52 @@ if ($_POST) { // Remove only extension related files during cleanup. if (isset($_POST['uninstall']) && $_POST['uninstall']) { - bindtextdomain("xigmanas", $textdomain); - if (is_link($textdomain_bastille)) mwexec("rm -f {$textdomain_bastille}", true); - if (is_dir($confdir)) mwexec("rm -Rf {$confdir}", true); - mwexec("rm /usr/local/www/bastille_manager_gui.php && rm -R /usr/local/www/ext/bastille", true); - mwexec("{$rootfolder}/usr/local/sbin/bastille-init -t", true); - $uninstall_cmd = "echo 'y' | /usr/local/sbin/bastille-init -U"; - mwexec($uninstall_cmd, true); - if (is_link("/usr/local/share/{$prdname}")) mwexec("rm /usr/local/share/{$prdname}", true); - if (is_link("/var/cache/pkg")) mwexec("rm /var/cache/pkg", true); - if (is_link("/var/db/pkg")) mwexec("rm /var/db/pkg && mkdir /var/db/pkg", true); + if(isset($_POST['delete_confirm']) && $_POST['delete_confirm']): + bindtextdomain("xigmanas", $textdomain); + if (is_link($textdomain_bastille)) mwexec("rm -f {$textdomain_bastille}", true); + if (is_dir($confdir)) mwexec("rm -Rf {$confdir}", true); + mwexec("rm /usr/local/www/bastille_manager_gui.php && rm -R /usr/local/www/ext/bastille", true); + mwexec("{$rootfolder}/usr/local/sbin/bastille-init -t", true); + $uninstall_cmd = "echo 'y' | /usr/local/sbin/bastille-init -U"; + mwexec($uninstall_cmd, true); + if (is_link("/usr/local/share/{$prdname}")) mwexec("rm /usr/local/share/{$prdname}", true); + if (is_link("/var/cache/pkg")) mwexec("rm /var/cache/pkg", true); + if (is_link("/var/db/pkg")) mwexec("rm /var/db/pkg && mkdir /var/db/pkg", true); - // Remove start postinit cmd in later product versions. - if (is_array($config['rc']) && is_array($config['rc']['param'])) { - $postinit_cmd = "{$rootfolder}/bastille-init"; - $value = $postinit_cmd; - $sphere_array = &$config['rc']['param']; - $updateconfigfile = false; - if (false !== ($index = array_search_ex($value, $sphere_array, 'value'))) { - unset($sphere_array[$index]); - $updateconfigfile = true; - } - if ($updateconfigfile) { - write_config(); + // Remove start postinit cmd in later product versions. + if (is_array($config['rc']) && is_array($config['rc']['param'])) { + $postinit_cmd = "{$rootfolder}/bastille-init"; + $value = $postinit_cmd; + $sphere_array = &$config['rc']['param']; $updateconfigfile = false; + if (false !== ($index = array_search_ex($value, $sphere_array, 'value'))) { + unset($sphere_array[$index]); + $updateconfigfile = true; + } + if ($updateconfigfile) { + write_config(); + $updateconfigfile = false; + } } - } - // Remove stop postinit cmd in later product versions. - if (is_array($config['rc']) && is_array($config['rc']['param'])) { - $shutdown_cmd = "{$rootfolder}/bastille-init -p"; - $value = $shutdown_cmd; - $sphere_array = &$config['rc']['param']; - $updateconfigfile = false; - if (false !== ($index = array_search_ex($value, $sphere_array, 'value'))) { - unset($sphere_array[$index]); - $updateconfigfile = true; - } - if ($updateconfigfile) { - write_config(); + // Remove stop postinit cmd in later product versions. + if (is_array($config['rc']) && is_array($config['rc']['param'])) { + $shutdown_cmd = "{$rootfolder}/bastille-init -p"; + $value = $shutdown_cmd; + $sphere_array = &$config['rc']['param']; $updateconfigfile = false; + if (false !== ($index = array_search_ex($value, $sphere_array, 'value'))) { + unset($sphere_array[$index]); + $updateconfigfile = true; + } + if ($updateconfigfile) { + write_config(); + $updateconfigfile = false; + } } - } - header("Location:index.php"); + header("Location:index.php"); + else: + $input_errors[] = gtext('Confirmation is required for extension removal.'); + endif; } if (isset($_POST['save']) && $_POST['save']) { @@ -347,6 +351,7 @@ $(document).ready(function(){ +
diff --git a/version b/version index 78a3e6e..ed453e6 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.0.55 +1.0.56