diff options
| author | Simon Rettberg | 2025-08-13 12:25:13 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2025-08-13 12:25:13 +0200 |
| commit | 4a64bdaeb1cb5549d3f9f2b6bc1160af807e82d6 (patch) | |
| tree | 1bc603d5bd598aa4096c17ac66d6b84267e17e81 | |
| parent | [eventlog] Add button to create event filter (diff) | |
| download | slx-admin-4a64bdaeb1cb5549d3f9f2b6bc1160af807e82d6.tar.gz slx-admin-4a64bdaeb1cb5549d3f9f2b6bc1160af807e82d6.tar.xz slx-admin-4a64bdaeb1cb5549d3f9f2b6bc1160af807e82d6.zip | |
[sysconfig] Minor cleanup, response code overrides for audit
| -rw-r--r-- | modules-available/sysconfig/inc/configtgz.inc.php | 2 | ||||
| -rw-r--r-- | modules-available/sysconfig/page.inc.php | 40 |
2 files changed, 23 insertions, 19 deletions
diff --git a/modules-available/sysconfig/inc/configtgz.inc.php b/modules-available/sysconfig/inc/configtgz.inc.php index a54aaef9..62017d14 100644 --- a/modules-available/sysconfig/inc/configtgz.inc.php +++ b/modules-available/sysconfig/inc/configtgz.inc.php @@ -224,7 +224,7 @@ class ConfigTgz * @param string $destFile where to store final result * @return false|array taskmanager task */ - private static function recompress(array $files, string $destFile, $parentTask = null) + private static function recompress(array $files, string $destFile, ?string $parentTask = null) { // Get stuff other modules want to inject $handler = function($hook) { diff --git a/modules-available/sysconfig/page.inc.php b/modules-available/sysconfig/page.inc.php index c9d63a27..49ff4835 100644 --- a/modules-available/sysconfig/page.inc.php +++ b/modules-available/sysconfig/page.inc.php @@ -331,7 +331,7 @@ class Page_SysConfig extends Page if ($task !== false) { TaskmanagerCallback::addCallback($task, 'ldadpStartup'); } - Util::redirect('?do=sysconfig&locationid=' . $this->currentLoc); + Util::redirect('?do=sysconfig&locationid=' . $this->currentLoc, 200); } private function rebuildConfig() @@ -342,13 +342,16 @@ class Page_SysConfig extends Page Message::addError('config-invalid', $configid); Util::redirect('?do=sysconfig&locationid=' . $this->currentLoc, 404); } - $ret = $config->generate(false, 500); // TODO - if ($ret === true) + $ret = $config->generate(false, 500); + Audit::overrideResponseCode(200); + if ($ret === true) { Message::addSuccess('module-rebuilt', $config->title()); - elseif ($ret === false) + } elseif ($ret === false) { Message::addError('module-rebuild-failed', $config->title()); - else + Audit::overrideResponseCode(500); + } else { Message::addInfo('module-rebuilding', $config->title()); + } Util::redirect('?do=sysconfig&locationid=' . $this->currentLoc); } @@ -365,25 +368,26 @@ class Page_SysConfig extends Page WHERE moduleid = :moduleid", array('moduleid' => $moduleid)); // Delete DB entries and file Database::exec("DELETE FROM configtgz_module WHERE moduleid = :moduleid LIMIT 1", array('moduleid' => $moduleid)); - $task = Taskmanager::submit('DeleteFile', array( - 'file' => $module['filepath'] - )); - if (isset($task['statusCode']) && $task['statusCode'] === Taskmanager::TASK_WAITING) { - $task = Taskmanager::waitComplete($task['id']); - } - if (!isset($task['statusCode']) || $task['statusCode'] === Taskmanager::TASK_ERROR) { - Message::addWarning('main.task-error', $task['data']['error']); - } elseif ($task['statusCode'] === Taskmanager::TASK_FINISHED) { - Message::addSuccess('module-deleted', $module['title']); - } - // Rebuild depending config.tgz + // Rebuild depending config.tgz files foreach ($existing as $crow) { $config = ConfigTgz::get($crow['configid']); if ($config !== null) { $config->generate(); } } - Util::redirect('?do=sysconfig'); + // Delete the module from disk + $task = Taskmanager::submit('DeleteFile', array( + 'file' => $module['filepath'] + )); + if (Taskmanager::isTask($task)) { + $task = Taskmanager::waitComplete($task['id'], 10000); + } + if (!Taskmanager::isFinished($task)) { + Message::addWarning('main.task-error', $task['data']['error'] ?? 'unknown'); + } else { + Message::addSuccess('module-deleted', $module['title']); + } + Util::redirect('?do=sysconfig', 200); } private function downloadModule() |
