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
+2 -2
View File
@@ -23,8 +23,8 @@ class task_Core {
*/
static function get_definitions() {
$tasks = array();
foreach (module::installed() as $module_name => $module_info) {
$class_name = "{$module_name}_task";
foreach (module::active() as $module) {
$class_name = "{$module->name}_task";
if (method_exists($class_name, "available_tasks")) {
foreach (call_user_func(array($class_name, "available_tasks")) as $task) {
$tasks[$task->callback] = $task;