Exemple #1
0
 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);
     }
 }