HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /var/www/html/pmw24/app/application/controllers/customer/Car.php
<?php 

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



class Car extends MY_Controller {

	public function __construct() {

		parent::__construct();

		$this->redirect_customer();

		$this->customer=$this->session->userdata('customer_data');		

		$this->load->model('customer/mcar');

		$this->load->model('customer/mjob');

		$this->load->model('customer/mservicehistory');

		

	}

	

	public function index() { 				

		$this->_load_list_view();		

	}

	

	private function _load_list_view() {

		$data['customer'] = $this->customer;

		$data['content'] = 'customer/car/list';		

		$this->load->view('customer/layouts/index', $data);

	}

	

	public function all_content_list(){

		$list = $this->mcar->get_datatables();

		$data = array();

        $no = $_POST['start'];

		$i=1;

		 if($no>1)

	    {

	      $i=$i*$no+1;

	    }

		foreach ($list as $person) {

			$view = '';

			$edit='';

			$status='';

			$row = array();	

			$row[]=$i;	

			$view = '<a class="cstm_view btn btn-info btn-circle" id="view" href="javascript:void(0)" title="View" data-id="'.$person->car_id.'"><i class="fa fa-eye"></i></a>';

            $status = ($person->status==1?'<a class="cstm_view_status btn btn-success btn-circle deactive_btn" href="javascript:void(0);" data-href="'.base_url('customer/car/set_active_inactive_car/'.$person->car_id).'" title="Inactive"><i class="fa fa-check"></i></a>':'<a class="cstm_view_status btn btn-danger btn-circle active_btn"  href="javascript:void(0);" data-href="'.base_url('customer/car/set_active_inactive_car/'.$person->car_id).'" title="Active"><i class="fa fa-remove"></i></a>');

            $edit = '<a href="'.base_url('customer/car/edit/'.$person->car_id).'" title="Edit" class="btn btn-info btn-circle"><i class="fa fa-edit"></i></a>';

			

			$row[]=	$view.' '.$status.' '.$edit;

			$row[] = $person->car_no;

			$row[] = $person->company_name;

			$row[] = $person->make;

			$row[] = $person->model_no;

			$row[] = $person->body;

			//$row[] = date('d/m/Y',strtotime($person->compliance_date));

			$row[] = $person->vin;

			$row[] = $person->engine;

			$row[] = $person->fuel;

			//$row[] = $person->network;

			$row[] = $person->colour;

			//$row[] = $person->silver_service;

			//$row[] = $person->camera;

			//$row[] = date('d/m/Y',strtotime($person->registration_expiry_date));

			//$row[] = date('d/m/Y',strtotime($person->registration_due_month));

			//$row[] = $person->plate_type;

			//$row[] = $person->car_status;

			//$row[] = $person->terminal_no;

			

			

            $data[] = $row;

			$i++;

        }

		

		$output = array(

                        "draw" => $_POST['draw'],

                        "recordsTotal" => $this->mcar->count_all(),

                        "recordsFiltered" => $this->mcar->count_filtered(),

                        "data" => $data,

                );

        echo json_encode($output);

	}



