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;
الموعد النهائي
-
+
= $mail['due_date'] ?>
@@ -304,7 +304,7 @@ endif;
= htmlspecialchars($mail['subject'] ?? '') ?>
-
+
= $mail['due_date'] ?>
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) {
= htmlspecialchars($mail['subject'] ?? '') ?>
-
+
= $mail['due_date'] ?>
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') {
الموعد النهائي
-
+
= $mail['due_date'] ?>
-
+