<?php
// Inclui o arquivo de conexão PDO.
require_once 'conexao.php';

// Define o caminho absoluto da pasta raiz do seu site (public_html).
// Este é o único caminho que você precisa ajustar.
const CAMINHO_RAIZ_DO_SITE = '/home/vagas.selflix/public_html/';

if (!$pdo) {
    die("Erro: Não foi possível conectar ao banco de dados.");
}

echo "Iniciando a limpeza de currículos no banco de dados...\n\n";

try {
    // Seleciona todos os candidatos com uma referência de currículo.
    $stmt_select = $pdo->query("SELECT id, curriculo FROM Candidatos WHERE curriculo IS NOT NULL AND curriculo != ''");
    $candidatos_com_curriculo = $stmt_select->fetchAll(PDO::FETCH_ASSOC);

    if (count($candidatos_com_curriculo) === 0) {
        echo "Nenhum currículo para verificar. A base de dados já está limpa.\n";
        exit;
    }

    echo "Encontrados " . count($candidatos_com_curriculo) . " registros para verificação.\n";

    $curriculos_removidos = 0;

    // Itera sobre cada registro para verificar a existência do arquivo.
    foreach ($candidatos_com_curriculo as $candidato) {
        $id_candidato = $candidato['id'];
        $caminho_salvo = $candidato['curriculo'];

        // Constrói o caminho completo do arquivo usando o caminho da raiz do site.
        $caminho_completo = CAMINHO_RAIZ_DO_SITE . $caminho_salvo;

        // Verifica se o arquivo existe no servidor.
        if (!file_exists($caminho_completo)) {
            // Se o arquivo não existe, atualiza o registro para NULL.
            $stmt_update = $pdo->prepare("UPDATE Candidatos SET curriculo = NULL WHERE id = ?");
            $stmt_update->execute([$id_candidato]);

            $curriculos_removidos++;
            echo "ID: {$id_candidato} -> Referência '{$caminho_salvo}' não encontrada. Campo atualizado para NULL.\n";
        }
    }

    echo "\nProcesso concluído!\n";
    echo "Total de currículos com campos limpos: {$curriculos_removidos}.\n";

} catch (PDOException $e) {
    die("Erro ao executar a operação de limpeza: " . $e->getMessage());
}