summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-05-12 23:43:45 +0000
committerBharat Mediratta <bharat@menalto.com>2009-05-12 23:43:45 +0000
commitea693af59b0d98ffcfb7d658898937ae55272db6 (patch)
treeb8000ce08624a6150f5783a246be72e478ca89b3 /core
parent2b798193231d27f517aeb8c37a854c6787d65fab (diff)
Fire off the module_change event whenever we install or uninstall a module
Diffstat (limited to 'core')
-rw-r--r--core/controllers/admin_modules.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/controllers/admin_modules.php b/core/controllers/admin_modules.php
index 2cd56c85..527a9d91 100644
--- a/core/controllers/admin_modules.php
+++ b/core/controllers/admin_modules.php
@@ -26,6 +26,8 @@ class Admin_Modules_Controller extends Admin_Controller {
}
public function save() {
+ $changes->install = array();
+ $changes->uninstall = array();
foreach (module::available() as $module_name => $info) {
if ($info->locked) {
continue;
@@ -33,13 +35,17 @@ class Admin_Modules_Controller extends Admin_Controller {
$desired = $this->input->post($module_name) == 1;
if ($info->installed && !$desired) {
+ $changes->uninstall[] = $module_name;
module::uninstall($module_name);
message::success(t("Uninstalled %module_name module", array("module_name" => $info->name)));
} else if (!$info->installed && $desired) {
+ $changes->install[] = $module_name;
module::install($module_name);
message::success(t("Installed %module_name module", array("module_name" => $info->name)));
}
}
+
+ module::event("module_change", $changes);
url::redirect("admin/modules");
}
}