/** * Deactivate an installed module. This will call <module>_installer::deactivate() which should * take any cleanup steps to make sure that the module isn't visible in any way. Note that the * module remains available in Kohana's cascading file system until the end of the request! * @param string $module_name */ static function deactivate($module_name) { $installer_class = "{$module_name}_installer"; if (class_exists($installer_class) && method_exists($installer_class, "deactivate")) { call_user_func_array(array($installer_class, "deactivate"), array()); } $module = module::get($module_name); if ($module->loaded()) { $module->active = false; $module->save(); } module::load_modules(); graphics::deactivate_rules($module_name); block_manager::deactivate_blocks($module_name); if (module::info($module_name)) { log::success("module", t("Deactivated module %module_name", array("module_name" => $module_name))); } else { log::success("module", t("Deactivated missing module %module_name", array("module_name" => $module_name))); } }