From 80be774c3e4bb6e0203a4fff5b2a7b060b1bbe93 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Fri, 23 Oct 2026 17:22:21 +0000 Subject: [PATCH] Upload via GUI (290 Dateien) --- DeskHub-Webseite/staff/email_templates.php | 6 ++ DeskHub-Webseite/staff/settings.php | 18 +++++ DeskHub-Webseite/staff/ticket_view.php | 92 ++++++++++++++++++++++ DeskHub-Webseite/staff/tickets.php | 11 ++- 4 files changed, 125 insertions(+), 2 deletions(-) diff --git a/DeskHub-Webseite/staff/email_templates.php b/DeskHub-Webseite/staff/email_templates.php index 5a6d012c..43bf2700 100644 --- a/DeskHub-Webseite/staff/email_templates.php +++ b/DeskHub-Webseite/staff/email_templates.php @@ -28,6 +28,12 @@ $templates = [ 'default_subject' => 'SLA überschritten: Ticket #{ticket_number}', 'default_body' => email_ticket_overdue_default_body(), ], + 'customer_reminder' => [ + 'label' => 'Erinnerung (an Kunde, wenn er nicht reagiert)', + 'placeholders' => ['ticket_number', 'subject', 'customer_name', 'ticket_url', 'close_note'], + 'default_subject' => 'Erinnerung zu Ihrem Ticket [#{ticket_number}]', + 'default_body' => email_customer_reminder_default_body(), + ], 'live_chat_transcript' => [ 'label' => 'Chatverlauf (an Kunde, nach Chatende)', 'placeholders' => ['ticket_number', 'customer_name', 'transcript', 'ticket_url'], diff --git a/DeskHub-Webseite/staff/settings.php b/DeskHub-Webseite/staff/settings.php index 29b38f83..8a55bc72 100644 --- a/DeskHub-Webseite/staff/settings.php +++ b/DeskHub-Webseite/staff/settings.php @@ -18,6 +18,8 @@ $cronJobs = [ 'process_backups' => ['label' => 'Automatische Backups', 'file' => 'process_backups.php', 'fn' => 'run_process_backups'], 'anonymize_data' => ['label' => 'Datenanonymisierung', 'file' => 'anonymize_data.php', 'fn' => 'run_anonymization'], 'auto_close_tickets'=> ['label' => 'Automatisches Schließen', 'file' => 'auto_close_tickets.php','fn' => 'run_auto_close_tickets'], + 'process_snoozes' => ['label' => 'Wiedervorlagen', 'file' => 'process_snoozes.php', 'fn' => 'run_process_snoozes'], + 'remind_customers' => ['label' => 'Kundenerinnerung', 'file' => 'remind_customers.php', 'fn' => 'run_remind_customers'], ]; if ($_SERVER['REQUEST_METHOD'] === 'POST') { @@ -46,6 +48,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { set_setting('auto_close_enabled', !empty($_POST['auto_close_enabled']) ? '1' : '0'); $autoCloseDays = max(1, min(90, (int) ($_POST['auto_close_days'] ?? 7))); set_setting('auto_close_days', (string) $autoCloseDays); + set_setting('remind_enabled', !empty($_POST['remind_enabled']) ? '1' : '0'); + set_setting('remind_after_days', (string) max(1, min(60, (int) ($_POST['remind_after_days'] ?? 3)))); $timeout = max(5, min(480, (int)($_POST['staff_session_timeout'] ?? 30))); set_setting('staff_session_timeout', (string)$timeout); audit_log($staff['id'], "Systemeinstellungen geändert"); @@ -460,6 +464,8 @@ $cronBackups = cron_last_run_label(get_setting('cron_process_backups_last_ru $cronEscalations = cron_last_run_label(get_setting('cron_check_escalations_last_run')); $cronAnonymize = cron_last_run_label(get_setting('cron_anonymize_data_last_run')); $cronAutoClose = cron_last_run_label(get_setting('cron_auto_close_tickets_last_run')); +$cronSnoozes = cron_last_run_label(get_setting('cron_process_snoozes_last_run')); +$cronRemind = cron_last_run_label(get_setting('cron_remind_customers_last_run')); $tab = $_GET['tab'] ?? 'allgemein'; @@ -547,6 +553,16 @@ require __DIR__ . '/_header.php'; Tage + + +
+
+ + Tage (am besten kürzer als die Frist zum automatischen Schließen) +