Ejemplo n.º 1
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.º 2
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);
 }