first commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
<?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);
|
||||
?>
|
||||
Reference in New Issue
Block a user