add 8-tab review page, review controller, updateDriverToActive handles new fields, drivers_cant_register navigates to review
This commit is contained in:
@@ -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
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user