File: /var/www/html/pmw24/pmw_live_testing/app/application/controllers/customer/Invoice.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Invoice 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/invoice/list';
$this->load->view('customer/layouts/index', $data);
}
public function all_content_list(){
$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');
}
if($this->input->post('payment_mode')!='')
{
$params['payment_mode']=$this->input->post('payment_mode');
}
}
$list = $this->minvoice->get_datatables($params);
$data = array();
$no = $_POST['start'];
$i=1;
if($no>1)
{
$i=$i*$no+1;
}
foreach ($list as $person) {
$invoice_pay_log_list=$this->minvoice->get_total_payment_by_invoice_no($person->invoice_no);
$latest_payment_details = $this->minvoice->get_latest_payment_details($person->invoice_no);
//print_r($invoice_pay_log_list);die;
if(!empty($invoice_pay_log_list)){
if($person->total_amount > $invoice_pay_log_list['sum_amount']){
$due_amount=number_format(((float)$person->total_amount - (float)$invoice_pay_log_list['sum_amount']), 2, '.', '');
}else{
$due_amount=0;
}
}
$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->mechanic_id);
//$car = $this->mcommon->getRow('car',$car_condition);
$invoice_payment_arr =array();
$row = array();
$row[]=$i;
$row[] =$person->car_no;
$row[] =$person->invoice_no;
if(!empty($person->date_of_creation))
{
if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/",$person->date_of_creation)) {
$row[] = date("d/m/Y", strtotime($person->date_of_creation));
}
else
{
$row[] = date("d/m/Y", strtotime($person->date_of_creation));
}
}
else
{
$row[] = "";
}
$row[] =$person->total_amount;
$row[] = $due_amount;
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)) {
$row[] = date("d/m/Y", strtotime($person->due_date));
}
else
{
$row[] = $person->due_date;
}
}
else
{
$row[] = "";
}
$row[] = !empty($latest_payment_details['payment_date'])?$latest_payment_details['payment_date']:'N/A';
// $row[] =$person->customer_name;
// $row[] =$mechanic['first_name']." ".$mechanic['last_name'];
if($person->is_paid == 0){
$row[] = '<span class="label label-primary my">Unpaid</span>';
}else if($person->is_paid == 1){
$row[] = '<span class="label label-success my">Paid</span>';
}else if($person->is_paid == 2){
$row[] = '<span class="label label-warning my">Partially Paid</span>';
}
else if($person->is_paid == 3){
$row[] = '<span class="label label-danger my">No Recovery</span>';
}
$view = '<a class="cstm_view btn btn-info btn-circle" id="view" href="'.base_url('customer/invoice/view_invoice/'.$person->id).'" target="_blank" title="View"><i class="fa fa-eye"></i></a>';
$download = '<a class="cstm_view_status btn btn-success btn-circle deactive_btn" href="'.base_url('invoice/'.$person->invoice_file).'" title="Download" download><i class="fa fa-download"></i></a>';
$row[]= $view.' '.$download;
if((time() > strtotime($person->due_date)) && ($person->is_paid!=1)){
$row[]=1;
}else{
$row[]=0;
}
$data[] = $row;
$i++;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->minvoice->count_all($params),
"recordsFiltered" => $this->minvoice->count_filtered($params),
"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 OF INVOICE');
$objPHPExcel->getActiveSheet()->setCellValue('D1','CAR');
// $objPHPExcel->getActiveSheet()->setCellValue('E1','JOB DETAILS');
$objPHPExcel->getActiveSheet()->setCellValue('E1','INVOICE AMOUNT');
$objPHPExcel->getActiveSheet()->setCellValue('F1','CUSTOMER');
$objPHPExcel->getActiveSheet()->setCellValue('G1','TECHNICIAN');
$objPHPExcel->getActiveSheet()->setCellValue('H1','PAYMENT STATUS');
$objPHPExcel->getActiveSheet()->setCellValue('I1','DUE AMOUNT');
$objPHPExcel->getActiveSheet()->setCellValue('J1','DUE DATE');
$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";
}
$invoice_pay_log_list=$this->minvoice->get_total_payment_by_invoice_no($person->invoice_no);
$due_amount=0;
$total_payment=0;
//print_r($invoice_pay_log_list);die;
if(!empty($invoice_pay_log_list)){
if($person->total_amount > $invoice_pay_log_list['sum_amount']){
$due_amount=number_format(((float)$person->total_amount - (float)$invoice_pay_log_list['sum_amount']), 2, '.', '');
}else{
$due_amount=0;
}
}
$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);
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i,$due_amount);
$objPHPExcel->getActiveSheet()->setCellValue('J'.$i,date("d/m/Y", strtotime($person->due_date)));
$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;
}
}