feat: استيراد كود سيرو إلى تريبز (سيرو @ecfe7568) — بلا تعديل
قرار المالك 2026-07-27: باك إند سيرو PHP هو المعتمد، وتطبيقاته المجرّبة ميدانياً تحل محل إعادة البناء المؤرشفة. سيرو نفسه لم يُمسّ. الخريطة: backend · payment_server · loction_server · ride_server · passenger_server · docker · dashboard · stress_test → الجذر siro_rider → apps/rider siro_driver → apps/driver siro_admin → dashboards/admin siro_service → dashboards/service android_bot → apps/android_bot socialBot → apps/socialBot نُسخ المتعقَّب في git سيرو فقط عبر `git archive` (3,198 ملفاً / ~169 م.ب) لا `cp -r` — فاستُثنيت مخلفات البناء تلقائياً. بلا أي تعديل محتوى عمداً: كل ما يلي يصير فرقاً مقروءاً مقابل المصدر. لم يُستورد وسببه: siromove.com (الموقع التسويقي يبقى marketing/ في تريبز، سيرو فيه 8 ملفات) · docs و planning (تريبز له docs/ الخاص) · deploy.sh (ليس نشراً على سيرفر بل `git add . && git push origin --all` — فخّ في مستودع آخر) · transit_dashboard (بانتظار قرار مصير backend-transit و dashboards/transit-web). ⚠️ لا يبني بعد — ثلاثة نواقص متوقعة ومقصودة: 1. `.env` و `lib/env/env.g.dart` غير متعقَّبين في سيرو (أسرار لكل مستأجر): كل تطبيق فلاتر يحتاج .env خاصاً ثم توليد env.g.dart بـ build_runner. 2. إعدادات Firebase (9 ملفات google-services.json و GoogleService-Info.plist) يستبعدها .gitignore تريبز — ولكل مستأجر مشروع Firebase خاص أصلاً. 3. apps/driver في سيرو يشير إلى `../../Intaleq/packages/get` خارج المستودع → يجب ضمّ الحزم داخله أسوة بـ apps/rider. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
9909d9b4c1
commit
4d8414c96b
@@ -0,0 +1,89 @@
|
||||
<?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_key
|
||||
LEFT JOIN
|
||||
notesForDriverService n ON pv.phone_number = n.phone_key
|
||||
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");
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user