<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Shopper extends CI_Controller {

	public function __construct() {
		parent::__construct();
		date_default_timezone_set("Asia/Kolkata");
		$this->load->model('Shopper_model');
		if(!$this->session->userdata('logged_in')) {
			redirect(base_url());
		}
		else {
			$menu = $this->session->userdata('admin');
			if( $menu!=1  ) {
				$this->session->set_flashdata('message', array('message' => "You don't have permission to access testimonials page.",'class' => 'danger'));
				redirect(base_url().'dashboard');
			}
		}
	}


	public function create(){
		$template['page'] = 'Shopper/create';
        $template['menu'] = 'Shopper Management';
        $template['smenu'] = 'Add Shopper';
        $template['pTitle'] = "Add Shopper";
        $template['pDescription'] = "Create New Shopper";

		$this->load->view('template',$template);
	}

	public function index(){
		$template['page'] = 'Shopper/list';
        $template['menu'] = 'Shopper Management';
        $template['smenu'] = 'View Shopper';
        $template['pTitle'] = "View Shopper";
        $template['pDescription'] = "View and Manage Shopper";
        $template['page_head'] = "Shopper Management";

        $template['shopper_data'] = $this->Shopper_model->getShopperData();
        //echo json_encode($template);exit;
		$this->load->view('template',$template);
	}

	public function getShopperData(){

		$resArr = array('status'=>0);
		if(!isset($_POST)||empty($_POST)||!isset($_POST['shopper_id'])||empty($_POST['shopper_id']) || 
		   !is_numeric($customer_id = decode_param($_POST['shopper_id']))){
			echo json_encode($resArr);exit;
		}
		$view_all = (isset($_POST['view_all']) && $_POST['view_all'] == 1)?1:0;

		$mechData = $this->Shopper_model->getShopperData($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($shopper_id = '',$status = '1'){
		$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'danger');
		if(empty($shopper_id) || !is_numeric($shopper_id = decode_param($shopper_id))){
			$this->session->set_flashdata('message',$flashMsg);
        	redirect(base_url('Shopper/viewShopper'));
		}
		$status = $this->Shopper_model->changeStatus($shopper_id,$status);
		if(!$status){
			$this->session->set_flashdata('message',$flashMsg);
		}
		redirect(base_url('Shopper'));
	}

	public function createShopper(){

		//echo json_encode($_POST);exit;
		$err = 0;
		$errMsg = '';
		$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'danger');
		if(!isset($_POST) || empty($_POST) || !isset($_FILES) || empty($_FILES)){
			$this->session->set_flashdata('message',$flashMsg);
            redirect(base_url('Shopper/addShopper'));
		}
		if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){
			$err = 1;
			$errMsg = 'Provide Shopper Name';
		}else if($err == 0 && (!isset($_POST['email']) || empty($_POST['email']))){
			$err = 1;
			$errMsg = 'Provide  Shopper Email';
		}else if($err == 0 && (!isset($_POST['phone']) || empty($_POST['phone']))){
			$err = 1;
			$errMsg = 'Provide Shopper Phone';
	
        }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("uploads/shopper");
	        $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('Shopper/addShopper'));
		}
		$temp_password = rand(10000000, 99999999);
		$_POST['password'] = md5($temp_password);

        $status = $this->Shopper_model->addShopper($_POST);
        if($status == 1){
			


			 $to =$_POST['email'];
                        $sender_email = "hello@access.sa";
                        $data['ckrpassword']=$temp_password;
                        $mail_head = "Your Access Account is now activated";
                        
                        $mail_status = send_custom_email($sender_email,$mail_head,$to,'Checker Login', $this->load->view('template/mail_template/checker_login', $data,TRUE),'');

			

            $flashMsg =array('message'=>'Successfully Created User Details..!','class'=>'success');
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper'));
        } else if($status == 2){
            $flashMsg = array('message'=>'Email ID alrady exist..!','class'=>'danger');
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/create'));
        } else if($status == 3){
            $flashMsg = array('message'=>'Phone Number alrady exist..!','class'=>'danger');
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/create'));
        } else if($status == 4){
            $flashMsg = array('message'=>'User Name alrady exist..!','class'=>'danger');
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/create'));
        } else {
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/create'));
        }
	}

	public function editShopper($shopper_id){
		$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'danger');
		if(empty($shopper_id) || !is_numeric($shopper_id = decode_param($shopper_id))){
			$this->session->set_flashdata('message',$flashMsg);
        	redirect(base_url('Customer/viewCustomers'));
		}

		$template['page'] = 'Shopper/create';
        $template['menu'] = 'Shopper Management';
        $template['smenu'] = 'Edit Shopper';
        $template['pTitle'] = "Edit Shopper";
        $template['pDescription'] = "Update Shopper Data";

        $template['shopper_data'] = $this->Shopper_model->getShopperData($shopper_id,1);
        $template['shopper_id'] = encode_param($shopper_id);

		$this->load->view('template',$template);
	}

	public function updateShopper($shopper_id = ''){
		//echo json_encode(decode_param($customer_id));exit;
		$err = 0;
		$errMsg = '';
		$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'danger');
		if(!isset($_POST) || empty($_POST) || !isset($_FILES) || empty($_FILES)){
			$this->session->set_flashdata('message',$flashMsg);
            redirect(base_url('Shopper/addShopper'));
		}
		
		if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){
			$err = 1;
			$errMsg = 'Provide Shopper Name';
		}else if($err == 0 && (!isset($_POST['email']) || empty($_POST['email']))){
			$err = 1;
			$errMsg = 'Provide Shopper Email';
		}else if($err == 0 && (!isset($_POST['phone']) || empty($_POST['phone']))){
			$err = 1;
			$errMsg = 'Provide Shopper Phone';
	
        }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("uploads/shopper");
	        $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('Shopper/editShopper/'.$customer_id));
		}
		
        $status = $this->Shopper_model->updateShopper(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('Shopper'));
        } else if($status == 2){
            $flashMsg = array('message'=>'Email ID alrady exist..!','class'=>'danger');
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/edit/'.$shopper_id));
        } else if($status == 3){
            $flashMsg = array('message'=>'Phone Number alrady exist..!','class'=>'danger');
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/edit/'.$shopper_id));
        } else if($status == 4){
            $flashMsg = array('message'=>'User Name alrady exist..!','class'=>'danger');
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/edit/'.$customer_id));
        } else {
            $this->session->set_flashdata('message', $flashMsg);
            redirect(base_url('Shopper/edit/'.$customer_id));
        }
	}
}
?>