BossBey File Manager
PHP:
8.4.18
OS:
Linux
User:
kids
Root
/
home
/
kids
/
public_html
/
app
/
menu
📤 Upload
📝 New File
📁 New Folder
Close
Editing: notificacao.php
<?php // notificacao.php if (session_status() == PHP_SESSION_NONE) { session_start(); } if (isset($_SESSION['id'])) { $id_user = $_SESSION['id']; $numNotificacao = 0; $notificacoes = []; try { // --- CORREÇÃO DE CAMINHO --- // Usamos __DIR__ para criar um caminho a partir do diretório deste arquivo. // Se a pasta 'evento' está um nível ACIMA da pasta onde 'notificacao.php' está, // use: require_once(__DIR__ . '/../evento/action/../connection.php'); require_once(__DIR__ . '/evento/action/../connection.php'); $database = new Database(); $db = $database->conectar(); $sql = "SELECT c.id_convite, r.id AS id_remetente, r.nome AS nome_remetente, e.titulo, e.descricao, e.inicio, e.termino, e.cor FROM convites AS c LEFT JOIN usuario AS r ON c.fk_id_remetente = r.id LEFT JOIN eventos AS e ON c.fk_id_evento = e.id_evento WHERE c.fk_id_destinatario = :id_user AND c.status IS NULL ORDER BY c.id_convite DESC"; $req = $db->prepare($sql); $req->bindValue(':id_user', $id_user, PDO::PARAM_INT); $req->execute(); $notificacoes = $req->fetchAll(PDO::FETCH_ASSOC); $numNotificacao = count($notificacoes); } catch (Exception $e) { // Em caso de erro, a notificação não aparece, mas não quebra o site. // error_log("Erro em notificacao.php: " . $e->getMessage()); } ?> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#"> <i class="fa fa-bell fa-fw"></i> <?php if ($numNotificacao > 0): ?> <span class="badge badge-danger"><?php echo $numNotificacao; ?></span> <?php endif; ?> <i class="fa fa-caret-down"></i> </a> <ul class="dropdown-menu" style="width: 290px; padding: 0;"> <?php if ($numNotificacao > 0): ?> <?php foreach ($notificacoes as $dados): $data_inicio_formatada = date('d/m/Y \à\s H:i', strtotime($dados['inicio'])); ?> <li style="border-bottom: 1px solid #f4f4f4; padding: 10px;"> <div class="small"> <i class="fa fa-user fa-fw"></i> <strong><?php echo htmlspecialchars($dados['nome_remetente']); ?></strong> convidou você para o evento <strong>"<?php echo htmlspecialchars($dados['titulo']); ?>"</strong>. <br> <i class="fa fa-calendar fa-fw"></i> Dia <?php echo $data_inicio_formatada; ?> </div> <div style="margin-top: 10px; display: flex; justify-content: space-around;"> <form method="POST" action="menu/aceita.php" style="margin: 0;"> <input type="hidden" name="id_convite" value="<?php echo $dados['id_convite']; ?>"> <input type="hidden" name="id_usuario2" value="<?php echo $dados['id_remetente']; ?>"> <input type="hidden" name="titulo" value="<?php echo htmlspecialchars($dados['titulo']); ?>"> <input type="hidden" name="descricao" value="<?php echo htmlspecialchars($dados['descricao']); ?>"> <input type="hidden" name="inicio" value="<?php echo $dados['inicio']; ?>"> <input type="hidden" name="termino" value="<?php echo $dados['termino']; ?>"> <input type="hidden" name="cor" value="<?php echo $dados['cor']; ?>"> <button type="submit" class="btn btn-success btn-xs">Aceitar</button> </form> <form method="POST" action="menu/recusa.php" style="margin: 0;"> <input type="hidden" name="id_convite" value="<?php echo $dados['id_convite']; ?>"> <button type="submit" class="btn btn-danger btn-xs">Recusar</button> </form> </div> </li> <?php endforeach; ?> <?php else: ?> <li style="text-align: center; padding: 20px; color: #333;">Nenhuma notificação nova.</li> <?php endif; ?> </ul> </li> <?php } ?>
Save
Cancel