OSDN Git Service

git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/plugin@882 1ca29b6e-896d...
[nucleus-jp/nucleus-plugins.git] / NP_UpdatePingServer / trunk / updatepingserver / actions / modulesinstaller.php
1 <?php
2
3 class UpdatePingServer_modulesinstaller
4 {
5
6         function execute(&$controller, $msg)
7         {
8                 $admin =& $controller->getAdmin();
9                 $admin->memberAuth();
10
11                 $all_modules = requestArray('modules');
12                 if (!is_array($all_modules)) {
13                         $admin->error(_ERROR_BADACTION);
14                 }
15
16                 $plugin =& $admin->getPlugin();
17                 $plugin->moduleAdmin->getModuleList();
18
19                 $allowed_modules = $plugin->moduleAdmin->moduleList;
20
21                 foreach ($all_modules as $moduleName => $enable) {
22                         if ($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);
28                                 }
29                         } else {
30                                 if (in_array($moduleName, $allowed_modules)) {
31                                         $plugin->moduleAdmin->_moduleUnInstall($moduleName);
32                                 }
33                         }
34                 }
35
36                 $controller->forward('modulesoverview', _NP_PINGSERVER_MODULE_UPDATED);
37         }
38
39
40 }
41
42 ?>