نسخة كاملة من مستودع سيرو عند ecfe7568 لتكون أساس تطبيق «انطلق». نُسخ المتعقَّب في git فقط (12,509 ملفاً / 302 م.ب) بـ git archive، لا `cp -r` — فاستُثنيت تلقائياً مخلفات البناء (build · node_modules · .dart_tool · .gradle · Pods ≈ 10.7 غ.ب) وكل ما يستثنيه .gitignore. هذا الكوميت **بلا أي تعديل عمداً** حتى يكون كل ما يليه فرقاً مقروءاً مقابل سيرو الأصلي. سيرو نفسه لم يُمسّ. ⚠️ لا يبني بعد: `.env` و`lib/env/env.g.dart` غير متعقَّبين في سيرو (وهذا صحيح — أسرار لكل مستأجر). كل تطبيق فلاتر هنا يحتاج .env خاصاً بانطلق ثم توليد env.g.dart عبر build_runner. لا تُنسخ أسرار سيرو. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37 lines
1.0 KiB
PHP
37 lines
1.0 KiB
PHP
<?php
|
|
require_once __DIR__ . '/../../connect.php';
|
|
|
|
$driver_id = filterRequest("driver_id");
|
|
|
|
try {
|
|
$sql = "
|
|
SELECT
|
|
DATE(r.created_at) as day,
|
|
COUNT(r.id) as trips,
|
|
COALESCE(SUM(r.price_for_driver), 0) as earnings,
|
|
COALESCE(SUM(TIMESTAMPDIFF(MINUTE, r.time, r.endtime))/60, 0) as hours
|
|
FROM `ride` r
|
|
WHERE r.driver_id = :driver_id
|
|
AND r.status = 'Finished'
|
|
AND r.created_at >= DATE(NOW()) - INTERVAL 6 DAY
|
|
GROUP BY DATE(r.created_at)
|
|
ORDER BY DATE(r.created_at) ASC
|
|
";
|
|
|
|
$stmt = $con->prepare($sql);
|
|
$stmt->bindParam(':driver_id', $driver_id, PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
|
|
if ($stmt->rowCount() > 0) {
|
|
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
jsonSuccess($rows);
|
|
} else {
|
|
jsonSuccess([]);
|
|
}
|
|
} catch (PDOException $e) {
|
|
// Return empty but log error
|
|
error_log("getWeeklyAggregate Error: " . $e->getMessage());
|
|
jsonError("Database error occurred");
|
|
}
|
|
?>
|