Example #1
0
 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.");
             }
         }
     }
 }
 function testGetAllInstalledModules()
 {
     ModuleUtils::set_modules_path(FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/");
     Storage::set_storage_root(DS . FRAMEWORK_CORE_PATH . "tests/modules/test_installed_modules_storage/");
     $all_installed_modules = InstalledModules::get_all_installed_modules();
     $this->assertEqual(count($all_installed_modules), 2, "Il numero di moduli installati non corrisponde!!");
     Storage::set_storage_root(Storage::get_default_storage_root());
 }
Example #3
0
function admin_page($title, $show_forbidden = true)
{
    if (call("admin", "is_logged")) {
        Html::set_layout("admin");
    } else {
        if ($show_forbidden) {
            Html::set_title("Pannello di amministrazione - Sessione scaduta");
            Html::set_layout("admin_forbidden");
            return;
        } else {
            Html::set_layout("admin");
        }
    }
    Html::set_title("Pannello di amministrazione - " . $title);
    if (call("admin", "is_logged")) {
        //Carico tutti i moduli andando a includere i file che trovo in /include/plugins/admin/
        $plugins = Plugin::list_files("admin");
        foreach ($plugins as $p) {
            @(include_once $p);
        }
    }
    //se non e' stato definito nessun modulo, lascio vuoto.
    if (!has_sector("/pannello_sinistra")) {
        set_sector("/pannello_sinistra", "");
    }
    //inizio settore "bottom"
    start_sector("/bottom");
    include_block("common/powered_by");
    end_sector();
    start_sector("/framework/installed_modules");
    $modules = InstalledModules::get_all_installed_modules();
    echo "Elenco dei moduli installati : <br /><br />";
    echo "<ul>";
    foreach ($modules as $mod) {
        $global = $mod["global"];
        $properties = $mod["properties"];
        ?>
        <li><?php 
        echo $global["nome_categoria"];
        ?>
/<?php 
        echo $global["nome_modulo"];
        ?>
 : <b><?php 
        echo $properties["major_version"];
        ?>
.<?php 
        echo $properties["minor_version"];
        ?>
.<?php 
        echo $properties["revision"];
        ?>
</b></li>
    <?php 
    }
    echo "</ul>";
    end_sector();
}
 function get_installed_modules()
 {
     $installed_modules = InstalledModules::get_all_installed_modules();
     $all_provided_services = InstalledModules::get_all_provided_services();
     foreach ($installed_modules as $mod) {
         $mod["additional"] = array();
         //$mod["additional"]["missing_modules"] = InstalledModules::get_missing_required_modules($installed_modules, $mod["global"]["nome_categoria"], $mod["global"]["nome_modulo"]);
         //$mod["additional"]["missing_services"] = InstalledModules::get_missing_required_services($all_provided_services, $mod["global"]["nome_categoria"], $mod["global"]["nome_modulo"]);
     }
     return $installed_modules;
 }
 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;
 }
 static function install($nome_categoria, $nome_modulo)
 {
     $def = self::get_available_module_definition($nome_categoria, $nome_modulo);
     //checking for required modules ...
     $properties_storage = InstalledModules::__get_properties_storage($nome_categoria, $nome_modulo);
     $properties_storage->create();
     $properties_storage->add("global", array("nome_categoria" => $nome_categoria, "nome_modulo" => $nome_modulo));
     $version = $def->get_current_version();
     $properties_storage->add("properties", $version);
     //eventualmente altro ...
     $module_def_storage = InstalledModules::__get_xml_storage($nome_categoria, $nome_modulo);
     $module_def_storage->saveXML($def->get_data());
     $install_data = $def->get_action_data("install");
     $module_plug = ModuleUtils::getModulePlug($nome_categoria, $nome_modulo);
     $module_plug->execute($install_data);
 }
if (!isset($missing_services)) {
    $missing_services = array();
}
if (count($missing_services) == 0) {
    echo "OK";
} else {
    foreach ($missing_services as $s) {
        echo $s . ",";
    }
}
?>
    </td>
    <td>
        <div class="module_command_list">
        <?php 
$commands = InstalledModules::get_all_available_actions($nome_categoria, $nome_modulo);
foreach ($commands as $cmd) {
    if ($cmd != "install" && $cmd != "uninstall") {
        ?>
            <form method="post" action="/actions/modules/execute_action.php">
                <input type="hidden" name="nome_categoria" value="<?php 
        echo $nome_categoria;
        ?>
" />
                <input type="hidden" name="nome_modulo" value="<?php 
        echo $nome_modulo;
        ?>
" />
                <input type="hidden" name="command" value="<?php 
        echo $cmd;
        ?>