private function install($moduleGroupKey, $moduleKey) { $config = new ConfigurationFile(BASE_DIR . PLUGIN_DIR . $moduleGroupKey . '/' . $moduleKey . '/install/plugin.ini'); $group = Db::getModuleGroup($moduleGroupKey); if ($group === false) { Db::insertModuleGroup($config->getModuleGroupTitle(), $config->getModuleGroupKey(), $config->getModuleGroupAdmin()); $group = Db::getModuleGroup($config->getModuleGroupKey()); } if ($group !== false) { //group exist or is successfully created $newModuleId = Db::insertModule($config->getModuleTitle(), $config->getModuleKey(), $config->getModuleAdmin(), $config->getModuleManaged(), $group['id'], $config->getModuleVersion()); $module = \Db::getModule($newModuleId); if ($module !== false) { ModulesArea::after_insert($module['id']); } $this->importConfig($moduleGroupKey, $moduleKey); if (file_exists(BASE_DIR . PLUGIN_DIR . $moduleGroupKey . '/' . $moduleKey . '/install/script.php')) { require_once BASE_DIR . PLUGIN_DIR . $moduleGroupKey . '/' . $moduleKey . '/install/script.php'; eval('$installObject = new \\Modules\\' . $module['g_name'] . '\\' . $module['m_name'] . '\\Install();'); $installObject->execute(); } } }