Update agent registration process

This commit is contained in:
Djery-Tom 2021-05-21 13:29:24 +01:00
parent a01b714ca8
commit 0821697779
4 changed files with 71 additions and 55 deletions

View File

@ -3,6 +3,8 @@
"require": {
"phpmailer/phpmailer": "^6.1",
"twilio/sdk": "^6.4",
"guzzlehttp/guzzle": "^7.1"
}
"guzzlehttp/guzzle": "^7.1",
"ext-json": "*"
},
"description": "iLink World Mobile Backend"
}

View File

@ -395,67 +395,77 @@ class Requester
*/
public function registerGeolocated($request)
{
if ($this->db->isPhoneExistedInCategory($request->phone, $request->category,$request->phone_transaction)) {
if($this->db->isPhoneExistedAgent($request->phone)) {
// user is already existed - error response
$response['agent']= $request->lastname;
$response["error"] = 1;
$response["error_msg"] = $this->messageText['ALREADY_PHONE_NUMBER'];
echo json_encode($response);
} else {
if ($checkValidity = $this->db->checknumberValidity($request->phone)) {
$membercodetest = $this->db->isMemberCodeExisted($request->member);
if ($membercodetest) {
$user = $this->db->storeUser($request->address, $request->lastname, $request->email, $request->phone,
$request->password, $request->network, $request->member, $request->latitude, $request->longitude, $request->town,$request->phone_transaction);
if ($user != null && !isset($user['error'])) {
//if ($user) {
// user stored successfully
//Create wallet if network has wallet
if($this->db->getConfigWallet($request->network->id))
$this->db->createWalletForAgent($request->phone_transaction);
$user["success"] = 1;
$validation = $user["validation_code"];
$username = $user["lastname"];
$subject = "Bienvenue sur Ilink";
$code=$user["code_membre"];
$phone = $user['phone'];
$ct=($user['category']=='geolocated'?$this->messageText['AGENT_GEO']:($user['category']=='super'?$this->messageText['ADMIN']:$this->messageText['SUPER_ADMIN']));
$message1 =sprintf($this->messageText['MESSAGE_1'],$username,$ct,$phone,$request->password,$code,$validation);
$message2 = sprintf($this->messageText['MESSAGE_2'],$username,$ct,$phone,$request->password,$code);
$from = "noreply@ilink-app.com";
$headers = "From:" . $from;
$name = "ilink";
$response["error_msg"] = sprintf($this->messageText['ALREADY_PHONE_NUMBER'],$request->phone);
return json_encode($response);
}
$this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']);
$this->messenger->setMessage($user['category']=='super'?$message2:$message1);
$this->messenger->setSubject($subject);
$this->messenger->setHeader($headers);
try{
$this->messenger->sendMail();
}catch (\Throwable $e){
$this->write_log($e->getMessage().'\n'.$e->getTraceAsString());;
}
$sms = $this->messenger->sendSms();
if($this->db->isPhoneExistedAgent($request->phone_transaction)) {
// user is already existed - error response
$response['agent']= $request->lastname;
$response["error"] = 1;
$response["error_msg"] = sprintf($this->messageText['ALREADY_TRANSACTION_PHONE_NUMBER'],$request->phone_transaction);
return json_encode($response);
}
if ($this->db->checknumberValidity($request->phone))
return json_encode([ 'agent' => $request->lastname , 'error' => 'invalid phone number', 'error_msg' => $this->messageText['INVALID_PHONE']]);
}
return json_encode($user);
if ($this->db->checknumberValidity($request->phone_transaction))
return json_encode([ 'agent' => $request->lastname , 'error' => 'invalid transaction phone number', 'error_msg' => $this->messageText['INVALID_TRANSACTION_PHONE']]);
/* echo "Réseau : ".strtoupper($user["network"])."<br />";
echo "<br />";
echo "Nom(s) :".$user["lastname"]."<br />";
echo "Email par défaut du réseau : ".$user["email"]."<br />";
echo "Telephone :".$user["phone"]."<br />";
echo "Code membre pour le réseau : ".$user["code_membre"]."<br />";
echo "<br />";*/
} else {
return json_encode(['error' => 'unable to get membrre', 'error_msg' => $this->messageText['NO_CODE_MEMBER']]);
$membercodetest = $this->db->isMemberCodeExisted($request->member);
if ($membercodetest) {
$user = $this->db->storeUser($request->address, $request->lastname, $request->email, $request->phone,
$request->password, $request->network, $request->member, $request->latitude, $request->longitude, $request->town,$request->phone_transaction);
if ($user != null && !isset($user['error'])) {
//if ($user) {
// user stored successfully
//Create wallet if network has wallet
if($this->db->getConfigWallet($request->network->id))
$this->db->createWalletForAgent($request->phone_transaction);
$user["success"] = 1;
$validation = $user["validation_code"];
$username = $user["lastname"];
$subject = "Bienvenue sur Ilink";
$code=$user["code_membre"];
$phone = $user['phone'];
$ct=($user['category']=='geolocated'?$this->messageText['AGENT_GEO']:($user['category']=='super'?$this->messageText['ADMIN']:$this->messageText['SUPER_ADMIN']));
$message1 =sprintf($this->messageText['MESSAGE_1'],$username,$ct,$phone,$request->password,$code,$validation);
$message2 = sprintf($this->messageText['MESSAGE_2'],$username,$ct,$phone,$request->password,$code);
$from = "noreply@ilink-app.com";
$headers = "From:" . $from;
$name = "ilink";
$this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']);
$this->messenger->setMessage($user['category']=='super'?$message2:$message1);
$this->messenger->setSubject($subject);
$this->messenger->setHeader($headers);
try{
$this->messenger->sendMail();
}catch (\Throwable $e){
$this->write_log($e->getMessage().'\n'.$e->getTraceAsString());;
}
}else{
return json_encode(['error' => 'unable to get membrre',"msg"=>$this->messageText, 'error_msg' => $this->messageText['INVALID_PHONE']]);
$sms = $this->messenger->sendSms();
}
return json_encode($user);
/* echo "Réseau : ".strtoupper($user["network"])."<br />";
echo "<br />";
echo "Nom(s) :".$user["lastname"]."<br />";
echo "Email par défaut du réseau : ".$user["email"]."<br />";
echo "Telephone :".$user["phone"]."<br />";
echo "Code membre pour le réseau : ".$user["code_membre"]."<br />";
echo "<br />";*/
} else {
return json_encode([ 'agent' => $request->lastname , 'error' => 'unable to get member', 'error_msg' => $this->messageText['NO_CODE_MEMBER']]);
}
}

View File

@ -15,9 +15,11 @@
"MESSAGE_1":"Hi %s, \n \nYour %s account has just been created. \nYour ID:%s \nYour Passwords:%s \n\nYour member code : %s\n\nYour verification code:%s \n \nService, \niLinkWorld Team.",
"MESSAGE_1_USER":"Hi %s, \n \nYour %s account has just been created. \nYour ID:%s \nYour Passwords:%s \n\nYour verification code:%s \n \nService, \niLinkWorld Team.",
"MESSAGE_2":"Hi %s, \n \nYour %s account has just been created. \nYour ID:%s \n \nYour password:%s\n \nYour member code : %s\n Your verification code will be sent to you once your Hypervisor validates it \n\nKindly, \niLinkWorld team.",
"ALREADY_PHONE_NUMBER":"The phone number is already created",
"ALREADY_PHONE_NUMBER":"The phone number %s is already created",
"ALREADY_TRANSACTION_PHONE_NUMBER":"The transaction phone number %s is already created",
"NO_CODE_MEMBER":"no member has this code",
"INVALID_PHONE":"Invalide phone number",
"INVALID_TRANSACTION_PHONE":"Invalid transaction phone number",
"WRONG_PASSWORD":"Wrong password",
"USER_":"User",
"AGENT_GEO":"GeolocatedAgent",

View File

@ -18,9 +18,11 @@
"MESSAGE_1":"Salut %s,\n\nVotre compte %s vient d'être crée.\nVotre identifiant : %s \nVotre mot de passe : %s\n\nVotre code membre : %s\nVotre code de validation : %s\n\nCordialement,\nEquipe iLinkWorld.",
"MESSAGE_1_USER":"Salut %s,\n\nVotre compte %s vient d'être crée.\nVotre identifiant : %s \nVotre mot de passe : %s\n\nVotre code de validation : %s\n\nCordialement,\nEquipe iLinkWorld.",
"MESSAGE_2":"Salut %s,\n\nVotre compte %s vient d'être crée.\nVotre identifiant : %s \n\nVotre mot de passe : %s\nVotre code membre : %s\n Votre code de validation vous sera envoye une fois que votre Hyperviseur l'aura validé\n\nCordialement,\nEquipe iLinkWorld.",
"ALREADY_PHONE_NUMBER":"le numero de telephone existe deja",
"ALREADY_PHONE_NUMBER":"Le numero de téléphone %s existe déjà",
"ALREADY_TRANSACTION_PHONE_NUMBER":"Le numero de téléphone de transaction %s existe déjà",
"NO_CODE_MEMBER":"aucun membre ne possede ce code",
"INVALID_PHONE":"le numero est invalide",
"INVALID_TRANSACTION_PHONE":"Le numéro de transaction est invalide",
"WELCOME_ILINK":"Bienvenue dans iLinkWorld",
"AGENT_GEO":"Agent Géolocalisé",
"ADMIN":"Administrateur",