diff --git a/install.xml b/install.xml index 6064c148..cb497580 100644 --- a/install.xml +++ b/install.xml @@ -116,6 +116,7 @@ Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.boar Applied patch for folders with special characters (upload module) Reworked parts of calendar block Fixed missing CSS for li-tags of calendar + Added error handling to installation of modules Fehlendes IF $S_BLOCK_ICON hinzugefügt @@ -125,6 +126,7 @@ Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.boar Patch für Ordner mit Spezialcharaktern hinzugefügt (Upload Modul) Teile des Kalender Blocks überarbeitet Fehlendes CSS für li-tags des Kalenders hinzugefügt + Fehlerbehandlung zu Installation von Modulen hinzugefügt diff --git a/root/includes/acp/acp_portal.php b/root/includes/acp/acp_portal.php index e893a5f5..766c8750 100644 --- a/root/includes/acp/acp_portal.php +++ b/root/includes/acp/acp_portal.php @@ -739,9 +739,29 @@ class acp_portal $module_id = $db->sql_nextid(); - $c_class->install($module_id); + $error = $c_class->install($module_id); $cache->purge(); // make sure we don't get errors after re-adding a module + + // if something went wrong, handle the errors accordingly and undo the above query + if (sizeof($error)) + { + if (is_array($error)) + { + foreach($error as $cur_error) + { + $error_output = $cur_error . '
'; + } + } + else if($error != false) + { + $error_output = $error; + } + + $sql = 'DELETE FROM ' . PORTAL_MODULES_TABLE . ' WHERE module_id = ' . (int) $module_id; + + trigger_error($error_output . adm_back_link($this->u_action)); + } meta_refresh(3, append_sid("{$phpbb_admin_path}index.$phpEx", 'i=portal&mode=config&module_id=' . $module_id));