25-1/13/1-securejordan

This commit is contained in:
Hamza-Ayed
2025-01-13 22:10:47 +03:00
parent e8c3f8f339
commit a893e49282
36 changed files with 803 additions and 447 deletions

View File

@@ -6,6 +6,8 @@ import '../../../../controller/auth/captin/history_captain.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
class HistoryCaptain extends StatelessWidget {
const HistoryCaptain({super.key});
@@ -78,7 +80,8 @@ class HistoryCaptain extends StatelessWidget {
.navTitleTextStyle,
),
Text(
list['order_id'],
encryptionHelper
.decryptData(list['order_id']),
style: CupertinoTheme.of(context)
.textTheme
.textStyle,
@@ -105,14 +108,18 @@ class HistoryCaptain extends StatelessWidget {
),
Text(
list['status'],
style: list['status'] == 'Apply'
style: encryptionHelper.decryptData(
list['status']) ==
'Apply'
? CupertinoTheme.of(context)
.textTheme
.navTitleTextStyle
.copyWith(
color: CupertinoColors
.systemGreen)
: list['status'] == 'Refused'
: encryptionHelper.decryptData(
list['status']) ==
'Refused'
? CupertinoTheme.of(context)
.textTheme
.navTitleTextStyle

View File

@@ -7,6 +7,8 @@ import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:flutter/cupertino.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
class HistoryDetailsPage extends StatelessWidget {
HistoryDetailsPage({super.key});
HistoryCaptainController historyCaptainController =
@@ -44,7 +46,7 @@ class HistoryDetailsPage extends StatelessWidget {
CupertinoButton(
onPressed: () {
String mapUrl =
'https://www.google.com/maps/dir/${res['start_location']}/${res['end_location']}/';
'https://www.google.com/maps/dir/${encryptionHelper.decryptData(res['start_location'])}/${encryptionHelper.decryptData(res['end_location'])}/';
showInBrowser(mapUrl);
},
child: Container(
@@ -77,18 +79,26 @@ class HistoryDetailsPage extends StatelessWidget {
polylineId: const PolylineId('route'),
points: [
LatLng(
double.parse(res['start_location']
double.parse(encryptionHelper
.decryptData(
res['start_location'])
.toString()
.split(',')[0]),
double.parse(res['start_location']
double.parse(encryptionHelper
.decryptData(
res['start_location'])
.toString()
.split(',')[1]),
),
LatLng(
double.parse(res['end_location']
double.parse(encryptionHelper
.decryptData(
res['end_location'])
.toString()
.split(',')[0]),
double.parse(res['end_location']
double.parse(encryptionHelper
.decryptData(
res['end_location'])
.toString()
.split(',')[1]),
)
@@ -105,7 +115,7 @@ class HistoryDetailsPage extends StatelessWidget {
MainAxisAlignment.spaceBetween,
children: [
Text(
'${'Order ID'.tr} ${res['id']}',
'${'Order ID'.tr} ${encryptionHelper.decryptData(res['id'])}',
style: CupertinoTheme.of(context)
.textTheme
.navActionTextStyle,
@@ -135,13 +145,13 @@ class HistoryDetailsPage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'${'Price is'.tr} ${res['price_for_driver']}',
'${'Price is'.tr} ${encryptionHelper.decryptData(res['price_for_driver'])}',
style: CupertinoTheme.of(context)
.textTheme
.textStyle,
),
Text(
'${'Distance is'.tr} ${res['distance']} KM',
'${'Distance is'.tr} ${encryptionHelper.decryptData(res['distance'])} KM',
style: CupertinoTheme.of(context)
.textTheme
.textStyle,
@@ -200,7 +210,7 @@ class HistoryDetailsPage extends StatelessWidget {
),
child: Center(
child: Text(
'${'Passenger Name is'.tr} ${res['first_name']} ${res['last_name']}',
'${'Passenger Name is'.tr} ${encryptionHelper.decryptData(res['first_name'])} ${encryptionHelper.decryptData(res['last_name'])}',
style: CupertinoTheme.of(context)
.textTheme
.textStyle,
@@ -219,7 +229,7 @@ class HistoryDetailsPage extends StatelessWidget {
),
child: Center(
child: Text(
'${'Status is'.tr} ${res['status']}',
'${'Status is'.tr} ${encryptionHelper.decryptData(res['status'])}',
style: CupertinoTheme.of(context)
.textTheme
.textStyle,

View File

@@ -1,6 +1,7 @@
import 'package:sefer_driver/constant/api_key.dart';
import 'package:sefer_driver/constant/links.dart';
import 'package:sefer_driver/constant/style.dart';
import 'package:sefer_driver/controller/functions/encrypt_decrypt.dart';
import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart';
import 'package:sefer_driver/views/Rate/rate_app_page.dart';
import 'package:sefer_driver/views/auth/captin/contact_us_page.dart';
@@ -485,7 +486,7 @@ class UserAccountHeader extends StatelessWidget {
: ClipRRect(
borderRadius: BorderRadius.circular(50),
child: Image.network(
'${AppLink.seferCairoServer}/portrate_captain_image/${box.read(BoxName.driverID)}.jpg',
'${AppLink.seferCairoServer}/portrate_captain_image/${encryptionHelper.decryptData(box.read(BoxName.driverID))}.jpg',
fit: BoxFit.cover,
),
),
@@ -519,7 +520,7 @@ class UserAccountHeader extends StatelessWidget {
),
const SizedBox(height: 16),
Text(
'${box.read(BoxName.nameDriver).toString().split(' ')[0]} ${box.read(BoxName.nameDriver).toString().split(' ')[1]}',
box.read(BoxName.nameDriver).toString(),
style: const TextStyle(
color: Colors.white,
fontSize: 24,
@@ -535,7 +536,9 @@ class UserAccountHeader extends StatelessWidget {
),
const SizedBox(height: 4),
Text(
box.read(BoxName.emailDriver),
encryptionHelper.decryptData(
box.read(BoxName.emailDriver),
),
style: TextStyle(
color: Colors.white.withOpacity(0.9),
fontSize: 14,

View File

@@ -4,11 +4,8 @@ import 'package:sefer_driver/controller/home/captin/help/help_controller.dart';
import 'package:sefer_driver/views/home/Captin/home_captain/help_details_replay_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:sefer_driver/controller/home/captin/help/help_controller.dart';
import 'package:sefer_driver/views/home/Captin/home_captain/help_details_replay_page.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
class HelpCaptain extends StatelessWidget {
HelpCaptain({super.key});
@@ -128,7 +125,8 @@ class HelpCaptain extends StatelessWidget {
.helpQuestionDate['message'][index];
return CupertinoListTile(
title: Text(
list['helpQuestion'],
encryptionHelper
.decryptData(list['helpQuestion']),
overflow: TextOverflow.ellipsis,
),
trailing: Row(
@@ -145,7 +143,10 @@ class HelpCaptain extends StatelessWidget {
),
onTap: () {
helpController.getIndex(
list['id'], list['helpQuestion']);
int.parse(encryptionHelper
.decryptData(list['id'])),
encryptionHelper
.decryptData(list['helpQuestion']));
helpController
.getHelpRepley(list['id'].toString());
Get.to(() => const HelpDetailsReplayPage());

View File

@@ -3,6 +3,7 @@ import 'package:get/get.dart';
import 'package:sefer_driver/constant/style.dart';
import 'package:sefer_driver/views/widgets/mycircular.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
import '../../../../controller/home/captin/help/help_controller.dart';
import '../../../widgets/my_scafold.dart';
@@ -53,9 +54,10 @@ class HelpDetailsReplayPage extends StatelessWidget {
padding: const EdgeInsets.all(8.0),
child: helpController.status ==
'not yet' ||
helpController
.helpQuestionRepleyDate[
'message']['replay']
encryptionHelper
.decryptData(helpController
.helpQuestionRepleyDate[
'message']['replay'])
.toString() ==
'not yet'
? Text(
@@ -63,9 +65,10 @@ class HelpDetailsReplayPage extends StatelessWidget {
style: AppStyle.title,
)
: Text(
helpController
.helpQuestionRepleyDate[
'message']['replay']
encryptionHelper
.decryptData(helpController
.helpQuestionRepleyDate[
'message']['replay'])
.toString(),
style: AppStyle.title,
),

View File

@@ -15,6 +15,7 @@ import 'package:bubble_head/bubble.dart';
import '../../../../constant/colors.dart';
import '../../../../constant/info.dart';
import '../../../../constant/style.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
import '../../../../controller/functions/location_controller.dart';
import '../../../../controller/functions/overlay_permisssion.dart';
import '../../../../controller/functions/package_info.dart';
@@ -73,7 +74,7 @@ class HomeCaptain extends StatelessWidget {
),
const SizedBox(width: 8),
Text(
'SEFER'.tr,
AppInformation.appName.split(' ')[0].toString().tr,
style: AppStyle.title.copyWith(
fontSize: 22,
fontWeight: FontWeight.w600,
@@ -228,7 +229,7 @@ class HomeCaptain extends StatelessWidget {
),
const SizedBox(width: 8),
Text(
'${"Today".tr}: ${homeCaptainController.totalMoneyToday}',
'${"Today".tr}: ${encryptionHelper.decryptData(homeCaptainController.totalMoneyToday)}',
style: AppStyle.title.copyWith(
color: AppColor.greenColor,
fontWeight: FontWeight.bold,
@@ -252,7 +253,7 @@ class HomeCaptain extends StatelessWidget {
),
const SizedBox(width: 8),
Text(
'${AppInformation.appName}: ${homeCaptainController.totalMoneyInSEFER}',
'${AppInformation.appName}: ${encryptionHelper.decryptData(homeCaptainController.totalMoneyInSEFER)}',
style: AppStyle.title.copyWith(
color: AppColor.yellowColor,
fontWeight: FontWeight.bold,
@@ -267,7 +268,7 @@ class HomeCaptain extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'${'Total Points is'.tr}: ${homeCaptainController.totalPoints}',
'${'Total Points is'.tr}: ${encryptionHelper.decryptData(homeCaptainController.totalPoints)}',
style: AppStyle.title.copyWith(
fontSize: 16,
fontWeight: FontWeight.w600,
@@ -278,15 +279,19 @@ class HomeCaptain extends StatelessWidget {
horizontal: 12, vertical: 6),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: int.parse(homeCaptainController
.countRideToday) <
color: int.parse(encryptionHelper.decryptData(
homeCaptainController
.countRideToday)) <
5
? AppColor.accentColor
: int.parse(homeCaptainController
.countRideToday) >
: int.parse(encryptionHelper.decryptData(
homeCaptainController
.countRideToday)) >
5 &&
int.parse(homeCaptainController
.countRideToday) <
int.parse(
encryptionHelper.decryptData(
homeCaptainController
.countRideToday)) <
10
? AppColor.yellowColor
: AppColor.greenColor,
@@ -300,7 +305,7 @@ class HomeCaptain extends StatelessWidget {
),
const SizedBox(width: 4),
Text(
'${"Ride Today : ".tr}: ${homeCaptainController.countRideToday}',
'${"Ride Today : ".tr}: ${encryptionHelper.decryptData(homeCaptainController.countRideToday)}',
style: AppStyle.title.copyWith(
color: Colors.white,
fontWeight: FontWeight.bold,
@@ -351,7 +356,8 @@ class HomeCaptain extends StatelessWidget {
),
const SizedBox(width: 4),
Text(
homeCaptainController.stringActiveDuration,
encryptionHelper.decryptData(
homeCaptainController.stringActiveDuration),
style: AppStyle.title.copyWith(
fontWeight: FontWeight.bold,
color: AppColor.greenColor,
@@ -372,7 +378,8 @@ class HomeCaptain extends StatelessWidget {
),
const SizedBox(width: 4),
Text(
homeCaptainController.totalDurationToday,
encryptionHelper.decryptData(
homeCaptainController.totalDurationToday),
style: AppStyle.title.copyWith(
fontWeight: FontWeight.bold,
color: AppColor.accentColor,

View File

@@ -5,6 +5,7 @@ import 'package:get/get.dart';
import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart';
import '../../../../../constant/style.dart';
import '../../../../../controller/functions/encrypt_decrypt.dart';
import '../../../../widgets/elevated_btn.dart';
import '../../../../../controller/home/captin/home_captain_controller.dart';
@@ -23,26 +24,27 @@ class ConnectWidget extends StatelessWidget {
captainWalletController.getCaptainWalletFromBuyPoints();
return Center(
child: GetBuilder<HomeCaptainController>(
builder: (homeCaptainController) => double.parse(
captainWalletController.totalPoints) <
builder: (homeCaptainController) => double.parse(encryptionHelper
.decryptData(captainWalletController.totalPoints)) <
-300
? CupertinoButton(
onPressed: () {
Get.defaultDialog(
// backgroundColor: CupertinoColors.destructiveRed,
barrierDismissible: false,
title:
double.parse(captainWalletController.totalPoints) <
-300
? 'You dont have Points'.tr
: 'You Are Stopped For this Day !'.tr,
title: double.parse(encryptionHelper.decryptData(
captainWalletController.totalPoints)) <
-300
? 'You dont have Points'.tr
: 'You Are Stopped For this Day !'.tr,
titleStyle: AppStyle.title,
content: Column(
children: [
IconButton(
onPressed: () async {
double.parse(captainWalletController
.totalPoints) <
double.parse(encryptionHelper.decryptData(
captainWalletController
.totalPoints)) <
-300
? await Get.find<TextToSpeechController>()
.speakText(
@@ -56,8 +58,9 @@ class ConnectWidget extends StatelessWidget {
icon: const Icon(Icons.headphones),
),
Text(
double.parse(
captainWalletController.totalPoints) <
double.parse(encryptionHelper.decryptData(
captainWalletController
.totalPoints)) <
-300
? 'You must be recharge your Account'.tr
: 'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!'
@@ -66,21 +69,20 @@ class ConnectWidget extends StatelessWidget {
),
],
),
confirm:
double.parse(captainWalletController.totalPoints) <
-300
? MyElevatedButton(
title: 'Recharge my Account'.tr,
onPressed: () {
homeCaptainController
.goToWalletFromConnect();
})
: MyElevatedButton(
title: 'Ok , See you Tomorrow'.tr,
onPressed: () {
Get.back();
Get.back();
}));
confirm: double.parse(encryptionHelper.decryptData(
captainWalletController.totalPoints)) <
-300
? MyElevatedButton(
title: 'Recharge my Account'.tr,
onPressed: () {
homeCaptainController.goToWalletFromConnect();
})
: MyElevatedButton(
title: 'Ok , See you Tomorrow'.tr,
onPressed: () {
Get.back();
Get.back();
}));
},
color: CupertinoColors.destructiveRed,
child: Text(

View File

@@ -8,6 +8,7 @@ import 'package:get/get.dart';
import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart';
import '../../../../../constant/colors.dart';
import '../../../../../controller/functions/encrypt_decrypt.dart';
import '../../../../Rate/ride_calculate_driver.dart';
GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
@@ -90,26 +91,38 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
)
: const SizedBox(),
// : const SizedBox(),
// AnimatedContainer(
// duration: const Duration(microseconds: 200),
// width: controller.widthMapTypeAndTraffic,
// decoration: BoxDecoration(
// color: AppColor.secondaryColor,
// border: Border.all(color: AppColor.blueColor),
// borderRadius: BorderRadius.circular(15)),
// child: Builder(builder: (context) {
// return IconButton(
// onPressed: () async {
// MyCircularProgressIndicator();
// },
// icon: const Icon(
// FontAwesome5.grin_tears,
// size: 29,
// color: AppColor.blueColor,
// ),
// );
// }),
// ),
AnimatedContainer(
duration: const Duration(microseconds: 200),
width: controller.widthMapTypeAndTraffic,
decoration: BoxDecoration(
color: AppColor.secondaryColor,
border: Border.all(color: AppColor.blueColor),
borderRadius: BorderRadius.circular(15)),
child: Builder(builder: (context) {
return IconButton(
onPressed: () async {
final plainText = 'Al-sayyd';
debugPrint('Plain Text: $plainText');
// Encrypt the data
final encryptedData = encryptionHelper.encryptData(plainText);
debugPrint('Encrypted: $encryptedData');
// Decrypt the data
final decryptedData = encryptionHelper.decryptData(
encryptedData); // Use the encryptedData variable
debugPrint('Decrypted: $decryptedData');
// rlyouFVUqI7TEhu9UEMangaIViglSgxLk3/d1c0Yo7g=
// rlyouFVUqI7TEhu9UEMangaIViglSgxLk3/d1c0Yo7g=
},
icon: const Icon(
FontAwesome5.grin_tears,
size: 29,
color: AppColor.blueColor,
),
);
}),
),
const SizedBox(
height: 5,

View File

@@ -14,6 +14,7 @@ import '../../../../constant/colors.dart';
import '../../../../constant/links.dart';
import '../../../../constant/style.dart';
import '../../../../controller/functions/crud.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
import '../../../../controller/functions/launch.dart';
import '../../../../controller/home/captin/order_request_controller.dart';
import '../../../widgets/elevated_btn.dart';
@@ -222,7 +223,7 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
var res = await CRUD().post(
link: AppLink.updateStausFromSpeed,
payload: {
'id': controller.myList[16],
'id': (controller.myList[16]),
'rideTimeStart': DateTime.now().toString(),
'status': 'Apply',
'driver_id': box.read(BoxName.driverID),
@@ -232,7 +233,7 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
link:
"${AppLink.endPoint}/ride/rides/updateStausFromSpeed.php",
payload: {
'id': controller.myList[16],
'id': (controller.myList[16]),
'rideTimeStart': DateTime.now().toString(),
'status': 'Apply',
'driver_id': box.read(BoxName.driverID),
@@ -250,9 +251,9 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
link: AppLink.addDriverOrder,
payload: {
'driver_id':
controller.myList[6].toString(),
(controller.myList[6].toString()),
'order_id':
controller.myList[16].toString(),
(controller.myList[16].toString()),
'status': 'Apply'
});
if (AppLink.endPoint !=
@@ -262,9 +263,9 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
'${AppLink.endPoint}/rides/driver_order/add.php',
payload: {
'driver_id':
controller.myList[6].toString(),
(controller.myList[6].toString()),
'order_id':
controller.myList[16].toString(),
(controller.myList[16].toString()),
'status': 'Apply'
});
}
@@ -300,9 +301,12 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
'https://www.google.com/maps/dir/${controller.myList[0]}/${controller.myList[1]}/',
'DurationToPassenger':
controller.myList[15].toString(),
'rideId': controller.myList[16].toString(),
'passengerId': controller.myList[7].toString(),
'driverId': controller.myList[18].toString(),
'rideId': encryptionHelper.decryptData(
controller.myList[16].toString()),
'passengerId': encryptionHelper.decryptData(
controller.myList[7].toString()),
'driverId': encryptionHelper.decryptData(
controller.myList[18].toString()),
'durationOfRideValue':
controller.myList[19].toString(),
'paymentAmount':
@@ -374,7 +378,8 @@ class _OrderRequestPageState extends State<OrderRequestPage> {
'notification.wav');
controller.refuseOrder(
controller.myList[16].toString(),
encryptionHelper.encryptData(
controller.myList[16].toString()),
);
controller.addRideToNotificationDriverString(
controller.myList[16].toString(),