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