From bd293891761f841494ae821fa5e09d6b4f7f7316 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Mon, 13 Apr 2026 16:52:32 +0000 Subject: [PATCH] fix: translate status list in inbound and outbound mail pages --- admin_dashboard.php | 8 ++++---- inbound.php | 12 +++++++++++- outbound.php | 12 +++++++++++- overdue_report.php | 4 ++-- user_dashboard.php | 4 ++-- view_mail.php | 4 ++-- 6 files changed, 32 insertions(+), 12 deletions(-) diff --git a/admin_dashboard.php b/admin_dashboard.php index 17f47e2..a375d68 100644 --- a/admin_dashboard.php +++ b/admin_dashboard.php @@ -129,8 +129,8 @@ function getStatusBadge($mail) { if (canView('reports')): // Combine overdue counts from inbound and outbound $overdue_count = 0; - $overdue_count += db()->query("SELECT COUNT(*) FROM inbound_mail WHERE due_date < CURDATE() AND status_id IN (SELECT id FROM mailbox_statuses WHERE name != 'closed')")->fetchColumn(); - $overdue_count += db()->query("SELECT COUNT(*) FROM outbound_mail WHERE due_date < CURDATE() AND status_id IN (SELECT id FROM mailbox_statuses WHERE name != 'closed')")->fetchColumn(); + $overdue_count += db()->query("SELECT COUNT(*) FROM inbound_mail WHERE due_date < CURDATE() AND status_id IN (SELECT id FROM mailbox_statuses WHERE name NOT IN ('closed', 'مكتمل', 'مؤرشف', 'مؤرشفة'))")->fetchColumn(); + $overdue_count += db()->query("SELECT COUNT(*) FROM outbound_mail WHERE due_date < CURDATE() AND status_id IN (SELECT id FROM mailbox_statuses WHERE name NOT IN ('closed', 'مكتمل', 'مؤرشف', 'مؤرشفة'))")->fetchColumn(); if ($overdue_count > 0): ?> @@ -243,7 +243,7 @@ endif; الموعد النهائي - + @@ -304,7 +304,7 @@ endif; - + diff --git a/inbound.php b/inbound.php index 8ae7a8b..3e1e93d 100644 --- a/inbound.php +++ b/inbound.php @@ -77,7 +77,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) { $total_stmt = db()->query("SELECT COUNT(*) FROM inbound_mail"); $total_inbound = $total_stmt->fetchColumn(); -$pending_stmt = db()->prepare("SELECT COUNT(*) FROM inbound_mail WHERE status_id IN (SELECT id FROM mailbox_statuses WHERE is_default = 1 OR name LIKE '%قيد%')"); +$pending_stmt = db()->prepare("SELECT COUNT(*) FROM inbound_mail WHERE status_id IN (SELECT id FROM mailbox_statuses WHERE is_default = 1 OR name LIKE '%قيد%' OR name = 'in_progress')"); $pending_stmt->execute(); $pending_inbound = $pending_stmt->fetchColumn(); @@ -125,8 +125,18 @@ $query = "SELECT m.*, s.name as status_name, s.color as status_color, u.full_nam $stmt = db()->prepare($query); $stmt->execute($params); $mails = $stmt->fetchAll(); +foreach ($mails as &$mail) { + if ($mail['status_name'] == 'received') $mail['status_name'] = 'تم الاستلام'; + if ($mail['status_name'] == 'in_progress') $mail['status_name'] = 'قيد المعالجة'; + if ($mail['status_name'] == 'closed') $mail['status_name'] = 'مكتمل'; +} unset($mail); $statuses = db()->query("SELECT * FROM mailbox_statuses ORDER BY id ASC")->fetchAll(); +foreach ($statuses as &$s) { + if ($s['name'] == 'received') $s['name'] = 'تم الاستلام'; + if ($s['name'] == 'in_progress') $s['name'] = 'قيد المعالجة'; + if ($s['name'] == 'closed') $s['name'] = 'مكتمل'; +} unset($s); $users = db()->query("SELECT id, full_name, username FROM users ORDER BY full_name ASC")->fetchAll(); $default_status_id = db()->query("SELECT id FROM mailbox_statuses WHERE is_default = 1 LIMIT 1")->fetchColumn() ?: ($statuses[0]['id'] ?? null); diff --git a/outbound.php b/outbound.php index 7ecbbb7..3718957 100644 --- a/outbound.php +++ b/outbound.php @@ -77,7 +77,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) { $total_stmt = db()->query("SELECT COUNT(*) FROM outbound_mail"); $total_outbound = $total_stmt->fetchColumn(); -$completed_stmt = db()->prepare("SELECT COUNT(*) FROM outbound_mail WHERE status_id IN (SELECT id FROM mailbox_statuses WHERE name LIKE '%مكتمل%' OR name LIKE '%منتهي%')"); +$completed_stmt = db()->prepare("SELECT COUNT(*) FROM outbound_mail WHERE status_id IN (SELECT id FROM mailbox_statuses WHERE name LIKE '%مكتمل%' OR name LIKE '%منتهي%' OR name = 'closed')"); $completed_stmt->execute(); $completed_outbound = $completed_stmt->fetchColumn(); @@ -121,8 +121,18 @@ $query = "SELECT m.*, s.name as status_name, s.color as status_color, u.full_nam $stmt = db()->prepare($query); $stmt->execute($params); $mails = $stmt->fetchAll(); +foreach ($mails as &$mail) { + if ($mail['status_name'] == 'received') $mail['status_name'] = 'مرسلة'; + if ($mail['status_name'] == 'in_progress') $mail['status_name'] = 'قيد المعالجة'; + if ($mail['status_name'] == 'closed') $mail['status_name'] = 'مكتمل'; +} unset($mail); $statuses = db()->query("SELECT * FROM mailbox_statuses ORDER BY id ASC")->fetchAll(); +foreach ($statuses as &$s) { + if ($s['name'] == 'received') $s['name'] = 'مرسلة'; + if ($s['name'] == 'in_progress') $s['name'] = 'قيد المعالجة'; + if ($s['name'] == 'closed') $s['name'] = 'مكتمل'; +} unset($s); $users = db()->query("SELECT id, full_name, username FROM users ORDER BY full_name ASC")->fetchAll(); $default_status_id = db()->query("SELECT id FROM mailbox_statuses WHERE is_default = 1 LIMIT 1")->fetchColumn() ?: ($statuses[0]['id'] ?? null); diff --git a/overdue_report.php b/overdue_report.php index 22fa1dd..89117ce 100644 --- a/overdue_report.php +++ b/overdue_report.php @@ -12,7 +12,7 @@ $overdue_items = []; $queries = []; if (!$type_filter || $type_filter === 'inbound') { - $where = ["m.due_date < CURDATE()", "s.name != 'closed'"]; + $where = ["m.due_date < CURDATE()", "s.name NOT IN ('closed', 'مكتمل', 'مؤرشف', 'مؤرشفة')"]; $params = []; if ($user_filter) { $where[] = "m.assigned_to = ?"; @@ -30,7 +30,7 @@ if (!$type_filter || $type_filter === 'inbound') { } if (!$type_filter || $type_filter === 'outbound') { - $where = ["m.due_date < CURDATE()", "s.name != 'closed'"]; + $where = ["m.due_date < CURDATE()", "s.name NOT IN ('closed', 'مكتمل', 'مؤرشف', 'مؤرشفة')"]; $params = []; if ($user_filter) { $where[] = "m.assigned_to = ?"; diff --git a/user_dashboard.php b/user_dashboard.php index 18bb35d..4535e2e 100644 --- a/user_dashboard.php +++ b/user_dashboard.php @@ -22,7 +22,7 @@ foreach (['inbound', 'outbound', 'internal'] as $t) { $stmt->execute([$user_id]); $my_total_assignments += $stmt->fetchColumn(); - $stmt = db()->prepare("SELECT COUNT(*) FROM $table WHERE assigned_to = ? AND status_id IN (SELECT id FROM mailbox_statuses WHERE name != 'closed')"); + $stmt = db()->prepare("SELECT COUNT(*) FROM $table WHERE assigned_to = ? AND status_id IN (SELECT id FROM mailbox_statuses WHERE name NOT IN ('closed', 'مكتمل', 'مؤرشف', 'مؤرشفة'))"); $stmt->execute([$user_id]); $my_pending_tasks += $stmt->fetchColumn(); } @@ -260,7 +260,7 @@ function getStatusBadge($mail) { - + diff --git a/view_mail.php b/view_mail.php index 1e33f43..c5370a5 100644 --- a/view_mail.php +++ b/view_mail.php @@ -249,9 +249,9 @@ if ($type == 'internal') {

- + - +