From a0e0c48e47f9425d98a223ceb25995cfaa054013 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Tue, 19 May 2009 05:59:30 +0000 Subject: Collate install/uninstall messages. Fixes ticket #288 --- core/controllers/admin_modules.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'core/controllers') diff --git a/core/controllers/admin_modules.php b/core/controllers/admin_modules.php index 9402ed03..b1967b80 100644 --- a/core/controllers/admin_modules.php +++ b/core/controllers/admin_modules.php @@ -36,18 +36,26 @@ class Admin_Modules_Controller extends Admin_Controller { } $desired = $this->input->post($module_name) == 1; - if ($info->installed && !$desired) { + if ($info->installed && !$desired && module::is_installed($module_name)) { $changes->uninstall[] = $module_name; + $uninstalled_names[] = $info->name; module::uninstall($module_name); - message::success(t("Uninstalled %module_name module", array("module_name" => $info->name))); - } else if (!$info->installed && $desired) { + } else if (!$info->installed && $desired && !module::is_installed($module_name)) { $changes->install[] = $module_name; + $installed_names[] = $info->name; module::install($module_name); - message::success(t("Installed %module_name module", array("module_name" => $info->name))); } } module::event("module_change", $changes); + + // @todo this type of collation is questionable from a i18n perspective + if (isset($installed_names)) { + message::success(t("Installed: %names", array("names" => join(", ", $uninstalled_names)))); + } + if (isset($uninstalled_names)) { + message::success(t("Uninstalled: %names", array("names" => join(", ", $installed_names)))); + } url::redirect("admin/modules"); } } -- cgit v1.2.3