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/qcr24/app/application/controllers/admin/Finetoll_fees.php
<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Finetoll_fees extends MY_Controller
{

	public function __construct()
	{
		parent::__construct();
		$this->load->model('admin/mfinetoll_fees');
	}
	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in
	 * config/routes.php, it's displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see https://codeigniter.com/driver_guide/general/urls.html
	 */
	public function index() 
	{
		$data['finetoll_fees_list'] = $this->mfinetoll_fees->getFinetoll_fees();
		$data['content'] = 'admin/finetoll_fees/list';
		$this->load->view('admin/layouts/index', $data);
	}

	public function add()
	{	
		$data['cars'] = $this->mfinetoll_fees->get_car();
		$data['departments'] = $this->mfinetoll_fees->get_department();
		$data['content'] = 'admin/finetoll_fees/add';
		$this->load->view('admin/layouts/index', $data);
	}

	public function getRentOutDriver()
	{
		$referance_date_array = explode(" ",$this->input->post('referance_date'));
		$referance_date=date('Y-m-d H:i',strtotime(str_replace('/', '-', $referance_date_array[0]).' '.$referance_date_array[1]));
		//echo $referance_date;die;
		$car_id=$this->input->post('car_id');
		$car_id_array=explode('#$',$car_id);
		$car_id=$car_id_array[0];
		$car_no=$car_id_array[1];
		$rent_out_driver_data= $this->mfinetoll_fees->getRentOutDriver($referance_date,$car_id);
		
		echo json_encode(array('status'=>true,'rent_out_driver_data'=>$rent_out_driver_data));
	}

	public function viewfinetoll_fees($finetoll_fees_id)
	{
		$data = array();
		$data['finetoll_fees_detail'] = $this->mfinetoll_fees->getFinetoll_fees($finetoll_fees_id);
		$data['content'] = 'admin/finetoll_fees/view';
		$this->load->view('admin/layouts/index', $data);
	}

	public function editfinetoll_fees($finetoll_fees_id)
	{
		// $data['drivers'] = $this->mrentin->get_rentout_driver();
		$data['departments'] = $this->mfinetoll_fees->get_department();
		$data['cars'] = $this->mfinetoll_fees->get_car();
		$data['finetoll_fees_detail'] = $this->mfinetoll_fees->getFinetoll_fees($finetoll_fees_id);
		if(!empty($data['finetoll_fees_detail']['driver_id'])){
			$data['driver_data']= $this->mfinetoll_fees->getDriverDetails($data['finetoll_fees_detail']['driver_id']);
		}
		$data['content'] = 'admin/finetoll_fees/edit';
		$this->load->view('admin/layouts/index', $data);
	}

	public function submitfinetoll_fees()
	{
		$driver_id=$this->input->post('driver_id');
		$car_id=$this->input->post('car_id');
		$car_id_array=explode('#$',$car_id);
		$car_id=$car_id_array[0];
		$car_no=$car_id_array[1];

		$referance_date_array = explode(" ",$this->input->post('referance_date'));
		$referance_date=date('Y-m-d H:i',strtotime(str_replace('/', '-', $referance_date_array[0]).' '.$referance_date_array[1]));

			$data = array(
				'driver_id' => $driver_id,
				'car_no' => $car_no,
				'referance_date'=> $referance_date,
				'department_id' =>$this->input->post('department_id'),
				'referance_no' =>$this->input->post('referance_no'),
				'nomination_date'=> date('Y-m-d',strtotime(str_replace('/', '-', $this->input->post('nomination_date')))),
				'nomination_reference_no' => $this->input->post('nomination_reference_no'),
				'fees_amount' => $this->input->post('fees_amount'),
				'created_by' => $this->admin_session_data['user_id'],
				'created_ts' => date('Y-m-d H:i:s')
			);												

			if(!empty($_FILES['fine_img']['name'])){

				$path1='fine_img';
				$fine_img=$this->image_upload($path1);
				$data['fine_img'] = $fine_img;
			}
			if(!empty($_FILES['nomination_img']['name'])){

				$path2='nomination_img';
				$nomination_img=$this->image_upload($path2);
				$data['nomination_img'] = $nomination_img;
			}
			
			$result = $this->mfinetoll_fees->submitfinetoll_fees($data);

			if ($result) {		
				
				//************************************************************************************//	
				//************************This Part is for Activity Log*******************************//

				$activityLogData = array(
					'activity_type' => '<b>Add Fine Toll Fees</b>',
					'description' => 'New Fine Toll Fees  added with referance( No - '.$this->input->post('referance_no').' )',
					'link' => 'admin/finetoll_fees',
					'icon' => '<i class="fa fa-history" aria-hidden="true"></i>',
				);

				$this->activity_log($activityLogData);

				//************************This Part is for Activity Log*******************************//
				//************************************************************************************//

				$this->session->set_flashdata('success_msg', 'Fine Toll Fees Added Successfully');
				redirect("admin/finetoll_fees");
			}
	}

	public function updatefinetoll_fees()
	{
		$driver_id=$this->input->post('driver_id');
		$car_id=$this->input->post('car_id');
		$car_id_array=explode('#$',$car_id);
		$car_id=$car_id_array[0];
		$car_no=$car_id_array[1];

		$referance_date_array = explode(" ",$this->input->post('referance_date'));
		$referance_date=date('Y-m-d H:i',strtotime(str_replace('/', '-', $referance_date_array[0]).' '.$referance_date_array[1]));
		

			$data = array(
				'driver_id' => $driver_id,
				// 'car_no' => $car_no,
				// 'referance_date'=> $referance_date,
				'department_id' =>$this->input->post('department_id'),
				'referance_no' =>$this->input->post('referance_no'),
				'nomination_date'=> date('Y-m-d',strtotime(str_replace('/', '-', $this->input->post('nomination_date')))),
				'nomination_reference_no' => $this->input->post('nomination_reference_no'),
				'fees_amount' => $this->input->post('fees_amount'),
				'updated_by' => $this->admin_session_data['user_id'],
				'updated_ts' => date('Y-m-d H:i:s')
			);		

			if(!empty($_FILES['fine_img']['name'])){

				$path1='fine_img';
				$fine_img=$this->image_upload($path1);
				@unlink('./public/admin_images/fine_imgs/' . $this->input->post('fine_img_old'));
				$data['fine_img'] = $fine_img;
			}
			if(!empty($_FILES['front_img']['name'])){

				$path2='nomination_img';
				$nomination_img=$this->image_upload($path2);
				@unlink('./public/admin_images/nomination_imgs/' . $this->input->post('nomination_img_old'));
				$data['nomination_img'] = $nomination_img;
			}	

			$condition = array('finetoll_fees_id' => $this->input->post('hid_finetoll_fees_id'));
			$result = $this->mfinetoll_fees->update_finetoll_fees($condition, $data);

			if ($result) {

				//************************************************************************************//	
				//************************This Part is for Activity Log*******************************//

				$activityLogData = array(
					'activity_type' => '<b>Update Fine Toll Fees</b>',
					'description' => 'Fine Toll Fees  updated with referance( No - '.$this->input->post('referance_no').' )',
					'link' => 'admin/finetoll_fees/editfinetoll_fees/'.$this->input->post('hid_finetoll_fees_id'),
					'icon' => '<i class="fa fa-history" aria-hidden="true"></i>',
				);

				$this->activity_log($activityLogData);

				//************************This Part is for Activity Log*******************************//
				//************************************************************************************//

				$this->session->set_flashdata('success_msg', 'Fine Toll Fees Updated Successfully');
				redirect("admin/finetoll_fees");
			}
		
	}

	public function image_upload($path){
		// Upload folder location***
		$config = array();
		$config['upload_path'] = './public/admin_images/'.$path.'s';
		// Allowed file type***
		$config['allowed_types'] = '*';
		$config['encrypt_name'] = TRUE;
		// load upload library***            
		$this->load->library('upload', $config);
		$this->upload->initialize($config);
		if ($this->upload->do_upload($path)) {
			return $this->upload->data()['file_name'];
		}else { 
            echo 'File Name'.$path.' Errors'.$this->upload->display_errors();die;
             
        }
	}
}