3 class UpdatePingServer_modulesinstaller
6 function execute(&$controller, $msg)
8 $admin =& $controller->getAdmin();
11 $all_modules = requestArray('modules');
12 if (!is_array($all_modules)) {
13 $admin->error(_ERROR_BADACTION);
16 $plugin =& $admin->getPlugin();
17 $plugin->moduleAdmin->getModuleList();
19 $allowed_modules = $plugin->moduleAdmin->moduleList;
21 foreach ($all_modules as $moduleName => $enable) {
23 if (!$plugin->moduleAdmin->checkModule($moduleName)) {
24 $plugin->moduleAdmin->_moduleUnInstall($moduleName);
25 $admin->error(_NP_PINGSERVER_ERROR_MODFILEERROR . ' (' . $moduleName . ')');
26 } elseif (!in_array($moduleName, $allowed_modules)) {
27 $plugin->moduleAdmin->_moduleInstall($moduleName);
30 if (in_array($moduleName, $allowed_modules)) {
31 $plugin->moduleAdmin->_moduleUnInstall($moduleName);
36 $controller->forward('modulesoverview', _NP_PINGSERVER_MODULE_UPDATED);