	public function all_content_list_history(){

		$list = $this->mcar->get_datatables_history();

		$data = array();

        $no = $_POST['start'];

		$i=1;

		if($no>1)

	    {

	      $i=$i*$no+1;

	    }

		foreach ($list as $person) {

			$row = array();	

			$row[]=$i;		

			

			//$condition = array("job_id"=>$person->job_id,"assign_status"=>1);

			$row[] = $person->car_no;

			$condition = array("job_id"=>$person->job_id);

			$assign_job = $this->mcar->getRow('assign_job',$condition);

			if(!empty($assign_job))

			{

				$mechanic_condition = array("admin_id"=>$assign_job['mechanic_id']);

				$mechanic = $this->mcar->getRow('admins',$mechanic_condition);

				

				if(!empty($mechanic)){

					$row[] = $mechanic['first_name']." ".$mechanic['last_name'];

				} else{

					$row[] = 'N/A';

				}

			}

			

			$new_service = array();

			$services = $this->mcar->getServices($person->job_id);

			foreach($services as $key=>$service)

			{

				$new_service[$key] = $service['service_name'];

			}

			

			$service = implode(',',$new_service);									

			$row[] = $service;

			

			$service_date_condition = array("job_id"=>$person->job_id);

			$job_service_date = $this->mcar->getRow("job_service_date",$service_date_condition);

			//$row[] = $job_service_date['service_date'];

			

			$row[] = date("d/m/Y", strtotime($job_service_date['service_date']));

			

			if($person->job_status == 0){

				$job_status = "Not Started";

			}else if($person->job_status == 1){

				$job_status = "In Progress";

			}else if($person->job_status == 2){

				$job_status = "Completed";



				if(!empty($job_service_date['service_end_date']))

				{

					$job_status=$job_status.' On <b>'.date("d/m/Y", strtotime($job_service_date['service_end_date'])).'</b>';

				}

			}

		

 			$row[] = $job_status;

			$condition = array("job_id"=>$person->job_id);

			$assign_job = $this->mcar->getRowA("assign_job",$condition);			

			

			//$row[] = $assign_job['assign_status'];

			

			// if($assign_job['assign_status'] != ""){

			// 	if($assign_job['assign_status'] == 1)

			// 	{

			// 		$row[] = '<div class="dropdown">

			// 					<span class="label label-primary dropdown-toggle" data-toggle="dropdown">Accepted</span>

			// 				</div>';

			// 	}else if($assign_job['assign_status'] == 0){

			// 		$row[] = '<div class="dropdown">

			// 				  <span class="label label-danger dropdown-toggle"  data-toggle="dropdown">Rejected</span>

			// 				</div>';

			// 	}

				

            //    else if($assign_job['assign_status'] == 2){

			// 		$row[] = '<div class="dropdown">

			// 					<span class="label label-success dropdown-toggle"  data-toggle="dropdown">Assigned</span>

			// 				</div>';

			// 	}





			// }else{

			// 	$row[] = $assign_job['assign_status'];

			// }

			$row[] = '<a class="cstm_view" id="car_history_view" style="padding-left:5px" href="javascript:void(0)" data-id="'.$person->job_id.'" title="Job Details"><i class="glyphicon glyphicon-eye-open"></i></a>';

			$data[] = $row;

			$i++;

        }	

		

		$output = array(

                        "draw" => $_POST['draw'],

                        "recordsTotal" => $this->mcar->count_all_history(),

                        "recordsFiltered" => $this->mcar->count_filtered_history(),

                        "data" => $data,

                );

        echo json_encode($output);

	}


	public function all_content_list_invoice_history(){

		$list = $this->mcar->get_datatables_invoice_history();

		$data = array();

        $no = $_POST['start'];

		$i=1;

		if($no>1)

	    {

	      $i=$i*$no+1;

	    }

		foreach ($list as $person) {

			$row = array();	

			$row[]=$i;		

			

			//$condition = array("job_id"=>$person->job_id,"assign_status"=>1);

			$row[] = $person->car_no;
			$row[] = $person->mechanic;
			$row[] = $person->items;
			$row[] = date("d/m/Y", strtotime($person->date_of_creation));
			$job_status = "Completed";
			$job_status=$job_status.' On <b>'.date("d/m/Y", strtotime($person->date_of_creation)).'</b>';
			$row[] = $job_status;
			$row[] = '<a class="cstm_view" id="car_invoice_history_view" style="padding-left:5px" href="javascript:void(0)" data-id="'.$person->id.'" title="Job Details"><i class="glyphicon glyphicon-eye-open"></i></a>';

			$data[] = $row;

			$i++;

        }	

		

		$output = array(

                        "draw" => $_POST['draw'],

                        "recordsTotal" => $this->mcar->count_all_invoice_history(),

                        "recordsFiltered" => $this->mcar->count_filtered_invoice_history(),

                        "data" => $data,

                );

        echo json_encode($output);

	}

	

	

