Restructure the module lifecycle.

Install: <module>_installer::install() is called, any necessary tables
are created.

Activate: <module>_installer::activate() is called.  Module
controllers are routable, helpers are accessible, etc.  The module is
in use.

Deactivate: <module>_installer::deactivate() is called.  Module code
is not accessible or routable.  Module is *not* in use, but its tables
are still around.

Uninstall: <module>_installer::uninstall() is called.  Module is
completely removed from the database.

Admin > Modules will install and activate modules, but will only
deactivate (will NOT uninstall modules).
This commit is contained in:
Bharat Mediratta
2009-05-26 05:28:59 +00:00
parent 2966289b14
commit 7aed923908
37 changed files with 314 additions and 201 deletions

View File

@@ -59,7 +59,7 @@ class Admin_View_Core extends View {
$menu = Menu::factory("root");
core_menu::admin($menu, $this);
foreach (module::installed() as $module) {
foreach (module::active() as $module) {
if ($module->name == "core") {
continue;
}
@@ -99,7 +99,7 @@ class Admin_View_Core extends View {
case "admin_page_top":
case "admin_head":
$blocks = array();
foreach (module::installed() as $module) {
foreach (module::active() as $module) {
$helper_class = "{$module->name}_theme";
if (method_exists($helper_class, $function)) {
$blocks[] = call_user_func_array(