<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Origin: *");

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    echo json_encode(["success" => false, "error" => "Method not allowed"]);
    exit;
}

if (!isset($_FILES['backup_file']) || $_FILES['backup_file']['error'] !== UPLOAD_ERR_OK) {
    echo json_encode(["success" => false, "error" => "حدث خطأ أثناء رفع الملف، تأكد من اختيار الملف الصحيح."]);
    exit;
}

$file_tmp = $_FILES['backup_file']['tmp_name'];
$file_name = $_FILES['backup_file']['name'];
$file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));

if ($file_ext !== 'sqlite') {
    echo json_encode(["success" => false, "error" => "صيغة الملف غير مدعومة. يجب أن يكون الملف بصيغة .sqlite"]);
    exit;
}

$db_file = __DIR__ . '/database.sqlite';
$backup_dir = __DIR__ . '/backups';

// أخذ نسخة احتياطية سريعة قبل الاستبدال (أمان)
if (!is_dir($backup_dir)) {
    mkdir($backup_dir, 0755, true);
}
if (file_exists($db_file)) {
    $date = date('Y_m_d_His');
    copy($db_file, $backup_dir . '/pre_restore_' . $date . '.sqlite');
}

// استبدال قاعدة البيانات
if (move_uploaded_file($file_tmp, $db_file)) {
    echo json_encode(["success" => true, "message" => "تم استيراد النسخة الاحتياطية بنجاح! سيتم إعادة تحميل النظام."]);
} else {
    echo json_encode(["success" => false, "error" => "فشل في استبدال قاعدة البيانات."]);
}
?>
