Files
2026-06-11 21:18:48 +07:00

35 lines
1.1 KiB
PHP

<?php
// php/read_pesan.php
require_once 'koneksi.php';
if (session_status() === PHP_SESSION_NONE) { session_start(); }
header('Content-Type: application/json; charset=utf-8');
$userId = intval($_SESSION['user_id'] ?? 0);
if (!$userId) {
echo json_encode([]); exit;
}
// Ambil pesan broadcast + pesan yang ditujukan ke user ini
$sql = "SELECT pm.*,
p.nama_lengkap AS nama_pengirim, p.role AS role_pengirim,
DATE_FORMAT(pm.created_at, '%d/%m/%Y %H:%i') AS created_fmt
FROM pesan_komunikasi pm
JOIN pengguna p ON pm.pengirim_id = p.id
WHERE pm.penerima_id IS NULL OR pm.penerima_id = {$userId}
ORDER BY pm.created_at DESC
LIMIT 100";
$result = mysqli_query($conn, $sql);
$data = [];
if ($result) {
while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; }
}
// Mark as read — semua pesan yang belum dibaca oleh user ini
$markSql = "UPDATE pesan_komunikasi SET status='dibaca'
WHERE status='baru' AND (penerima_id = {$userId} OR penerima_id IS NULL) AND pengirim_id != {$userId}";
mysqli_query($conn, $markSql);
echo json_encode($data);
?>