<!doctype html>
<?php
    session_start(); // Iniciar la sesión
    // Verifica si la sesión 'cedula' está iniciada
    if (!isset($_SESSION['cedula'])) {
        // Si no hay una sesión iniciada, redirige a login.php con un mensaje
        header("Location: login.php?mensaje=" . urlencode("Debe iniciar sesión para poder ver esta página"));
        exit(); // Asegurarse de que el script se detenga aquí
    }
    include('menus.php');
    require('conexion.php'); // Incluye la conexión a la base de datos
    include('obtener_publicaciones.php');
    sesion_paciente();
?>
<html class="no-js" lang="zxx">
<?php
head_1();
?>
<body>
<?php
    menu_registro();
    vericar_sesion ();
?>
<!-- Breadcrumbs -->
<div class="breadcrumbs overlay">
    <div class="container">
        <div class="bread-inner">
            <div class="row">
                <div class="col-12">
                    <h2>Comunidad</h2>
                </div>
            </div>
        </div>
    </div>
</div>
<!-- End Breadcrumbs -->
<!-- Single News -->
<section class="news-single section">
    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-12">
                <div class="row">
                    <div class="col-12">
                        <h2>Todos los Comentarios</h2>
                        <div class="comments-body">
                            <!-- Single Comments -->
                            <?php
                            // Verificar si la clave 'categoria' está definida en $_GET antes de usarla
                            $categoria_seleccionada = isset($_GET['categoria']) ? $_GET['categoria'] : null;
                            // Si se selecciona una categoría, filtra la consulta
                            if (!empty($categoria_seleccionada)) {
                                $sql_publicaciones .= " WHERE p.categoria = ?";
                            }
                            // Mostrar título de la categoría si hay una seleccionada
                            if ($categoria_seleccionada !== null) {
                                echo '<h2>Publicaciones en la categoría: ' . htmlspecialchars($categoria_seleccionada, ENT_QUOTES, 'UTF-8') . '</h2>';
                            }
                            ?>
                            <div class="comments-section">
                                <?php
                                if (!empty($publicaciones)) {
                                    $hayPublicaciones = false; // Variable para verificar si hay publicaciones en la categoría seleccionada
                                    foreach ($publicaciones as $publicacion) {
                                        // Si hay una categoría seleccionada, mostrar solo las publicaciones de esa categoría
                                        if ($categoria_seleccionada && strtolower($publicacion['categoria']) !== strtolower($categoria_seleccionada)) {
                                            continue; // Omitir publicaciones que no pertenecen a la categoría seleccionada
                                        }
                                            // Ruta de imagen para el autor de la publicación
                                            $imagen_autor = file_exists("img/perfiles/" . $publicacion['autor_cedula'] . ".jpg") 
                                            ? "img/perfiles/" . $publicacion['autor_cedula'] . ".jpg" 
                                            : "img/perfiles/default.png";
                                            echo '<div class="blog-comments" id="publicacion_' . $publicacion['publicacion_id'] . '">'; // AÑADIDO ID
                                            echo '<br>';
                                            echo '<br>';
                                            echo '<br>';
                                            echo '<div class="single-comments">';
                                            echo '    <div class="main">';
                                            echo '    <div class="head">';
                                            echo '        <img src="' . $imagen_autor . '" alt="#"/>'; 
                                            echo '    </div>';
                                            echo '        <div class="body">';
                                            echo '            <h4>' . htmlspecialchars($publicacion['nombres'] . ' ' . $publicacion['apellidos'], ENT_QUOTES, 'UTF-8') . '</h4>';
                                            echo '            <h5>' . htmlspecialchars($publicacion['titulo'], ENT_QUOTES, 'UTF-8') . '</h5>';
                                            echo '            <div class="comment-meta">';
                                            echo '                <span class="meta"><i class="fa fa-calendar"></i>' . htmlspecialchars($publicacion['fecha'], ENT_QUOTES, 'UTF-8') . '</span>';
                                            echo '                <span class="meta"><i class="fa fa-clock-o"></i>' . htmlspecialchars($publicacion['hora'], ENT_QUOTES, 'UTF-8') . '</span>';
                                            echo '                <span class="meta"><i class="fa fa-tag"></i>' . htmlspecialchars($publicacion['categoria'], ENT_QUOTES, 'UTF-8') . '</span>';
                                            echo '            </div>';
                                            echo '            <p>' . nl2br(htmlspecialchars($publicacion['contenido'], ENT_QUOTES, 'UTF-8')) . '</p>';
                                            echo '            <a href="#" class="reply-btn" data-id="' . $publicacion['publicacion_id'] . '"><i class="fa fa-reply"></i> Replicar</a>';
                                            echo '            <a href="#" class="chat-btn" data-receptor="' . $publicacion['receptor'] . '" onclick="iniciarChatPrivado(' . $publicacion['receptor'] . ')"><i class="fa fa-comments"></i> Iniciar chat privado</a>';
                                            echo '        </div>';
                                            echo '    </div>';
                                            echo '    <div class="reply-form" id="reply-form-' . $publicacion['publicacion_id'] . '" style="display:none;">';
                                            echo '        <form method="post" action="guardar_mensaje.php">';
                                            echo '            <textarea name="contenido" rows="4" placeholder="Escribe tu respuesta aquí..." required></textarea>';
                                            echo '            <input type="hidden" name="publicacion_id" value="' . $publicacion['publicacion_id'] . '">';
                                            echo '            <input type="hidden" name="receptor_id" value="' . $publicacion['receptor'] . '">';
                                            echo '            <button type="submit" class="btn primary">Enviar Respuesta</button>';
                                            echo '        </form>';
                                            echo '    </div>';
                                            echo '</div>';
                                        // Mostrar mensajes asociados a la publicación
                                        if (!empty($publicacion['mensajes'])) {
                                            foreach ($publicacion['mensajes'] as $mensaje) {
                                                // Ruta de imagen para el autor del mensaje
                                                $imagen_mensaje = file_exists("img/perfiles/" . $mensaje['mensaje_cedula'] . ".jpg") 
                                                    ? "img/perfiles/" . $mensaje['mensaje_cedula'] . ".jpg" 
                                                    : "img/perfiles/default.png";
                                                echo '<div class="single-comments left">';
                                                echo '    <div class="main">';
                                                echo '    <div class="head">';
                                                echo '        <img src="' . $imagen_mensaje . '" alt="Foto de ' . htmlspecialchars($mensaje['nombres']) . '"/>';
                                                echo '    </div>';
                                                echo '        <div class="body">';
                                                echo '            <h4>' . htmlspecialchars($mensaje['nombres'] . ' ' . $mensaje['apellidos'], ENT_QUOTES, 'UTF-8') . '</h4>';
                                                echo '            <div class="comment-meta">';
                                                echo '                <span class="meta"><i class="fa fa-calendar"></i>' . htmlspecialchars($mensaje['fecha'], ENT_QUOTES, 'UTF-8') . '</span>';
                                                echo '                <span class="meta"><i class="fa fa-clock-o"></i>' . htmlspecialchars($mensaje['hora'], ENT_QUOTES, 'UTF-8') . '</span>';
                                                echo '            </div>';
                                                echo '            <p>' . nl2br(htmlspecialchars($mensaje['contenido'], ENT_QUOTES, 'UTF-8')) . '</p>';
                                                echo '        </div>';
                                                echo '    </div>';
                                                echo '</div>';
                                            }
                                        }
                                        echo '</div>';
                                    }
                                } else {
                                    echo '<p>No hay publicaciones disponibles.</p>';
                                }
                                ?>
                            </div>
                            <!--/ End Single Comments -->
                        </div>
                    </div>
                    <div class="col-12">
                        <div class="comments-form">
                            <h2>Nueva Publicación</h2>
                            <!-- Formulario para nueva publicación -->
                            <form class="form" id="formulario-publicacion" method="post" action="insertar_publicacion.php" onsubmit="return validarFormulario()">
                                <div class="row">
                                    <div class="col-lg-6 col-md-6 col-12">
                                        <label>Nombre</label>
                                        <div class="form-group">
                                            <i class="fa fa-user"></i>
                                            <input type="text" name="nombre" value="<?php echo $_SESSION['nombre']; ?>" readonly>
                                        </div>
                                    </div>
                                    <div class="col-lg-6 col-md-6 col-12">
                                        <label>Título</label>
                                        <div class="form-group">
                                            <i class="fa fa-pencil"></i>
                                            <input type="text" name="titulo" placeholder="Título" required="required">
                                        </div>
                                    </div>
                                    <!-- Lista desplegable de categorias -->
                                    <input type="hidden" id="categoria" name="categoria" value="">
                                    <div class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet">
                                        <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                                            <label>Selecciona una Categoría</label>
                                            <div class="nice-select form-control wide" tabindex="0">
                                                <span class="current" id="cat_text">Selecciona una Categoría</span>
                                                <ul class="list">
                                                    <?php
                                                    include('conexion.php'); // Asegurar la conexión
                                                    $sql_cat = "SELECT DISTINCT categoria FROM publicaciones";
                                                    $result_cat = $conn->query($sql_cat);
                                                    if (!$result_cat) {
                                                        die("Error en la consulta: " . $conn->error); // Depuración en caso de error
                                                    }
                                                    while ($cat = $result_cat->fetch_assoc()) {
                                                        echo '<li data-value="' . htmlspecialchars($cat['categoria']) . '" class="option" onclick="selectCat(\'' . htmlspecialchars($cat['categoria']) . '\')">' . htmlspecialchars($cat['categoria']) . '</li>';
                                                    }
                                                    ?>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                    <!-- Lista desplegable de tags -->
                                    <input type="hidden" id="tag" name="tag" value="">
                                    <div class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet">
                                        <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                                            <label>Palabra Clave</label>
                                            <div class="nice-select form-control wide" tabindex="0">
                                                <span class="current" id="tag_text">Seleccione una palabra clave</span>
                                                <ul class="list">
                                                    <?php
                                                    include('conexion.php'); // Asegurar la conexión
                                                    $sql_tags = "SELECT DISTINCT tag FROM publicaciones_tags";
                                                    $result_tags = $conn->query($sql_tags);
                                                    if (!$result_tags) {
                                                        die("Error en la consulta: " . $conn->error); // Depuración en caso de error
                                                    }
                                                    while ($tag = $result_tags->fetch_assoc()) {
                                                        echo '<li data-value="' . htmlspecialchars($tag['tag']) . '" class="option" onclick="selectTag(\'' . htmlspecialchars($tag['tag']) . '\')">' . htmlspecialchars($tag['tag']) . '</li>';
                                                    }
                                                    ?>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                    <script>
                                        function selectTag(value) {
                                            document.getElementById('tag').value = value; 
                                            document.getElementById('tag_text').textContent = value;
                                        }
                                        function selectCat(value) {
                                            document.getElementById('categoria').value = value; 
                                            document.getElementById('cat_text').textContent = value;
                                        }
                                    </script>
                                    <div class="col-lg-12">
                                    <label>Cuerpo Publicación</label>
                                        <div class="form-group">
                                            <i class="fa fa-file-text"></i>
                                            <textarea name="contenido" rows="7" placeholder="Escribe el cuerpo de tu publicación aquí" required></textarea>
                                        </div>
                                    </div>
                                    <div class="col-12">
                                        <div class="form-group button">
                                            <button type="submit" class="btn primary"><i class="fa fa-send"></i> Publicar</button>
                                        </div>
                                    </div>
                                </div>
                            </form>
                            <!--/ End Formulario -->
                        </div>
                    </div>
                </div>
            </div>
            <div class="col-lg-4 col-12">
                <div class="main-sidebar">
                    <!-- Widget de Búsqueda -->
                    <div class="single-widget search">
                        <div class="form">
                            <input type="text" id="searchInput" placeholder="Buscar Aquí..." onkeyup="filtrarPublicaciones()">
                            <a class="button"><i class="fa fa-search"></i></a>
                        </div>
                    </div>
                    <!--/ End Single Widget -->
                    <!-- Single Widget - Categorías del Blog --> 
                    <div class="single-widget category">
                        <h3 class="title">Categorías del Blog</h3>
                        <ul class="categor-list">
                        <?php
                        include('conexion.php'); // Asegúrate de incluir la conexión
                        // Consulta para contar el total de publicaciones
                        $sql_total = "SELECT COUNT(*) AS total FROM publicaciones";
                        $result_total = $conn->query($sql_total);
                        $totalPublicaciones = ($result_total) ? $result_total->fetch_assoc()['total'] : 0;
                        ?>
                            <li><a href="comunidad.php">Ver Todos (<?php echo $totalPublicaciones; ?>)</a></li>
                            <?php
                            include('conexion.php'); // Conexión a la base de datos
                            // Consulta para contar publicaciones por categoría
                            $sql_categorias = "SELECT categoria, COUNT(*) AS total FROM publicaciones GROUP BY categoria";
                            $result_categorias = $conn->query($sql_categorias);
                            if ($result_categorias) {
                                while ($categoria = $result_categorias->fetch_assoc()) {
                                    echo '<li><a href="comunidad.php?categoria=' . urlencode($categoria['categoria']) . '">'
                                        . htmlspecialchars($categoria['categoria']) . ' (' . $categoria['total'] . ')</a></li>';
                                }
                            } else {
                                echo "<li>No hay categorías disponibles.</li>";
                            }
                            ?>
                        </ul>
                    </div>
                    <!--/ End Single Widget -->
                    <!-- Single Widget////////////////////////////////////////////////////////////////////// -->
                    <!-- Single Widget - Publicaciones Recientes -->
                    <div class="single-widget recent-post">
                        <h3 class="title">Publicaciones Recientes</h3>
                        <?php
                        $imagenes = ["img/blog-sidebar1.jpg", "img/blog-sidebar2.jpg", "img/blog-sidebar3.jpg"];
                        $index = 0;
                        if (!empty($publicaciones_recientes)) {
                            foreach ($publicaciones_recientes as $post) {
                                echo '<div class="single-post">';
                                echo '    <div class="image">';
                                echo '        <img src="' . $imagenes[$index] . '" alt="#">';
                                echo '    </div>';
                                echo '    <div class="content">';
                                // ENLACE MODIFICADO: Usa un ancla que apunta a la publicación en comunidad.php
                                echo '        <h5><a href="comunidad.php#publicacion_' . $post['publicacion_id'] . '">' . htmlspecialchars($post['titulo'], ENT_QUOTES, 'UTF-8') . '</a></h5>';
                                echo '        <ul class="comment">';
                                echo '            <li><i class="fa fa-calendar" aria-hidden="true"></i> ' . htmlspecialchars($post['fecha'], ENT_QUOTES, 'UTF-8') . '</li>';
                                echo '            <li><i class="fa fa-commenting-o" aria-hidden="true"></i> ' . $post['total_mensajes'] . '</li>';
                                echo '        </ul>';
                                echo '    </div>';
                                echo '</div>';
                                $index++;
                            }
                        } else {
                            echo '<p>No hay publicaciones recientes.</p>';
                        }
                        ?>
                    </div>
                    <!--/ End Single Widget -->
                    <!-- Temas Populares -->
                    <div class="single-widget side-tags">
                        <h3 class="title">Temas Populares</h3>
                        <ul class="tag">
                            <?php
                            if (!empty($tags)) {
                                foreach ($tags as $tag => $cantidad) {
                                    echo '<li><a href="?tag=' . urlencode($tag) . '">' . $tag . ' (' . $cantidad . ')</a></li>';
                                }
                            } else {
                                echo '<p>No hay temas populares aún.</p>';
                            }
                            ?>
                            <!-- Botón "Ver Todos" con la cantidad total de publicaciones -->
                            <li><a href="?ver_todos=true" style="  font-weight: bold;">Ver Todos (<?php echo $total_publicaciones; ?>)</a></li>
                        </ul> 
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>
<!--/ End Single News -->
<?php
footer_1();
?>
<!-- JavaScript para manejar la visualización del formulario de respuesta -->
        <script>
            function validarFormulario(event) {
                let categoria = document.getElementById('categoria').value.trim();
                let tag = document.getElementById('tag').value.trim();
                if (categoria === "") {
                    alert("Por favor, selecciona una categoría antes de publicar.");
                    return false;
                }
                if (tag === "") {
                    alert("Por favor, selecciona una palabra clave antes de publicar.");
                    return false;
                }
                return true;
            }

            function selectTag(value) {
                document.getElementById('tag').value = value;
                document.getElementById('tag_text').textContent = value;
            }

            function selectCat(value) {
                document.getElementById('categoria').value = value;
                document.getElementById('cat_text').textContent = value;
            }
        </script>
