This commit is contained in:
root 2020-03-17 18:50:29 +00:00
commit 6406dcb75a
3 changed files with 1667 additions and 1667 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,284 +1,284 @@
<?php <?php
defined('BASEPATH') OR exit('No direct script access allowed'); defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller { class Users extends CI_Controller {
public function __construct(){ public function __construct(){
parent::__construct(); parent::__construct();
$this->load->model('user_model'); $this->load->model('user_model');
} }
public function index() public function index()
{ {
if (!$this->session->userdata('token')) { if (!$this->session->userdata('token')) {
$this->session->set_flashdata('error', 'log in first'); $this->session->set_flashdata('error', 'log in first');
$data['alert'] = ''; $data['alert'] = '';
$this->load->view('login', $data); $this->load->view('login', $data);
} else { } else {
$hyper = "hyper"; $hyper = "hyper";
$super = "super"; $super = "super";
$admin = "admin"; $admin = "admin";
if ($this->session->userdata('category') == 0 or $this->session->userdata('category') == 1) { if ($this->session->userdata('category') == 0 or $this->session->userdata('category') == 1) {
$data['active'] = "dash"; $data['active'] = "dash";
$data['firstname'] = $this->session->userdata('firstname'); $data['firstname'] = $this->session->userdata('firstname');
$data['lastname'] = $this->session->userdata('lastname'); $data['lastname'] = $this->session->userdata('lastname');
$data['email'] = $this->session->userdata('email'); $data['email'] = $this->session->userdata('email');
$this->load->view('header', $data); $this->load->view('header', $data);
$this->load->view('admin_dash'); $this->load->view('admin_dash');
$this->load->view('footer'); $this->load->view('footer');
} else if ($this->session->userdata('category') == $hyper) { } else if ($this->session->userdata('category') == $hyper) {
$data['active'] = "dash"; $data['active'] = "dash";
$data['token'] = $this->session->userdata('token'); $data['token'] = $this->session->userdata('token');
$data['email'] = $this->session->userdata('email'); $data['email'] = $this->session->userdata('email');
$data['firstname'] = $this->session->userdata('firstname'); $data['firstname'] = $this->session->userdata('firstname');
$data['lastname'] = $this->session->userdata('lastname'); $data['lastname'] = $this->session->userdata('lastname');
$data['member_code'] = $this->session->userdata('member_code'); $data['member_code'] = $this->session->userdata('member_code');
$data['phone'] = $this->session->userdata('phone'); $data['phone'] = $this->session->userdata('phone');
$data['adresse'] = $this->session->userdata('adresse'); $data['adresse'] = $this->session->userdata('adresse');
$data['category'] = $this->session->userdata('category'); $data['category'] = $this->session->userdata('category');
$data['network'] = $this->session->userdata('network'); $data['network'] = $this->session->userdata('network');
$data['network_id'] = $data['network_id'] =
$data['villes'] = $this->user_model->getVilleByUserGeo($data['network']); $data['villes'] = $this->user_model->getVilleByUserGeo($data['network']);
$data['count_geo'] = $this->user_model->countUser("geolocated",$this->session->userdata('network')); $data['count_geo'] = $this->user_model->countUser("geolocated",$this->session->userdata('network'));
$data['count_sup'] = $this->user_model->countUser("super",$this->session->userdata('network')); $data['count_sup'] = $this->user_model->countUser("super",$this->session->userdata('network'));
$this->load->view('header_hyp', $data); $this->load->view('header_hyp', $data);
$this->load->view('hyperviseur_dash'); $this->load->view('hyperviseur_dash');
$this->load->view('footer'); $this->load->view('footer');
} else if ($this->session->userdata('category') == $super) { } else if ($this->session->userdata('category') == $super) {
$data['active'] = "dash"; $data['active'] = "dash";
$this->load->view('header_sup', $data); $this->load->view('header_sup', $data);
$this->load->view('superviseur_dash'); $this->load->view('superviseur_dash');
$this->load->view('footer'); $this->load->view('footer');
} }
} }
} }
public function login() public function login()
{ {
$user_login = array( $user_login = array(
'user_email' => $this->input->post('user_mail'), 'user_email' => $this->input->post('user_mail'),
'user_password' => $this->input->post('user_password'), 'user_password' => $this->input->post('user_password'),
'user_role' => $this->input->post('user_role') 'user_role' => $this->input->post('user_role')
); );
$data = $this->user_model->login_user($user_login['user_email'], $user_login['user_password'], $user_login['user_role']); $data = $this->user_model->login_user($user_login['user_email'], $user_login['user_password'], $user_login['user_role']);
if ($data) { if ($data) {
$hyper = "hyper"; $hyper = "hyper";
$super = "super"; $super = "super";
$this->session->set_userdata('token', $data->token); $this->session->set_userdata('token', $data->token);
$this->session->set_userdata('email', $data->email); $this->session->set_userdata('email', $data->email);
$this->session->set_userdata('firstname', $data->firstname); $this->session->set_userdata('firstname', $data->firstname);
$this->session->set_userdata('lastname', $data->lastname); $this->session->set_userdata('lastname', $data->lastname);
$this->session->set_userdata('adresse', $data->adresse); $this->session->set_userdata('adresse', $data->adresse);
if($user_login['user_role']==1){ if($user_login['user_role']==1){
$this->session->set_userdata('country', $data->country); $this->session->set_userdata('country', $data->country);
$pays = $this->user_model->getAllCountries(); $pays = $this->user_model->getAllCountries();
$this->session->set_userdata('current_pays', $pays->first_row()->name); $this->session->set_userdata('current_pays', $pays->first_row()->name);
$hyper = $this->user_model->getAllHyper($this->session->userdata('current_pays')); $hyper = $this->user_model->getAllHyper($this->session->userdata('current_pays'));
$this->session->set_userdata('current_hyper', $hyper->first_row()->code_membre); $this->session->set_userdata('current_hyper', $hyper->first_row()->code_membre);
$ville = $this->user_model->getVilleNetworkByHyper($this->session->userdata('current_hyper')); $ville = $this->user_model->getVilleNetworkByHyper($this->session->userdata('current_hyper'));
$this->session->set_userdata('current_ville', $ville->first_row()->ville); $this->session->set_userdata('current_ville', $ville->first_row()->ville);
$this->session->set_userdata('category', $data->category); $this->session->set_userdata('category', $data->category);
redirect('index.php/Admin_dash/filter'); redirect('index.php/Admin_dash/filter');
}else{ }else{
$this->session->set_userdata('member_code', $data->code_membre); $this->session->set_userdata('member_code', $data->code_membre);
$this->session->set_userdata('longitude', $data->longitude); $this->session->set_userdata('longitude', $data->longitude);
$this->session->set_userdata('latitude', $data->latitude); $this->session->set_userdata('latitude', $data->latitude);
$this->session->set_userdata('phone', $data->phone); $this->session->set_userdata('phone', $data->phone);
$this->session->set_userdata('category', $data->category); $this->session->set_userdata('category', $data->category);
$this->session->set_userdata('network', $data->network); $this->session->set_userdata('network', $data->network);
$this->session->set_userdata('network_id', $data->network_id); $this->session->set_userdata('network_id', $data->network_id);
$this->session->set_userdata('current_pays', $data->country); $this->session->set_userdata('current_pays', $data->country);
if($data->category == $hyper) { if($data->category == $hyper) {
redirect('index.php/Hyperviseur_dash'); redirect('index.php/Hyperviseur_dash');
} else if ($data->category == $super) { } else if ($data->category == $super) {
$this->session->set_userdata('code_parrain', $data->code_parrain); $this->session->set_userdata('code_parrain', $data->code_parrain);
redirect('index.php/Superviseur_dash'); redirect('index.php/Superviseur_dash');
} }
} }
} else { } else {
$this->session->set_flashdata('error_msg', 'Error occured,Try again.'); $this->session->set_flashdata('error_msg', 'Error occured,Try again.');
$data['alert'] = "ok"; $data['alert'] = "ok";
$data['message'] = "L'identifiant " . $user_login['user_email'] . " ou le mot de passe sont incorrectes ou vérifiez votre grade!"; $data['message'] = "L'identifiant " . $user_login['user_email'] . " ou le mot de passe sont incorrectes ou vérifiez votre grade!";
$this->load->view('login', $data); $this->load->view('login', $data);
} }
} }
public function create_auth(){ public function create_auth(){
$email = $this->input->post('user_email'); $email = $this->input->post('user_email');
if($email!=null){ if($email!=null){
$this->load->model('Authentification_url_model'); $this->load->model('Authentification_url_model');
if($this->User_model->email_check($this->input->post('user_email'))) if($this->User_model->email_check($this->input->post('user_email')))
{ {
$id = $this->session->userdata('id'); $id = $this->session->userdata('id');
$tktToken = $this->generateToken($id); $tktToken = $this->generateToken($id);
$current_date = date('Y-m-d H:i:s'); $current_date = date('Y-m-d H:i:s');
$expires = strtotime('+3 days', strtotime($current_date)); $expires = strtotime('+3 days', strtotime($current_date));
$end_date = date('Y-m-d H:i:s', $expires); $end_date = date('Y-m-d H:i:s', $expires);
$code_sms = str_pad(mt_rand(1,999999),6,'0',STR_PAD_LEFT); $code_sms = str_pad(mt_rand(1,999999),6,'0',STR_PAD_LEFT);
$auth = array( $auth = array(
'email' => $this->input->post('user_email'), 'email' => $this->input->post('user_email'),
'contact' => $this->input->post('user_mobile'), 'contact' => $this->input->post('user_mobile'),
'token' => $tktToken, 'token' => $tktToken,
'code_sms' => $code_sms, 'code_sms' => $code_sms,
'create_at' => $current_date, 'create_at' => $current_date,
'expire_at' => $end_date, 'expire_at' => $end_date,
'id_creator' => $id 'id_creator' => $id
); );
$userId = $this->Authentification_url_model->save_auth($auth); $userId = $this->Authentification_url_model->save_auth($auth);
$this->sendmail($userId,$this->input->post('email'),$this->input->post('name'),$tktToken,'register','Verify your email'); $this->sendmail($userId,$this->input->post('email'),$this->input->post('name'),$tktToken,'register','Verify your email');
redirect('user/login_view', 'refresh'); redirect('user/login_view', 'refresh');
} }
else{ else{
$this->session->set_flashdata('msg', 'This email is already used, please try again with different account ...'); $this->session->set_flashdata('msg', 'This email is already used, please try again with different account ...');
redirect('users/register', 'refresh'); redirect('users/register', 'refresh');
} }
} }
} }
public function register(){ public function register(){
$this->load->model('Authentification_url_model'); $this->load->model('Authentification_url_model');
$current_date = date('Y-m-d H:i:s'); $current_date = date('Y-m-d H:i:s');
$token = null; $token = null;
$expiration_date = $this->Authentification_url_model->getExpireDate($token); $expiration_date = $this->Authentification_url_model->getExpireDate($token);
if($expiration_date!=null){ if($expiration_date!=null){
if($current_date < $expiration_date){ if($current_date < $expiration_date){
//registration logic //registration logic
} }
else{ else{
$this->session->set_flashdata('error_msg', 'Error occured,Try again.'); $this->session->set_flashdata('error_msg', 'Error occured,Try again.');
//$this->load->view("login.php"); //$this->load->view("login.php");
$data['alert'] = "ok"; $data['alert'] = "ok";
$data['message'] = "Sorry your authentification'url has already expired"; $data['message'] = "Sorry your authentification'url has already expired";
//redirect('Login', $data); //redirect('Login', $data);
$this->load->view('register', $data); $this->load->view('register', $data);
} }
} }
else{ else{
$this->session->set_flashdata('error_msg', 'Error occured,Try again.'); $this->session->set_flashdata('error_msg', 'Error occured,Try again.');
$data['alert'] = "ok"; $data['alert'] = "ok";
$data['message'] = "your authentification url is not recognized"; $data['message'] = "your authentification url is not recognized";
$this->load->view('register', $data); $this->load->view('register', $data);
} }
} }
public function generateToken($id){ public function generateToken($id){
$static_str='IL'; $static_str='IL';
$currenttimeseconds = date("mdY_His"); $currenttimeseconds = date("mdY_His");
$token_id=$static_str.$id.$currenttimeseconds; $token_id=$static_str.$id.$currenttimeseconds;
return md5($token_id); return md5($token_id);
} }
public function logout() public function logout()
{ {
$this->session->sess_destroy(); $this->session->sess_destroy();
$data['alert'] = 'You have been disconnected'; $data['alert'] = 'You have been disconnected';
//redirect('index.php/Users/index', $data); //redirect('index.php/Users/index', $data);
$this->load->view('login', $data); $this->load->view('login', $data);
} }
public function forgot_password(){ public function forgot_password(){
$data['message'] = 'Les instructions vous seront envoyées par email.'; $data['message'] = 'Les instructions vous seront envoyées par email.';
$this->load->view('admin_forgot_password',$data); $this->load->view('admin_forgot_password',$data);
} }
public function sendEmailInstructions(){ public function sendEmailInstructions(){
if(isset($_POST)) if(isset($_POST))
{ {
$email = $this->input->post('email'); $email = $this->input->post('email');
$emailExist = $this->user_model->isEmailExist($email); $emailExist = $this->user_model->isEmailExist($email);
if($emailExist==true){ if($emailExist==true){
$names = $this->db->query("SELECT firstname,lastname FROM admin WHERE email='".$email."'"); $names = $this->db->query("SELECT firstname,lastname FROM admin WHERE email='".$email."'");
$firstname = $names->first_row()->firstname; $firstname = $names->first_row()->firstname;
$lastname = $names->first_row()->lastname; $lastname = $names->first_row()->lastname;
$token_query = $this->db->query("SELECT token FROM admin WHERE email='".$email."'"); $token_query = $this->db->query("SELECT token FROM admin WHERE email='".$email."'");
$token = $token_query->first_row()->token; $token = $token_query->first_row()->token;
$link = "https://ilink-app.com/backofficebeta/index.php/Admin_password/?token=".$token; $link = "https://ilink-app.com/backofficebeta/index.php/Admin_password/?token=".$token;
$this->load->library('email'); $this->load->library('email');
$this->email->from('noreply@ilink-app.com', 'iLink World'); $this->email->from('noreply@ilink-app.com', 'iLink World');
$this->email->to($email); $this->email->to($email);
$this->email->subject("Instruction pour modification de mot de passe"); $this->email->subject("Instruction pour modification de mot de passe");
$this->email->message($firstname.' '.$lastname.', veuillez suivre ce lien pour créer un nouveau mot de passe. '.$link); $this->email->message($firstname.' '.$lastname.', veuillez suivre ce lien pour créer un nouveau mot de passe. '.$link);
$this->email->send(); $this->email->send();
}else{ }else{
$data['message'] = 'Veuillez saisir votre email.'; $data['message'] = 'Veuillez saisir votre email.';
$this->load->view('admin_forgot_password',$data); $this->load->view('admin_forgot_password',$data);
} }
}else{ }else{
$data['message'] = 'Cet email ne correspond à aucun utilisateur.'; $data['message'] = 'Cet email ne correspond à aucun utilisateur.';
$this->load->view('admin_forgot_password',$data); $this->load->view('admin_forgot_password',$data);
} }
} }
public function redirect_tutorial(){ public function redirect_tutorial(){
if(isset($_POST)) if(isset($_POST))
{ {
$profil = $this->input->post('profil'); $profil = $this->input->post('profil');
switch ($profil) { switch ($profil) {
case 1: case 1:
$data['profil'] = 1; $data['profil'] = 1;
$this->load->view('flipbook',$data); $this->load->view('flipbook',$data);
break; break;
case 2: case 2:
$data['profil'] = 2; $data['profil'] = 2;
$this->load->view('select_tuto',$data); $this->load->view('select_tuto',$data);
break; break;
case 3: case 3:
$data['profil'] = 3; $data['profil'] = 3;
$this->load->view('select_tuto',$data); $this->load->view('select_tuto',$data);
break; break;
} }
} }
} }
} }
?> ?>

File diff suppressed because it is too large Load Diff