Files
intaleq_v3_pure_php/migration/get_all_fingerprints.php
2026-04-28 13:04:27 +03:00

57 lines
2.4 KiB
PHP
Executable File

<?php
// ═══════════════════════════════════════════════════════════════
// get_all_fingerprints.php — جلب كل البصمات للترحيل
// ───────────────────────────────────────────────────────────────
// ⚠️ يُستخدم مرة واحدة فقط ثم يُحذف من السيرفر
// محمي بـ admin_key لمنع الوصول العشوائي
// ═══════════════════════════════════════════════════════════════
require_once __DIR__ . '/../get_connect.php';
//include 'functions.php';
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: https://intaleqapp.com');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
http_response_code(200);
exit;
}
// ── التحقق من admin_key ────────────────────────────────────────
$adminKey = filterRequest('admin_key') ?? '';
$expectedAdminKey = getenv('MIGRATION_ADMIN_KEY'); // أضفه في .env
if (empty($adminKey) || !hash_equals($expectedAdminKey, $adminKey)) {
http_response_code(403);
echo json_encode(['error' => 'Forbidden']);
exit;
}
try {
// جلب كل البصمات من جدول tokens
// نجيب passengerID + fingerPrint فقط — لا نعطي بيانات حساسة أخرى
$stmt = $con->prepare('
SELECT passengerID, fingerPrint, "passenger" AS userType
FROM tokens
WHERE fingerPrint IS NOT NULL
AND fingerPrint != ""
ORDER BY passengerID
');
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode([
'status' => 'success',
'count' => count($rows),
'data' => $rows,
]);
http_response_code(200);
} catch (Exception $e) {
error_log('❌ [get_all_fingerprints] ' . $e->getMessage());
http_response_code(500);
echo json_encode(['error' => 'Server error']);
}