public function findNewModules() { global $cms; global $parametersMod; $answer = ''; $newModules = array(); $newModuleGroups = $this->getFolders(PLUGIN_DIR); foreach ($newModuleGroups as $key => $newModuleGroup) { $newModuleGroups[$key] = self::getFolders(PLUGIN_DIR . $key . "/"); } foreach ($newModuleGroups as $newModuleGroupKey => $newModuleGroup) { foreach ($newModuleGroup as $newModuleKey => $newModule) { $currentModule = \Db::getModule(null, $newModuleGroupKey, $newModuleKey); if (file_exists(BASE_DIR . PLUGIN_DIR . $newModuleGroupKey . '/' . $newModuleKey . '/install/plugin.ini')) { $configuration = new ConfigurationFile(BASE_DIR . PLUGIN_DIR . $newModuleGroupKey . '/' . $newModuleKey . '/install/plugin.ini'); if (!$currentModule) { $newModules[] = array('action' => 'insert', 'configuration' => $configuration, 'dependend' => false); } else { if ((double) $currentModule['version'] < (double) $configuration->getModuleVersion()) { $newModules[] = array('action' => 'update', 'configuration' => $configuration, 'dependend' => false); } } } else { $answer .= $parametersMod->getValue('developer', 'modules', 'admin_translations_install', 'error_ini_file_doesnt_exist') . '<b>' . $newModuleGroupKey . '/' . $newModuleKey . '/install/plugin.ini</b>'; } } } if (sizeof($newModules) > 0) { $answer .= '<link media="screen" rel="stylesheet" type="text/css" href="' . BASE_URL . MODULE_DIR . 'developer/modules/style.css"/>'; } foreach ($newModules as $key2 => &$newModule2) { //fill alreadyUsed array; $this->setDepend($newModules, $newModule2, 1); } foreach ($newModules as $key => $newModule) { if (!$newModule['dependend']) { $answer .= $this->printInstallBlock($newModules, $newModule, $alreadyUsed2, 1); } } return $answer; }