prepare("INSERT INTO mailbox (type, ref_no, date_registered, sender, recipient, subject, description, status, assigned_to, created_by) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([$type, $ref_no, $date_registered, $sender, $recipient, $subject, $description, $status, $assigned_to, $_SESSION['user_id']]); $success = 'تمت إضافة البريد بنجاح'; } elseif ($action === 'edit') { $stmt = db()->prepare("UPDATE mailbox SET ref_no = ?, date_registered = ?, sender = ?, recipient = ?, subject = ?, description = ?, status = ?, assigned_to = ? WHERE id = ? AND type = 'inbound'"); $stmt->execute([$ref_no, $date_registered, $sender, $recipient, $subject, $description, $status, $assigned_to, $id]); $success = 'تم تحديث البيانات بنجاح'; } } catch (PDOException $e) { if ($e->getCode() == 23000) { $error = 'رقم القيد مستخدم مسبقاً'; } else { $error = 'حدث خطأ: ' . $e->getMessage(); } } } else { $error = 'يرجى ملء الحقول المطلوبة (رقم القيد، الموضوع)'; } } // Delete action if (isset($_GET['action']) && $_GET['action'] === 'delete' && isset($_GET['id'])) { $id = $_GET['id']; $stmt = db()->prepare("DELETE FROM mailbox WHERE id = ? AND type = 'inbound'"); $stmt->execute([$id]); $success = 'تم حذف البريد بنجاح'; } $search = $_GET['search'] ?? ''; $query = "SELECT * FROM mailbox WHERE type = 'inbound'"; $params = []; if ($search) { $query .= " AND (ref_no LIKE ? OR sender LIKE ? OR subject LIKE ?)"; $params = ["%$search%", "%$search%", "%$search%"]; } $query .= " ORDER BY created_at DESC"; $stmt = db()->prepare($query); $stmt->execute($params); $mails = $stmt->fetchAll(); $users_list = db()->query("SELECT id, full_name FROM users ORDER BY full_name")->fetchAll(); // Handle Deep Link for Edit $deepLinkData = null; if (isset($_GET['action']) && $_GET['action'] === 'edit' && isset($_GET['id'])) { $stmt = db()->prepare("SELECT * FROM mailbox WHERE id = ? AND type = 'inbound'"); $stmt->execute([$_GET['id']]); $deepLinkData = $stmt->fetch(); } ?>