* * License: * GPL v2 or above * * Website: * http://www.simpleinvoices.or */ checkLogin(); #get the invoice id $invoice_id = $_GET['invoice']; $invoice = getInvoice($invoice_id); $invoice_type = getInvoiceType($invoice['type_id']); $customer = getCustomer($invoice['customer_id']); $biller = getBiller($invoice['biller_id']); $preference = getPreference($invoice['preference_id']); $defaults = getSystemDefaults(); $text_ui_invoiceobj = new text_ui_invoice(); $invoiceItems = $text_ui_invoiceobj->getInvoiceItems($invoice_id); #Invoice Age - number of days - start if ($invoice['owing'] > 0) { $invoice_age_days = number_format((strtotime(date('Y-m-d')) - strtotime($invoice['calc_date'])) / (60 * 60 * 24), 0); $invoice_age = "{$invoice_age_days} {$LANG['days']}"; } else { $invoice_age = ""; } $url_for_pdf = "./pdfmaker.php?id=" . $invoice['id']; $invoice['url_for_pdf'] = $url_for_pdf; $customFieldLabels = getCustomFieldLabels(); for ($i = 1; $i <= 4; $i++) { $customField[$i] = show_custom_field("invoice_cf{$i}", $invoice["custom_field{$i}"], "read", 'details_screen summary', 'details_screen', 'details_screen', 5, ':'); }
<?php //stop the direct browsing to this file - let index.php handle which files get displayed checkLogin(); //gets the long language name out of the short name $lang = getDefaultLanguage(); $languages = getLanguageList(); foreach ($languages as $language) { if ($language->shortname == $lang) { $lang = $language->name; break; } } $smarty->assign("defaults", getSystemDefaults()); $smarty->assign("defaultBiller", getDefaultBiller()); $smarty->assign("defaultCustomer", getDefaultCustomer()); $smarty->assign("defaultTax", getDefaultTax()); $smarty->assign("defaultPreference", getDefaultPreference()); $smarty->assign("defaultPaymentType", getDefaultPaymentType()); $smarty->assign("defaultDelete", getDefaultDelete()); $smarty->assign("defaultLogging", getDefaultLogging()); $smarty->assign("defaultInventory", getDefaultInventory()); $smarty->assign("defaultLanguage", $lang); $smarty->assign('pageActive', 'system_default'); $smarty->assign('active_tab', '#setting');
function getData() { //echo "export - get data"; global $smarty; global $siUrl; switch ($this->module) { case "statement": $invoice = new invoice(); $invoice->biller = $this->biller_id; $invoice->customer = $this->customer_id; if ($this->filter_by_date == "yes") { if (isset($this->start_date)) { $invoice->start_date = $this->start_date; } if (isset($this->end_date)) { $invoice->end_date = $this->end_date; } if (isset($this->start_date) and isset($this->end_date)) { $invoice->having = "date_between"; } $having_count = 1; } if ($this->show_only_unpaid == "yes") { if ($having_count == 1) { $invoice->having_and = "money_owed"; } else { $invoice->having = "money_owed"; } } $invoice_all = $invoice->select_all('count'); $invoices = $invoice_all->fetchAll(); foreach ($invoices as $i => $row) { $statement['total'] = $statement['total'] + $row['invoice_total']; $statement['owing'] = $statement['owing'] + $row['owing']; $statement['paid'] = $statement['paid'] + $row['INV_PAID']; } $templatePath = "./templates/default/statement/index.tpl"; $biller_details = getBiller($this->biller_id); $customer_details = getCustomer($this->customer_id); $this->file_name = "statement_" . $this->biller_id . "_" . $this->customer_id . "_" . $invoice->start_date . "_" . $invoice->end_date; $smarty->assign('biller_id', $biller_id); $smarty->assign('biller_details', $biller_details); $smarty->assign('customer_id', $customer_id); $smarty->assign('customer_details', $customer_details); $smarty->assign('show_only_unpaid', $show_only_unpaid); $smarty->assign('filter_by_date', $this->filter_by_date); $smarty->assign('invoices', $invoices); $smarty->assign('start_date', $this->start_date); $smarty->assign('end_date', $this->end_date); $smarty->assign('invoices', $invoices); $smarty->assign('statement', $statement); $data = $smarty->fetch("." . $templatePath); break; case "payment": $payment = getPayment($this->id); /*Code to get the Invoice preference - so can link from this screen back to the invoice - START */ $invoice = getInvoice($payment['ac_inv_id']); $biller = getBiller($payment['biller_id']); $logo = getLogo($biller); $logo = str_replace(" ", "%20", $logo); $customer = getCustomer($payment['customer_id']); $invoiceType = getInvoiceType($invoice['type_id']); $customFieldLabels = getCustomFieldLabels(); $paymentType = getPaymentType($payment['ac_payment_type']); $preference = getPreference($invoice['preference_id']); $smarty->assign("payment", $payment); $smarty->assign("invoice", $invoice); $smarty->assign("biller", $biller); $smarty->assign("logo", $logo); $smarty->assign("customer", $customer); $smarty->assign("invoiceType", $invoiceType); $smarty->assign("paymentType", $paymentType); $smarty->assign("preference", $preference); $smarty->assign("customFieldLabels", $customFieldLabels); $smarty->assign('pageActive', 'payment'); $smarty->assign('active_tab', '#money'); $css = $siUrl . "/templates/invoices/default/style.css"; $smarty->assign('css', $css); $templatePath = "./templates/default/payments/print.tpl"; $data = $smarty->fetch("." . $templatePath); break; case "invoice": $invoice = invoice::select($this->id); $invoice_number_of_taxes = numberOfTaxesForInvoice($this->id); $customer = getCustomer($invoice['customer_id']); $biller = biller::select($invoice['biller_id']); $preference = getPreference($invoice['preference_id']); $defaults = getSystemDefaults(); $logo = getLogo($biller); $logo = str_replace(" ", "%20", $logo); $invoiceItems = invoice::getInvoiceItems($this->id); $spc2us_pref = str_replace(" ", "_", $invoice['index_name']); $this->file_name = $spc2us_pref; $customFieldLabels = getCustomFieldLabels(); /*Set the template to the default*/ $template = $defaults['template']; $templatePath = "./templates/invoices/{$template}/template.tpl"; $template_path = "../templates/invoices/{$template}"; $css = $siUrl . "/templates/invoices/{$template}/style.css"; $pluginsdir = "./templates/invoices/{$template}/plugins/"; //$smarty = new Smarty(); $smarty->plugins_dir = $pluginsdir; $pageActive = "invoices"; $smarty->assign('pageActive', $pageActive); if (file_exists($templatePath)) { //echo "test"; $smarty->assign('biller', $biller); $smarty->assign('customer', $customer); $smarty->assign('invoice', $invoice); $smarty->assign('invoice_number_of_taxes', $invoice_number_of_taxes); $smarty->assign('preference', $preference); $smarty->assign('logo', $logo); $smarty->assign('template', $template); $smarty->assign('invoiceItems', $invoiceItems); $smarty->assign('template_path', $template_path); $smarty->assign('css', $css); $smarty->assign('customFieldLabels', $customFieldLabels); $data = $smarty->fetch("." . $templatePath); } break; } return $data; }