Files
Siro/backend/serviceapp/getNotesForEmployee.php
Hamza-Ayed 72eeb24cd7 Fix #18: Exception leak remediation across 87 PHP files
- Replaced all client-facing $e->getMessage() with generic error messages
- Added error_log() with filename prefix to all catch blocks
- Covered jsonError(), echo, and json_encode() response patterns
- Also fixed 2 remaining display_errors=1 and add_invoice.php leak
- Script-assisted fix for 75 files, manual fix for 12 remaining edge cases
2026-06-17 07:48:31 +03:00

38 lines
1.6 KiB
PHP

<?php
require_once __DIR__ . '/../connect.php';
// استقبال التاريخ المُراد عرض الملاحظات له
// إذا لم يتم إرسال تاريخ، نستخدم تاريخ اليوم الحالي
$filter_date = isset($_POST['date']) ? $_POST['date'] : date('Y-m-d');
$sql = "SELECT * FROM `notesForDriverService`
WHERE DATE(`createdAt`) = :filter_date
ORDER BY `createdAt` DESC";
try {
$stmt = $con->prepare($sql);
$stmt->execute([':filter_date' => $filter_date]);
$notes_data = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($notes_data) {
// التصحيح: استخدام حلقة التكرار وتمرير الصف كمرجع (&) لتعديل البيانات الأصلية
foreach ($notes_data as &$row) {
// التأكد من وجود عمود الهاتف قبل فك التشفير
if (isset($row['phone'])) {
// استخدام دالة فك التشفير (تأكد أن الدالة decrypt موجودة في connect.php)
// أو استخدم $encryptionHelper->decryptData($row['phone']) إذا كنت تستخدم كلاس
$row['phone'] = $encryptionHelper->decryptData($row['phone']);
}
}
unset($row); // كسر الارتباط بالمتغير الأخير لضمان سلامة الكود
jsonSuccess($notes_data);
} else {
jsonError("No notes found for this date");
}
} catch (PDOException $e) {
error_log("[getNotesForEmployee.php] " . $e->getMessage());
jsonError("An internal error occurred. Please try again later.");
}
?>