<?php
/**
 * @intranet-file base/links/index.php
 * @intranet-file-version 2026.03.13.1
 * @intranet-file-date 2026-03-13
 * @intranet-file-owner CSIF Intranet
 */
// 1. IMPORTAR SEGURIDAD
require_once dirname(__DIR__, 2) . '/common/app_guard.php';

require_once dirname(__DIR__, 2) . '/common/url.php';
// 2. VERIFICAR ACCESO
checkAppAccess();

$titulo = "Enlaces útiles y recursos";

require_once dirname(__DIR__, 2) . '/common/catalogo_db.php';

$pdo = db();
$enlaces = catalogo_links_fetch($pdo, 'links', true);
$grupos = catalogo_links_grouped($enlaces);
?>
<!DOCTYPE html>
<html lang="es" class="app-html" <?= intranet_theme_html_attr(); ?>>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?php echo $titulo; ?></title>
    <?= intranet_theme_bootstrap_script_tag(); ?>
    <link rel="stylesheet" href="<?= h(asset_url('styles/css/style.css')) ?>">
    <link rel="stylesheet" href="<?= h(asset_url('styles/css/theme-vars.css')) ?>">
    <script>
        function confirmarConexion() {
            return confirm("¿Has conectado el Sophos Connect previamente?");
        }
    </script>
</head>

<body class="app-body">
    <!-- Cabecera estilo Intranet -->
    <header class="header-top">
        <div class="header-titles">
            <h2 style="margin:0;"><?php echo $titulo; ?></h2>
            <p style="margin:5px 0 0 0; opacity:0.9;">Usuario:
                <strong><?php echo htmlspecialchars($_SESSION['givenName']); ?></strong></p>
        </div>
        <div class="header-actions">
            <a href="<?= h(asset_url('dashboard.php')) ?>" target="_top" class="btn-back-dashboard">Volver al inicio</a>
        </div>
    </header>

    <?php if (catalogo_is_admin()): ?>
        <div class="admin-toolbar">
            <a class="btn-mini primary" href="<?= h(app_url('base/gestion_enlaces/index.php?section=links&type=links')) ?>" target="_self">Gestionar enlaces</a>
            <div class="hint">Añade/edita/borrar enlaces y grupos desde la web (sin editar ficheros).</div>
        </div>
    <?php endif; ?>

    <div class="link-groups">
        <?php $first = true; ?>
        <?php foreach ($grupos as $grupo): ?>
            <?php
            $gname = (string)($grupo['name'] ?? 'General');
            $items = $grupo['links'] ?? [];
            $gicon = catalogo_normalize_svg_markup($grupo['icon_svg'] ?? null);
            $openAttr = $first ? ' open' : '';
            $first = false;
            ?>
            <details class="link-group"<?php echo $openAttr; ?>>
                <summary>
                    <span class="group-title">
                        <?php if ($gicon !== null): ?><span aria-hidden="true" style="display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;margin-right:8px;vertical-align:middle;"><?php echo $gicon; ?></span><?php endif; ?>
                        <?php echo htmlspecialchars($gname); ?>
                        <span class="group-count"><?php echo is_array($items) ? count($items) : 0; ?></span>
                    </span>
                </summary>
                <div class="group-content">
                    <div class="enlaces-grid">
                        <?php foreach ($items as $enlace):
                            $dest = $enlace['destino'] ?? '#';
                            // IMPORTANTE: usar ruta relativa para que funcione también si la intranet está en subcarpeta
                            $href = '../../go.php?link_id=' . (int)($enlace['id'] ?? 0);
                            $img = $enlace['imagen'] ?? '/images/default.png';
                            $iconSvg = $enlace['icon_svg'] ?? '';
                            $desc = $enlace['descripcion'] ?? 'Sin descripción';
                            $aviso = $enlace['aviso'] ?? '';
                            ?>
                            <a href="<?php echo htmlspecialchars((string)$href); ?>" target="_blank" class="enlace-card" <?php if (!empty($aviso))
                                   echo 'onclick="return confirmarConexion();"'; ?>>
                                <?php echo catalogo_link_media_markup((string)$img, (string)$iconSvg, 'Icono'); ?>

                                <div class="enlace-titulo">
                                    <?php echo htmlspecialchars((string)$desc); ?>
                                </div>

                                <?php if (!empty($aviso)): ?>
                                    <div class="aviso-vpn">
                                        <i class="fa fa-shield-alt"></i> <?php echo htmlspecialchars((string)$aviso); ?>
                                    </div>
                                <?php endif; ?>
                            </a>
                        <?php endforeach; ?>
                    </div>
                </div>
            </details>
        <?php endforeach; ?>
    </div>

    <footer>
        <?= date('Y') ?> &copy; <?= h(function_exists('intranet_brand_name') ? intranet_brand_name() : 'Intranet') ?>
    </footer>

</body>

</html>
