private function getExtraModules() { $db = PSM::getDB(); $extra_modules = array(); $extra_modules_dir = psmPPsetupExtraModulesDir(); foreach ($this->getExtraModulesList() as $name) { if ($this->isModuleEnabled($name)) { $version = $this->moduleVersion($db, $name); } elseif ($m = Module::getInstanceByName($name)) { $version = $m->version; } else { $version = 0; } $key = $name . ':' . $version; $extra_modules[$key] = array('name' => $name, 'version' => $version, 'files' => array()); if ($version > 0) { $files = self::directoryListing($extra_modules_dir . '/' . $name . '/' . $version); if (count($files) == 0) { $version = 'all'; $files = self::directoryListing($extra_modules_dir . '/' . $name . '/all'); } if (count($files)) { foreach ($files as $file) { $rel_path = str_replace($version . '/', '', Tools::substr(str_replace($extra_modules_dir, '', $file), 1)); $extra_modules[$key]['files'][] = array('rel_path' => $rel_path, 'file' => $file); } } } } return $extra_modules; }
function psmPPsetupExtraModulesVars($module) { $vars = array(); $vars['module'] = $module; $vars['root'] = psmPPsetupExtraModulesDir(); $vars['base'] = $vars['root'] . '/' . $module->name; $vars['dirname'] = $vars['base'] . '/' . $module->version; $vars['ppsetup'] = $vars['dirname'] . '/ppsetup.php'; return $vars; }