ok
Direktori : /proc/self/root/home2/selectio/www/bharath/application/models/ |
Current File : //proc/self/root/home2/selectio/www/bharath/application/models/Chat_model.php |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Chat_model extends Admin_Model { public function __construct() { parent::__construct(); $this->current_session = $this->setting_model->getCurrentSession(); } /** * This funtion takes id as a parameter and will fetch the record. * If id is not provided, then it will fetch all the records form the table. * @param int $id * @return mixed */ public function seen($sender_id,$receiver_id,$sender_type,$receiver_type,$data) { $this->db->where('sender_id', $sender_id); $this->db->where('receiver_id', $receiver_id); $this->db->where('sender_type', $sender_type); $this->db->where('receiver_type', $receiver_type); $this->db->update('chat', $data); } public function get_chat($sender_id,$receiver_id){ $this->db->select('*')->from('chat'); $this->db->where("(`sender_id` = '".$sender_id."' or `receiver_id` = '".$sender_id."') AND (`sender_id` = '".$receiver_id."' or `receiver_id` ='".$receiver_id."')"); $this->db->order_by('id','asc'); $query = $this->db->get(); return $query->result_array(); } /** * This function will delete the record based on the id * @param $id */ /** * This function will take the post data passed from the controller * If id is present, then it will do an update * else an insert. One function doing both add and edit. * @param $data */ public function add($data) { if (isset($data['id'])) { $this->db->where('id', $data['id']); $this->db->update('chat', $data); } else { $this->db->insert('chat', $data); return $this->db->insert_id(); } } public function conversation_staff($sender_id){ $this->db->select('chat.receiver_id,staff.name,staff.surname, chat.sender_type,chat.receiver_type,roles.name as role,staff.image ')->from('chat')->join('staff','staff.id=chat.receiver_id','inner')->join('staff_roles','staff.id=staff_roles.staff_id','inner')->join('roles','staff_roles.role_id=roles.id','inner');; $this->db->where("(sender_id='".$sender_id."' or sender_type=1 and receiver_id='".$sender_id."' or receiver_type=1)"); $this->db->group_by('receiver_id'); $this->db->order_by('chat.id','desc'); $query = $this->db->get(); return $query->result_array(); } public function conversation_student($sender_id){ $this->db->select('chat.receiver_id, students.firstname,students.lastname, chat.sender_type,chat.receiver_type,"Student" as role,students.image as image')->from('chat')->join('students','students.id=chat.receiver_id','inner'); $this->db->where("(sender_id='".$sender_id."' or sender_type=2 and receiver_id='".$sender_id."' or receiver_type=2)"); $this->db->group_by('receiver_id'); $this->db->order_by('chat.id','desc'); $query = $this->db->get(); return $query->result_array(); } public function conversation_parent($sender_id){ $this->db->select('chat.receiver_id, students.father_name, chat.sender_type,chat.receiver_type,"Parent" as role,"no_image.png" as image')->from('chat')->join('students','students.parent_id=chat.receiver_id','inner'); $this->db->where("(sender_id='".$sender_id."' or sender_type=3 and receiver_id='".$sender_id."' or receiver_type=3)"); $this->db->group_by('receiver_id'); $this->db->order_by('chat.id','desc'); $query = $this->db->get(); return $query->result_array(); } public function conversation_seen($sender_id){ $this->db->select('chat.receiver_id,staff.name,staff.surname, chat.sender_type,chat.receiver_type,roles.name as role,staff.image ')->from('chat')->join('staff','staff.id=chat.receiver_id','inner')->join('staff_roles','staff.id=staff_roles.staff_id','inner')->join('roles','staff_roles.role_id=roles.id','inner'); $this->db->where("(sender_id='".$sender_id."' OR receiver_id='".$sender_id."')"); //$this->db->group_by('receiver_id'); $this->db->order_by('chat.id','desc'); $query = $this->db->get(); return $query->result_array(); } public function conversation($sender_id){ $this->db->select('chat.receiver_id,chat.sender_type,chat.receiver_type,')->from('chat'); $this->db->where("(sender_id='".$sender_id."' OR receiver_id='".$sender_id."')"); //$this->db->group_by('receiver_id'); $this->db->order_by('chat.id','desc'); $query = $this->db->get(); return $query->result_array(); } public function conversation_forstudent($sender_id){ $this->db->select('chat.receiver_id,staff.name,staff.surname, chat.sender_type,chat.receiver_type,roles.name as role,staff.image ')->from('chat')->join('staff','staff.id=chat.receiver_id','inner')->join('staff_roles','staff.id=staff_roles.staff_id','inner')->join('roles','staff_roles.role_id=roles.id','inner');; $this->db->where("(sender_id='".$sender_id."' or sender_type=2 and receiver_id='".$sender_id."' or receiver_type=2)"); $this->db->group_by('receiver_id'); $this->db->order_by('chat.id','desc'); $query = $this->db->get(); return $query->result_array(); } public function conversation_forparent($parent_id){ $this->db->select('chat.receiver_id,staff.name,chat.message,chat.created_at,staff.surname, chat.sender_type,chat.receiver_type,roles.name as role,staff.image ')->from('chat')->join('staff','staff.id=chat.receiver_id','inner')->join('staff_roles','staff.id=staff_roles.staff_id','inner')->join('roles','staff_roles.role_id=roles.id','inner');; $this->db->where("(sender_id='".$parent_id."' or sender_type=3 and receiver_id='".$parent_id."' or receiver_type=3)"); $this->db->group_by('receiver_id'); $this->db->order_by('chat.created_at','asc'); $query = $this->db->get(); return $query->result_array(); } public function get_staff($staff){ $this->db->select('staff.name ,staff.id,roles.name as role')->from('staff')->join('staff_roles','staff.id=staff_roles.staff_id','inner')->join('roles','staff_roles.role_id=roles.id','inner'); $this->db->like('staff.name', $staff); $query = $this->db->get(); return $query->result_array(); } public function get_student($student){ $this->db->select('students.firstname , students.lastname,students.id,"Student" as role')->from('students'); $this->db->like('students.firstname', $student); $this->db->or_like('students.lastname', $student); $query = $this->db->get(); return $query->result_array(); } public function get_parent($name){ $this->db->select('students.father_name,students.parent_id, "Parent" as role')->from('students'); $this->db->like('students.father_name', $name); $query = $this->db->get(); return $query->result_array(); } public function receiver_name($receiver_id,$type){ if($type=='1'){ $this->db->select('staff.name,staff.surname,staff.image,roles.name as role')->from('staff')->join('staff_roles','staff_roles.staff_id=staff.id','inner')->join('roles','roles.id=staff_roles.role_id','inner')->where('staff.id',$receiver_id); }elseif($type=='3'){ $this->db->select('students.father_name as name," " as surname," " as image,"Parent" as role')->from('students')->where('students.parent_id',$receiver_id); }elseif($type=='2'){ $this->db->select('students.firstname as name,students.lastname as surname,students.image as image,"Student" as role')->from('students')->where('students.id',$receiver_id); } $query = $this->db->get(); return $query->row_array(); } }