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/pmw_live_testing/app/application/controllers/customer/Statement_report.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Statement_report extends MY_Controller {
	public function __construct() {
		parent::__construct();
		$this->redirect_customer();
		//$this->load->model('mcommon');
		$this->load->model('mapi');
		$this->admin=$this->session->userdata('admin');
		$this->load->model('customer/minvoice');
		$this->load->model('customer/minvoicepayment');
	}
		
	public function index() {	
		$this->_load_list_view();		
	}
	
	private function _load_list_view() {
		$customer_list=$this->minvoice->get_customer_list();
		//print_r($customer_list); die;
    	$data['customer_list'] = $customer_list;

    	$car_list=$this->minvoice->get_car_list();
		//print_r($customer_list); die;
    	$data['car_list'] = $car_list;
		$data['customer'] = $this->customer;
		$data['content'] = 'customer/statement_report/list';
		$this->load->view('customer/layouts/index', $data);
	}
	
	public function all_content_list(){
		$params=array();
		if($this->input->post()){
			if($this->input->post('from_date')){
				$params['from_date']=$this->input->post('from_date');
			}
			if($this->input->post('to_date')){
				$params['to_date']=$this->input->post('to_date');
			}
		}
		
		$list = $this->minvoicepayment->get_datatables($params);
		$data = array();
        $no = $_POST['start'];
		$i=1;$previous_invoice_no='';$previous_payment_amount= 0;
		if($no>1)
	    {
	      $i=$i*$no+1;
	    }
		foreach ($list as $person) {
            $row = array();	
			$due_date ='';
			if(!empty($person->due_date)){
			    if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/",$person->due_date)) {
			        $due_date = date("d/m/Y", strtotime($person->due_date));
			    } else {
			    	$due_date = $person->due_date;
			    }
		    } else {
			    $due_date = "";
			}
			
			
			$row[]=$i;
			$row[]=$person->car_no;
			$row[]=$person->invoice_no;			
			$row[] =$due_date;
			$row[]=$person->total_amount;
			$row[]=(!empty($person->payment_amount))?$person->payment_amount:'-';	
			$row[] =(!empty($person->payment_date))?date("d/m/Y", strtotime($person->payment_date)):'N/A'; 
			$row[]=(!empty($person->payment_mode))?$person->payment_mode:'-';		
			$row[] = number_format(($person->total_amount - $person->total_paid_amount),2);
			$data[] = $row;
			$i++;
        }	
		
		$total_paid_amt = $this->minvoicepayment->calculate_total_paid_amt($params);
		$total_invoice_amt = $this->minvoicepayment->calculate_total_invoice_amt($params);
		
		$output = array(
                        "draw" => $_POST['draw'],
                        "recordsTotal" => $this->minvoicepayment->count_all($params),
						"recordsFiltered" => $this->minvoicepayment->count_filtered($params),
						"total_due_amt" => $total_invoice_amt['total_invoice_amount'] - $total_paid_amt['total_paid_amount'],
						"total_paid_amt" => $total_paid_amt['total_paid_amount'],
						"total_invoice_amt" =>  $total_invoice_amt['total_invoice_amount'], 
                        "data" => $data,
                );
        echo json_encode($output);
	}
	
	
	public function details($id){

			$invoice_details = $this->minvoice->get_details($id);
			$condition_item['invoice_id']=$id;
			$item_list=$this->minvoice->getRows('invoice_details',$condition_item);
			$invoice_pay_log_list=$this->minvoice->get_total_payment_by_invoice_no($invoice_details['invoice_no']);

			//print_r($invoice_pay_log_list);die;
			if(!empty($invoice_pay_log_list)){
				if($invoice_details['total_amount'] > $invoice_pay_log_list['sum_amount']){
				  $due_amount=number_format(((float)$invoice_details['total_amount'] - (float)$invoice_pay_log_list['sum_amount']), 2, '.', '');
			    }else{
			      $due_amount=0;	
			    }
			}
			$cond_payment['invoice_no']=$invoice_details['invoice_no'];
			$payment_history=$this->mcommon->getDetails('invoice_payment_details',$cond_payment);

			$data['sum_amount']=number_format(($invoice_pay_log_list['sum_amount']!=0 ? $invoice_pay_log_list['sum_amount'] : 0),2, '.', '');
			$data['due_amount']=$due_amount;
			$data['invoice_details']=$invoice_details;	
			$data['item_list']=$item_list;
			$data['payment_history']=$payment_history;	
			$data['content'] = 'admin/invoice/detail';		
			$this->load->view('admin/layouts/index', $data);		
		
		}	
	

	public function update(){
		if($this->input->post()){
			$id = $this->input->post('id');
			$this->form_validation->set_rules('payment_mode','Payment Mode','required');
			$this->form_validation->set_rules('payment_date','Payment Date','required');			
			if($this->form_validation->run()==FALSE){			
				$this->session->set_flashdata('error_msg','Please fill up required field');
				redirect('admin/invoice/details/'.$id);
			}else{
				//print_r($this->input->post());die;
				$condition=array('id'=>$id);
				$total_amount=$this->input->post('total_amount');
				$payment_amount=$this->input->post('payment_amount');
				$due_amount=$this->input->post('due_amount');
				if($payment_amount > $due_amount){ 
					$this->session->set_flashdata('error_msg','Payment amount should not be greater than due amount');
					redirect('admin/invoice/details/'.$id);
				}else{
					$invoice_amount_details=$this->minvoice->getRow('invoices',$condition);

					////////////////////due date logs//////////////////
					if($this->input->post('due_date')!=$invoice_amount_details['due_date'])
					{
						$due_date_arr['invoice_no'] = $invoice_amount_details['invoice_no'];
						$due_date_arr['due_date'] = $invoice_amount_details['due_date'];
						$this->minvoice->add($due_date_arr,'invoice_due_date');
					}

					$invoice_pay_log_list=$this->minvoice->get_total_payment_by_invoice_no($invoice_amount_details['invoice_no']);
					$udata['payment_mode'] = $this->input->post('payment_mode');
					$udata['payment_date'] = date('Y-m-d h:i:s');
					$udata['payment_amount'] = $payment_amount;
					$udata['invoice_no'] = $invoice_amount_details['invoice_no'];
					$this->minvoice->add($udata,'invoice_payment_details');
					if($due_amount==$payment_amount){
						$udata=array('is_paid'=>1);
					}else{
						$udata=array('is_paid'=>2);
					}
					$udata['due_date']=$this->input->post('due_date');
					$this->minvoice->update($condition,$udata);
				}
				/////////////////////////generate updated INV//////////////////////////////////////
				unlink('./invoice/'.$invoice_amount_details['invoice_file']); 
				$this->generate_pdf($id);

				/////////////////////////////////////////Mail////////////////////////////////////
				$condition_site['admin_id']=1;
				$site_data = $this->mcommon->getRow('admins',$condition_site);
				$name=$site_data['name'];
				$WEBNAME='Punjab motor Works';
		        $temp_msg='Pyment completed successfully.<br>Invoice no - '.$invoice_amount_details['invoice_no'].' <br>payment Amount - $'.$payment_amount.'<br>payment Method - '.$this->input->post('payment_mode');
	        	$mail_temp = file_get_contents('./global/mail/invoice_payment_template.html');
				$mail_temp = str_replace("{shop_name}",$WEBNAME,$mail_temp);
				$mail_temp = str_replace("{logo}",LOGOURL,$mail_temp);
				$mail_temp = str_replace("{web_url}",SITEURL,$mail_temp);
				$mail_temp = str_replace("{current_year}",CURRENT_YEAR,$mail_temp);
				$mail_temp = str_replace("{name}",$name,$mail_temp);					
				$mail_temp = str_replace("{temp_msg}",$temp_msg,$mail_temp);
				$mail_temp = str_replace("{phone}",$site_data['phoneno'],$mail_temp);
				$mail_temp = str_replace("{mail}",$site_data['email'],$mail_temp);
				
				 $regmail['name']=$WEBNAME;
				 $regmail['to']=$site_data['email'];
				 //$regmail['to']='ishani.banerjee@met-technologies.com';
				 $regmail['subject']=$WEBNAME.' Payment Successful';
				 $regmail['message']=$mail_temp;
				 //echo $mail_temp;exit;
				registration_mail($regmail);



				$this->session->set_flashdata('success_msg','Payment made successfully');
				redirect('admin/invoice');
			}
		}else{
			$this->_load_list_view();
		}
	}
	
	
	
	public function getmechanicList()
	{
		$mechanic_condition = array("role_id"=>14,"status"=>1);
		$mechanics = $this->minvoice->getRows('admins',$mechanic_condition);
		//$date = '10/01/2019';
		$date = $this->input->post('date');
		
		$date_array = explode('/',$date);
		$newDate = $date_array[2]."-".$date_array[1]."-".$date_array[0];
		
		$condition = array('available_date'=>$newDate);
		
		$off_mechanics = $this->minvoice->getRows('user_roaster',$condition);
		//echo $this->db->last_query(); die;
		//print_r($off_mechanics);die;
		$new_off_mechanic = array();
		
		foreach($off_mechanics as $off_mechanic)
		{
			$new_off_mechanic[] =  $off_mechanic['mechanic_id'];
		}	
		
		//print_r($new_off_mechanic);die;
		$new_mechanic = array();		
		foreach($mechanics as $mechanic)
		{
			$new_mechanic[] = $mechanic['admin_id'];
		}
		
		$roasted_mechanic_list = array_diff($new_mechanic,$new_off_mechanic);
		
		$result['new_mechanic_list'] = array();
		
		foreach($roasted_mechanic_list	as $key_m=>$roasted_mechanic)
		{
			$reassign_mechanic_condition = array("admin_id"=>$roasted_mechanic);
			$reassign_mechanic = $this->minvoice->getRow('admins',$reassign_mechanic_condition);
			$result['new_mechanic_list'][$key_m] = $reassign_mechanic;
		}	
				
		echo json_encode($result);
	}
	
	public function delete_content(){
		$condition['job_id']=$this->input->post('job_id');
		
		$this->minvoice->delete($condition);
		$response=array('status'=>1,'message'=>'Success');
		echo header('Content-Type: application/json');
		echo json_encode($response);
	}
	
	public function active()
	{
		$condition['user_id']=$this->input->post('user_id');
		$udata['status'] = 1;
		$this->musersetting->active($condition,$udata);
		$response=array('status'=>1,'message'=>'Success');		
		echo json_encode($response);
	}
	
	public function inactive()
	{
		$condition['user_id']=$this->input->post('user_id');
		$udata['status'] = 0;
		$this->musersetting->active($condition,$udata);
		$response=array('status'=>1,'message'=>'Success');		
		echo json_encode($response);
	}
	
	public function multiple_del()
	{
		$job_ids = explode(',',$this->input->post('job_ids'));
		foreach($job_ids as $job_id)
		{
			$condition['job_id'] = $job_id;					
			$this->minvoice->delete($condition);			
			$response=array('status'=>1,'message'=>'Success');
		}		
		echo header('Content-Type: application/json');
		echo json_encode($response);
	}

	public function view_invoice($id){

			$invoice_details = $this->minvoice->get_details($id);
// 			$job_id=$invoice_details['job_id'];
			
// 			$new_service = array();
// 			$services = $this->minvoice->getServices($job_id);
// 			foreach($services as $key=>$service)
// 			{
// 				$new_service[$key] = $service['service_name'];
// 			}
			
// 			$service = implode(',',$new_service);	
// 			//echo $service; die;

// 			/////invoice item listing/////////////////////////////////
// 			$condition_item['invoice_id']=$id;
// 			$item_list=$this->minvoice->getRows('invoice_details',$condition_item);

// 			$data['service']=$service;

// 			$data['invoice_details']=$invoice_details;	
// 			$data['item_list']=$item_list;	
// //print_r($invoice_details); die;
// 			$condition_customer['admin_id']=$invoice_details;
// 			// $customer_data=$this->minvoice->getRow('admins',$condition_customer);
// 			// $data['customer_data'] = $customer_data;
			$data['invoice_details']=$invoice_details;	

			//$data['content'] = 'admin/invoice/view_invoice';		
			$this->load->view('admin/invoice/invoice_template_view', $data);		
		
		}	

		//////////////////////////////////////PDF//////////////////////////////////////

		public function generate_pdf($id)
	{

			$invoice_details = $this->minvoice->get_details($id);
			//$job_id=$invoice_details['job_id'];
			
			// $new_service = array();
			// $services = $this->minvoice->getServices($job_id);
			// foreach($services as $key=>$service)
			// {
			// 	$new_service[$key] = $service['service_name'];
			// }
			
			// $service = implode(',',$new_service);	
			//echo $service; die;

			/////invoice item listing/////////////////////////////////
			$condition_item['invoice_id']=$id;
			$item_list=$this->minvoice->getRows('invoice_details',$condition_item);

			//$data['service']=$service;

			$data['invoice_details']=$invoice_details;	
			$data['item_list']=$item_list;	
			$car_condition = array("car_id"=>$invoice_details['car_id']);
			$car = $this->mapi->getRow('car',$car_condition);
			$data['car']=$car;
			/////////////////////////for template///////////////////////////////////
			$condition_template['id']=1;
			$invoice_template_details = $this->mcommon->getRow('invoice_template',$condition_template);

			$data['invoice_details']=$invoice_details;	
			$invoice_pay_log_list=$this->minvoice->get_total_payment_by_invoice_no($invoice_details['invoice_no']);
			$due_amount=0;
			$total_payment=0;
			//print_r($invoice_pay_log_list);die;
			if(!empty($invoice_pay_log_list)){
				if($invoice_details['total_amount'] > $invoice_pay_log_list['sum_amount']){
				  $due_amount=number_format(((float)$invoice_details['total_amount'] - (float)$invoice_pay_log_list['sum_amount']), 2, '.', '');
			    }else{
			      $due_amount=0;	
			    }
			}
			$data['total_payment']=number_format(($invoice_pay_log_list['sum_amount']!=0 ? $invoice_pay_log_list['sum_amount'] : 0),2, '.', '');
			$data['due_amount']=$due_amount;
			$data['invoice_template_details']=$invoice_template_details;	
			$dompdf = new Dompdf\Dompdf();	
			$dompdf->set_option('enable_html5_parser', TRUE);
			$html = $this->load->view('admin/invoice/invoice_template',$data,true);	
			$dompdf->loadHtml($html);
			$dompdf->setPaper('A4', 'portrait');
			$dompdf->render();
			$pdf = $dompdf->output(); 
			//$filename='INV-'.time();
			$filename='INV-'.$invoice_details['invoice_no'];
			$file=$filename.'.pdf';
			//$file='test.pdf';
			@file_put_contents('./invoice/'.$file, $pdf);	
			//echo $filename;
			$condition_inv['id']=$id;
			$data_inv['invoice_file']=$file;
			$this->mcommon->update('invoices',$condition_inv,$data_inv);	
	}
	

	public function export_data()
	{
		require_once APPPATH . "/third_party/PHPExcel.php";
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->setActiveSheetIndex(0);  
     $objPHPExcel->getActiveSheet()->setCellValue('A1','SL No');
     $objPHPExcel->getActiveSheet()->setCellValue('B1','INVOICE NO');
     $objPHPExcel->getActiveSheet()->setCellValue('C1','DATE');
     $objPHPExcel->getActiveSheet()->setCellValue('D1','CAR');
    // $objPHPExcel->getActiveSheet()->setCellValue('E1','JOB DETAILS');
     $objPHPExcel->getActiveSheet()->setCellValue('E1','AMOUNT');
     $objPHPExcel->getActiveSheet()->setCellValue('F1','CUSTOMER');
     $objPHPExcel->getActiveSheet()->setCellValue('G1','TECHNICIAN');
     $objPHPExcel->getActiveSheet()->setCellValue('H1','PAYMENT STATUS');
     
   $params=array();
		if($this->input->post()){
			if($this->input->post('customer_name')!='')
			{
			$params['customer_name']=$this->input->post('customer_name');
			}
			if($this->input->post('car_id')!='')
			{
			$params['car_id']=$this->input->post('car_id');
			}
		}
  
    $result = $this->minvoice->get_datatables_excel($params);
    //$rowNo=count($result);
    //$objPHPExcel ->getActiveSheet()->getStyle("B1:B".$rowNo)->getNumberFormat()->setFormatCode('0');
      $i=2;
      $j=1;
       foreach($result as $person) {
      
     		$mechanic_condition = array("admin_id"=>$person->mechanic_id);
			$mechanic = $this->mcommon->getRow('admins',$mechanic_condition);
			
			// $new_service = array();
			// $services = $this->minvoice->getServices($person->job_id);
			// foreach($services as $key=>$service)
			// {
			// 	$new_service[$key] = $service['service_name'];
			// }
			
			// $service = implode(',',$new_service);	

			$car_condition = array("car_id"=>$person->car_id);
			$car = $this->mcommon->getRow('car',$car_condition);

			/*
			if($person->is_paid == 0){
				$job_status = "Unpaid";
			}else{
				$job_status = "Paid";
			}
			*/
			
			if($person->is_paid == 0){
				$job_status = "Unpaid";
				
			}else if($person->is_paid == 1){
				$job_status = "Paid";
				
			}else if($person->is_paid == 2){
				$job_status = "Partially Paid";
			}
    

      $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$j);
      $objPHPExcel->getActiveSheet()->setCellValue('B'.$i,'"'.$person->invoice_no.'"');
      $objPHPExcel->getActiveSheet()->setCellValue('C'.$i,date("d/m/Y", strtotime($person->date_of_creation)));
      $objPHPExcel->getActiveSheet()->setCellValue('D'.$i,$person->car_no);
      //$objPHPExcel->getActiveSheet()->setCellValue('E'.$i,$service);
      $objPHPExcel->getActiveSheet()->setCellValue('E'.$i,'$'.$person->total_amount);
      $objPHPExcel->getActiveSheet()->setCellValue('F'.$i,$person->customer_name);
      $objPHPExcel->getActiveSheet()->setCellValue('G'.$i,$mechanic['first_name']." ".$mechanic['last_name']);
      $objPHPExcel->getActiveSheet()->setCellValue('H'.$i,$job_status);
   
      $i++;
      $j++;
       }
    //$objPHPExcel ->getActiveSheet()->getStyle("B1:B".$rowNo)->getNumberFormat()->setFormatCode('0');
      $objPHPExcel->getActiveSheet()->setTitle(time().'InvoiceReport.xlsx');
     header('Content-Type: application/vnd.ms-excel'); 
     header('Content-Disposition: attachment;filename="InvoiceReport.xlsx"'); 
     header('Cache-Control: max-age=0'); 
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
      $objWriter->save('php://output');
	}

	public function invoice_template(){
			$condition['id']=1;
			$invoice_details = $this->mcommon->getRow('invoice_template',$condition);

			$data['invoice_details']=$invoice_details;	
			
			$data['content'] = 'admin/invoice/template_settings';		
			$this->load->view('admin/layouts/index', $data);		
		
		}	

	public function template_update()
	{
			if($this->input->post()){
			$id = $this->input->post('id');
			
				$condition=array('id'=>$id);
				$udata['name'] = $this->input->post('name');
				$udata['address'] = $this->input->post('address');
				$udata['phone'] = $this->input->post('phone');
				$udata['abn'] = $this->input->post('abn');
				$udata['bank_name'] = $this->input->post('bank_name');
				$udata['bsb'] = $this->input->post('bsb');
				$udata['account_no'] = $this->input->post('account_no');
				$udata['email'] = $this->input->post('email');
				$this->mcommon->update('invoice_template',$condition,$udata);

				/////////////////////////generate updated INV//////////////////////////////////////
				//$this->generate_pdf($id);
				$this->session->set_flashdata('success_msg','Template data updated successfully');
				redirect('admin/invoice/invoice_template');
		}
	}

	////////////////////////////////payment history////////////////////////
	public function payment_history() {
		$payment_list=$this->minvoice->get_payment_list();
		//print_r($payment_list); die;
    	$data['payment_list'] = $payment_list;
		$data['admin'] = $this->admin;
		$data['content'] = 'admin/invoice/payment_list';
		$this->load->view('admin/layouts/index', $data);
	}
	
	public function all_payment_list(){
		$params=array();
		if($this->input->post()){
			if($this->input->post('start_date')!='')
			{
			$params['start_date']=$this->input->post('start_date');
			}
			if($this->input->post('end_date')!='')
			{
			$params['end_date']=$this->input->post('end_date');
			}
		}
		$list = $this->minvoicepayment->get_datatables($params);
		$data = array();
        $no = $_POST['start'];
		$i=1;
		if($no>1)
	    {
	      $i=$i*$no+1;
	    }
		foreach ($list as $person) {			
			$invoice_payment_arr =array();
			$row = array();	
			$row[]=$i;		
			$row[] =$person->invoice_no;
			
			$row[] = date("d/m/Y", strtotime($person->date_of_creation));
			$row[] =$person->car_no;
			$row[] =$person->total_amount;
			$row[] =$person->payment_amount;
			$row[] =date("d/m/Y", strtotime($person->payment_date)); 			
 			$row[] =$person->payment_mode;
 			$row[] =$person->customer_name;
 			
 			
            $data[] = $row;
			$i++;
        }	
		
		$output = array(
                        "draw" => $_POST['draw'],
                        "recordsTotal" => $this->minvoicepayment->count_all($params),
                        "recordsFiltered" => $this->minvoicepayment->count_filtered($params),
                        "data" => $data,
                );
        echo json_encode($output);
	}

	public function test_mail()
	{
		$condition_site['admin_id']=1;
		$site_data = $this->mcommon->getRow('admins',$condition_site);
		$name=$site_data['name'];
		$WEBNAME='Punjab motor Works';
        $temp_msg='Pyment completed successfully.<br>Invoice no - 1.payment Amount - $1<br>payment Method - gfhfgh';
    	$mail_temp = file_get_contents('./global/mail/invoice_payment_template.html');
		$mail_temp = str_replace("{shop_name}",$WEBNAME,$mail_temp);
		$mail_temp = str_replace("{logo}",LOGOURL,$mail_temp);
		$mail_temp = str_replace("{web_url}",SITEURL,$mail_temp);
		$mail_temp = str_replace("{current_year}",CURRENT_YEAR,$mail_temp);
		$mail_temp = str_replace("{name}",$name,$mail_temp);					
		$mail_temp = str_replace("{temp_msg}",$temp_msg,$mail_temp);
		$mail_temp = str_replace("{phone}",$site_data['phoneno'],$mail_temp);
		$mail_temp = str_replace("{mail}",$site_data['email'],$mail_temp);
		
		 $regmail['name']=$WEBNAME;
		 //$regmail['to']=$site_data['email'];
		 $regmail['to']='ishani.banerjee@met-technologies.com';
		 $regmail['subject']=$WEBNAME.' Payment Successful';
		 $regmail['message']=$mail_temp;
		 //echo $mail_temp;exit;
		//$respons=registration_mail($regmail);
		//echo $this->email->print_debugger();
		//$respons=$this->email->print_debugger();
		//print_r($response); die;
	}
	
    	public function SendInvoiceEmail($invoice_id)
	{
	       
			$condition = array("id"=>$invoice_id);
			$invoice = $this->mapi->getRow('invoices',$condition);	
			
			 if(!empty($invoice))
			 {
									
					$car_condition = array("car_id"=>$invoice['car_id']);
					$car = $this->mapi->getRow('car',$car_condition);
					
		/////////////////////////////////////////////////////Send Mail ///////////////////////////////
				
					$name=$car['name'];
					$email=$car['email'];
					//$email='fitser.usa@gmail.com';
					//$email='ishani.banerjee@met-technologies.com';
					//$email='kanak.sarkar91@gmail.com';
				    $message = "Please find the attachment for your invoice";
				    $site_url = base_url();
				    $mail_temp = file_get_contents('./global/mail/invoice_template.html');
				    $mail_temp=str_replace("{web_url}",$site_url,$mail_temp);
				    $mail_temp=str_replace("{logo}",LOGOURL,$mail_temp);
				    //$mail_temp=str_replace("{link}",$link,$mail_temp);
				    $mail_temp=str_replace("{message}",$message,$mail_temp);
				    $mail_temp=str_replace("{name}",$name,$mail_temp);
				    $mail_temp=str_replace("{current_year}",date('Y'),$mail_temp);
			        
			        $data=array();
					$data['to']=$email;
					$data['name']='Punjub Motor Works';
					$data['subject']="Invoice";
					$data['message']= $mail_temp;
					$data['from']='info@punjabmotorworkshop.com';	
					if(!empty($invoice['invoice_file']))
					{
					$data['file_name']=$invoice['invoice_file'];	
					}
					if($this->sendMail($data)) {
					$response='Invoice sent in mail successfully.';
					$this->session->set_flashdata('success_msg',$response);
				    redirect('admin/invoice/details/'.$invoice_id);
					}else {
					$response='Unable to send email';
					$this->session->set_flashdata('error_msg',$response);
				    redirect('admin/invoice/details/'.$invoice_id);
					}
					
			 }		
				else{
					$response='No Invoice found';
					$this->session->set_flashdata('error_msg',$response);
				   redirect('admin/invoice/details/'.$invoice_id);
				}
	}
	
		private function sendMail($data){
		$config['protocol']    	= 'smtp';
        $config['protocol']      = 'smtp';
        $config['smtp_host']     = 'ssl://mail.fitser.com';
        $config['smtp_port']     = '465';  
        $config['smtp_user']     = 'test123@fitser.com';
        $config['smtp_pass']     = 'Test123@';
        $config['charset']    	= 'utf-8';
        $config['newline']    	= "\r\n";
        $config['mailtype'] 	= 'html';
        $config['validation'] 	= TRUE;   

        $this->email->initialize($config);

        $this->email->set_crlf( "\r\n" );

        $this->email->from('info@punjabmotorworkshop.com', 'Punjab Motor Work Shop');
        
        $this->email->to($data['to']); 
        //$this->email->bcc('ishani.banerjee@met-technologies.com', 'Dev');
       
        $this->email->subject($data['subject']);
        $this->email->message($data['message']);  
        if(isset($data['file_name']))
        {
         $attched_file= "invoice/".$data['file_name'];
		 $this->email->attach($attched_file);
		}
        //$this->email->send();
          if($this->email->send())
         {
          return true; 
         }
         else
        {
            return false; 
          //echo '<pre>';
          //echo $this->email->print_debugger();
        }
        
		//return true;   	
    } 
	
}