<?php 
if (strlen(session_id()) < 1) 
  session_start();

require_once "../modelos/Chat.php";

$chat = new Chat();

$idusuario = $_SESSION["idusuario"];
$mensaje   = isset($_POST["mensaje"]) ? limpiarCadena($_POST["mensaje"]) : "";

switch ($_GET["op"]){
	case 'guardar':
		// Validar si el usuario tiene permiso para chatear
		if ($_SESSION['chat_interno'] == 1 && !empty($mensaje)) {
			$rspta = $chat->insertar($idusuario, $mensaje);
			echo $rspta ? "Mensaje enviado" : "Error al enviar el mensaje";
		} else {
			echo "No autorizado o mensaje vacío.";
		}
	break;

	case 'listar':
		if ($_SESSION['chat_interno'] == 1) {
			$rspta = $chat->listar();
			$data = array();

			while ($reg = $rspta->fetch_object()){
				// Formatear hora y fecha
				$fecha_formateada = date('d/m/Y H:i', strtotime($reg->fecha_hora));
				
				// Identificar si el mensaje es del usuario actual para darle estilo distinto
				$is_mine = ($reg->idusuario == $idusuario);

				$data[] = array(
					"idmensaje" => $reg->idmensaje,
					"is_mine" => $is_mine,
					"nombre_usuario" => ucwords(strtolower($reg->nombre_usuario)),
					"mensaje" => $reg->mensaje, // Si permitimos HTML básico o emojis, se deja así. Si no, aplicar htmlspecialchars.
					"fecha_hora" => $fecha_formateada
				);
			}
			echo json_encode($data);
		} else {
			echo json_encode(array());
		}
	break;
}
?>
