<?php
// Inicia a sessão (se necessário)
session_start();

// Conexão com o banco de dados
$host = 'localhost';  // Altere se necessário
$dbname = 'somacriativa_selflixvagas';  // Substitua pelo nome do seu banco de dados 
$username = 'somacriativa_heitorsalgueiro';  // Substitua pelo seu nome de usuário do banco de dados 
$password = '@H25b2c18';  // Substitua pela sua senha do banco de dados 

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "Erro na conexão: " . $e->getMessage();
    exit;
}

// Verifica se o formulário foi enviado
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Recupera os dados do formulário
    $nome_candidato = $_POST['nome_candidato'];  // Alterado de nome_empresa para nome_candidato
    $email = $_POST['email'];
    $senha = password_hash($_POST['senha'], PASSWORD_DEFAULT);  // Criptografa a senha
    $cidade = $_POST['cidade'];
    $estado = $_POST['estado'];
    $celular = $_POST['celular'];
    $tipo_vaga = $_POST['tipo_vaga'];
    $cargo_pretendido = $_POST['cargo'];  // Correção para o campo correto
    $selflix = isset($_POST['selflix']) ? $_POST['selflix'] : null;
    $salario = $_POST['salario'];
    $aceita_email = $_POST['aceita_email'];
    
    // Lida com o upload do currículo
    $curriculo = null;
    if (isset($_FILES['curriculo']) && $_FILES['curriculo']['error'] === UPLOAD_ERR_OK) {
        $curriculo = file_get_contents($_FILES['curriculo']['tmp_name']);
    }
    
    // Prepara a consulta SQL (alterado nome_empresa para nome_candidato)
    $sql = "INSERT INTO candidatos (nome_candidato, email, senha, cidade, estado, celular, tipo_vaga, cargo_pretendido, selflix, salario, aceita_email, curriculo)
            VALUES (:nome_candidato, :email, :senha, :cidade, :estado, :celular, :tipo_vaga, :cargo_pretendido, :selflix, :salario, :aceita_email, :curriculo)";
    
    $stmt = $pdo->prepare($sql);
    
    // Executa a consulta
    $stmt->execute([
        ':nome_candidato' => $nome_candidato,  // Alterado de nome_empresa para nome_candidato
        ':email' => $email,
        ':senha' => $senha,
        ':cidade' => $cidade,
        ':estado' => $estado,
        ':celular' => $celular,
        ':tipo_vaga' => $tipo_vaga,
        ':cargo_pretendido' => $cargo_pretendido,
        ':selflix' => $selflix,
        ':salario' => $salario,
        ':aceita_email' => $aceita_email,
        ':curriculo' => $curriculo
    ]);

    echo "Cadastro realizado com sucesso!";
}

// Rastrear o acesso
if (isset($_SESSION['id']) && isset($_SESSION['role'])) {
    $usuario_id = $_SESSION['id'];
    
    // Converter o role para o tipo aceito pelo enum
    if ($_SESSION['role'] === 'Empresas') {
        $tipo_usuario = 'empresa';
    } else if ($_SESSION['role'] === 'Candidatos') {
        $tipo_usuario = 'candidato';
    } else if ($_SESSION['role'] === 'Administradores') {
        // Como administradores não têm um tipo específico no enum,
        // podemos optar por registrá-los como um dos tipos existentes
        $tipo_usuario = 'empresa'; // ou 'candidato', dependendo da sua preferência
    } else {
        // Caso padrão
        $tipo_usuario = 'candidato';
    }
    
    $pagina_acessada = $_SERVER['REQUEST_URI'];
    
    // Preparar a consulta para registrar o acesso
    $sql_inserir = "INSERT INTO historico_acessos (usuario_id, tipo_usuario, pagina_acessada, data_acesso) 
                    VALUES (?, ?, ?, NOW())";
    $stmt = $conn->prepare($sql_inserir);
    $stmt->bind_param('iss', $usuario_id, $tipo_usuario, $pagina_acessada);
    $stmt->execute();
}
?>
