Esempio n. 1
0
 static function extract_from_archive($filename)
 {
     $modules_archive_dir = new Dir(self::MODULES_ARCHIVE_DIR);
     $modules_archive_dir->touch();
     $module_archive = $modules_archive_dir->newFile($filename);
     $properties = FFArchive::getArchiveProperties($module_archive);
     $module_dir = new Dir(ModuleUtils::get_modules_path() . "/" . $properties["category_name"] . "/" . $properties["module_name"]);
     return FFArchive::extract($module_archive, $module_dir);
 }
Esempio n. 2
0
 static function get_available_module_path($nome_categoria, $nome_modulo)
 {
     // framework/core
     if ($nome_categoria === ModuleUtils::FRAMEWORK_CATEGORY_NAME && $nome_modulo === ModuleUtils::FRAMEWORK_MODULE_NAME) {
         return DS . ModuleUtils::get_framework_core_path();
     }
     //moduli primari
     $module_dir = new Dir(DS . ModuleUtils::get_modules_path() . $nome_categoria . DS . $nome_modulo . DS);
     //ok aggiunto controllo su definizione del modulo
     $module_def = new File($module_dir->getPath() . self::MODULE_DEFINITION_FILE);
     if ($module_def->exists()) {
         return $module_dir->getPath();
     }
     //eccezione, modulo non trovato
     throw new Exception("Il modulo di categoria {$nome_categoria} di nome {$nome_modulo} non esiste!");
 }