<?php

// Configurar cabeceras CORS
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Authorization");

// Manejar la solicitud OPTIONS para preflight
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    http_response_code(204);
    exit;
}

$documentRoot = $_SERVER['DOCUMENT_ROOT'];

/*session_start();
if (!isset($_SESSION["admin"])) {
    header("Location: ./gusuario.html");
    exit;
}*/

$archivo = $documentRoot . "/admin/usuarios.json";
$datos = json_decode(file_get_contents($archivo), true);

if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $accion = $_POST["accion"];
    $username = trim($_POST["username"]);
    $password = isset($_POST["password"]) ? trim($_POST["password"]) : "";

    switch ($accion) {
        case "add":
            foreach ($datos["usuarios"] as $u) {
                if ($u["username"] === $username) {
                    die("❌ El usuario ya existe. <a href='/admin/usuario.php'>Volver</a>");
                    break;
                }
            }
            $hash = password_hash($password, PASSWORD_DEFAULT);
            $datos["usuarios"][] = ["username" => $username, "password" => $hash];
            break;
        case "edit":
            $encontrado = false;
            foreach ($datos["usuarios"] as &$u) {
                if ($u["username"] === $username) {
                    $u["password"] = password_hash($password, PASSWORD_DEFAULT);
                    $encontrado = true;
                }
            }
            if (!$encontrado) die("❌ Usuario no encontrado. <a href='/admin/usuario.php'>Volver</a>");
            break;

        case "delete":
            $encontrado = false;
            foreach ($datos["usuarios"] as &$u) {
                if ($u["username"] === $username) {
                    $u["password"] = password_hash($password, PASSWORD_DEFAULT);
                    $encontrado = true;
                }
            }
            if (!$encontrado) {
                die("❌ Usuario no encontrado. <a href='/admin/usuario.php'>Volver</a>");
                break;
            } else
            {
                $datos["usuarios"] = array_filter($datos["usuarios"], function($u) use ($username) {
                    return $u["username"] !== $username;
                });
                $datos["usuarios"] = array_values($datos["usuarios"]); // Reindexar
                break;
            }
        default:
            die("Acción no válida");
    }

    file_put_contents($archivo, json_encode($datos, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
    die("✅ Operación realizada. <a href='/admin/usuario.php'>Volver</a>");
}
?>

<!DOCTYPE html>
<html lang="ES">
<title>usuario</title>

<head>
    <meta charset="UTF-8">
    <meta name="description" content="Autor: Jose Manuel Abecia Buil">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, viewport-fit=cover, maximum-scale=1.0, user-scalable=no">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">


    <link rel="shortcut icon" type="image/x-icon" href="../favicon.ico">
    <!--<script language="javascript" type="text/javascript" src="./js/indexpdf.js"></script>-->

    <link rel="stylesheet" href="../css/styleNew.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
    <script src="../js/scriptNew.js"></script>

    <style>

        .center {
            display: block;
            margin-left: auto;
            margin-right: auto;
            width: 100%;
        }

        .formLogs {
            padding: 20px;
            overflow: auto;
            display: flex;
            flex-direction: column;
            width: 100%;
            border: 0px solid gainsboro;
            justify-content: left;
            align-items: left;
            height: 80vh;
            margin: 2;
            font-family: Arial, sans-serif;
            background-color: white;
        }
    </style>
</head>

<body>
    <header class="header" id="idHeader">
        <ul>
            <button class="menu-button2">
                <img src="../iconos/64_pefirhor.png" alt="PEFiR">
            </button>
            <li class="menu-item"></li>
            <button class="menu-button3">
                <i class="fas fa-right-to-bracket fa-lg" onclick="window.open('../app/home.html', '_self');"></i>
            </button>
        </ul>
    </header>

    <div class="formLogs">
        <!--<h2>Gestión de usuarios</h2>-->

        <!-- Añadir usuario -->
        <form action="/admin/usuario.php" method="post">
            <h3>Añadir usuario</h3>
            <input type="hidden" name="accion" value="add">
            Usuario: <input type="text" name="username" required>
            Contraseña: <input type="password" name="password" required>
            <button type="submit">Añadir</button>
        </form>
        <hr>

        <!-- Modificar usuario -->
        <form action="/admin/usuario.php" method="post">
            <h3>Modificar usuario</h3>
            <input type="hidden" name="accion" value="edit">
            Usuario: <input type="text" name="username" required>
            Contraseña: <input type="password" name="password" required>
            <button type="submit">Modificar</button>
        </form>
        <hr>

        <!-- Eliminar usuario -->
        <form action="/admin/usuario.php" method="post">
            <h3>Eliminar usuario</h3>
            <input type="hidden" name="accion" value="delete">
            Usuario: <input type="text" name="username" required>
            <button type="submit">Eliminar</button>
        </form>
        <hr>
    </div>
    <footer class="footer">
        <ul>
            <!--<li><a href="#" class="fas fa-table-cells fa-lg" onclick="creaExcel()"></a>
            </li>

            <li id="deleteId" style="display: none;"><a href="#" class="fas fa-eraser fa-lg"
                    onclick="deleteRecord()"></a>
            </li>
            <li id="cleanId" style="display: none;"><a href="#" class="fas fa-trash-can fa-lg"
                    onclick="cleanLogsButtonAllia()"></a>
            </li>-->

        </ul>
    </footer>

    <!-- Icono de ayuda -->
    <div class="help-icon" id="helpButton">?</div>

    <div class="tooltip" id="helpTooltip">
        <!-- Imagen del icono y texto -->
        <p><span class="icon"><i class="fas fa-right-to-bracket fa-lg"></i></span> Navega hacia atrás</p>
    </div>

    <script>
        // Función para mostrar y ocultar el tooltip
        document.getElementById("helpButton").addEventListener("click", function () {
            let tooltip = document.getElementById("helpTooltip");
            tooltip.style.display = (tooltip.style.display === "block") ? "none" : "block";
        });

        // Cierra el tooltip si se hace clic fuera de él
        document.addEventListener("click", function (event) {
            let tooltip = document.getElementById("helpTooltip");
            let helpButton = document.getElementById("helpButton");
            if (!helpButton.contains(event.target) && !tooltip.contains(event.target)) {
                tooltip.style.display = "none";
            }
        });
    </script>
</body>

</html>