	private function searcharray($value, $key, $array) {

	   foreach ($array as $k => $val) {

		   if ($val[$key] == $value) {

			   return $val;

		   }

	   }

	   return null;

	}

	

	public function set_active_inactive_car($car_id){

		$result = array();

		$result = $this->mcar->set_active_inactive_car($car_id);

		if($result)

		{

			$this->session->set_flashdata('cus_success_msg','Car status changed successfully...');

			redirect('customer/car');

		}else{

			$this->session->set_flashdata('cus_error_msg','Oops!Something went wrong...');

			redirect('customer/car');

		}

	}

	

	public function add()

	{

		$this->_load_add_view();

	}

	

	private function _load_add_view(){		

		$data['content']='customer/car/add';

		$data['customer_list']=$this->mcar->getDetails('customer',array('status'=>1));

		$this->load->view('customer/layouts/index',$data);

	}

	

	public function add_car() 

	{

		if($this->input->post()){

			$this->form_validation->set_rules('registration_no','Car No','required|is_unique[car.car_no]');			

			$this->form_validation->set_rules('company_name','Model No','required');

			$this->form_validation->set_rules('make','Make','required');

			$this->form_validation->set_rules('model_no','Model No','required');

			$this->form_validation->set_rules('body','Body','required');

			//$this->form_validation->set_rules('compliance_date','Compliance Date','required');

			$this->form_validation->set_rules('vin','Vin','required');

			$this->form_validation->set_rules('engine','Engine','required');

			$this->form_validation->set_rules('colour','Colour','required');

			$this->form_validation->set_rules('fuel','Fuel','required');

			//$this->form_validation->set_rules('network','Network','required');

			//$this->form_validation->set_rules('silver_service','Silver Service','required');

			//$this->form_validation->set_rules('camera','Camera','required');

			//$this->form_validation->set_rules('registration_expiry_date','Registration Expiry Date','required');

			//$this->form_validation->set_rules('registration_due_month','Registration Due Month','required');

			//$this->form_validation->set_rules('plate_type','Plate Type','required');

			//$this->form_validation->set_rules('status','Status','required');

			//$this->form_validation->set_rules('terminal_no','Terminal No','required');

			

			

			if($this->form_validation->run()==FALSE){

				$this->_load_add_view();

			}else{

				$data['car_no'] = $this->input->post('registration_no');				

				$data['company_name'] = $this->input->post('company_name');

				$data['make'] = $this->input->post('make');

				$data['model_no'] = $this->input->post('model_no');

				$data['body'] = $this->input->post('body');

				// $compliance_date = $this->input->post('compliance_date');

				// 	$compliance_date_array = explode('/',$compliance_date);

				// 	$newCompliancDate = $compliance_date_array[2]."-".$compliance_date_array[1]."-".$compliance_date_array[0];

				// $data['compliance_date'] = $newCompliancDate;

				$data['vin'] = $this->input->post('vin');

				$data['engine'] = $this->input->post('engine');

				$data['colour'] = $this->input->post('colour');

				$data['fuel'] = $this->input->post('fuel');

				//$data['network'] = $this->input->post('network');

				//$data['silver_service'] = $this->input->post('silver_service');

				// $data['camera'] = $this->input->post('camera');

				

				// $registration_expiry_date = $this->input->post('registration_expiry_date');

				// $registration_expiry_date_array = explode('/',$registration_expiry_date);

				// $newRegistrationExpiryDate = $registration_expiry_date_array[2]."-".$registration_expiry_date_array[1]."-".$registration_expiry_date_array[0];

				// $data['registration_expiry_date'] = $newRegistrationExpiryDate;

					

				// $registration_due_month = $this->input->post('registration_due_month');

				// $registration_due_month_array = explode('/',$registration_due_month);

				// $newRegistrationdueMonth = $registration_due_month_array[2]."-".$registration_due_month_array[1]."-".$registration_due_month_array[0];					

				// $data['registration_due_month'] = $newRegistrationdueMonth;

				

				//$data['plate_type'] = $this->input->post('plate_type');

				//$data['car_status'] = $this->input->post('status');

				//$data['terminal_no'] = $this->input->post('terminal_no');

				$data['remarks'] = $this->input->post('remarks');

				$data['customer_id'] = $this->customer['customer_id'];

				$data['status'] = 1; 

				$data['created_by'] = 0; 

				$data['date_of_creation'] = date('Y-m-d H:i:s');

				$data['date_of_update'] = date('Y-m-d H:i:s');

				$this->mcar->add($data);

				

				$this->session->set_flashdata('cus_success_msg','Car added successfully');

				redirect('customer/car');

			}	

			

		}

	}

	

