<?php class User_model extends CI_Model { public function _consruct(){ parent::_construct(); } function getUserData($user_id = ''){ if(empty($user_id)){ return 0; } $userData = new stdClass(); $query = $this->db->get_where('users',array('id'=>$user_id)); if($query->num_rows() > 0 && !empty($query)){ $result = $query->row(); if(isset($result->user_type) && !empty($result->user_type)){ if($result->user_type == 2){ $this->load->model('Provider_model'); $userData = $this->Provider_model->getProviderData($this->session->userdata('id')); } else if ($result->user_type == 3){ $this->load->model('Customer_model'); $userData = $this->Customer_model->getCustomerData($this->session->userdata('id')); } } $userData->id = $result->id; $userData->status = $result->status; $userData->username = $result->username; $userData->user_type = $result->user_type; $userData->display_name = $result->display_name; $userData->profile_image = $result->profile_image; return $userData; } return 0; } function updateUser($user_id = '',$user_type = '',$user_data = array()){ if(empty($user_id) || empty($user_type) || empty($user_data)){ return 0; } $chkUser = $this->db->query("SELECT * FROM users WHERE status!='2' AND id!='".$user_id."' AND username='".$user_data['username']."' AND user_type='".$user_type."'"); if(!empty($chkUser) && $chkUser->num_rows() > 0) { return 4; } $status = ''; if ($user_type == 2) { $chkUser = $this->db->query("SELECT * FROM users AS USR INNER JOIN provider AS PRV ON (USR.id = PRV.provider_id) WHERE USR.status!='2' AND USR.id!='".$user_id."' AND PRV.email='".$user_data['email']."'"); if(!empty($chkUser) && $chkUser->num_rows() > 0) return 5; $chkUser = $this->db->query("SELECT * FROM users AS USR INNER JOIN provider AS PRV ON (USR.id = PRV.provider_id) WHERE USR.status!='2' AND USR.id!='".$user_id."' AND PRV.phone='".$user_data['phone']."'"); if(!empty($chkUser) && $chkUser->num_rows() > 0) return 6; $status = $this->db->update('provider',array('name'=>$user_data['name'], 'email'=>$user_data['email'], 'phone'=>$user_data['phone']), array('provider_id'=>$user_id)); } else if ($user_type == 3) { $chkUser = $this->db->query("SELECT * FROM users AS USR INNER JOIN customer AS CUST ON (USR.id = CUST.customer_id) WHERE USR.status!='2' AND USR.id!='".$user_id."' AND CUST.email='".$user_data['email']."'"); if(!empty($chkUser) && $chkUser->num_rows() > 0) return 5; $chkUser = $this->db->query("SELECT * FROM users AS USR INNER JOIN customer AS CUST ON (USR.id = CUST.customer_id) WHERE USR.status!='2' AND USR.id!='".$user_id."' AND CUST.phone='".$user_data['phone']."'"); if(!empty($chkUser) && $chkUser->num_rows() > 0) return 6; $status = $this->db->update('customer',array('name'=>$user_data['name'], 'email'=>$user_data['email'], 'phone'=>$user_data['phone']), array('customer_id'=>$user_id)); } if($user_type == 1 || $user_type == 4){ $userData['username'] = $user_data['username']; $userData['display_name'] = $user_data['display_name']; if(isset($user_data['password']) && !empty($user_data['password'])){ $userData['password'] = $user_data['password']; } if(isset($user_data['profile_image']) && !empty($user_data['profile_image'])){ $userData['profile_image'] = $user_data['profile_image']; } $this->db->update('users',$userData,array('id'=>$user_id)); $usrData = $this->getUserData($user_id); if(!empty($usrData)){ $this->session->set_userdata('id',$usrData->id); $this->session->set_userdata('user',$usrData); $this->session->set_userdata('username',$usrData->username); $this->session->set_userdata('logged_in','1'); $this->session->set_userdata('user_type',$usrData->user_type); } return 1; } return 0; } } ?>