| Server IP : 14.225.204.176 / Your IP : 216.73.216.252 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/php/wit-crm/application/libraries/pdf/ |
Upload File : |
<?php
defined('BASEPATH') or exit('No direct script access allowed');
include_once(__DIR__ . '/App_pdf.php');
class Invoice_pdf extends App_pdf
{
protected $invoice;
private $invoice_number;
public function __construct($invoice, $tag = '')
{
$this->load_language($invoice->clientid);
$invoice = hooks()->apply_filters('invoice_html_pdf_data', $invoice);
$GLOBALS['invoice_pdf'] = $invoice;
parent::__construct();
if (!class_exists('Invoices_model', false)) {
$this->ci->load->model('invoices_model');
}
$this->tag = $tag;
$this->invoice = $invoice;
$this->invoice_number = format_invoice_number($this->invoice->id);
$this->SetTitle($this->invoice_number);
}
public function prepare()
{
$this->with_number_to_word($this->invoice->clientid);
$this->set_view_vars([
'status' => $this->invoice->status,
'invoice_number' => $this->invoice_number,
'payment_modes' => $this->get_payment_modes(),
'invoice' => $this->invoice,
]);
return $this->build();
}
protected function type()
{
return 'invoice';
}
protected function file_path()
{
$customPath = APPPATH . 'views/themes/' . active_clients_theme() . '/views/my_invoicepdf.php';
$actualPath = APPPATH . 'views/themes/' . active_clients_theme() . '/views/invoicepdf.php';
if (file_exists($customPath)) {
$actualPath = $customPath;
}
return $actualPath;
}
private function get_payment_modes()
{
$this->ci->load->model('payment_modes_model');
$payment_modes = $this->ci->payment_modes_model->get();
// In case user want to include {invoice_number} or {client_id} in PDF offline mode description
foreach ($payment_modes as $key => $mode) {
if (isset($mode['description'])) {
$payment_modes[$key]['description'] = str_replace('{invoice_number}', $this->invoice_number, $mode['description']);
$payment_modes[$key]['description'] = str_replace('{client_id}', $this->invoice->clientid, $mode['description']);
}
}
return $payment_modes;
}
}