<?php
// fetch_new_messages_ajax.php
require 'config/db.php';


if (!isset($_SESSION['user_id'])) { exit; }

$my_id = (int)$_SESSION['user_id'];
$contact_id = isset($_GET['contact_id']) ? (int)$_GET['contact_id'] : 0;
$last_id = isset($_GET['last_id']) ? (int)$_GET['last_id'] : 0;

if ($contact_id > 0) {
    try {
        // Solo buscamos mensajes que YO NO ENVIÉ (los que me mandaron a mí)
        // Y que tengan un ID mayor al último que ya se mostró
        $stmt = $pdo->prepare("
            SELECT * FROM messages 
            WHERE sender_id = ? AND receiver_id = ? AND id > ? 
            ORDER BY id ASC
        ");
        $stmt->execute([$contact_id, $my_id, $last_id]);
        $new_messages = $stmt->fetchAll();

        if ($new_messages) {
            foreach ($new_messages as $m) {
                // Imprimimos el HTML con el data-id para que el JS sepa actualizar el puntero
                echo '<div class="msg msg-them" data-id="'.$m['id'].'">';
                echo htmlspecialchars($m['message']);
                echo '<span class="msg-time">'.date('H:i', strtotime($m['created_at'])).'</span>';
                echo '</div>';
            }
            
            // Opcional: Marcar estos nuevos mensajes como leídos de una vez
            $pdo->prepare("UPDATE messages SET is_read = 1 WHERE sender_id = ? AND receiver_id = ? AND is_read = 0")
                ->execute([$contact_id, $my_id]);
        }
    } catch (PDOException $e) {
        error_log("Fetch Error: " . $e->getMessage());
    }
}