public function getDeleteError($moduleGroupKey, $moduleKey, $ignoreGroupId = null) { global $parametersMod; $moduleGroups = \Backend\Db::modules(); foreach ($moduleGroups as $group) { foreach ($group as $module) { if ($module['g_id'] != $ignoreGroupId) { if (!$module['core']) { $configuration = new ConfigurationFile(BASE_DIR . PLUGIN_DIR . $module['g_name'] . '/' . $module['m_name'] . '/install/plugin.ini'); if ($configuration) { foreach ($configuration->getRequiredModules() as $requiredModule) { if ($requiredModule['module_group_key'] == $moduleGroupKey && $requiredModule['module_key'] == $moduleKey) { $error = $parametersMod->getValue('developer', 'modules', 'admin_translations', 'error_delete_required_module') . ' ' . $module['g_name'] . '/' . $module['m_name']; return $error; } } } } } } } }
public function recursiveInstall($moduleGroupKey, $moduleKey) { //we don't need to check any errors. They are found before. $module = \Db::getModule(null, $moduleGroupKey, $moduleKey); $configuration = new ConfigurationFile(BASE_DIR . PLUGIN_DIR . $moduleGroupKey . '/' . $moduleKey . '/install/plugin.ini'); $dependendModules = $configuration->getRequiredModules(); foreach ($dependendModules as $key => $dependendModule) { $this->recursiveInstall($dependendModule['module_group_key'], $dependendModule['module_key']); } if ($module) { //if module exists - update if ((double) $configuration->getModuleVersion() > (double) $module['version']) { $this->update($moduleGroupKey, $moduleKey, (double) $module['version']); } } else { $this->install($moduleGroupKey, $moduleKey); } }