コード例 #1
0
ファイル: Setup_0.php プロジェクト: 62BRAINS/EPESI
 public function get_module_dirs()
 {
     //show uninstalled & installed modules
     $ret = DB::Execute('SELECT * FROM available_modules');
     $module_dirs = array();
     while ($row = $ret->FetchRow()) {
         if (ModuleManager::exists($row['name'])) {
             $module_dirs[$row['name']][$row['vkey']] = $row['version'];
             ModuleManager::include_install($row['name']);
         } else {
             DB::Execute('DELETE FROM available_modules WHERE name=%s and vkey=%d', array($row['name'], $row['vkey']));
         }
     }
     if (empty($module_dirs)) {
         $module_dirs = Base_SetupCommon::refresh_available_modules();
     }
     return $module_dirs;
 }
コード例 #2
0
ファイル: EpesiStore_0.php プロジェクト: 62BRAINS/EPESI
 private function _extract_modules_names(&$all_files)
 {
     $modules = array();
     $module_prefix = 'modules/';
     $str_length = strlen($module_prefix);
     foreach ($all_files as $f) {
         if (is_dir($f) && substr_compare($f, $module_prefix, 0, $str_length) == 0) {
             $module_dir = substr($f, $str_length);
             // module path with slashes Test/Module
             $module_path = trim($module_dir, DIRECTORY_SEPARATOR);
             if (ModuleManager::exists(str_replace(DIRECTORY_SEPARATOR, '_', $module_path))) {
                 $modules[] = $module_path;
             }
         }
     }
     // remove each file under module path
     foreach ($modules as $mod) {
         $modxx = $module_prefix . $mod;
         foreach ($all_files as $k => $v) {
             if (strpos($v, $modxx) === 0) {
                 unset($all_files[$k]);
             }
         }
     }
     return $modules;
 }