add 8-tab review page, review controller, updateDriverToActive handles new fields, drivers_cant_register navigates to review

This commit is contained in:
Hamza-Ayed
2026-06-25 17:05:11 +03:00
parent d4db89f04e
commit 28b8558b6d
5 changed files with 1100 additions and 15 deletions

View File

@@ -5,30 +5,35 @@ require_once __DIR__ . '/../connect.php'; // يفترض أن يحتوي على
// --- استقبال البيانات من التطبيق ---
$driverId = filterRequest("driverId");
$phone = filterRequest("phone"); // استقبال رقم الهاتف مباشرة
$phone = filterRequest("phone");
$email = filterRequest("email");
$status = filterRequest("status") ?: 'actives';
// --- بيانات جدول السائق (driver) ---
$firstName = filterRequest("first_name");
$lastName = filterRequest("last_name");
$site = filterRequest("site"); // مكان القيد/الولادة
$site = filterRequest("site");
$address = filterRequest("address") ?: $site;
$nationalNumber = filterRequest("national_number");
$licenseCategories = filterRequest("license_categories"); // فئة الرخصة
$expiryDate = filterRequest("expiry_date"); // تاريخ انتهاء رخصة السائق
$licenseCategories = filterRequest("license_categories");
$licenseType = filterRequest("license_type");
$expiryDate = filterRequest("expiry_date");
$licenseIssueDate = filterRequest("license_issue_date");
$gender = filterRequest("gender"); // الحقل الجديد
$birthdate = filterRequest("birthdate"); // الحقل الجديد
$maritalStatus=filterRequest("maritalStatus");
$gender = filterRequest("gender");
$birthdate = filterRequest("birthdate");
$maritalStatus = filterRequest("maritalStatus");
// --- بيانات جدول السيارة (CarRegistration) ---
$owner = filterRequest("owner");
$color = filterRequest("color");
$colorHex = filterRequest("color_hex");
$model = filterRequest("model"); // الموديل
$model = filterRequest("model");
$carPlate = filterRequest("car_plate");
$make = filterRequest("make"); // الصانع
$make = filterRequest("make");
$fuel = filterRequest("fuel");
$year = filterRequest("year");
$carExpirationDate = filterRequest("expiration_date"); // تاريخ انتهاء رخصة السيارة
$carExpirationDate = filterRequest("expiration_date");
$vin = filterRequest("vin");
// --- بدء المعاملة لضمان سلامة البيانات ---
$con->beginTransaction();
@@ -36,7 +41,6 @@ $con->beginTransaction();
try {
// --- 1. معالجة وتشفير البيانات ---
$nameArabic = $firstName . ' ' . $lastName;
$address = $site;
// تشفير الحقول الحساسة
$encryptedFirstName = $encryptionHelper->encryptData($firstName);
@@ -50,6 +54,9 @@ try {
$encryptedBirthdate = $encryptionHelper->encryptData($birthdate);
$encryptedGender = $encryptionHelper->encryptData($gender);
$encryptedPhone = !empty($phone) ? $encryptionHelper->encryptData($phone) : null;
$encryptedEmail = !empty($email) ? $encryptionHelper->encryptData($email) : null;
// --- 2. تحديث جدول السائق ---
$sqlDriver = "UPDATE `driver` SET
`first_name` = :first_name,
@@ -58,13 +65,14 @@ try {
`address` = :address,
`national_number` = :national_number,
`license_categories` = :license_categories,
`license_type` = :license_type,
`expiry_date` = :expiry_date,
`issue_date` = :issue_date,
`gender` = :gender,
`birthdate` = :birthdate,
`name_arabic` = :name_arabic,
`maritalStatus` = :maritalStatus,
`status` = 'actives'
`status` = :status
WHERE `id` = :driverId";
$stmtDriver = $con->prepare($sqlDriver);
@@ -75,15 +83,27 @@ try {
':address' => $encryptedAddress,
':national_number' => $encryptedNationalNumber,
':license_categories' => $licenseCategories,
':license_type' => $licenseType,
':expiry_date' => $expiryDate,
':issue_date' => $licenseIssueDate,
':gender' => $encryptedGender,
':birthdate' => $encryptedBirthdate,
':name_arabic' => $encryptedNameArabic,
':maritalStatus' => $maritalStatus,
':status' => $status,
':driverId' => $driverId,
':maritalStatus' =>$maritalStatus
]);
// --- تحديث الهاتف والايميل إذا وجدا ---
if ($encryptedPhone) {
$stmtPhone = $con->prepare("UPDATE `driver` SET `phone` = :phone WHERE `id` = :id");
$stmtPhone->execute([':phone' => $encryptedPhone, ':id' => $driverId]);
}
if ($encryptedEmail) {
$stmtEmail = $con->prepare("UPDATE `driver` SET `email` = :email WHERE `id` = :id");
$stmtEmail->execute([':email' => $encryptedEmail, ':id' => $driverId]);
}
// --- 3. تحديث جدول السيارة ---
$sqlCar = "UPDATE `CarRegistration` SET
`owner` = :owner,
@@ -94,6 +114,7 @@ try {
`make` = :make,
`fuel` = :fuel,
`year` = :year,
`vin` = :vin,
`expiration_date` = :expiration_date
WHERE `driverID` = :driverId";
@@ -107,6 +128,7 @@ try {
':make' => $make,
':fuel' => $fuel,
':year' => $year,
':vin' => $vin ?: '',
':expiration_date' => $carExpirationDate,
':driverId' => $driverId
]);