From 68f98827d066422dfa185de030f783971e44c6b3 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Sat, 7 Dec 2019 13:57:55 +0100 Subject: [sysconfig] Display error if deleting config from database failed --- modules-available/sysconfig/inc/configtgz.inc.php | 7 +++---- modules-available/sysconfig/lang/de/messages.json | 3 +-- modules-available/sysconfig/lang/en/messages.json | 3 +-- modules-available/sysconfig/page.inc.php | 4 +++- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/modules-available/sysconfig/inc/configtgz.inc.php b/modules-available/sysconfig/inc/configtgz.inc.php index cf9bf041..c1df2c93 100644 --- a/modules-available/sysconfig/inc/configtgz.inc.php +++ b/modules-available/sysconfig/inc/configtgz.inc.php @@ -135,9 +135,8 @@ class ConfigTgz { if ($this->configId === 0) Util::traceError('ConfigTgz::delete called with invalid config id!'); - $ret = Database::exec("DELETE FROM configtgz WHERE configid = :configid LIMIT 1", array( - 'configid' => $this->configId - ), true) !== false; + $ret = Database::exec("DELETE FROM configtgz WHERE configid = :configid LIMIT 1", + ['configid' => $this->configId], true); if ($ret !== false) { if ($this->file !== false) Taskmanager::submit('DeleteFile', array('file' => $this->file), true); @@ -145,7 +144,7 @@ class ConfigTgz $this->modules = false; $this->file = false; } - return $ret; + return $ret !== false; } public function markOutdated() diff --git a/modules-available/sysconfig/lang/de/messages.json b/modules-available/sysconfig/lang/de/messages.json index 5bceb2f0..6bc2f2e5 100644 --- a/modules-available/sysconfig/lang/de/messages.json +++ b/modules-available/sysconfig/lang/de/messages.json @@ -1,5 +1,5 @@ { - "config-activated": "Konfiguration {{0}} wurde aktiviert", + "config-delete-error": "Datenbankfehler: {{0}}", "config-deleted": "Konfiguration {{0}} wurde gel\u00f6scht", "config-invalid": "Konfiguration mit ID {{0}} existiert nicht", "could-not-determine-binddn": "Konnte Bind-DN nicht ermitteln ({{0}})", @@ -9,7 +9,6 @@ "module-added": "Modul erfolgreich hinzugef\u00fcgt", "module-deleted": "Modul {{0}} wurde gel\u00f6scht", "module-edited": "Modul wurde aktualisiert", - "module-in-use": "Modul {{0}} wird noch durch Konfiguration {{1}} verwendet", "module-rebuild-failed": "Neubau des Moduls fehlgeschlagen", "module-rebuilding": "Modul wird neu generiert", "module-rebuilt": "Modul wurde neu generiert", diff --git a/modules-available/sysconfig/lang/en/messages.json b/modules-available/sysconfig/lang/en/messages.json index 6e50b80c..d34e4bfa 100644 --- a/modules-available/sysconfig/lang/en/messages.json +++ b/modules-available/sysconfig/lang/en/messages.json @@ -1,5 +1,5 @@ { - "config-activated": "Configuration {{0}} has been activated", + "config-delete-error": "Database error: {{0}}", "config-deleted": "Deleted configuration {{0}}", "config-invalid": "Configuration with id {{0}} does not exist", "could-not-determine-binddn": "Could not determine bind dn ({{0}})", @@ -9,7 +9,6 @@ "module-added": "Module successfully added", "module-deleted": "Module {{0}} was deleted", "module-edited": "Module has been edited", - "module-in-use": "Module {{0}} is still used by Configuration {{1}}", "module-rebuild-failed": "Rebuilding module failed", "module-rebuilding": "Module is rebuilding...", "module-rebuilt": "Module was rebuilt", diff --git a/modules-available/sysconfig/page.inc.php b/modules-available/sysconfig/page.inc.php index 320030f9..b64c7a5c 100644 --- a/modules-available/sysconfig/page.inc.php +++ b/modules-available/sysconfig/page.inc.php @@ -481,7 +481,9 @@ class Page_SysConfig extends Page Message::addError('config-invalid', $configid); Util::redirect('?do=sysconfig&locationid=' . $this->currentLoc); } - if ($config->delete() !== false) { + if ($config->delete() === false) { + Message::addError('config-delete-error', Database::lastError()); + } else { Message::addSuccess('config-deleted', $config->title()); } Util::redirect('?do=sysconfig&locationid=' . $this->currentLoc); -- cgit v1.2.3-55-g7522