25-1/28/1

This commit is contained in:
Hamza-Ayed
2025-01-28 01:03:39 +03:00
parent 63681f104c
commit f217b5a34f
102 changed files with 7253 additions and 3945 deletions

View File

@@ -2,6 +2,7 @@ import 'dart:io';
import 'package:SEFER/constant/box_name.dart';
import 'package:SEFER/controller/auth/login_controller.dart';
import 'package:SEFER/controller/functions/encrypt_decrypt.dart';
import 'package:SEFER/main.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -164,9 +165,11 @@ class GoogleSignInHelper {
static Future<void> _handleSignUp(GoogleSignInAccount user) async {
// Store driver information
box.write(BoxName.passengerID, user.id);
box.write(BoxName.email, user.email);
box.write(BoxName.name, user.displayName);
box.write(BoxName.passengerPhotoUrl, user.photoUrl);
box.write(BoxName.email, encryptionHelper.encryptData(user.email));
box.write(BoxName.name,
encryptionHelper.encryptData(user.displayName.toString()));
box.write(BoxName.passengerPhotoUrl,
encryptionHelper.encryptData(user.photoUrl.toString()));
// Perform any additional sign-up tasks or API calls here
// For example, you can send the user data to your server for registration

View File

@@ -6,6 +6,7 @@ import 'package:SEFER/controller/firebase/firbase_messge.dart';
import 'package:SEFER/controller/functions/add_error.dart';
import 'package:SEFER/views/auth/login_page.dart';
import 'package:SEFER/views/auth/sms_verfy_page.dart';
import 'package:SEFER/views/widgets/mydialoug.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:SEFER/constant/box_name.dart';
@@ -16,6 +17,7 @@ import 'package:SEFER/views/home/map_page_passenger.dart';
import 'package:location/location.dart';
import '../../print.dart';
import '../functions/encrypt_decrypt.dart';
import '../functions/package_info.dart';
class LoginController extends GetxController {
@@ -106,41 +108,56 @@ class LoginController extends GetxController {
box.write(BoxName.validity, d['validity']);
box.write(BoxName.isInstall, d['isInstall'] ?? 'none');
box.write(BoxName.isGiftToken, d['isGiftToken'] ?? 'none');
box.write(BoxName.inviteCode, d['inviteCode'] ?? 'none');
box.write(
BoxName.inviteCode,
encryptionHelper.decryptData(d['inviteCode'].toString()) ??
'none');
var token = await CRUD().get(link: AppLink.getTokens, payload: {
'passengerID': box.read(BoxName.passengerID).toString()
});
if (token != 'failure') {
if (jsonDecode(token)['data'][0]['token'] !=
if (encryptionHelper.decryptData(
jsonDecode(token)['data'][0]['token'].toString()) !=
box.read(BoxName.tokenFCM)) {
Get.put(FirebaseMessagesController()).sendNotificationToDriverMAP(
'token change'.tr,
'change device'.tr,
jsonDecode(token)['data'][0]['token'].toString(),
[],
'cancel.wav',
);
MyDialog().getDialog('change device'.tr, 'token change'.tr,
() async {
List<Future> updatetoken = [
CRUD().post(
link: "${AppLink.server}/ride/firebase/add.php",
payload: {
'token': box.read(BoxName.tokenFCM),
'passengerID': box.read(BoxName.passengerID).toString()
}),
CRUD().post(
link:
"${AppLink.seferAlexandriaServer}/ride/firebase/add.php",
payload: {
'token': box.read(BoxName.tokenFCM),
'passengerID': box.read(BoxName.passengerID).toString()
}),
CRUD().post(
link: "${AppLink.seferGizaServer}/ride/firebase/add.php",
payload: {
'token': box.read(BoxName.tokenFCM),
'passengerID': box.read(BoxName.passengerID).toString()
}),
];
// cameras = await availableCameras();
await Future.wait(updatetoken);
Get.put(FirebaseMessagesController())
.sendNotificationToDriverMAP(
'token change'.tr,
'change device'.tr,
encryptionHelper.decryptData(
jsonDecode(token)['data'][0]['token'].toString()),
[],
'cancel.wav',
);
});
Future.delayed(const Duration(seconds: 1));
await CRUD().post(
link: "${AppLink.server}/ride/firebase/add.php",
payload: {
'token': box.read(BoxName.tokenFCM),
'passengerID': box.read(BoxName.passengerID).toString()
});
CRUD().post(
link:
"${AppLink.seferAlexandriaServer}/ride/firebase/add.php",
payload: {
'token': box.read(BoxName.tokenFCM),
'passengerID': box.read(BoxName.passengerID).toString()
});
CRUD().post(
link: "${AppLink.seferGizaServer}/ride/firebase/add.php",
payload: {
'token': box.read(BoxName.tokenFCM),
'passengerID': box.read(BoxName.passengerID).toString()
});
Get.defaultDialog(
title: 'Device Change Detected'.tr,
middleText:
@@ -158,11 +175,14 @@ class LoginController extends GetxController {
}
} // Logging to check if inviteCode is written correctly
if (box.read(BoxName.inviteCode).toString() != 'none' &&
if (d['inviteCode'] != 'none' &&
d['inviteCode'] != null &&
// box.read(BoxName.inviteCode).toString() != 'none' &&
box.read(BoxName.isInstall).toString() != '1') {
await CRUD()
.post(link: AppLink.updatePassengersInvitation, payload: {
"inviteCode": box.read(BoxName.inviteCode).toString(),
"inviteCode": encryptionHelper
.encryptData(box.read(BoxName.inviteCode).toString()),
"passengerID": box.read(BoxName.passengerID).toString(),
});
Get.defaultDialog(
@@ -174,7 +194,7 @@ class LoginController extends GetxController {
try {
CRUD().post(link: AppLink.addPassengersPromo, payload: {
"promoCode":
'S-${box.read(BoxName.name).toString().split(' ')[0]}',
'S-${encryptionHelper.decryptData(box.read(BoxName.name)).toString().split(' ')[0]}',
"amount": '25',
"passengerID": box.read(BoxName.passengerID).toString(),
"description": 'promo first'

View File

@@ -5,7 +5,7 @@ import 'dart:math';
import 'package:SEFER/constant/colors.dart';
import 'package:SEFER/controller/auth/login_controller.dart';
import 'package:SEFER/controller/functions/add_error.dart';
import 'package:SEFER/controller/local/phone_intel/phone_number.dart';
import 'package:SEFER/controller/functions/encrypt_decrypt.dart';
import 'package:SEFER/views/home/map_page_passenger.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -143,7 +143,7 @@ class RegisterController extends GetxController {
var responseChecker = await CRUD().post(
link: AppLink.checkPhoneNumberISVerfiedPassenger,
payload: {
'phone_number': phoneNumber,
'phone_number': encryptionHelper.encryptData(phoneNumber),
'email': box.read(BoxName.email),
},
);
@@ -156,7 +156,8 @@ class RegisterController extends GetxController {
Get.snackbar('Phone number is verified before'.tr, '',
backgroundColor: AppColor.greenColor);
box.write(BoxName.isVerified, '1');
box.write(BoxName.phone, phoneNumber);
box.write(
BoxName.phone, encryptionHelper.encryptData(phoneNumber));
Get.offAll(const MapPagePassenger());
} else {
await sendOtp(phoneNumber, randomNumber, isEgyptianNumber,
@@ -192,29 +193,34 @@ class RegisterController extends GetxController {
// Trim any leading or trailing whitespace from the phone number
phoneNumber = phoneNumber.trim();
var dd = await CRUD().post(link: AppLink.sendVerifyOtpMessage, payload: {
'phone_number': phoneNumber,
'token': otp.toString(),
'phone_number': encryptionHelper.encryptData(phoneNumber),
'token': encryptionHelper.encryptData(otp.toString()),
});
Log.print('dd: ${dd}');
if (isEgyptian) {
await CRUD().post(link: AppLink.updatePhoneInvalidSMSPassenger, payload: {
"phone_number": Get.find<RegisterController>().phoneController.text
"phone_number": encryptionHelper
.encryptData(Get.find<RegisterController>().phoneController.text)
});
box.write(BoxName.phoneDriver, phoneController.text);
var nameParts = box.read(BoxName.name).toString().split(' ');
box.write(
BoxName.phone, encryptionHelper.encryptData(phoneController.text));
var nameParts = encryptionHelper
.decryptData(box.read(BoxName.name))
.toString()
.split(' ');
var firstName = nameParts.isNotEmpty ? nameParts[0] : 'unknown';
var lastName = nameParts.length > 1 ? nameParts[1] : 'unknown';
var payload = {
'id': box.read(BoxName.passengerID),
'phone': phoneController.text,
'phone': encryptionHelper.decryptData(phoneController.text),
'email': box.read(BoxName.email),
'password': 'unknown',
'gender': 'unknown',
'password': encryptionHelper.encryptData('unknown'),
'gender': encryptionHelper.encryptData('unknown'),
'birthdate': '2002-01-01',
'site': box.read(BoxName.passengerPhotoUrl) ?? 'unknown',
'first_name': firstName,
'last_name': lastName,
'first_name': encryptionHelper.encryptData(firstName),
'last_name': encryptionHelper.encryptData(lastName),
};
var res1 = await CRUD().post(
@@ -223,18 +229,24 @@ class RegisterController extends GetxController {
);
if (res1 != 'failure') {
await CRUD().post(
link: '${AppLink.seferAlexandriaServer}/auth/signup.php',
payload: payload,
);
await CRUD().post(
link: '${AppLink.seferGizaServer}/auth/signup.php',
payload: payload,
);
if (AppLink.seferAlexandriaServer != AppLink.seferCairoServer) {
List<Future> signUp = [
CRUD().post(
link: '${AppLink.seferAlexandriaServer}/auth/signup.php',
payload: payload,
),
CRUD().post(
link: '${AppLink.seferGizaServer}/auth/signup.php',
payload: payload,
)
];
await Future.wait(signUp);
}
box.write(BoxName.isVerified, '1');
box.write(BoxName.isFirstTime, '0');
box.write(BoxName.phone, phoneController.text);
box.write(
BoxName.phone, encryptionHelper.encryptData(phoneController.text));
Get.put(LoginController()).loginUsingCredentials(
box.read(BoxName.passengerID).toString(),
@@ -257,19 +269,23 @@ class RegisterController extends GetxController {
try {
if (formKey3.currentState!.validate()) {
var res = await CRUD().post(link: AppLink.verifyOtpMessage, payload: {
'phone_number': phoneController.text,
'token': verifyCode.text.toString(),
'phone_number': encryptionHelper.encryptData(phoneController.text),
'token': encryptionHelper.encryptData(verifyCode.text.toString()),
});
if (res != 'failure') {
box.write(BoxName.phoneDriver, phoneController.text);
var nameParts = box.read(BoxName.name).toString().split(' ');
box.write(BoxName.phone,
encryptionHelper.encryptData(phoneController.text));
var nameParts = encryptionHelper
.decryptData(box.read(BoxName.name))
.toString()
.split(' ');
var firstName = nameParts.isNotEmpty ? nameParts[0] : 'unknown';
var lastName = nameParts.length > 1 ? nameParts[1] : 'unknown';
var payload = {
'id': box.read(BoxName.passengerID),
'phone': phoneController.text,
'phone': encryptionHelper.decryptData(phoneController.text),
'email': box.read(BoxName.email),
'password': 'unknown',
'gender': 'unknown',
@@ -285,18 +301,24 @@ class RegisterController extends GetxController {
);
if (res1 != 'failure') {
await CRUD().post(
link: '${AppLink.seferAlexandriaServer}/auth/signup.php',
payload: payload,
);
await CRUD().post(
link: '${AppLink.seferGizaServer}/auth/signup.php',
payload: payload,
);
if (AppLink.seferAlexandriaServer != AppLink.seferCairoServer) {
List<Future> signUp = [
CRUD().post(
link: '${AppLink.seferAlexandriaServer}/auth/signup.php',
payload: payload,
),
CRUD().post(
link: '${AppLink.seferGizaServer}/auth/signup.php',
payload: payload,
)
];
await Future.wait(signUp);
}
box.write(BoxName.isVerified, '1');
box.write(BoxName.isFirstTime, '0');
box.write(BoxName.phone, phoneController.text);
box.write(BoxName.phone,
encryptionHelper.decryptData(phoneController.text));
Get.put(LoginController()).loginUsingCredentials(
box.read(BoxName.passengerID).toString(),

View File

@@ -6,6 +6,7 @@ import 'package:http/http.dart' as http;
import '../../constant/box_name.dart';
import '../../constant/links.dart';
import '../../main.dart';
import '../functions/encrypt_decrypt.dart';
class TokenController extends GetxController {
bool isloading = false;
@@ -22,7 +23,8 @@ class TokenController extends GetxController {
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
},
body: {
'token': box.read(BoxName.tokenFCM.toString()),
'token':
encryptionHelper.decryptData(box.read(BoxName.tokenFCM.toString())),
'passengerID': box.read(BoxName.passengerID).toString()
},
);