<?php
// Configuración
$activation_codes_dir = __DIR__ . '/api/playlist/activation_codes';
$used_codes_dir = __DIR__ . '/api/playlist/used_codes';

// Crear directorios si no existen
foreach ([$activation_codes_dir, $used_codes_dir] as $dir) {
    if (!is_dir($dir)) {
        mkdir($dir, 0777, true);
    }
}

// Función para generar código de 8 dígitos
function generateActivationCode() {
    $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $code = '';
    for ($i = 0; $i < 8; $i++) {
        $code .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $code;
}

// Función para guardar código con credenciales
function saveActivationCode($code, $username, $password) {
    global $activation_codes_dir;
    
    $data = [
        'username' => $username,
        'password' => $password,
        'created_at' => time(),
        'used' => false,
        'code' => $code
    ];
    
    $file_path = $activation_codes_dir . '/' . $code . '.json';
    file_put_contents($file_path, json_encode($data, JSON_PRETTY_PRINT));
    
    return $file_path;
}

// Procesar generación de código
$error = '';
$success = '';
$generated_code = '';

if (isset($_POST['generate_code'])) {
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    
    if (empty($username) || empty($password)) {
        $error = "Usuario y contraseña son requeridos";
    } else {
        // Generar código único
        do {
            $code = generateActivationCode();
            $code_file = $activation_codes_dir . '/' . $code . '.json';
        } while (file_exists($code_file));
        
        // Guardar código
        saveActivationCode($code, $username, $password);
        $generated_code = $code;
        $success = "Código generado exitosamente";
    }
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Generador de Códigos de Activación</title>
    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Font Awesome -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        body {
            background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        .card {
            border: none;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        }
        .card-header {
            background: linear-gradient(135deg, #3494e6, #ec6ead);
            color: white;
            border-radius: 15px 15px 0 0 !important;
        }
        .btn-primary {
            background: linear-gradient(135deg, #3494e6, #ec6ead);
            border: none;
        }
        .btn-primary:hover {
            background: linear-gradient(135deg, #2c83d6, #e55a9e);
        }
        .activation-code-display {
            background: #f8f9fa;
            border-radius: 10px;
            padding: 20px;
            margin: 20px 0;
        }
        .logo-container {
            text-align: center;
            margin-bottom: 30px;
        }
        .logo {
            max-width: 200px;
            margin-bottom: 15px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-6">
                <div class="logo-container">
                    <!-- Logo -->
                    <div class="logo-placeholder bg-light rounded-circle d-inline-flex align-items-center justify-content-center" style="width: 100px; height: 100px;">
                        <i class="fas fa-key fa-2x text-primary"></i>
                    </div>
                    <h1 class="text-white mt-3">Generador de Códigos</h1>
                    <p class="text-light">Sistema para resellers</p>
                </div>
                
                <div class="card">
                    <div class="card-header text-center">
                        <h4 class="mb-0">Generar Nuevo Código de Activación</h4>
                    </div>
                    <div class="card-body">
                        <?php if ($error): ?>
                            <div class="alert alert-danger"><?php echo $error; ?></div>
                        <?php endif; ?>
                        
                        <?php if ($success): ?>
                            <div class="alert alert-success"><?php echo $success; ?></div>
                        <?php endif; ?>
                        
                        <form method="post">
                            <div class="mb-3">
                                <label class="form-label">Usuario</label>
                                <input type="text" name="username" class="form-control" placeholder="Nombre de usuario" required>
                            </div>
                            <div class="mb-3">
                                <label class="form-label">Contraseña</label>
                                <input type="text" name="password" class="form-control" placeholder="Contraseña" required>
                            </div>
                            <div class="d-grid">
                                <button type="submit" name="generate_code" class="btn btn-primary btn-lg">
                                    <i class="fa fa-key me-2"></i> Generar Código
                                </button>
                            </div>
                        </form>
                    </div>
                </div>
                
                <div class="text-center mt-4">
                    <p class="text-light">© <?php echo date('Y'); ?> Sistema de Generación de Códigos</p>
                </div>
            </div>
        </div>
    </div>

    <!-- Modal para mostrar código -->
    <div class="modal fade" id="codeModal" tabindex="-1" aria-labelledby="codeModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="codeModalLabel">Código de Activación Generado</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body text-center">
                    <p>Escanea el QR en la app y usa el siguiente código de activación para tu dispositivo. No cierres la pantalla de tu TV. La activación se realizará de manera automática en unos segundos.</p>
                    
                    <div class="activation-code-display mb-3">
                        <h2 id="modalCode" class="display-4 fw-bold text-primary"></h2>
                    </div>
                    
                    <div class="d-flex justify-content-center gap-2">
                        <button class="btn btn-primary" onclick="copyModalCode()">
                            <i class="fa fa-copy me-2"></i> Copiar Código
                        </button>
                        <a id="whatsappShare" href="#" class="btn btn-success" target="_blank">
                            <i class="fa fa-whatsapp me-2"></i> Compartir
                        </a>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cerrar</button>
                </div>
            </div>
        </div>
    </div>

    <!-- Bootstrap & jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    
    <script>
    // Copiar código al portapapeles
    function copyModalCode() {
        const code = document.getElementById('modalCode').textContent;
        navigator.clipboard.writeText(code).then(function() {
            alert('Código copiado: ' + code);
        }, function(err) {
            alert('Error al copiar: ', err);
        });
    }

    // Mostrar modal automáticamente si se generó un código
    <?php if ($generated_code): ?>
    document.addEventListener('DOMContentLoaded', function() {
        const code = '<?php echo $generated_code; ?>';
        document.getElementById('modalCode').textContent = code;

        // Preparar mensaje para WhatsApp
        const message = `¡Hola! 🌟 

Aquí tienes tu código de activación:

🔑 *CÓDIGO:* ${code}

📋 *INSTRUCCIONES:*
1️⃣ Escanea el código QR en la aplicación  
2️⃣ Ingresa el código de activación y pulsa *Activar*  
3️⃣ ¡No cierres la pantalla de tu TV! 📺  
4️⃣ La activación se realizará automáticamente en unos segundos ⏱️  

✅ *RECUERDA:* Este código es de un solo uso y es personal e intransferible.

¿Necesitas ayuda? 🤝 Contáctanos para soporte técnico.

¡Disfruta de nuestro servicio! 🎉`;

        const encodedMessage = encodeURIComponent(message);
        document.getElementById('whatsappShare').setAttribute('href', 'https://wa.me/?text=' + encodedMessage);

        // Mostrar modal
        const modal = new bootstrap.Modal(document.getElementById('codeModal'));
        modal.show();
    });
    <?php endif; ?>
    </script>
</body>
</html>
