diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php index 5c2143df9..e62f5961d 100644 --- a/modules/install/install.controller.php +++ b/modules/install/install.controller.php @@ -167,9 +167,14 @@ class installController extends install if(!$oDB->isConnected()) return $oDB->getError(); // Install all the modules - $oDB->begin(); - $this->installDownloadedModule(); - $oDB->commit(); + try { + $oDB->begin(); + $this->installDownloadedModule(); + $oDB->commit(); + } catch(Exception $e) { + $oDB->rollback(); + return new Object(-1, $e->getMessage()); + } // Create a config file if(!$this->makeConfigFile()) return new Object(-1, 'msg_install_failed'); @@ -515,6 +520,8 @@ class installController extends install $file = trim($schema_files[$i]); if(!$file || substr($file,-4)!='.xml') continue; $output = $oDB->createTableByXmlFile($file); + if($output === false) + throw new Exception('msg_create_table_failed'); } // Create a table and module instance and then execute install() method unset($oModule); diff --git a/modules/install/lang/lang.xml b/modules/install/lang/lang.xml index 75d4b81be..437196e3d 100644 --- a/modules/install/lang/lang.xml +++ b/modules/install/lang/lang.xml @@ -808,6 +808,10 @@ + + + +