<?php
// processar_edicao.php - VERSÃO SEM UPLOAD DE ARQUIVOS

if (session_status() == PHP_SESSION_NONE) { session_start(); }
require_once 'conexao.php';
require_once 'env.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header("Location: login.php");
    exit;
}

if (!isset($_SESSION['id']) || ($_SESSION['role'] ?? '') !== 'Candidatos') {
    header("Location: login.php");
    exit();
}

if (!isset($_POST['csrf_token']) || !isset($_SESSION['csrf_token']) || !hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'])) {
    die("Erro de segurança.");
}

$id_cand_form = (int)($_POST['id'] ?? 0);
if ($id_cand_form !== (int)$_SESSION['id']) {
    die("Acesso negado.");
}

$nome               = trim($_POST['nome'] ?? '');
$email              = trim($_POST['email'] ?? '');
$login              = trim($_POST['login'] ?? '');
$cidade             = trim($_POST['cidade'] ?? '');
$estado             = trim($_POST['estado'] ?? '');
$celular            = preg_replace('/\D/', '', trim($_POST['celular'] ?? ''));
$segmento           = trim($_POST['segmento'] ?? ''); 
$cargo_pretendido   = trim($_POST['cargo_pretendido'] ?? '');
$modelo_contratacao = trim($_POST['modelo_contratacao'] ?? '');
$pcd                = (trim($_POST['pcd'] ?? '') === 'Sim') ? 'Sim' : 'Não';
$link_selflix       = trim($_POST['link_selflix'] ?? '');
$salario_pretendido = trim($_POST['salario_pretendido'] ?? '');

try {
    $pdo->beginTransaction();

    $campos = [
        'nome' => $nome, 'email' => $email, 'login' => $login,
        'cidade' => $cidade, 'estado' => $estado, 'celular' => $celular,
        'segmento' => $segmento, 'cargo_pretendido' => $cargo_pretendido,
        'modelo_contratacao' => $modelo_contratacao, 'pcd' => $pcd,
        'link_selflix' => $link_selflix ?: null, 'salario_pretendido' => $salario_pretendido,
        'id' => $id_cand_form
    ];

    $sql_set = "nome=:nome, email=:email, login=:login, cidade=:cidade, estado=:estado, celular=:celular, segmento=:segmento, cargo_pretendido=:cargo_pretendido, modelo_contratacao=:modelo_contratacao, pcd=:pcd, link_selflix=:link_selflix, salario_pretendido=:salario_pretendido";

    if (!empty(trim($_POST['senha'] ?? ''))) {
        $sql_set .= ", senha=:senha";
        $campos['senha'] = password_hash(trim($_POST['senha']), PASSWORD_DEFAULT);
    }

    $pdo->prepare("UPDATE Candidatos SET $sql_set WHERE id=:id")->execute($campos);

    $pdo->commit();
    $_SESSION['sucesso_edicao'] = true;
    header("Location: editar_cadastro.php");
    exit();

} catch (Exception $e) {
    if ($pdo->inTransaction()) $pdo->rollBack();
    $_SESSION['mensagem'] = "Erro ao salvar: " . $e->getMessage();
    $_SESSION['tipo_mensagem'] = "danger";
    header("Location: editar_cadastro.php");
    exit();
}