BossBey File Manager
PHP:
8.4.18
OS:
Linux
User:
kids
Root
/
home
/
kids
/
public_html
/
app
π€ Upload
π New File
π New Folder
Close
Editing: ajax_get_inbox.php
<?php session_start(); if (!isset($_SESSION['id'])) { exit('Acesso negado.'); } require_once('connection.php'); $userId = $_SESSION['id']; $userOrigem = $_SESSION['origem']; try { $sql = "SELECT m.id, m.assunto, m.data_envio, (CASE WHEN m.remetente_tipo = 'responsavel' THEN r.nome WHEN m.remetente_tipo = 'professor' THEN p.nome WHEN m.remetente_tipo = 'usuario' THEN u.nome ELSE 'Desconhecido' END) AS remetente_nome, (CASE WHEN l.id IS NULL THEN 1 ELSE 0 END) AS is_unread FROM mensagens m LEFT JOIN responsavel r ON m.remetente_id = r.id AND m.remetente_tipo = 'responsavel' LEFT JOIN professor p ON m.remetente_id = p.id AND m.remetente_tipo = 'professor' LEFT JOIN usuario u ON m.remetente_id = u.id AND m.remetente_tipo = 'usuario' LEFT JOIN leituras_mensagens l ON m.id = l.mensagem_id AND l.usuario_id = :userId AND l.usuario_tipo = :userOrigem WHERE m.destinatario_id = :userId2 AND m.destinatario_tipo = :userOrigem2 ORDER BY m.data_envio DESC"; $stmt = $pdo->prepare($sql); $stmt->execute(['userId' => $userId, 'userOrigem' => $userOrigem, 'userId2' => $userId, 'userOrigem2' => $userOrigem]); $messages = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($messages)) { echo '<p class="text-center">A sua caixa de entrada estΓ‘ vazia.</p>'; } else { foreach ($messages as $msg) { $unread_class = $msg['is_unread'] ? 'unread' : ''; echo '<div class="inbox-item ' . $unread_class . '" data-message-id="' . $msg['id'] . '">'; echo '<div class="row"><div class="col-sm-4">' . htmlspecialchars($msg['remetente_nome']) . '</div>'; echo '<div class="col-sm-5">' . htmlspecialchars($msg['assunto']) . '</div>'; echo '<div class="col-sm-3 text-right"><small>' . date('d/m/Y H:i', strtotime($msg['data_envio'])) . '</small></div></div></div>'; } } } catch (Exception $e) { echo '<p class="text-danger text-center">Ocorreu um erro ao carregar as suas mensagens.</p>'; } ?>
Save
Cancel