	public function edit($car_id){		

		$data['car']=$this->mcar->get_details($car_id);



		//echo '<pre>'; print_r($data['car']); die;

		

		if(empty($data['car'])){

			$this->_load_list_view();

		}else{			

			$this->_load_details_view($data);

		}

	}

	

	private function _load_details_view($parms){		

		$data['car']=$parms['car'];

		//print_r($data['car']);die;	

		$data['content'] = 'customer/car/edit';

		$this->load->view('customer/layouts/index', $data);

	}

	

	public function edit_car(){

		

		if($this->input->post()){

			$car_id = $this->input->post('car_id');

			$this->form_validation->set_rules('registration_no','Car No','required');	

			$this->form_validation->set_rules('company_name','Model No','required');

			$this->form_validation->set_rules('make','Make','required');

			$this->form_validation->set_rules('model_no','Model No','required');

			$this->form_validation->set_rules('body','Body','required');

			//$this->form_validation->set_rules('compliance_date','Compliance Date','required');

			$this->form_validation->set_rules('vin','Vin','required');

			$this->form_validation->set_rules('engine','Engine','required');

			$this->form_validation->set_rules('colour','Colour','required');

			$this->form_validation->set_rules('fuel','Fuel','required');

			//$this->form_validation->set_rules('network','Network','required');

			//$this->form_validation->set_rules('silver_service','Silver Service','required');

			//$this->form_validation->set_rules('camera','Camera','required');

			// $this->form_validation->set_rules('registration_expiry_date','Registration Expiry Date','required');

			// $this->form_validation->set_rules('registration_due_month','Registration Due Month','required');

			// $this->form_validation->set_rules('plate_type','Plate Type','required');

			// $this->form_validation->set_rules('status','Status','required');

			// $this->form_validation->set_rules('terminal_no','Terminal No','required');

			

			if($this->form_validation->run()==FALSE){

				$data['car']=$this->mcar->get_details($car_id);

				$this->_load_details_view($data);

			}else{				

				$car_no = $this->input->post('registration_no');

				$condition = array("car_no"=>$car_no,"car_id !="=>$car_id);

				$car = $this->mcar->getRow('car',$condition);

				

				if(empty($car)){

					$udata['car_no'] = $car_no;			

					$udata['company_name'] = $this->input->post('company_name');

					$udata['make'] = $this->input->post('make');

					$udata['model_no'] = $this->input->post('model_no');

					$udata['body'] = $this->input->post('body');

					

					// $compliance_date = $this->input->post('compliance_date');

					// $compliance_date_array = explode('/',$compliance_date);

					// $newCompliancDate = $compliance_date_array[2]."-".$compliance_date_array[1]."-".$compliance_date_array[0];

					// $udata['compliance_date'] = $newCompliancDate;

				

					$udata['vin'] = $this->input->post('vin');

					$udata['engine'] = $this->input->post('engine');

					$udata['colour'] = $this->input->post('colour');

					$udata['fuel'] = $this->input->post('fuel');

					//$udata['network'] = $this->input->post('network');

					//$udata['silver_service'] = $this->input->post('silver_service');

					//$udata['camera'] = $this->input->post('camera');

					

					// $registration_expiry_date = $this->input->post('registration_expiry_date');

					// $registration_expiry_date_array = explode('/',$registration_expiry_date);

					// $newRegistrationExpiryDate = $registration_expiry_date_array[2]."-".$registration_expiry_date_array[1]."-".$registration_expiry_date_array[0];

					// $udata['registration_expiry_date'] = $newRegistrationExpiryDate;

					

					// $registration_due_month = $this->input->post('registration_due_month');

					// $registration_due_month_array = explode('/',$registration_due_month);

					// $newRegistrationdueMonth = $registration_due_month_array[2]."-".$registration_due_month_array[1]."-".$registration_due_month_array[0];					

					// $udata['registration_due_month'] = $newRegistrationdueMonth;

					

					//$udata['plate_type'] = $this->input->post('plate_type');

					//$udata['car_status'] = $this->input->post('status');

					//$udata['terminal_no'] = $this->input->post('terminal_no');

					$udata['remarks'] = $this->input->post('remarks');

					$udata['customer_id'] = $this->customer['customer_id'];

					$udata['updated_by'] = 0;

					$udata['date_of_update'] = date('Y-m-d H:i:s');					

					$this->mcar->update(array('car_id'=>$car_id),$udata);	

					//echo $this->db->last_query();die;

					$this->session->set_flashdata('cus_success_msg','Car updated successfully');

					redirect('customer/car');

				} else{

					$this->session->set_flashdata('cus_error_msg','Car No already exist');

					$data['car']=$this->mcar->get_details($car_id);

					$this->_load_details_view($data);



				}

			}

		}

	}

	

