<?php
require_once __DIR__ . '/../includes/bootstrap.php';
requireLogin();

header('Content-Type: application/json; charset=utf-8');

function out($ok, $error = '') {
    echo json_encode(['ok' => (bool)$ok, 'error' => (string)$error], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    exit;
}

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    out(false, 'Method not allowed');
}

try {
    orphan_verify_csrf();
} catch (Throwable $e) {
    http_response_code(403);
    out(false, 'CSRF غير صالح أو انتهت الجلسة. أعد تحميل الصفحة.');
}

$id = (int)($_POST['id'] ?? 0);
if ($id <= 0) {
    http_response_code(400);
    out(false, 'معرّف الوثيقة غير صحيح.');
}

$doc_type = trim((string)($_POST['doc_type'] ?? ''));
$doc_side = trim((string)($_POST['doc_side'] ?? ''));
$title    = trim((string)($_POST['title'] ?? ''));
$is_shareable = (int)($_POST['is_shareable'] ?? 0);

$allowedTypes = ['id_card','birth_cert','father_death_cert','orphan_photo','other_docs'];
$allowedSides = ['front','back',''];

if (!in_array($doc_type, $allowedTypes, true) || !in_array($doc_side, $allowedSides, true)) {
    http_response_code(400);
    out(false, 'نوع الوثيقة/الجهة غير صحيح.');
}

if ($doc_type === 'id_card' && $doc_side === '') {
    http_response_code(400);
    out(false, 'الهوية تتطلب اختيار الجهة (وجه/ظهر).');
}

$st = $pdo->prepare("
    UPDATE beneficiary_documents
    SET doc_type=?,
        doc_side=?,
        title=?,
        is_shareable=?
    WHERE id=?
    LIMIT 1
");
$st->execute([
    $doc_type,
    ($doc_side !== '' ? $doc_side : null),
    ($title !== '' ? $title : null),
    ($is_shareable === 1 ? 1 : 0),
    $id
]);

out(true);