From 0821697779d5cae7c25c74fb8343511c440468a1 Mon Sep 17 00:00:00 2001 From: Djery-Tom Date: Fri, 21 May 2021 13:29:24 +0100 Subject: [PATCH] Update agent registration process --- composer.json | 6 ++- database/Requester.php | 112 ++++++++++++++++++++++------------------- static/en/message.json | 4 +- static/fr/message.json | 4 +- 4 files changed, 71 insertions(+), 55 deletions(-) diff --git a/composer.json b/composer.json index 33eb21a..e2b0c99 100644 --- a/composer.json +++ b/composer.json @@ -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" } diff --git a/database/Requester.php b/database/Requester.php index 06c19c0..c9da238 100644 --- a/database/Requester.php +++ b/database/Requester.php @@ -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"])."
"; - echo "
"; - echo "Nom(s) :".$user["lastname"]."
"; - echo "Email par défaut du réseau : ".$user["email"]."
"; - echo "Telephone :".$user["phone"]."
"; - echo "Code membre pour le réseau : ".$user["code_membre"]."
"; - echo "
";*/ - } 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"])."
"; + echo "
"; + echo "Nom(s) :".$user["lastname"]."
"; + echo "Email par défaut du réseau : ".$user["email"]."
"; + echo "Telephone :".$user["phone"]."
"; + echo "Code membre pour le réseau : ".$user["code_membre"]."
"; + echo "
";*/ + } else { + return json_encode([ 'agent' => $request->lastname , 'error' => 'unable to get member', 'error_msg' => $this->messageText['NO_CODE_MEMBER']]); + } } diff --git a/static/en/message.json b/static/en/message.json index 4708da9..58f34f8 100644 --- a/static/en/message.json +++ b/static/en/message.json @@ -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", diff --git a/static/fr/message.json b/static/fr/message.json index 7d71eef..8a76049 100644 --- a/static/fr/message.json +++ b/static/fr/message.json @@ -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",