Advertisement
j0h4n54ntr1

model

Feb 23rd, 2018
1,048
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.85 KB | None | 0 0
  1. <?php
  2. class User_model extends CI_Model {
  3.  
  4.     public $status;
  5.     public $aturan;
  6.    
  7.     function __construct(){
  8.         // Call the Model constructor
  9.         parent::__construct();        
  10.         $this->status = $this->config->item('status');
  11.         $this->aturan = $this->config->item('aturan');
  12.     }    
  13.    
  14.     public function insertUser($d)
  15.     {  
  16.             $string = array(
  17.                 'nama_depan'=>$d['nama_depan'],
  18.                 'nama_belakang'=>$d['nama_belakang'],
  19.                 'email'=>$d['email'],
  20.                 'aturan'=>$this->aturan[0],
  21.                 'status'=>$this->status[0]
  22.             );
  23.             $q = $this->db->insert_string('users',$string);            
  24.             $this->db->query($q);
  25.             return $this->db->insert_id();
  26.     }
  27.    
  28.     public function isDuplicate($email)
  29.     {    
  30.         $this->db->get_where('users', array('email' => $email), 1);
  31.         return $this->db->affected_rows() > 0 ? TRUE : FALSE;        
  32.     }
  33.    
  34.     public function insertToken($user_id)
  35.     {  
  36.         $token = substr(sha1(rand()), 0, 30);
  37.         $date = date('Y-m-d');
  38.        
  39.         $string = array(
  40.                 'token'=> $token,
  41.                 'user_id'=>$user_id,
  42.                 'created'=>$date
  43.             );
  44.         $query = $this->db->insert_string('tokens',$string);
  45.         $this->db->query($query);
  46.         return $token . $user_id;
  47.        
  48.     }
  49.    
  50.     public function isTokenValid($token)
  51.     {
  52.        $tkn = substr($token,0,30);
  53.        $uid = substr($token,30);      
  54.        
  55.         $q = $this->db->get_where('tokens', array(
  56.             'tokens.token' => $tkn,
  57.             'tokens.user_id' => $uid), 1);                        
  58.                
  59.         if($this->db->affected_rows() > 0){
  60.             $row = $q->row();            
  61.            
  62.             $created = $row->created;
  63.             $createdTS = strtotime($created);
  64.             $today = date('Y-m-d');
  65.             $todayTS = strtotime($today);
  66.            
  67.             if($createdTS != $todayTS){
  68.                 return false;
  69.             }
  70.            
  71.             $user_info = $this->getUserInfo($row->user_id);
  72.             return $user_info;
  73.            
  74.         }else{
  75.             return false;
  76.         }
  77.        
  78.     }    
  79.    
  80.     public function getUserInfo($id)
  81.     {
  82.         $q = $this->db->get_where('users', array('id' => $id), 1);  
  83.         if($this->db->affected_rows() > 0){
  84.             $row = $q->row();
  85.             return $row;
  86.         }else{
  87.             error_log('no user found getUserInfo('.$id.')');
  88.             return false;
  89.         }
  90.     }
  91.    
  92.     public function updateUserInfo($post)
  93.     {
  94.         $data = array(
  95.                'password' => $post['password'],
  96.                'terakhir_masuk' => date('Y-m-d h:i:s A'),
  97.                'status' => $this->status[1]
  98.             );
  99.         $this->db->where('id', $post['user_id']);
  100.         $this->db->update('users', $data);
  101.         $success = $this->db->affected_rows();
  102.        
  103.         if(!$success){
  104.             error_log('Unable to updateUserInfo('.$post['user_id'].')');
  105.             return false;
  106.         }
  107.        
  108.         $user_info = $this->getUserInfo($post['user_id']);
  109.         return $user_info;
  110.     }
  111.    
  112.     public function checkLogin($post)
  113.     {
  114.         $this->load->library('password');      
  115.         $this->db->select('*');
  116.         $this->db->where('email', $post['email']);
  117.         $query = $this->db->get('users');
  118.         $userInfo = $query->row();
  119.        
  120.         if(!$this->password->validate_password($post['password'], $userInfo->password)){
  121.             error_log('Unsuccessful login attempt('.$post['email'].')');
  122.             return false;
  123.         }
  124.        
  125.         $this->updateLoginTime($userInfo->id);
  126.        
  127.         unset($userInfo->password);
  128.         return $userInfo;
  129.     }
  130.    
  131.     public function updateLoginTime($id)
  132.     {
  133.         $this->db->where('id', $id);
  134.         $this->db->update('users', array('terakhir_masuk' => date('Y-m-d h:i:s A')));
  135.         return;
  136.     }
  137.    
  138.     public function getUserInfoByEmail($email)
  139.     {
  140.         $q = $this->db->get_where('users', array('email' => $email), 1);  
  141.         if($this->db->affected_rows() > 0){
  142.             $row = $q->row();
  143.             return $row;
  144.         }else{
  145.             error_log('no user found getUserInfo('.$email.')');
  146.             return false;
  147.         }
  148.     }
  149.    
  150.     public function updatePassword($post)
  151.     {  
  152.         $this->db->where('id', $post['user_id']);
  153.         $this->db->update('users', array('password' => $post['password']));
  154.         $success = $this->db->affected_rows();
  155.        
  156.         if(!$success){
  157.             error_log('Unable to updatePassword('.$post['user_id'].')');
  158.             return false;
  159.         }        
  160.         return true;
  161.     }
  162.    
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement