private static function doAllInitialization() { /* * Se il core non è installato si installa * */ if (!InstalledModules::is_installed(ModuleUtils::FRAMEWORK_CATEGORY_NAME, ModuleUtils::FRAMEWORK_MODULE_NAME)) { AvailableModules::install(ModuleUtils::FRAMEWORK_CATEGORY_NAME, ModuleUtils::FRAMEWORK_MODULE_NAME); } //il core è sicuramente installato, ora per tutti i moduli eseguo il load ... return; $all_installed_modules = InstalledModules::get_all_installed_modules(); foreach ($all_installed_modules as $module) { extract($module["global"]); if ($nome_categoria != ModuleUtils::FRAMEWORK_CATEGORY_NAME && $nome_modulo != ModuleUtils::FRAMEWORK_MODULE_NAME) { if (AvailableModules::is_module_ok($nome_categoria, $nome_modulo)) { extract($module["properties"]); //$installed_version = $major_version.".".$minor_version.".".$revision; //$filesystem_version = AvailableModules::get_available_module_version($nome_categoria, $nome_modulo); /* if ($installed_version==$filesystem_version) self::initializeModule($nome_categoria,$nome_modulo); else { Log::warn("doAllInitialization", "Module version mismatch ".$nome_categoria."/".$nome_modulo." : installed ($installed_version) - filesystem ($filesystem_version)" ); } */ } else { //attenzione : modulo installato non presente su filesystem : errore!! throw new Exception("Modulo {$nome_categoria}/{$nome_modulo} installato ma non presente su filesystem."); } } } }
static function uninstall($nome_categoria, $nome_modulo) { if (!InstalledModules::is_installed($nome_categoria, $nome_modulo)) { throw new InvalidParametersException(); } $mod_def = InstalledModules::get_installed_module_definition($nome_categoria, $nome_modulo); $uninstall_data = $mod_def->get_action_data("uninstall"); $module_plug = ModuleUtils::getModulePlug($nome_categoria, $nome_modulo); $module_plug->execute($uninstall_data); //deleting module data : properties $prop_storage = self::__get_properties_storage($nome_categoria, $nome_modulo); if ($prop_storage->exists()) { return $prop_storage->delete(); } //definition file $xml_storage = self::__get_xml_storage($nome_categoria, $nome_modulo); if ($xml_storage->exists()) { return $xml_storage->delete(); } return true; }