Minahito
minah****@users*****
2006年 11月 9日 (木) 18:09:05 JST
Index: xoops2jp/html/modules/legacy/admin/actions/ModuleInstallAction.class.php diff -u xoops2jp/html/modules/legacy/admin/actions/ModuleInstallAction.class.php:1.1.2.4 xoops2jp/html/modules/legacy/admin/actions/ModuleInstallAction.class.php:1.1.2.5 --- xoops2jp/html/modules/legacy/admin/actions/ModuleInstallAction.class.php:1.1.2.4 Thu Nov 9 16:21:15 2006 +++ xoops2jp/html/modules/legacy/admin/actions/ModuleInstallAction.class.php Thu Nov 9 18:09:05 2006 @@ -7,7 +7,7 @@ if (!defined('XOOPS_ROOT_PATH')) exit(); require_once XOOPS_LEGACY_PATH."/admin/actions/AbstractModuleInstallAction.class.php"; -require_once XOOPS_LEGACY_PATH."/admin/class/ModuleInstaller.class.php"; +require_once XOOPS_LEGACY_PATH . "/admin/class/ModuleInstallUtils.class.php"; require_once XOOPS_LEGACY_PATH."/admin/forms/ModuleInstallForm.class.php"; /** @@ -160,7 +160,16 @@ } $this->mInstaller->setForceMode($this->mActionForm->get('force')); - $this->mInstaller->executeInstall(); + if (!$this->mInstaller->executeInstall()) { + $this->mInstaller->mLog->addReport('Force Uninstallation is started.'); + $dirname = $this->mXoopsModule->get('dirname'); + $uninstaller =& Legacy_ModuleInstallUtils::createUninstaller($dirname); + + $uninstaller->setForceMode(true); + $uninstaller->setCurrentXoopsModule($this->mXoopsModule); + + $uninstaller->executeUninstall(); + } return LEGACY_FRAME_VIEW_SUCCESS; }