Ejemplo n.º 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.");
             }
         }
     }
 }
Ejemplo n.º 2
0
 function testGetRequiredModules()
 {
     ModuleUtils::set_modules_path(FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/");
     $def = AvailableModules::get_available_module_definition("ecommerce", "cart");
     $required_modules = $def->get_required_modules();
     $this->assertEqual(2, count($required_modules), "Il numero di moduli richiesti non corrisponde!!");
     $k = array_keys($required_modules);
     $this->assertEqual($k[0], "ecommerce/base", "Il modulo richiesto 0 non corrisponde!!");
     $this->assertEqual($k[1], "ecommerce/forms", "Il modulo richiesto 1 non corrisponde!!");
 }
Ejemplo n.º 3
0
 function testSaveAsArchive()
 {
     $result_file = new File(ModuleArchiver::MODULES_ARCHIVE_DIR . "test__category-1_2_3.ffa");
     $this->assertFalse($result_file->exists(), "Il file del modulo non e' stato creato!!");
     ModuleUtils::set_modules_path("/" . FRAMEWORK_CORE_PATH . "tests/modules/fakeroot2/modules/");
     $this->assertTrue(AvailableModules::is_module_available("test", "category"), "Il modulo test/category non e' disponibile!!");
     ModuleArchiver::save_as_archive("test", "category");
     $this->assertTrue($result_file->exists(), "Il file del modulo non e' stato creato!!");
     $this->assertTrue($result_file->getSize() > 0, "Il file e' vuoto!!");
     $result_file->delete();
     ModuleUtils::set_modules_path("/framework/modules/");
 }
Ejemplo n.º 4
0
 static function validate_module($nome_categoria, $nome_modulo)
 {
     $module_file = new File(AvailableModules::get_available_module_path($nome_categoria, $nome_modulo) . AvailableModules::MODULE_DEFINITION_FILE);
     $schema_url = "http://www.mbcraft.it/schemas/2011/module.rnc";
     $validator_url = "http://validator.nu?level=error&out=xml&schema=" . urlencode($schema_url);
     $ch = curl_init($validator_url);
     $headers = array("Content-Type: application/xml", "Referer: MBCRAFT - Italy - info@mbcraft.it");
     curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_VERBOSE, 0);
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
     curl_setopt($ch, CURLOPT_POST, true);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $module_file->getContent());
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     $result = curl_exec($ch);
     $xml_result = new SimpleXMLElement($result);
     foreach ($xml_result->error as $error) {
         //$attribs = $error->attributes();
         var_dump($error);
         //echo $attribs->line_number." : ".$error->message."<br />";
     }
     return count($xml_result->children()) == 0;
 }
Ejemplo n.º 5
0
 static function save_as_archive($category_name, $module_name)
 {
     if (!AvailableModules::is_module_available($category_name, $module_name)) {
         throw new IllegalStateException("Il modulo " . $category_name . "/" . $module_name . "non risulta disponibile!!");
     }
     $d = new Dir(self::MODULES_ARCHIVE_DIR);
     $d->touch();
     $spec = AvailableModules::get_available_module_definition($category_name, $module_name);
     $category_name = $spec->get_category_name();
     $module_name = $spec->get_module_name();
     $version = $spec->get_current_version();
     $v = $version["major_version"] . "_" . $version["minor_version"] . "_" . $version["revision"];
     $archive_dir = new Dir(self::MODULES_ARCHIVE_DIR);
     $archive_dir->touch();
     $source_dir = new Dir(ModuleUtils::get_modules_path() . "/" . $category_name . "/" . $module_name . "/");
     $target_file = $archive_dir->newFile($category_name . "__" . $module_name . "-" . $v . ".ffa");
     $properties = array();
     $properties["category_name"] = $category_name;
     $properties["module_name"] = $module_name;
     $properties["major_version"] = $version["major_version"];
     $properties["minor_version"] = $version["minor_version"];
     $properties["revision"] = $version["revision"];
     return FFArchive::compress($target_file, $source_dir, $properties);
 }
Ejemplo n.º 6
0
 public function __construct($params = array())
 {
     parent::__construct($params);
     $this->modules = (include RX_PATH . '/ruxon/config/modules.inc.php');
 }
Ejemplo n.º 7
0
 function get_available_modules()
 {
     return AvailableModules::get_all_available_modules();
 }
Ejemplo n.º 8
0
 static function get_installed_module_definition($nome_categoria, $nome_modulo)
 {
     if (!InstalledModules::is_installed($nome_categoria, $nome_modulo)) {
         throw new InvalidParametersException();
     }
     $mod_def_file = new File(AvailableModules::get_available_module_path($nome_categoria, $nome_modulo) . AvailableModules::MODULE_DEFINITION_FILE);
     $data = new SimpleXMLElement($mod_def_file->getContent());
     return new ModuleDefinition($nome_categoria, $nome_modulo, $data);
 }
Ejemplo n.º 9
0
<?php

/* This software is released under the BSD license. Full text at project root -> license.txt */
require_once "../init.php";
$modules = AvailableModules::get_all_available_modules();
echo "Validating all available modules ...<br /><br />";
foreach ($modules as $mod) {
    echo "Modulo : " . $mod["nome_categoria"] . "/" . $mod["nome_modulo"] . "<br />";
    $ok = ModuleUtils::validate_module($mod["nome_categoria"], $mod["nome_modulo"]);
    if ($ok) {
        echo "Ok.<br />";
    }
    echo "<br /><br />";
}
Ejemplo n.º 10
0
 function testDropView()
 {
     ModuleUtils::set_modules_path(FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/");
     $db_desc = DB::newDatabaseDescription();
     $this->assertFalse($db_desc->hasTable("vendite_full"), "La vista vendite_full esiste gia'!!");
     DB::newDirectSql($this->create_for_view)->exec();
     DB::newDirectSql($this->create_view)->exec();
     $db_desc = DB::newDatabaseDescription();
     $this->assertTrue($db_desc->hasTable("vendite_full"), "La vista vendite_full non e' stata creata!!");
     $plug = new ModulePlug(new Dir("/" . FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/ecommerce/cart/"));
     $def = AvailableModules::get_available_module_definition("ecommerce", "cart");
     $drop_view = $def->get_action_data("drop_view");
     $plug->execute($drop_view);
     $db_desc = DB::newDatabaseDescription();
     $this->assertFalse($db_desc->hasTable("vendite_full"), "La vista vendite_full non e' stata rimossa!!");
     DB::newDirectSql($this->drop_for_view)->exec();
 }
Ejemplo n.º 11
0
 static function is_module_available($nome_categoria, $nome_modulo)
 {
     $d = new Dir(DS . AvailableModules::get_available_module_path($nome_categoria, $nome_modulo));
     $module_data = new File($d->getPath() . "/" . self::MODULE_DEFINITION_FILE);
     if ($d->exists()) {
         return true;
     } else {
         return false;
     }
 }
Ejemplo n.º 12
0
 function testDescription()
 {
     ModuleUtils::set_modules_path(FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/");
     $def = AvailableModules::get_available_module_definition("ecommerce", "cart");
     $this->assertEqual($def->get_description(), "Modulo ecommerce cart di test.", "La descrizione del modulo non corrisponde!!");
 }