summaryrefslogtreecommitdiff
path: root/core/controllers/admin_modules.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-05-19 05:59:30 +0000
committerBharat Mediratta <bharat@menalto.com>2009-05-19 05:59:30 +0000
commita0e0c48e47f9425d98a223ceb25995cfaa054013 (patch)
treec75929b57b18ceb6a5bb9144e8150d723d2642e1 /core/controllers/admin_modules.php
parent730cc7aabb7af99d4b58c3877f3f863b30078b28 (diff)
Collate install/uninstall messages. Fixes ticket #288
Diffstat (limited to 'core/controllers/admin_modules.php')
-rw-r--r--core/controllers/admin_modules.php16
1 files changed, 12 insertions, 4 deletions
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");
}
}