encryptData(filterRequest("driverEmail")); $driverPhone = $encryptionHelper->encryptData(filterRequest("driverPhone")); $sql = "SELECT `driver`.`id`, `driver`.`phone`, `driver`.`email`, `driver`.`gender`, `driver`.`status`, `driver`.`birthdate`, `driver`.`site`, `driver`.`first_name`, `driver`.`last_name`, `driver`.`education`, `driver`.`employmentType`, `driver`.`maritalStatus`, `driver`.`created_at`, `driver`.`updated_at`, ( SELECT COUNT(*) FROM `driver` ) AS countPassenger, ( SELECT CAST(AVG(`rating`) AS DECIMAL(10, 2)) FROM `ratingPassenger` WHERE `ratingPassenger`.`driverID` = `driver`.`id` ) AS ratingPassenger, ( SELECT COUNT(*) FROM `ratingPassenger` WHERE `driverID` = `driver`.`id` ) AS countDriverRate, ( SELECT COUNT(*) FROM `canecl` WHERE `driverID` = `driver`.`id` ) AS countPassengerCancel, ( SELECT CAST(AVG(`rating`) AS DECIMAL(10, 2)) FROM `ratingDriver` WHERE `driver_id` = `driver`.`id` ) AS passengerAverageRating, ( SELECT COUNT(*) FROM `ratingDriver` WHERE `driver_id` = `driver`.`id` ) AS countPassengerRate, ( SELECT COUNT(*) FROM `ride` WHERE `driver_id` = `driver`.`id` ) AS countPassengerRide, ( SELECT `token` FROM `driverToken` WHERE `captain_id` = `driver`.`id` LIMIT 1 ) AS passengerToken FROM `driver` WHERE `driver`.`email` = :email OR `driver`.`phone` = :phone OR `driver`.`id` = :id ORDER BY passengerAverageRating DESC LIMIT 10 "; $stmt = $con->prepare($sql); $stmt->bindParam(":email", $driverEmail); $stmt->bindParam(":phone", $driverPhone); $stmt->bindParam(":id", $driver_id); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); // فك تشفير الحقول الحساسة foreach ($result as &$row) { $row['phone'] = $encryptionHelper->decryptData($row['phone']); $row['email'] = $encryptionHelper->decryptData($row['email']); $row['gender'] = $encryptionHelper->decryptData($row['gender']); $row['birthdate'] = $encryptionHelper->decryptData($row['birthdate']); $row['site'] = $encryptionHelper->decryptData($row['site']); $row['first_name'] = $encryptionHelper->decryptData($row['first_name']); $row['last_name'] = $encryptionHelper->decryptData($row['last_name']); $row['education'] = $encryptionHelper->decryptData($row['education']); $row['employmentType'] = $encryptionHelper->decryptData($row['employmentType']); $row['maritalStatus'] = $encryptionHelper->decryptData($row['maritalStatus']); } if ($stmt->rowCount() > 0) { jsonSuccess($result); } else { jsonError("No records found"); } ?>