<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DIMARK Brain · Configuración inicial</title>
<link href="https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700&family=DM+Sans:wght@300;400;500&display=swap" rel="stylesheet">
<style>
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--red:#E8272A;--bg:#0f0f0f;--bg2:#181818;--bg3:#222;--border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.14);--text:#f0f0f0;--muted:rgba(240,240,240,.45);--green:#22c97a;--yellow:#f5c543;--fh:'Syne',sans-serif;--fb:'DM Sans',sans-serif}
html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--fb);font-size:14px}
body{display:flex;align-items:flex-start;justify-content:center;padding:40px 20px}
.wrap{width:100%;max-width:500px}
.logo{display:flex;align-items:center;gap:11px;margin-bottom:32px}
.logo-mark{width:38px;height:38px;background:var(--red);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:17px;color:#fff}
.logo-name{font-family:var(--fh);font-weight:700;font-size:19px}
.logo-sub{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--red)}
h1{font-family:var(--fh);font-size:20px;font-weight:700;margin-bottom:4px}
.sub{font-size:13px;color:var(--muted);margin-bottom:24px}
.step-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:22px;margin-bottom:14px}
.step-hd{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.step-n{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;font-family:var(--fh);flex-shrink:0}
.step-title{font-family:var(--fh);font-size:14px;font-weight:600}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}
.field label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}
.field input{background:var(--bg3);border:1px solid var(--border2);border-radius:7px;padding:8px 11px;font-size:13px;color:var(--text);font-family:var(--fb);outline:none;width:100%}
.field input:focus{border-color:rgba(232,39,42,.5)}
.hint{font-size:11px;color:var(--muted);margin-top:3px}
.btn{padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer;font-family:var(--fb);transition:opacity .15s;width:100%;margin-top:4px}
.btn-primary{background:var(--red);border:none;color:#fff}
.btn-primary:hover{opacity:.87}
.alert{padding:10px 13px;border-radius:8px;font-size:13px;margin-bottom:14px}
.alert-ok{background:rgba(34,201,122,.1);border:1px solid rgba(34,201,122,.25);color:var(--green)}
.alert-err{background:rgba(232,39,42,.1);border:1px solid rgba(232,39,42,.25);color:#f87171}
.alert-warn{background:rgba(245,197,67,.1);border:1px solid rgba(245,197,67,.25);color:var(--yellow)}
code{background:rgba(255,255,255,.07);padding:1px 6px;border-radius:3px;font-size:12px;font-family:monospace}
</style>
</head>
<body>
<?php
// setup.php — Asistente de instalación inicial
// Solo ejecutar una vez para configurar DB y crear config.php

$msg = ''; $msgType = '';
$step = 1;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $dbhost = trim($_POST['db_host'] ?? 'localhost');
    $dbname = trim($_POST['db_name'] ?? '');
    $dbuser = trim($_POST['db_user'] ?? '');
    $dbpass = trim($_POST['db_pass'] ?? '');

    if (!$dbname || !$dbuser) {
        $msg = 'Nombre de base de datos y usuario son obligatorios.'; $msgType = 'err';
    } else {
        // Probar conexión
        try {
            $testPdo = new PDO("mysql:host={$dbhost};dbname={$dbname};charset=utf8mb4", $dbuser, $dbpass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

            // Escribir config.php
            $configContent = "<?php\n// DIMARK Brain — Configuración generada por setup.php\n// No subir a repositorios públicos\n\n";
            $configContent .= "define('DB_HOST', '" . addslashes($dbhost) . "');\n";
            $configContent .= "define('DB_NAME', '" . addslashes($dbname) . "');\n";
            $configContent .= "define('DB_USER', '" . addslashes($dbuser) . "');\n";
            $configContent .= "define('DB_PASS', '" . addslashes($dbpass) . "');\n";
            $configContent .= "\n// APIs (se actualizan desde ⚙ Configurar APIs)\n";
            $configContent .= "// define('CLAUDE_API_KEY', 'sk-ant-...');\n";
            $configContent .= "// define('META_TOKEN', '');\n";
            $configContent .= "// define('GOOGLE_DEV_TOKEN', '');\n";

            if (file_put_contents(__DIR__ . '/config.php', $configContent) === false) {
                $msg = 'No se pudo escribir config.php. Verifica permisos (chmod 755 en la carpeta).';
                $msgType = 'err';
            } else {
                // Ejecutar SQL de instalación
                $sql = file_get_contents(__DIR__ . '/install.sql');
                // Separar statements y ejecutar uno a uno
                $statements = array_filter(array_map('trim', explode(';', $sql)));
                $errors = [];
                foreach ($statements as $stmt) {
                    if (empty($stmt) || str_starts_with($stmt, '--')) continue;
                    try { $testPdo->exec($stmt); } catch (PDOException $e) {
                        // Ignorar errores de IF NOT EXISTS y otros benignos
                        if (!str_contains($e->getMessage(), 'already exists')) {
                            $errors[] = $e->getMessage();
                        }
                    }
                }
                $msg = empty($errors)
                    ? '¡Instalación completada! Ahora puedes iniciar sesión.'
                    : 'Config guardada con advertencias: ' . implode(' | ', array_slice($errors, 0, 2));
                $msgType = empty($errors) ? 'ok' : 'warn';
                $step = 2;
            }
        } catch (PDOException $e) {
            $msg = 'No se pudo conectar a MySQL: ' . $e->getMessage();
            $msgType = 'err';
        }
    }
}
?>

<div class="wrap">
  <div class="logo">
    <div class="logo-mark">D</div>
    <div><div class="logo-name">DIMARK</div><div class="logo-sub">Super Cerebro · Setup</div></div>
  </div>

  <h1>Configuración inicial</h1>
  <p class="sub">Ejecuta esto una sola vez para conectar la base de datos</p>

  <?php if ($msg): ?>
  <div class="alert alert-<?= $msgType ?>"><?= htmlspecialchars($msg) ?>
    <?php if ($msgType === 'ok'): ?><br><br>
      <a href="login.php" style="color:var(--green);font-weight:500">→ Ir al login ahora</a>
    <?php endif ?>
  </div>
  <?php endif ?>

  <?php if ($step < 2): ?>

  <div class="step-card">
    <div class="step-hd">
      <div class="step-n" style="background:rgba(74,158,248,.15);color:#4a9ef8">1</div>
      <div class="step-title">Datos de MySQL (cPanel)</div>
    </div>
    <div class="alert alert-warn" style="margin-bottom:14px;font-size:12px">
      Crea primero la base de datos en <strong>cPanel → MySQL Databases</strong>.<br>
      Luego crea un usuario MySQL y asígnale todos los permisos a esa DB.
    </div>
    <form method="POST">
      <div class="field"><label>Host</label><input type="text" name="db_host" value="localhost" required><div class="hint">Casi siempre es <code>localhost</code> en cPanel</div></div>
      <div class="field"><label>Nombre de la base de datos</label><input type="text" name="db_name" placeholder="usuario_dimarkbrain" required><div class="hint">En cPanel el formato es <code>usuario_nombre</code></div></div>
      <div class="field"><label>Usuario MySQL</label><input type="text" name="db_user" placeholder="usuario_dbuser" required></div>
      <div class="field"><label>Contraseña MySQL</label><input type="password" name="db_pass" placeholder="Contraseña del usuario MySQL"></div>
      <button type="submit" class="btn btn-primary">Instalar y conectar</button>
    </form>
  </div>

  <div class="step-card" style="opacity:.6">
    <div class="step-hd">
      <div class="step-n" style="background:rgba(255,255,255,.07);color:var(--muted)">2</div>
      <div class="step-title" style="color:var(--muted)">Listo — inicia sesión</div>
    </div>
    <p style="font-size:13px;color:var(--muted)">Email: <code>admin@dimark.co</code> · Contraseña: <code>dimark2025</code></p>
  </div>

  <?php else: ?>

  <div class="step-card">
    <div class="step-hd">
      <div class="step-n" style="background:rgba(34,201,122,.15);color:var(--green)">✓</div>
      <div class="step-title">Instalación completada</div>
    </div>
    <p style="font-size:13px;color:var(--muted);margin-bottom:14px">Próximos pasos:</p>
    <ol style="font-size:13px;color:var(--muted);padding-left:18px;line-height:2">
      <li>Inicia sesión con <code>admin@dimark.co</code> / <code>dimark2025</code></li>
      <li>Cambia la contraseña desde el panel de usuarios</li>
      <li>Configura las APIs en <strong>⚙ Configurar APIs</strong></li>
      <li>Crea los usuarios de tus clientes en <strong>Usuarios → Nuevo usuario</strong></li>
    </ol>
    <a href="login.php" style="display:block;margin-top:16px;padding:10px;background:var(--red);border-radius:8px;color:#fff;text-align:center;text-decoration:none;font-weight:500">Ir al login →</a>
  </div>

  <?php endif ?>
</div>
</body>
</html>
