<?php
require_once __DIR__ . '/../get_connect.php';

// اسم الملف النصي الذي سيتم حفظ البيانات فيه
$filename = "drivers_list.txt";

/*
    المطلوب:
    - جلب أرقام الهاتف من phone_verification غير الموجودة في driver
    - فك تشفير الهاتف (والإيميل إن لزم)
    - حفظ النتيجة في ملف نصي (رقم الهاتف والملاحظة)
*/

$sql = "
   SELECT 
    pv.id,
    pv.phone_number,
    pv.email,
    pv.token_code,
    pv.created_at,
    n.note
FROM 
    phone_verification pv
LEFT JOIN 
    driver d ON pv.phone_number = d.phone
LEFT JOIN 
    notesForDriverService n ON pv.phone_number = n.phone
WHERE 
    d.phone IS NULL 
    AND (n.note != 'delete' OR n.note IS NULL)
    -- تمت إضافة هذا الشرط بناءً على طلبك (آخر 5 أيام)
   -- AND pv.created_at >= DATE_SUB(NOW(), INTERVAL 5 DAY)
ORDER BY 
    pv.created_at DESC;
";

$stmt = $con->prepare($sql);
$stmt->execute();

if ($stmt->rowCount() > 0) {
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // فتح الملف للكتابة (Mode 'w' يقوم بإنشاء الملف أو مسح محتواه السابق والكتابة من جديد)
    $fileHandle = fopen($filename, 'w');

    // التحقق من أن الملف فُتح بنجاح
    if ($fileHandle) {
        
        foreach ($rows as $r) {
            $phone = "";
            $note = "No Note"; // القيمة الافتراضية إذا لم توجد ملاحظة

            // 1. فك تشفير رقم الهاتف
            if (isset($r['phone_number']) && $r['phone_number'] != null) {
                $phone = $encryptionHelper->decryptData($r['phone_number']);
            }

            // 2. تجهيز نص الملاحظة
            if (isset($r['note']) && $r['note'] != null) {
                $note = $r['note'];
            }

            // 3. تنسيق السطر الذي سيتم حفظه
            // الشكل: Phone: 0123456789 | Note: مهتم بالتسجيل
            $line = "Phone: " . $phone . " | Note: " . $note . PHP_EOL;

            // 4. الكتابة داخل الملف
            fwrite($fileHandle, $line);
        }

        // إغلاق الملف بعد الانتهاء
        fclose($fileHandle);

        // طباعة رسالة نجاح مع رابط للملف (اختياري)
        echo json_encode([
            "status" => "success", 
            "message" => "File created successfully", 
            "file" => $filename,
            "count" => count($rows)
        ]);

    } else {
        jsonError("Unable to open file for writing.");
    }

} else {
    jsonError("No phone numbers found in the last 5 days");
}
?>