<?php
/**
 * Script para corregir IDs de usuarios y agregar rrhh
 */

require_once __DIR__ . '/database.php';

try {
    $pdo = getDB();

    echo "=== CORRIGIENDO ESTRUCTURA DE USUARIOS ===\n\n";

    // Ver usuarios actuales
    echo "1. Usuarios existentes (antes):\n";
    $stmt = $pdo->query('SELECT id, username FROM usuarios ORDER BY id');
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo "   - ID: {$row['id']}, Username: {$row['username']}\n";
    }

    // Actualizar topico de ID 0 a ID 2
    echo "\n2. Actualizando ID de topico (0 → 2):\n";
    $pdo->exec("UPDATE usuarios SET id = 2 WHERE username = 'topico' AND id = 0");
    echo "   ✓ ID actualizado\n";

    // Configurar auto-increment
    echo "\n3. Configurando AUTO_INCREMENT:\n";
    $pdo->exec("ALTER TABLE usuarios AUTO_INCREMENT = 3");
    echo "   ✓ AUTO_INCREMENT configurado a 3\n";

    // Crear usuario rrhh
    echo "\n4. Creando usuario rrhh:\n";
    $username_rrhh = 'rrhh';
    $password_rrhh = password_hash('rrhh', PASSWORD_DEFAULT);

    // Verificar si ya existe
    $stmt = $pdo->prepare("SELECT COUNT(*) FROM usuarios WHERE username = ?");
    $stmt->execute([$username_rrhh]);

    if ($stmt->fetchColumn() > 0) {
        echo "   ✓ Usuario rrhh ya existe\n";
    } else {
        $stmt = $pdo->prepare("INSERT INTO usuarios (username, password) VALUES (?, ?)");
        $stmt->execute([$username_rrhh, $password_rrhh]);

        $new_id = $pdo->lastInsertId();
        echo "   ✓ Usuario rrhh creado exitosamente\n";
        echo "   - ID: $new_id\n";
        echo "   - Usuario: rrhh\n";
        echo "   - Contraseña: rrhh\n";
    }

    // Verificar todas las contraseñas
    echo "\n5. Verificando todas las contraseñas:\n";
    $usuarios = [
        ['username' => 'admin', 'password' => 'admin'],
        ['username' => 'topico', 'password' => 'topico'],
        ['username' => 'rrhh', 'password' => 'rrhh']
    ];

    foreach ($usuarios as $user) {
        $stmt = $pdo->prepare("SELECT password FROM usuarios WHERE username = ?");
        $stmt->execute([$user['username']]);
        $hash = $stmt->fetchColumn();
        if ($hash) {
            $verify = password_verify($user['password'], $hash);
            echo "   - {$user['username']}: " . ($verify ? "✓ OK" : "✗ FAIL") . "\n";
        } else {
            echo "   - {$user['username']}: ✗ NO EXISTE\n";
        }
    }

    echo "\n6. USUARIOS FINALES:\n";
    $stmt = $pdo->query('SELECT id, username FROM usuarios ORDER BY id');
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo "   - ID: {$row['id']}, Username: {$row['username']}\n";
    }

    echo "\n✅ Proceso completado exitosamente\n";

} catch (PDOException $e) {
    echo "✗ Error: " . $e->getMessage() . "\n";
    exit(1);
}
?>
