public function invoice($invoice_id) { if (!$this->mailer_configured) { return; } $this->load->model('invoices/mdl_templates'); $this->load->model('invoices/mdl_invoices'); $this->load->model('email_templates/mdl_email_templates'); $this->load->helper('template'); $invoice = $this->mdl_invoices->where('ip_invoices.invoice_id', $invoice_id)->get()->row(); $email_template_id = select_email_invoice_template($invoice); if ($email_template_id) { $email_template = $this->mdl_email_templates->where('email_template_id', $email_template_id)->get(); $this->layout->set('email_template', json_encode($email_template->row())); } else { $this->layout->set('email_template', '{}'); } $this->layout->set('selected_pdf_template', select_pdf_invoice_template($invoice)); $this->layout->set('selected_email_template', $email_template_id); $this->layout->set('email_templates', $this->mdl_email_templates->where('email_template_type', 'invoice')->get()->result()); $this->layout->set('invoice', $invoice); $this->layout->set('pdf_templates', $this->mdl_templates->get_invoice_templates()); $this->layout->buffer('content', 'mailer/invoice'); $this->layout->render(); }
function generate_invoice_pdf($invoice_id, $stream = TRUE, $invoice_template = NULL,$isGuest = NULL) { $CI = &get_instance(); $CI->load->model('invoices/mdl_invoices'); $CI->load->model('invoices/mdl_items'); $CI->load->model('invoices/mdl_invoice_tax_rates'); $CI->load->model('payment_methods/mdl_payment_methods'); $CI->load->library('encrypt'); $invoice = $CI->mdl_invoices->get_by_id($invoice_id); if (!$invoice_template) { $CI->load->helper('template'); $invoice_template = select_pdf_invoice_template($invoice); } $payment_method = $CI->mdl_payment_methods->where('payment_method_id', $invoice->payment_method)->get()->row(); if ($invoice->payment_method == 0) $payment_method = NULL; $data = array( 'invoice' => $invoice, 'invoice_tax_rates' => $CI->mdl_invoice_tax_rates->where('invoice_id', $invoice_id)->get()->result(), 'items' => $CI->mdl_items->where('invoice_id', $invoice_id)->get()->result(), 'payment_method' => $payment_method, 'output_type' => 'pdf' ); $html = $CI->load->view('invoice_templates/pdf/' . $invoice_template, $data, TRUE); $CI->load->helper('mpdf'); return pdf_create($html, lang('invoice') . '_' . str_replace(array('\\', '/'), '_', $invoice->invoice_number), $stream, $invoice->invoice_password,1,$isGuest); }
function generate_invoice_pdf($invoice_id, $stream = TRUE, $invoice_template = NULL, $isGuest = NULL) { $CI =& get_instance(); $CI->load->model('invoices/mdl_invoices'); $CI->load->model('invoices/mdl_items'); $CI->load->model('invoices/mdl_invoice_tax_rates'); $CI->load->model('payment_methods/mdl_payment_methods'); $CI->load->helper('country'); $invoice = $CI->mdl_invoices->get_by_id($invoice_id); if (!$invoice_template) { $CI->load->helper('template'); $invoice_template = select_pdf_invoice_template($invoice); } $payment_method = $CI->mdl_payment_methods->where('payment_method_id', $invoice->payment_method)->get()->row(); if ($invoice->payment_method == 0) { $payment_method = false; } // Determine if discounts should be displayed $items = $CI->mdl_items->where('invoice_id', $invoice_id)->get()->result(); $show_discounts = false; foreach ($items as $item) { if ($item->item_discount != '0.00') { $show_discounts = true; } } $data = array('invoice' => $invoice, 'invoice_tax_rates' => $CI->mdl_invoice_tax_rates->where('invoice_id', $invoice_id)->get()->result(), 'items' => $items, 'payment_method' => $payment_method, 'output_type' => 'pdf', 'show_discounts' => $show_discounts); $html = $CI->load->view('invoice_templates/pdf/' . $invoice_template, $data, TRUE); $CI->load->helper('mpdf'); return pdf_create($html, lang('invoice') . '_' . str_replace(array('\\', '/'), '_', $invoice->invoice_number), $stream, $invoice->invoice_password, 1, $isGuest); }
public function invoice($invoice_id) { if ($this->mailer_configured == TRUE) { if ($this->input->post('btn_send')) { $from = $this->input->post('from_name') ? array($this->input->post('from_email'), $this->input->post('from_name')) : $this->input->post('from_email'); $invoice_template = $this->input->post('invoice_template'); $to = $this->input->post('to_email'); $subject = $this->input->post('subject'); $body = $this->input->post('body') ?: ' '; $cc = $this->input->post('to_cc'); $bcc = $this->input->post('to_bcc'); if (email_invoice($invoice_id, $invoice_template, $from, $to, $subject, $body, $cc, $bcc)) { $this->mdl_invoices->mark_sent($invoice_id); $this->session->set_flashdata('alert_success', lang('email_successfully_sent')); redirect('dashboard'); } else { redirect('mailer/invoice/' . $invoice_id); } } $this->load->model('invoices/mdl_templates'); $this->load->model('invoices/mdl_invoices'); $this->load->model('email_templates/mdl_email_templates'); $invoice = $this->mdl_invoices->where('fi_invoices.invoice_id', $invoice_id)->get()->row(); $this->load->helper('template'); $selected_pdf_template = select_pdf_invoice_template($invoice); $selected_email_template = select_email_invoice_template($invoice); if ($selected_email_template) { $email_template = $this->mdl_email_templates->where('email_template_id', $selected_email_template)->get(); if ($email_template->num_rows()) { $this->layout->set('body', $email_template->row()->email_template_body); } else { $this->layout->set('body', ''); } } else { $this->layout->set('body', ''); } $this->layout->set('selected_pdf_template', $selected_pdf_template); $this->layout->set('selected_email_template', $selected_email_template); $this->layout->set('email_templates', $this->mdl_email_templates->get()->result()); $this->layout->set('invoice', $invoice); $this->layout->set('invoice_templates', $this->mdl_templates->get_invoice_templates()); $this->layout->buffer('content', 'mailer/invoice'); $this->layout->render(); } else { $this->layout->buffer('content', 'mailer/not_configured'); $this->layout->render(); } }
function generate_invoice_pdf($invoice_id, $stream = TRUE, $invoice_template = NULL) { $CI =& get_instance(); $CI->load->model('invoices/mdl_invoices'); $CI->load->model('invoices/mdl_items'); $CI->load->model('invoices/mdl_invoice_tax_rates'); $invoice = $CI->mdl_invoices->get_by_id($invoice_id); if (!$invoice_template) { $CI->load->helper('template'); $invoice_template = select_pdf_invoice_template($invoice); } $data = array('invoice' => $invoice, 'invoice_tax_rates' => $CI->mdl_invoice_tax_rates->where('invoice_id', $invoice_id)->get()->result(), 'items' => $CI->mdl_items->where('invoice_id', $invoice_id)->get()->result(), 'output_type' => 'pdf'); $html = $CI->load->view('invoice_templates/pdf/' . $invoice_template, $data, TRUE); $CI->load->helper('mpdf'); return pdf_create($html, lang('invoice') . '_' . str_replace(array('\\', '/'), '_', $invoice->invoice_number), $stream); }
function generate_invoice_pdf($invoice_id, $stream = TRUE, $invoice_template = NULL, $isGuest = NULL) { $CI =& get_instance(); $CI->load->model('invoices/mdl_invoices'); $CI->load->model('invoices/mdl_items'); $CI->load->model('invoices/mdl_invoice_tax_rates'); $CI->load->model('payment_methods/mdl_payment_methods'); $CI->load->model('tax_rates/mdl_tax_rates'); $CI->load->library('encrypt'); $invoice = $CI->mdl_invoices->get_by_id($invoice_id); if (!$invoice_template) { $CI->load->helper('template'); $invoice_template = select_pdf_invoice_template($invoice); } $payment_method = $CI->mdl_payment_methods->where('payment_method_id', $invoice->payment_method)->get()->row(); if ($invoice->payment_method == 0) { $payment_method = NULL; } if ($CI->mdl_settings->setting('default_language') == 'polish') { $grosze = substr($invoice->invoice_balance, strrpos($invoice->invoice_balance, '.') + 1); $balance_in_words = 'Słownie: ' . DeskdooUtils::slownie(floor($invoice->invoice_balance)) . ' ' . (int) $grosze . '/100'; } else { $balance_in_words = ''; } $items = $CI->mdl_items->get_items_and_replace_vars($invoice_id, $invoice->invoice_date_created); foreach ($items as $item) { if (empty($taxes_subtotal['total'][$item->item_tax_rate_id])) { $taxes_subtotal['total'][$item->item_tax_rate_id] = 0; $taxes_subtotal['netto'][$item->item_tax_rate_id] = 0; $taxes_subtotal['brutto'][$item->item_tax_rate_id] = 0; } $taxes_subtotal['total'][$item->item_tax_rate_id] += $item->item_tax_total; $taxes_subtotal['netto'][$item->item_tax_rate_id] += $item->item_subtotal - $item->item_discount; $taxes_subtotal['brutto'][$item->item_tax_rate_id] += $item->item_total; } $data = array('balance_in_words' => $balance_in_words, 'invoice' => $invoice, 'invoice_tax_rates' => $CI->mdl_invoice_tax_rates->where('invoice_id', $invoice_id)->get()->result(), 'tax_rates' => $CI->mdl_tax_rates->get_tax_rates(), 'tax_subtotal' => $taxes_subtotal, 'items' => $items, 'payment_method' => $payment_method, 'output_type' => 'pdf'); $html = $CI->load->view('invoice_templates/pdf/' . $invoice_template, $data, TRUE); $CI->load->helper('mpdf'); return pdf_create($html, lang('invoice') . '_' . str_replace(array('\\', '/'), '_', $invoice->invoice_number), $stream, $invoice->invoice_password, 1, $isGuest); }
function generate_invoice_pdf($invoice_id, $stream = true, $invoice_template = null, $isGuest = null) { $CI =& get_instance(); $CI->load->model('invoices/mdl_invoices'); $CI->load->model('invoices/mdl_items'); $CI->load->model('invoices/mdl_invoice_tax_rates'); $CI->load->model('payment_methods/mdl_payment_methods'); $CI->load->helper('country'); $invoice = $CI->mdl_invoices->get_by_id($invoice_id); if (!$invoice_template) { $CI->load->helper('template'); $invoice_template = select_pdf_invoice_template($invoice); } $payment_method = $CI->mdl_payment_methods->where('payment_method_id', $invoice->payment_method)->get()->row(); if ($invoice->payment_method == 0) { $payment_method = false; } // Determine if discounts should be displayed $items = $CI->mdl_items->where('invoice_id', $invoice_id)->get()->result(); $show_discounts = false; foreach ($items as $item) { if ($item->item_discount != '0.00') { $show_discounts = true; } } // PDF associated files $include_zugferd = $CI->mdl_settings->setting('include_zugferd'); if ($include_zugferd) { $CI->load->helper('zugferd'); $associatedFiles = array(array('name' => 'ZUGFeRD-invoice.xml', 'description' => 'ZUGFeRD Invoice', 'AFRelationship' => 'Alternative', 'mime' => 'text/xml', 'path' => generate_invoice_zugferd_xml_temp_file($invoice, $items))); } else { $associatedFiles = null; } $data = array('invoice' => $invoice, 'invoice_tax_rates' => $CI->mdl_invoice_tax_rates->where('invoice_id', $invoice_id)->get()->result(), 'items' => $items, 'payment_method' => $payment_method, 'output_type' => 'pdf', 'show_discounts' => $show_discounts); $html = $CI->load->view('invoice_templates/pdf/' . $invoice_template, $data, true); $CI->load->helper('mpdf'); return pdf_create($html, trans('invoice') . '_' . str_replace(array('\\', '/'), '_', $invoice->invoice_number), $stream, $invoice->invoice_password, 1, $isGuest, $include_zugferd, $associatedFiles); }