	public function all_details(){

		$car_id = $this->input->post('car_id');		

		$result = $this->mcar->get_details($car_id);		

		echo json_encode($result);

	}



	public function car_history(){

		$data['content'] = 'customer/car/car_history';		

		$this->load->view('customer/layouts/index', $data);



	}

	public function car_invoice_history(){

		$data['content'] = 'customer/car/invoice_history';		

		$this->load->view('customer/layouts/index', $data);



	}



	public function car_history_details(){

		$job_id = $this->input->post('job_id');		

		$result = $this->mjob->get_details($job_id);



		$new_service = array();

		$services = $this->mjob->getServices($job_id);

		foreach($services as $key=>$service)

		{

			$new_service[$key] = $service['service_name'];

		}

	    //echo "<pre>";

		//print_r($new_service);

		$services = $this->mservicehistory->get_details($job_id);	

		foreach($services as $key=>$service)

		{

			//$condition = array("service_id"=>$service['service_id']);			

			//$task = $this->mservicehistory->getRows('task',$condition);

			$task=$this->mservicehistory->selected_task_list_for_particular_service($job_id,$service['service_id']);

			$services[$key]['task'] = $task;

		}

		$result['services'] = $services;

		//echo "<pre>";

		//print_r($services);

		$service = implode(',',$new_service);	

		$result['service'] = $service;

		

		$service_date_condition = array("job_id"=>$job_id);

		$job_service_date = $this->mjob->getRow("job_service_date",$service_date_condition);

		

		//print_r($job_service_date);exit;

		

		$result['service_date'] = date("d/m/Y", strtotime($job_service_date['service_date']));



		$result['next_service_date'] = date("d/m/Y", strtotime($job_service_date['next_service_date']));

		

		$result['assign_job'] = $this->mjob->getAsssignJob($job_id);	

		

		echo json_encode($result);

	}

	public function car_invoice_history_details(){ 
		$invoice_id = $this->input->post('invoice_id');
		$result = $this->mcar->get_car_invoice_history_details($invoice_id);
		$result['services'] = $this->mcommon->getDetails('invoice_details',array('invoice_id'=>$invoice_id));	
		echo json_encode($result);
	}

}