<script>
document.addEventListener('DOMContentLoaded', function () {
    const replyButtons = document.querySelectorAll('.reply-btn');
    replyButtons.forEach(button => {
        button.addEventListener('click', function (event) {
            event.preventDefault();
            const id = this.getAttribute('data-id');
            const replyForm = document.getElementById('reply-form-' + id);
            replyForm.style.display = (replyForm.style.display === 'none' || replyForm.style.display === '') ? 'block' : 'none';
        });
    });
});
</script>
<script>
function filtrarPublicaciones() {
    let input = document.getElementById("searchInput").value.toLowerCase();
    let publicaciones = document.querySelectorAll(".blog-comments");

    publicaciones.forEach(publicacion => {
        let titulo = publicacion.querySelector("h5").textContent.toLowerCase();
        let contenido = publicacion.querySelector("p").textContent.toLowerCase();

        if (titulo.includes(input) || contenido.includes(input)) {
            publicacion.style.display = "block"; // Muestra la publicación si coincide
        } else {
            publicacion.style.display = "none"; // Oculta la publicación si no coincide
        }
    });
}
</script>
<script>
    function selectTag(value) {
        document.getElementById('tag').value = value; 
        document.getElementById('tag_text').textContent = value;
    }
    function selectCat(value) {
        document.getElementById('categoria').value = value; 
        document.getElementById('cat_text').textContent = value;
    }

    // Validar antes de enviar
    function validarFormulario(event) {
        var categoria = document.getElementById('categoria').value;
        var tag = document.getElementById('tag').value;

        if (categoria === "") {
            alert("Por favor, seleccione una categoría antes de publicar.");
            event.preventDefault(); // Detiene el envío del formulario
            return false;
        }

        if (tag === "") {
            alert("Por favor, seleccione una palabra clave antes de publicar.");
            event.preventDefault(); // Detiene el envío del formulario
            return false;
        }
        return true;
    }
    // Asociar la función de validación al evento submit del formulario
    document.addEventListener("DOMContentLoaded", function() {
        document.getElementById("formulario-publicacion").addEventListener("submit", validarFormulario);

    });
</script>
<script>
function iniciarChatPrivado(receptorId) {
    // Opcional: puedes crear un ID único por ventana para evitar conflictos si se abren varios chats
    const ventanaNombre = 'chatPrivado_' + receptorId;

    // Abre una ventana emergente tipo chat (puedes personalizar el tamaño y estilo)
    window.open(
        'chat.php?usuario=' + receptorId, // URL del chat con el receptor
        ventanaNombre,                    // Nombre de la ventana (único por receptor)
        'width=300,height=500,resizable=yes,scrollbars=yes,status=no'
    );
}
</script>
</body>
</html>