Advertisement
Guest User

Untitled

a guest
May 13th, 2021
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.91 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Controllers;
  4. use App\Models\UserModel;
  5.  
  6. class Users extends BaseController
  7. {
  8.     public function index()
  9.     {
  10.         $data = [];
  11.         helper(['form']);
  12.        
  13.        
  14.  
  15.             if ($this->request->getMethod() == 'post') {
  16.                
  17.                 $rules = [
  18.                     'email' => 'required',
  19.                     'password' => 'required',
  20.                 ];
  21.  
  22.                
  23.  
  24.                 if (! $this->validate($rules)) {
  25.                     $data['validation'] = $this->validator;
  26.                 }else{
  27.                     $model = new UserModel();
  28.  
  29.                     $user = $model->where('email', $this->request->getVar('email'))
  30.                                                 ->first();
  31.  
  32.                     $this->setUserSession($user);
  33.                     //$session->setFlashdata('success', 'Successful Registration');
  34.                    
  35.                    
  36.  
  37.                     if($user['type'] == 'fournisseur'){
  38.                         return redirect()->to('dashboard/');
  39.                     }else return redirect()->to('dashboard/client');
  40.                    
  41.  
  42.                 }
  43.             }
  44.    
  45.  
  46.         helper(['form']);
  47.        
  48.         return view('login',$data);
  49.        
  50.     }
  51.  
  52.  
  53.  
  54.     private function setUserSession($user){
  55.         $data = [
  56.             'id' => $user['id'],
  57.             'firstname' => $user['nom'],
  58.             'lastname' => $user['prenom'],
  59.             'email' => $user['email'],
  60.             'isLoggedIn' => true,
  61.         ];
  62.  
  63.         session()->set($data);
  64.         return true;
  65.     }
  66.  
  67.  
  68.     public function register()
  69.     {
  70.         $data = [];
  71.         helper(['form']);
  72.        
  73.         if($this->request->getMethod() == 'post'){
  74.             $rules = [
  75.                 'nom' => 'required|min_length[3]|max_length[50]',
  76.                 'prenom' => 'required|min_length[3]|max_length[50]',
  77.                 'email' => 'required|min_length[6]|max_length[50]|valid_email|is_unique[users.email]',
  78.                 'password' => 'required|min_length[8]|max_length[255]',
  79.                 'password_confirm' => 'matches[password]',
  80.                 'username' => 'required|min_length[5]|max_length[20]|is_unique[users.username]',
  81.                 'dateNaissance' => 'required',
  82.                 'persoNumb' => 'required|min_length[10]|max_length[10]',
  83.                 'proNumb' => 'required|min_length[10]|max_length[10]',
  84.                 'dateMetier' => 'required',
  85.  
  86.             ];
  87.  
  88.             if (! $this->validate($rules)) {
  89.                 $data['validation'] = $this->validator;
  90.             }else{
  91.                 $model = new UserModel();
  92.  
  93.                 $newData = [
  94.                     'type' => $this->request->getVar('type'),
  95.                     'username' => $this->request->getVar('username'),
  96.                     'nom' => $this->request->getVar('nom'),
  97.                     'prenom' => $this->request->getVar('prenom'),
  98.                     'date_naissance' => $this->request->getVar('dateNaissance'),
  99.                     'num_tel_perso' => $this->request->getVar('persoNumb'),
  100.                     'num_tel_pro' => $this->request->getVar('proNumb'),
  101.                     'email' => $this->request->getVar('email'),
  102.                     'pwd' => $this->request->getVar('password'),
  103.                     'date_debut_metier' => $this->request->getVar('dateMetier'),
  104.                    
  105.                    
  106.                 ];
  107.                 $model->save($newData);
  108.                 $session = session();
  109.                 $session->setFlashdata('success', 'Successful Registration');
  110.                 return redirect()->to('/');
  111.  
  112.             }
  113.         }
  114.  
  115.  
  116.  
  117.        
  118.         echo view('register');
  119.        
  120.     }
  121.  
  122.    
  123.  
  124.     public function logout(){
  125.         $session = session();
  126.         $session->destroy();
  127.  
  128.         return redirect()->to('/');
  129.     }
  130.  
  131. }
  132.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement