<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Customer extends CI_Controller { public function __construct() { parent::__construct(); date_default_timezone_set("Asia/Riyadh"); $this->load->model('Customer_model'); if(!$this->session->userdata('logged_in')) { redirect(base_url()); } $role = roleManagement(); if(!array_key_exists('Customer',$role)){ redirect(base_url('Dashboard')); } } public function addCustomer(){ $template['page'] = 'Customer/customerForm'; $template['menu'] = 'Customer Management'; $template['smenu'] = 'Add Customer'; $template['pTitle'] = "Add Customer"; $template['pDescription'] = "Create New Customer"; $this->load->view('template',$template); } public function viewCustomers(){ $template['page'] = 'Customer/viewCustomer'; $template['menu'] = 'Customer Management'; $template['smenu'] = 'View Customers'; $template['pTitle'] = "View Customers"; $template['pDescription'] = "View and Manage Customers"; $template['page_head'] = "Customer Management"; $provider_id = ''; if($this->session->userdata['user_type'] == 2){ $provider_id = $this->session->userdata['id']; } $template['customer_data'] = $this->Customer_model->getCustomerData('','0,1',$provider_id); $this->load->view('template',$template); } public function getCustomerData(){ $resArr = array('status'=>0); if(!isset($_POST)||empty($_POST)||!isset($_POST['customer_id'])||empty($_POST['customer_id']) || !is_numeric($customer_id = decode_param($_POST['customer_id']))){ echo json_encode($resArr);exit; } $view_all = (isset($_POST['view_all']) && $_POST['view_all'] == 1)?1:0; $mechData = $this->Customer_model->getCustomerData($customer_id,$view_all); if(empty($mechData)){ echo json_encode($resArr);exit; } $resArr['status'] = 1; $resArr['data'] = $mechData; echo json_encode($resArr);exit; } function changeStatus(){ if(!isset($_POST) || !isset($_POST['customer_id']) || empty($_POST['customer_id']) || !isset($_POST['status']) || $_POST['status'] == ''){ echo json_encode(array('status'=>'0'));exit; } $status = $_POST['status']; $customer_id = decode_param($_POST['customer_id']); $resp = $this->Customer_model->changeStatus($customer_id,$status); if($resp){ echo json_encode(array('status'=>'1'));exit; } echo json_encode(array('status'=>'0'));exit; } public function createCustomer(){ $err = 0; $errMsg = ''; $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); if(!isset($_POST) || empty($_POST) || !isset($_FILES) || empty($_FILES)){ $this->session->set_flashdata('message',$flashMsg); redirect(base_url('Customer/addCustomer')); } if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){ $err = 1; $errMsg = 'Provide Customer Name'; }else if($err == 0 && (!isset($_POST['email']) || empty($_POST['email']))){ $err = 1; $errMsg = 'Provide a Customer Email'; }else if($err == 0 && (!isset($_POST['phone']) || empty($_POST['phone']))){ $err = 1; $errMsg = 'Provide Customer Phone'; }else if($err == 0 && (!isset($_POST['profile_city']) || empty($_POST['profile_city']))){ $err = 1; $errMsg = 'Provide a City Name'; }else if($err == 0 && (!isset($_POST['gender']) || empty($_POST['gender']))){ $err = 1; $errMsg = 'Provide a Gender'; }else if($err == 0 && (!isset($_POST['dob']) || empty($_POST['dob']))){ $err = 1; $errMsg = 'Provide a Date Of Birth'; } if($err == 0){ $config = set_upload_service("assets/uploads/services"); $this->load->library('upload'); $config['file_name'] = time()."_".$_FILES['profile_image']['name']; $this->upload->initialize($config); if(!$this->upload->do_upload('profile_image')){ $err = 1; $errMsg = $this->upload->display_errors(); }else{ $upload_data = $this->upload->data(); $_POST['profile_image'] = $config['upload_path']."/".$upload_data['file_name']; } } if($err == 1){ $flashMsg['message'] = $errMsg; $this->session->set_flashdata('message',$flashMsg); redirect(base_url('Customer/addCustomer')); } $temp_password = rand(10000000, 99999999); $_POST['dob'] = strtotime($_POST['dob'])*1000; $_POST['password'] = md5($temp_password); $status = $this->Customer_model->addCustomer($_POST); if($status == 1){ $this->load->model('Api_model'); $subject = "Your TimeOut Account is now activated"; $email_id = $_POST['email']; $template = getNotifTemplate(); $msgContent = "Hi, Welcome to TimeOut. Please use username: ".$_POST['email']." for access your account."; $message = "<html><body>".$msgContent."<br></body></html>"; if(isset($template['registration_mail']) && !empty($template['registration_mail'])){ $message=str_replace(array('{:email}'),array($email_id),$template['registration_mail']); } $this->Api_model->send_mail($subject,$email_id,$message); if(isset($template['registration_sms']) && !empty($template['registration_sms'])){ $msgContent=str_replace(array('{:email}'),array($email_id),$template['registration_sms']); } $this->Api_model->sendSMS($_POST['phone'],$msgContent); $flashMsg =array('message'=>'Successfully Updated User Details..!','class'=>'success'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/viewCustomers')); } else if($status == 2){ $flashMsg = array('message'=>'Email ID already exist..!','class'=>'error'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/addCustomer')); } else if($status == 3){ $flashMsg = array('message'=>'Phone Number already exist..!','class'=>'error'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/addCustomer')); } else if($status == 4){ $flashMsg = array('message'=>'User Name already exist..!','class'=>'error'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/addCustomer')); } else { $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/addCustomer')); } } public function editCustomers($customer_id){ $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); if(empty($customer_id) || !is_numeric($customer_id = decode_param($customer_id))){ $this->session->set_flashdata('message',$flashMsg); redirect(base_url('Customer/viewCustomers')); } $template['page'] = 'Customer/customerForm'; $template['menu'] = 'Customer Management'; $template['smenu'] = 'Edit Customer'; $template['pTitle'] = "Edit Customers"; $template['pDescription'] = "Update Customer Data"; $template['customer_data'] = $this->Customer_model->getCustomerData($customer_id,1); $template['customer_id'] = encode_param($customer_id); $this->load->view('template',$template); } public function updateCustomer($customer_id = ''){ $err = 0; $errMsg = ''; $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); if(!isset($_POST) || empty($_POST) || !isset($_FILES) || empty($_FILES)){ $this->session->set_flashdata('message',$flashMsg); redirect(base_url('Customer/addCustomer')); } if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){ $err = 1; $errMsg = 'Provide Customer Name'; }else if($err == 0 && (!isset($_POST['email']) || empty($_POST['email']))){ $err = 1; $errMsg = 'Provide a Customer Email'; }else if($err == 0 && (!isset($_POST['phone']) || empty($_POST['phone']))){ $err = 1; $errMsg = 'Provide Customer Phone'; }else if($err == 0 && (!isset($_POST['profile_city']) || empty($_POST['profile_city']))){ $err = 1; $errMsg = 'Provide a City Name'; }else if($err == 0 && (!isset($_POST['gender']) || empty($_POST['gender']))){ $err = 1; $errMsg = 'Provide a Gender'; }else if($err == 0 && (!isset($_POST['dob']) || empty($_POST['dob']))){ $err = 1; $errMsg = 'Provide a Date Of Birth'; } if($err == 0){ $config = set_upload_service("assets/uploads/services"); $this->load->library('upload'); $config['file_name'] = time()."_".$_FILES['profile_image']['name']; $this->upload->initialize($config); if($this->upload->do_upload('profile_image')){ $upload_data = $this->upload->data(); $_POST['profile_image'] = $config['upload_path']."/".$upload_data['file_name']; } } if($err == 1){ $flashMsg['message'] = $errMsg; $this->session->set_flashdata('message',$flashMsg); redirect(base_url('Customer/editCustomers/'.$customer_id)); } $_POST['dob'] = strtotime($_POST['dob'])*1000; $status = $this->Customer_model->updateCustomer(decode_param($customer_id),$_POST); if($status == 1){ $flashMsg =array('message'=>'Successfully Updated User Details..!','class'=>'success'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/viewCustomers')); } else if($status == 2){ $flashMsg = array('message'=>'Email ID already exist..!','class'=>'error'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/editCustomers/'.$customer_id)); } else if($status == 3){ $flashMsg = array('message'=>'Phone Number already exist..!','class'=>'error'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/editCustomers/'.$customer_id)); } else if($status == 4){ $flashMsg = array('message'=>'User Name already exist..!','class'=>'error'); $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/editCustomers/'.$customer_id)); } else { $this->session->set_flashdata('message', $flashMsg); redirect(base_url('Customer/editCustomers/'.$customer_id)); } } } ?>