<?php
include 'sesion.php';
include 'concha.php';
include 'concha_extras.php';

if (session_status() === PHP_SESSION_NONE) {
    @session_start();
}

if (!isset($conn) || !($conn instanceof mysqli)) {
    die('Error: la conexión $conn no está disponible en concha.php');
}

$conn->set_charset('utf8');

function e($valor){
    $valor = (string)$valor;
    $valor = html_entity_decode($valor, ENT_QUOTES | ENT_HTML5, 'UTF-8');
    return htmlspecialchars($valor, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
}

function normalizarTextoParaGuardar($valor){
    $valor = (string)$valor;

    if ($valor === '') {
        return '';
    }

    $valor = html_entity_decode($valor, ENT_QUOTES | ENT_HTML5, 'UTF-8');

    $valor = str_replace(
        array("\r\n", "\r", "\xC2\xA0"),
        array("\n", "\n", ' '),
        $valor
    );

    $mapa = array(
        'á' => '&aacute;',
        'é' => '&eacute;',
        'í' => '&iacute;',
        'ó' => '&oacute;',
        'ú' => '&uacute;',
        'Á' => '&Aacute;',
        'É' => '&Eacute;',
        'Í' => '&Iacute;',
        'Ó' => '&Oacute;',
        'Ú' => '&Uacute;',
        'ñ' => '&ntilde;',
        'Ñ' => '&Ntilde;',
        'ü' => '&uuml;',
        'Ü' => '&Uuml;',
        '¿' => '&iquest;',
        '¡' => '&iexcl;'
    );

    return strtr($valor, $mapa);
}

$tour = isset($_GET['tour']) ? (int)$_GET['tour'] : 1;
$usa_estilo_especial = ($estiloweb == 9 || $estiloweb == 85 || $estiloweb == 86);

$status = '';
$status_tipo = '';

$titulo_form = '';
$tipo_form = '';
$link_form = '';
$idsub_form = 0;
$mostrar_form = false;

if (isset($_GET['IDsub'])) {
    $idsub_form = (int)$_GET['IDsub'];
    $mostrar_form = true;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    if (isset($_POST['accion']) && $_POST['accion'] === 'eliminar') {
        $id_eliminar = isset($_POST['ID']) ? trim((string)$_POST['ID']) : '';

        if ($id_eliminar !== '') {
            $id_sql = $conn->real_escape_string($id_eliminar);

            $conn->query("DELETE FROM `menu` WHERE `IDsub` = '$id_sql'");
            $ok_del = $conn->query("DELETE FROM `menu` WHERE `ID` = '$id_sql' LIMIT 1");

            if ($ok_del) {
                $status = 'El botón del menú se eliminó correctamente.';
                $status_tipo = 'success';
            } else {
                $status = 'No se pudo eliminar el botón.';
                $status_tipo = 'danger';
            }
        }
    }

    if (isset($_POST['accion']) && $_POST['accion'] === 'agregar') {

        $titulo_form = isset($_POST['titulo']) ? trim((string)$_POST['titulo']) : '';
        $tipo_form   = isset($_POST['tipo']) ? trim((string)$_POST['tipo']) : '';
        $idsub_form  = isset($_POST['IDsub']) ? (int)$_POST['IDsub'] : 0;
        $link_form   = isset($_POST['link']) ? trim((string)$_POST['link']) : '';

        $mostrar_form = true;

        if ($titulo_form === '') {
            $status = 'Debes ingresar el nombre del botón.';
            $status_tipo = 'danger';
        } elseif ($tipo_form === '') {
            $status = 'Debes elegir un tipo de botón.';
            $status_tipo = 'danger';
        } else {

            $id_generado = '';
            $sql_last = "SELECT ID FROM menu ORDER BY CAST(ID AS UNSIGNED) DESC LIMIT 1";
            $res_last = $conn->query($sql_last);
            if ($res_last && $res_last->num_rows > 0) {
                $row_last = $res_last->fetch_assoc();
                $ultimo_id = (int)$row_last['ID'];
                $id_generado = (string)($ultimo_id + 1);
            } else {
                $id_generado = '1';
            }
            if ($res_last instanceof mysqli_result) {
                $res_last->free();
            }

            if ($tipo_form === 'noticias' && $link_form === '') {
                $status = 'Debes seleccionar una categoría para el botón tipo noticias.';
                $status_tipo = 'danger';
            } elseif ($tipo_form === 'link' && $link_form === '') {
                $status = 'Debes ingresar un enlace para el botón tipo link.';
                $status_tipo = 'danger';
            } elseif ($tipo_form === 'precargado' && $link_form === '') {
                $status = 'Debes seleccionar una opción precargada.';
                $status_tipo = 'danger';
            } elseif ($tipo_form === 'seccion' && $link_form === '') {
                $status = 'Debes escribir el contenido para la sección.';
                $status_tipo = 'danger';
            } else {

                $IDbotonDB = normalizarTextoParaGuardar($id_generado);
                $IDsubDB   = normalizarTextoParaGuardar((string)$idsub_form);
                $tituloDB  = normalizarTextoParaGuardar($titulo_form);
                $tipoDB    = normalizarTextoParaGuardar($tipo_form);
                $linkDB    = normalizarTextoParaGuardar($link_form);

                $stmt = $conn->prepare("INSERT INTO `menu` (`ID`, `nombre`, `tipo`, `link`, `IDsub`) VALUES (?, ?, ?, ?, ?)");
                if ($stmt) {
                    $stmt->bind_param('sssss', $IDbotonDB, $tituloDB, $tipoDB, $linkDB, $IDsubDB);

                    if ($stmt->execute()) {
                        $status = 'Botón guardado correctamente.';
                        $status_tipo = 'success';

                        $titulo_form = '';
                        $tipo_form = '';
                        $link_form = '';
                        $idsub_form = 0;
                        $mostrar_form = false;
                    } else {
                        $status = 'Error al guardar el botón: ' . $stmt->error;
                        $status_tipo = 'danger';
                    }
                    $stmt->close();
                } else {
                    $status = 'Error al preparar la consulta: ' . $conn->error;
                    $status_tipo = 'danger';
                }
            }
        }
    }
}

$categorias = array();
$res_cat = $conn->query("SELECT * FROM categorias ORDER BY nombre ASC");
if ($res_cat instanceof mysqli_result) {
    while ($row_cat = $res_cat->fetch_assoc()) {
        $categorias[] = $row_cat;
    }
    $res_cat->free();
}

$opciones_precargadas = array(
    'principal.php' => 'Principal',
    "javascript:ventanaSecundaria56('envivo')" => 'En vivo',
    'mensajes.php' => 'Mensajes',
    'programacion.php' => 'Programación',
    'movil.php' => 'Versión móvil',
    'clasificados.php' => 'Clasificados',
    'fotos.php' => 'Fotos',
    'archivo.php' => 'Archivo',
    'contacto.php' => 'Contacto',
    'archivodeaudios.php' => 'Archivo de audios',
    'profesionales.php' => 'Profesionales',
    'diarios.php' => 'Diarios',
    'buscar_telefono.php' => 'Buscar teléfono',
    'horoscopo.php' => 'Horóscopo',
    'futbol.php' => 'Fútbol',
    'mensajes_en_notas.php' => 'Mensajes en notas'
);
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
    <meta name="description" content="Wizard inicial del portal">
    <meta name="author" content="<?php echo e($nombresitio); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title><?php echo e($nombresitio); ?> - Wizard Paso 6</title>

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="http://radioshosting.com/recursos/ckeditor/ckeditor.js"></script>

    <style type="text/css">
        *{
            border-radius: 0 !important;
            box-sizing: border-box;
        }

        body{
            background: #eef2f7;
            font-family: Arial, Helvetica, sans-serif;
            color: #22303c;
        }

        .wizard-wrap{
            max-width: 1180px;
            margin: 30px auto;
        }

        .wizard-card{
            background: #fff;
            border: 1px solid #dce4ec;
            box-shadow: 0 12px 35px rgba(0,0,0,0.06);
        }

        .wizard-head{
            background: linear-gradient(135deg, #0066FF 0%, #0a4fc7 100%);
            color: #fff;
            padding: 32px;
        }

        .wizard-head h1{
            font-size: 32px;
            margin: 0 0 10px 0;
            font-weight: bold;
        }

        .wizard-head p{
            margin: 0;
            font-size: 16px;
            line-height: 1.7;
        }

        .wizard-progress{
            background: #f7f9fc;
            border-bottom: 1px solid #e2e8ef;
            padding: 16px 32px;
            font-size: 15px;
        }

        .wizard-progress strong{
            color: #0066FF;
        }

        .wizard-body{
            padding: 32px;
        }

        .bloque-info{
            background: #f8fbff;
            border-left: 4px solid #0066FF;
            padding: 18px;
            margin-bottom: 28px;
            line-height: 1.7;
        }

        .seccion-titulo{
            font-size: 24px;
            font-weight: bold;
            margin-bottom: 18px;
            color: #1d2b39;
        }

        .subtitulo{
            font-size: 20px;
            font-weight: bold;
            margin: 28px 0 16px 0;
            color: #1d2b39;
        }

        .card-bloque{
            border: 1px solid #e1e8ef;
            background: #fff;
            margin-bottom: 25px;
        }

        .card-bloque-header{
            padding: 16px 20px;
            border-bottom: 1px solid #edf2f7;
            background: #fafcff;
        }

        .card-bloque-header h3{
            margin: 0;
            font-size: 22px;
            font-weight: bold;
            color: #1d2b39;
        }

        .card-bloque-body{
            padding: 20px;
        }

        .menu-item{
            border: 1px solid #e5ebf2;
            margin-bottom: 18px;
            background: #fff;
        }

        .menu-item-top{
            padding: 16px;
            background: #fbfdff;
            border-bottom: 1px solid #edf2f7;
        }

        .menu-item-top strong{
            font-size: 18px;
            color: #1d2b39;
        }

        .menu-meta{
            font-size: 14px;
            color: #5f7080;
            margin-top: 6px;
        }

        .menu-actions{
            margin-top: 12px;
        }

        .submenu-box{
            padding: 14px 16px 4px 16px;
            background: #fff;
        }

        .submenu-item{
            border: 1px solid #edf2f7;
            background: #fafcff;
            padding: 12px;
            margin-bottom: 10px;
        }

        .submenu-item strong{
            color: #22303c;
        }

        .submenu-meta{
            font-size: 13px;
            color: #677788;
            margin-top: 4px;
        }

        .form-group label{
            font-weight: bold;
            color: #22303c;
            margin-bottom: 8px;
        }

        .form-control{
            min-height: 46px;
            border: 1px solid #cfd8e2;
            box-shadow: none !important;
        }

        textarea.form-control{
            min-height: 150px;
            resize: vertical;
        }

        .ayuda{
            display: block;
            margin-top: 6px;
            color: #6c7c8d;
            font-size: 13px;
            line-height: 1.6;
        }

        .wizard-footer{
            border-top: 1px solid #e4ebf2;
            padding: 22px 32px;
            background: #fafcff;
        }

        .btn-wizard{
            background: #0066FF;
            border: 1px solid #0066FF;
            color: #fff;
            padding: 12px 24px;
            font-weight: bold;
        }

        .btn-wizard:hover{
            background: #0055d4;
            border-color: #0055d4;
            color: #fff;
        }

        .btn-light2{
            background: #fff;
            border: 1px solid #ccd6e0;
            color: #334455;
            padding: 12px 24px;
            font-weight: bold;
            text-decoration: none;
            display: inline-block;
        }

        .btn-light2:hover{
            text-decoration: none;
            color: #22303c;
            background: #f7f9fc;
        }

        .alert{
            border-radius: 0 !important;
        }

        .hidden-block{
            display: none;
        }

        @media (max-width: 767px){
            .wizard-head,
            .wizard-progress,
            .wizard-body,
            .wizard-footer{
                padding: 20px;
            }

            .wizard-head h1{
                font-size: 25px;
            }
        }
    </style>

    <script type="text/javascript">
        function ventanaSecundaria(URL){
            window.open(URL, "ventana1", "width=550,height=450,scrollbars=NO");
        }

        function ventanaSecundaria56(URL){
            window.open(URL, "ventana1", "width=960,height=630,scrollbars=NO");
        }

        function actualizarCamposTipo() {
            var tipo = document.getElementById('tipo').value;

            document.getElementById('bloque_link').style.display = 'none';
            document.getElementById('bloque_noticias').style.display = 'none';
            document.getElementById('bloque_seccion').style.display = 'none';
            document.getElementById('bloque_precargado').style.display = 'none';

            if (tipo === 'link') {
                document.getElementById('bloque_link').style.display = 'block';
            } else if (tipo === 'noticias') {
                document.getElementById('bloque_noticias').style.display = 'block';
            } else if (tipo === 'seccion') {
                document.getElementById('bloque_seccion').style.display = 'block';
            } else if (tipo === 'precargado') {
                document.getElementById('bloque_precargado').style.display = 'block';
            }
        }

        window.onload = function() {
            actualizarCamposTipo();
            if (window.CKEDITOR && document.getElementById('link_seccion')) {
                try {
                    CKEDITOR.replace('link_seccion');
                } catch(e) {}
            }
        };
    </script>
</head>
<body>

<?php
if ($usa_estilo_especial) {
    include 'menu_estilo9.php';
} else {
    if ($tour != 1) {
        echo '<div class="container" style="background-color:#F1F2ED;">';
        include 'menu.php';
        echo '</div>';
    }
}
?>

<div class="wizard-wrap">
    <div class="wizard-card">

        <div class="wizard-head">
            <h1>Asistente inicial del portal</h1>
            <p>
                En este paso podés armar el menú principal del sitio. Vas a poder agregar botones,
                crear subbotones y eliminar los que no quieras mostrar.
            </p>
        </div>

        <div class="wizard-progress">
            <strong>Paso 6 de 8:</strong> Menú principal del portal
        </div>

        <div class="wizard-body">

            <?php if ($status != '') { ?>
                <div class="alert alert-<?php echo $status_tipo === 'success' ? 'success' : 'danger'; ?>">
                    <?php echo e($status); ?>
                </div>
            <?php } ?>

            <div class="bloque-info">
                Acá definís los botones del menú superior. Podés crear botones sin vínculo, botones que lleven
                a noticias por categoría, secciones con contenido propio, links externos y botones precargados del sistema.
            </div>

            <div class="card-bloque">
                <div class="card-bloque-header">
                    <h3>Botones actuales del menú</h3>
                </div>
                <div class="card-bloque-body">

                    <?php
                    $sql = "SELECT * FROM menu WHERE IDsub = 0 ORDER BY CAST(ID AS UNSIGNED), ID";
                    $consulta = $conn->query($sql);

                    if ($consulta instanceof mysqli_result && $consulta->num_rows > 0) {
                        while ($row = $consulta->fetch_assoc()) {
                            $ID = $row['ID'];
                            $nombre = $row['nombre'];
                            $tipo = $row['tipo'];
                            $link = $row['link'];
                            ?>
                            <div class="menu-item">
                                <div class="menu-item-top">
                                    <strong><?php echo e($nombre); ?></strong>
                                    <div class="menu-meta">
                                        ID: <?php echo e($ID); ?> |
                                        Tipo: <?php echo e($tipo); ?>
                                        <?php if ($link != '') { ?>
                                            | Link / contenido cargado
                                        <?php } ?>
                                    </div>

                                    <div class="menu-actions">
                                        <form method="post" action="wizard.6.php?tour=1" style="display:inline-block; margin-right:8px;">
                                            <input type="hidden" name="accion" value="eliminar">
                                            <input type="hidden" name="ID" value="<?php echo e($ID); ?>">
                                            <button type="submit" class="btn btn-outline-danger btn-sm">Eliminar</button>
                                        </form>

                                        <a class="btn btn-outline-primary btn-sm" href="wizard.6.php?tour=1&IDsub=<?php echo urlencode($ID); ?>">Agregar subbotón</a>

                                        <a class="btn btn-outline-secondary btn-sm" href="cambiar_lugar_boton_menu.php?ID=<?php echo urlencode($ID); ?>">Mover / editar lugar</a>
                                    </div>
                                </div>

                                <?php
                                $sql4 = "SELECT * FROM menu WHERE IDsub = '" . $conn->real_escape_string($ID) . "' ORDER BY CAST(ID AS UNSIGNED), ID";
                                $consulta4 = $conn->query($sql4);
                                if ($consulta4 instanceof mysqli_result && $consulta4->num_rows > 0) {
                                    echo '<div class="submenu-box">';
                                    while ($row4 = $consulta4->fetch_assoc()) {
                                        $IDsubitem = $row4['ID'];
                                        $nombresub = $row4['nombre'];
                                        $tiposub = $row4['tipo'];
                                        ?>
                                        <div class="submenu-item">
                                            <strong><?php echo e($nombresub); ?></strong>
                                            <div class="submenu-meta">
                                                ID: <?php echo e($IDsubitem); ?> | Tipo: <?php echo e($tiposub); ?>
                                            </div>

                                            <div class="mt-2">
                                                <form method="post" action="wizard.6.php?tour=1" style="display:inline-block; margin-right:8px;">
                                                    <input type="hidden" name="accion" value="eliminar">
                                                    <input type="hidden" name="ID" value="<?php echo e($IDsubitem); ?>">
                                                    <button type="submit" class="btn btn-outline-danger btn-sm">Eliminar</button>
                                                </form>

                                                <?php if ($tiposub === 'seccion') { ?>
                                                    <a class="btn btn-outline-primary btn-sm" href="actualizar_seccion.php?menu=<?php echo urlencode($IDsubitem); ?>">Actualizar sección</a>
                                                <?php } ?>

                                                <a class="btn btn-outline-secondary btn-sm" href="cambiar_lugar_boton_menu.php?ID=<?php echo urlencode($IDsubitem); ?>">Mover / editar lugar</a>
                                            </div>
                                        </div>
                                        <?php
                                    }
                                    echo '</div>';
                                }
                                if ($consulta4 instanceof mysqli_result) {
                                    $consulta4->free();
                                }
                                ?>
                            </div>
                            <?php
                        }
                        $consulta->free();
                    } else {
                        echo '<div class="alert alert-secondary mb-0">Todavía no hay botones cargados en el menú.</div>';
                    }
                    ?>

                </div>
            </div>

            <div class="card-bloque">
                <div class="card-bloque-header">
                    <h3><?php echo $idsub_form > 0 ? 'Agregar subbotón' : 'Agregar nuevo botón principal'; ?></h3>
                </div>
                <div class="card-bloque-body">

                    <form method="post" action="wizard.6.php?tour=1">
                        <input type="hidden" name="accion" value="agregar">
                        <input type="hidden" name="IDsub" value="<?php echo e($idsub_form); ?>">

                        <?php if ($idsub_form > 0) { ?>
                            <div class="alert alert-info">
                                Estás agregando un subbotón dentro del botón padre ID <?php echo e($idsub_form); ?>.
                            </div>
                        <?php } ?>

                        <div class="form-group">
                            <label for="titulo">Nombre del botón</label>
                            <input name="titulo" type="text" class="form-control" id="titulo" value="<?php echo e($titulo_form); ?>">
                            <span class="ayuda">Ejemplo: Inicio, Noticias, Deportes, Contacto, Programación.</span>
                        </div>

                        <div class="form-group">
                            <label for="tipo">Tipo de botón</label>
                            <select name="tipo" class="form-control" id="tipo" onchange="actualizarCamposTipo()">
                                <option value="">Elegir tipo</option>
                                <option value="sin_vinculo" <?php echo ($tipo_form === 'sin_vinculo' ? 'selected' : ''); ?>>Botón sin vínculo</option>
                                <option value="noticias" <?php echo ($tipo_form === 'noticias' ? 'selected' : ''); ?>>Noticias</option>
                                <option value="seccion" <?php echo ($tipo_form === 'seccion' ? 'selected' : ''); ?>>Sección</option>
                                <option value="link" <?php echo ($tipo_form === 'link' ? 'selected' : ''); ?>>Link</option>
                                <option value="precargado" <?php echo ($tipo_form === 'precargado' ? 'selected' : ''); ?>>Precargado</option>
                            </select>
                            <span class="ayuda">
                                Sin vínculo crea solo el texto del botón. Noticias enlaza a una categoría.
                                Sección crea contenido propio. Link permite una URL externa o interna.
                                Precargado usa páginas ya existentes del sistema.
                            </span>
                        </div>

                        <div id="bloque_noticias" class="hidden-block">
                            <div class="form-group">
                                <label for="link_noticias">Categoría para noticias</label>
                                <select name="link" class="form-control" id="link_noticias">
                                    <option value="">Elegir categoría</option>
                                    <?php foreach ($categorias as $cat) { ?>
                                        <option value="<?php echo e($cat['ID']); ?>" <?php echo ($tipo_form === 'noticias' && $link_form == $cat['ID'] ? 'selected' : ''); ?>>
                                            <?php echo e($cat['nombre']); ?>
                                        </option>
                                    <?php } ?>
                                </select>
                            </div>
                        </div>

                        <div id="bloque_link" class="hidden-block">
                            <div class="form-group">
                                <label for="link_directo">URL del enlace</label>
                                <input name="link" type="text" class="form-control" id="link_directo" value="<?php echo ($tipo_form === 'link' ? e($link_form) : 'http://www.'); ?>">
                                <span class="ayuda">Ejemplo: https://tusitio.com/seccion o https://www.otrodominio.com</span>
                            </div>
                        </div>

                        <div id="bloque_precargado" class="hidden-block">
                            <div class="form-group">
                                <label for="link_precargado">Página precargada</label>
                                <select name="link" class="form-control" id="link_precargado">
                                    <option value="">Elegir opción</option>
                                    <?php foreach ($opciones_precargadas as $valor => $texto) { ?>
                                        <option value="<?php echo e($valor); ?>" <?php echo ($tipo_form === 'precargado' && $link_form === $valor ? 'selected' : ''); ?>>
                                            <?php echo e($texto); ?>
                                        </option>
                                    <?php } ?>
                                </select>
                            </div>
                        </div>

                        <div id="bloque_seccion" class="hidden-block">
                            <div class="form-group">
                                <label for="link_seccion">Contenido de la sección</label>
                                <textarea name="link" class="form-control" id="link_seccion"><?php echo ($tipo_form === 'seccion' ? e($link_form) : ''); ?></textarea>
                                <span class="ayuda">Acá podés cargar el contenido que se verá en esa sección.</span>
                            </div>
                        </div>

                        <div class="mt-3">
                            <button type="submit" class="btn btn-wizard">Guardar botón</button>
                            <?php if ($mostrar_form) { ?>
                                <a href="wizard.6.php?tour=1" class="btn btn-light2 ml-2">Cancelar</a>
                            <?php } ?>
                        </div>
                    </form>

                </div>
            </div>

        </div>

        <div class="wizard-footer">
            <div class="d-flex justify-content-between align-items-center flex-wrap">
                <div>
                    <a href="wizard.5.php" class="btn-light2">Volver al paso 5</a>
                    <a href="index.php" class="btn-light2 ml-2">Salir del wizard</a>
                </div>

                <div>
                    <a href="wizard.7.php" class="btn btn-wizard ml-2">Ir al paso 7</a>
                </div>
            </div>
        </div>

    </div>
</div>

</body>
</html>