Spade
Mini Shell
| Directory:~$ /proc/self/root/home/lmsyaran/public_html/components/com_phocacart/layouts/ |
| [Home] [System Details] [Kill Me] |
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
/*
* +-------------------------------------------+
* | TYPE | FORMAT |
* +------------------+------------------------+
* | 1. ORDER/RECEIPT | html - HTML/SITE |
* | 2. INVOICE | pdf - PDF |
* | 3. DELIVERY NOTE | mail - Mail |
* | 4. RECEIPT (POS) | rss - RSS |
* | | raw - RAW (POS PRINT) |
* +------------------+------------------------+
*/
defined('_JEXEC') or die();
$d = $displayData;
/*
* Parameters
*/
$store_title = $d['params']->get(
'store_title', '' );
$store_logo = $d['params']->get( 'store_logo',
'' );
$store_info = $d['params']->get( 'store_info',
'' );
$store_info = PhocacartRenderFront::renderArticle($store_info,
$d['format']);
//$invoice_prefix = $d['params']->get(
'invoice_prefix', '');
//$invoice_number_format = $d['params']->get(
'invoice_number_format', '');
//$invoice_number_chars = $d['params']->get(
'invoice_number_chars', 12);
$invoice_tp = $d['params']->get(
'invoice_terms_payment', '');
$display_discount_price_product = $d['params']->get(
'display_discount_price_product', 1);
$tax_calculation = $d['params']->get(
'tax_calculation', 0 );
$store_title_pos = $d['params']->get(
'store_title_pos', '' );
$store_logo_pos = $d['params']->get(
'store_logo_pos', '' );
$store_info_pos = $d['params']->get(
'store_info_pos', '' );
$store_info_footer_pos = $d['params']->get(
'store_info_footer_pos', '' );
// Used in Phoca PDF Phocacart plugin because of converting the TCPDF QR
code into html
//$pdf_invoice_qr_code = $d['params']->get(
'pdf_invoice_qr_code', '' );
$pdf_invoice_signature_image = $d['params']->get(
'pdf_invoice_signature_image', '' );
$pdf_invoice_qr_information = $d['params']->get(
'pdf_invoice_qr_information', '' );
$invoice_global_top_desc = $d['params']->get(
'invoice_global_top_desc', 0 );// Article ID
$invoice_global_middle_desc = $d['params']->get(
'invoice_global_middle_desc', 0 );
$invoice_global_bottom_desc = $d['params']->get(
'invoice_global_bottom_desc', 0 );
$order_global_top_desc = $d['params']->get(
'order_global_top_desc', 0 );// Article ID
$order_global_middle_desc = $d['params']->get(
'order_global_middle_desc', 0 );
$order_global_bottom_desc = $d['params']->get(
'order_global_bottom_desc', 0 );
$dn_global_top_desc = $d['params']->get(
'dn_global_top_desc', 0 );// Article ID
$dn_global_middle_desc = $d['params']->get(
'dn_global_middle_desc', 0 );
$dn_global_bottom_desc = $d['params']->get(
'dn_global_bottom_desc', 0 );
$oidn_global_billing_desc = $d['params']->get(
'oidn_global_billing_desc', 0 );
$oidn_global_shipping_desc = $d['params']->get(
'oidn_global_shipping_desc', 0 );
$display_tax_recapitulation_invoice = $d['params']->get(
'display_tax_recapitulation_invoice', 0 );
$display_tax_recapitulation_pos = $d['params']->get(
'display_tax_recapitulation_pos', 0 );
$display_reward_points_invoice = $d['params']->get(
'display_reward_points_invoice', 0 );
$display_reward_points_pos = $d['params']->get(
'display_reward_points_pos', 0 );
$display_time_of_supply_invoice = $d['params']->get(
'display_time_of_supply_invoice', 0 );
if($d['type'] == 1 &&
$d['common']->order_number == '') {
echo '<div class="alert alert-error
alert-danger">'.JText::_('COM_PHOCACART_ORDER_DOES_NOT_EXIST').'</div>';
return;
}
if($d['type'] == 3 &&
$d['common']->order_number == '') {
echo '<div class="alert alert-error
alert-danger">'.JText::_('COM_PHOCACART_DELIVERY_NOTE_NOT_YET_ISSUED').'</div>';
return;
}
if($d['type'] == 1 &&
$d['common']->receipt_number == '') {
echo '<div class="alert alert-error
alert-danger">'.JText::_('COM_PHOCACART_RECEIPT_NOT_YET_ISSUED').'</div>';
return;
}
if($d['type'] == 2 &&
$d['common']->invoice_number == '') {
echo '<div class="alert alert-error
alert-danger">'.JText::_('COM_PHOCACART_INVOICE_NOT_YET_ISSUED').'</div>';
return;
}
if(!isset($d['bas']['b'])) {
$d['bas']['b'] = array();
}
if(!isset($d['bas']['s'])) {
$d['bas']['s'] = array();
}
/*
* FORMAT
*/
// FORMAT - HTML
$box = 'class="ph-idnr-box"';
$table = 'class="ph-idnr-box-in"';
$pho1 = $pho12 = 'class="pho1"';
$pho2 = $pho22 = 'class="pho2"';
$pho3 = $pho32 = 'class="pho3"';
$pho4 = $pho42 = 'class="pho4"';
$pho5 = $pho52 = 'class="pho5"';
$pho6 = $pho62 = 'class="pho6"';
$pho7 = $pho72 = 'class="pho7"';
$pho6Sep = $pho6Sep2 = 'class="pho6 ph-idnr-sep"';
$pho7Sep = $pho7Sep2 = 'class="pho7 ph-idnr-sep"';
$pho8 = $pho82 = 'class="pho8"';
$pho9 = $pho92 = 'class="pho9"';
$pho10 = $pho102 = 'class="pho10"';
$pho11 = $pho112 = 'class="pho11"';
$pho12 = $pho122 = 'class="pho12"';
$sep = $sep2 = 'class="ph-idnr-sep"';
$bBox = 'class="ph-idnr-billing-box"';
$bBoxIn = 'class="ph-idnr-billing-box-in"';
$sBox = 'class="ph-idnr-shipping-box"';
$sBoxIn = 'class="ph-idnr-shipping-box-in"';
$boxIn = 'class="ph-idnr-box-in"';
$hProduct = 'class="ph-idnr-header-product"';
$bProduct = 'class="ph-idnr-body-product"';
$sepH = 'class="ph-idnr-sep-horizontal"';
$totalF = 'class="ph-idnr-total"';
$toPayS = 'class="ph-idnr-to-pay"';
$toPaySV = 'class="ph-idnr-to-pay-value"';
$bDesc = 'class="ph-idnr-body-desc"';
$hrSmall = 'class="ph-idnr-hr-small"';
$taxRecTable= 'class="ph-idnr-tax-rec"';
$taxRecTd = 'class="ph-idnr-tax-rec-td"';
$taxRecTdRight= 'class="ph-idnr-tax-rec-td ph-right"';
$bQrInfo = '';
$firstRow = '';
// POS RECEIPT
$pR = false;
if ($d['format'] == 'raw' &&
$d['type'] == 4) {
$pR = true;
$oPr = array();
$pP = new PhocacartPosPrint(0);
}
if ($d['format'] == 'pdf') {
// FORMAT PDF
// Products
if ($tax_calculation > 0) {
$colW = 8.3333;// 12 cols x 8.3333 = 100%
} else {
$colW = 11.11;// 9 cols x 11.11 = 100%
}
$box = '';
$table = 'style="width: 100%; font-size:
80%;padding:3px;margin-top:-200px"';
$pho1 = 'style="width: '.$colW.'%;"';
$pho2 = 'style="width: '.$colW.'%;"';
$pho3 = 'style="width: '.$colW.'%;"';
$pho4 = 'style="width: '.$colW.'%;"';
$pho5 = 'style="width: '.$colW.'%;"';
$pho6 = 'style="width: '.$colW.'%;"';
$pho7 = 'style="width: '.$colW.'%;"';
$pho6Sep = 'style="width: 3%;"';
$pho7Sep = 'style="width: 3%;"';
$pho8 = 'style="width: '.$colW.'%;"';
$pho9 = 'style="width: '.$colW.'%;"';
$pho10 = 'style="width: '.$colW.'%;"';
$pho11 = 'style="width: '.$colW.'%;"';
$pho12 = 'style="width: '.$colW.'%;"';
$sep = 'style="width: 3%;"';
$pho12 = 'style="width: 9%;"';
$pho22 = 'style="width: 9%;"';
$pho32 = 'style="width: 9%;"';
$pho42 = 'style="width: 9%;"';
$pho52 = 'style="width: 9%;"';
$pho62 = 'style="width: 9%;"';
$pho72 = 'style="width: 9%;"';
$pho6Sep2 = 'style="width: 5%;"';
$pho7Sep2 = 'style="width: 5%;"';
$pho82 = 'style="width: 9%;"';
$pho92 = 'style="width: 9%;"';
$pho102 = 'style="width: 9%;"';
$pho112 = 'style="width: 9%;"';
$pho122 = 'style="width: 9%;"';
$seps2 = 'style="width: 10%;"';
$bBox = 'style="border: 1pt solid #dddddd;"';
$bBoxIn = 'style=""';
$sBox = 'style="border: 1pt solid #dddddd;"';
$sBoxIn = 'style=""';
//$boxIn = 'style="width: 100%; font-family: sans-serif,
arial; font-size: 60%;padding:3px 1px;"';
$boxIn = 'style="width: 100%; font-size: 60%;padding:1px
1px;"';
$hProduct = 'style="white-space:nowrap;font-weight:
bold;background-color: #dddddd;"';
$bProduct = 'style="white-space:nowrap;"';
$sepH = 'style="border-top: 1pt solid #dddddd;"';
$totalF = 'style=""';
$toPayS = 'style="background-color: #eeeeee;padding:
20px;"';
$toPaySV = 'style="background-color: #eeeeee;padding:
20px;text-align:right;"';
$firstRow = 'style="font-size:0pt;"';
$bDesc = 'style="padding: 2px 0px 0px
0px;margin:0;font-size:60%;"';
$hrSmall = 'style="font-size:30%;"';
$taxRecTable= 'style="border: 1pt solid #dddddd; width:
70%;font-size: 60%;"';
$taxRecTd = 'style="border: 1pt solid #dddddd;"';
$taxRecTdRight= 'style="border: 1pt solid
#dddddd;text-align:right;"';
$bQrInfo = 'style="font-size: 70%"';
} else if ($d['format'] == 'mail') {
// FORMAT EMAIL
$box = '';
//$table = 'style="width: 100%; font-family: sans-serif,
arial; font-size: 90%;"';
$table = 'style="width: 100%; font-size: 90%;"';
$pho1 = 'style="width: 8.3333%;"';
$pho2 = 'style="width: 8.3333%;"';
$pho3 = 'style="width: 8.3333%;"';
$pho4 = 'style="width: 8.3333%;"';
$pho5 = 'style="width: 8.3333%;"';
$pho6 = 'style="width: 8.3333%;"';
$pho7 = 'style="width: 8.3333%;"';
$pho6Sep = 'style="width: 3%;"';
$pho7Sep = 'style="width: 3%;"';
$pho8 = 'style="width: 8.3333%;"';
$pho9 = 'style="width: 8.3333%;"';
$pho10 = 'style="width: 8.3333%;"';
$pho11 = 'style="width: 8.3333%;"';
$pho12 = 'style="width: 8.3333%;"';
$sep = 'style="width: 3%;"';
$pho12 = 'style="width: 9%;"';
$pho22 = 'style="width: 9%;"';
$pho32 = 'style="width: 9%;"';
$pho42 = 'style="width: 9%;"';
$pho52 = 'style="width: 9%;"';
$pho62 = 'style="width: 9%;"';
$pho72 = 'style="width: 9%;"';
$pho6Sep2 = 'style="width: 5%;"';
$pho7Sep2 = 'style="width: 5%;"';
$pho82 = 'style="width: 9%;"';
$pho92 = 'style="width: 9%;"';
$pho102 = 'style="width: 9%;"';
$pho112 = 'style="width: 9%;"';
$pho122 = 'style="width: 9%;"';
$seps2 = 'style="width: 10%;"';
$bBox = 'style="border: 1px solid #ddd;padding:
10px;"';
$bBoxIn = 'style=""';
$sBox = 'style="border: 1px solid #ddd;padding:
10px;"';
$sBoxIn = 'style=""';
//$boxIn = 'style="width: 100%; font-family: sans-serif,
arial; font-size: 90%;"';
$boxIn = 'style="width: 100%; font-size: 90%;"';
$hProduct = 'style="white-space:nowrap;padding:
5px;font-weight: bold;background: #ddd;"';
$bProduct = 'style="white-space:nowrap;padding:
5px;"';
$sepH = 'style="border-top: 1px solid #ddd;"';
$totalF = 'style=""';
$toPayS = 'style="background-color: #eeeeee;padding:
20px;"';
$toPaySV = 'style="background-color: #eeeeee;padding:
20px;text-align:right;"';
$firstRow = '';
$taxRecTable= 'style="border: 1pt solid #dddddd; width:
50%;"';
$taxRecTd = 'style="border: 1pt solid #dddddd;"';
}
// -----------
// R E N D E R
// -----------
$o = array();
$o[] = '<div '.$box.'>';
// -----------
// 1. PART
// -----------
$o[] = '<table '.$table.'>';
$o[] = '<tr '.$firstRow.'>';
$o[] = '<td '.$pho12.'> </td><td
'.$pho22.'> </td><td
'.$pho32.'> </td><td
'.$pho42.'> </td>';
$o[] = '<td '.$pho52.'> </td><td
'.$pho6Sep2.'> </td><td
'.$pho7Sep2.'> </td><td
'.$pho82.'> </td>';
$o[] = '<td '.$pho92.'> </td><td
'.$pho102.'> </td><td
'.$pho112.'> </td><td
'.$pho122.'> </td>';
$o[] = '</tr>';
// -----------
// HEADER LEFT
// -----------
$o[] = '<tr><td colspan="5">';
if ($store_title != '') {
$o[] =
'<div><h1>'.$store_title.'</h1></div>';
}
if ($store_logo != '') {
$o[] = '<div><img class="ph-idnr-header-img"
src="'.JURI::root(false). ''.$store_logo.'"
/></div>';
}
if ($store_info != '') {
$o[] = '<div>'.$store_info.'</div>';
}
$o[] = '</td>';
$o[] = '<td colspan="2"
'.$sep2.'></td>';
// -----------
// HEADER RIGHT
// -----------
$o[] = '<td colspan="5">';
if ($d['type'] == 1) {
$o[] =
'<div><h1>'.JText::_('COM_PHOCACART_ORDER').'</h1></div>';
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_ORDER_NR').'</b>:
'.PhocacartOrder::getOrderNumber($d['common']->id,
$d['common']->date,
$d['common']->order_number).'</div>';
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_ORDER_DATE').'</b>:
'.JHtml::date($d['common']->date,
'DATE_FORMAT_LC4').'</div>';
} else if ($d['type'] == 2) {
$o[] =
'<div><h1>'.JText::_('COM_PHOCACART_INVOICE').'</h1></div>';
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_INVOICE_NR').'</b>:
'.PhocacartOrder::getInvoiceNumber($d['common']->id,
$d['common']->date,
$d['common']->invoice_number).'</div>';
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_INVOICE_DATE').'</b>:
'.JHtml::date($d['common']->invoice_date,
'DATE_FORMAT_LC4').'</div>';
if ($display_time_of_supply_invoice == 1 &&
$d['common']->invoice_time_of_supply != ''
&& $d['common']->invoice_time_of_supply !=
'0000-00-00 00:00:00') {
$o[] = '<div><b>' .
JText::_('COM_PHOCACART_DATE_OF_TAXABLE_SUPPLY') .
'</b>: ' .
JHtml::date($d['common']->invoice_time_of_supply,
'DATE_FORMAT_LC4') . '</div>';
}
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_INVOICE_DUE_DATE').'</b>:
'.PhocacartOrder::getInvoiceDueDate($d['common']->id,
$d['common']->date,
$d['common']->invoice_due_date,
'DATE_FORMAT_LC4').'</div>';
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_PAYMENT_REFERENCE_NUMBER').'</b>:
'.PhocacartOrder::getPaymentReferenceNumber($d['common']->id,
$d['common']->date,
$d['common']->invoice_prn).'</div>';
// Display order number in invoice because order number can be different
to invoice number
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_ORDER_NR').'</b>:
'.PhocacartOrder::getOrderNumber($d['common']->id,
$d['common']->date,
$d['common']->order_number).'</div>';
} else if ($d['type'] == 3) {
$o[] =
'<div><h1>'.JText::_('COM_PHOCACART_DELIVERY_NOTE').'</h1></div>';
$o[] = '<div
style="margin:0;"><b>'.JText::_('COM_PHOCACART_ORDER_NR').'</b>:
'.PhocacartOrder::getOrderNumber($d['common']->id,
$d['common']->date,
$d['common']->order_number).'</div>';
$o[] = '<div
style="margin:0"><b>'.JText::_('COM_PHOCACART_ORDER_DATE').'</b>:
'.JHtml::date($d['common']->date,
'DATE_FORMAT_LC4').'</div>';
}
$o[] = '<div> </div>';
if (isset($d['common']->paymenttitle) &&
$d['common']->paymenttitle != '') {
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_PAYMENT').'</b>:
'.$d['common']->paymenttitle.'</div>';
}
if ($d['type'] == 2 && $invoice_tp != '') {
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_TERMS_OF_PAYMENT').'</b>:
'.$invoice_tp.'</div>';
}
if (isset($d['common']->shippingtitle) &&
$d['common']->shippingtitle != '') {
$o[] =
'<div><b>'.JText::_('COM_PHOCACART_SHIPPING').'</b>:
'.$d['common']->shippingtitle.'</div>';
}
$o[] = '</td></tr>';
$o[] = '<tr><td
colspan="12"> </td></tr>';
// POS HEADER
if ($pR) {
$oPr[] = $pP->printImage($store_logo_pos);
}
if ($pR) {
$storeTitlePos = array();
if ($store_title_pos != '') {
$storeTitlePos = explode("\n", $store_title_pos);
}
$oPr[] = $pP->printFeed(1);
$oPr[] = $pP->printLine($storeTitlePos, 'pDoubleSizeCenter');
$oPr[] = $pP->printFeed(1);
}
if ($pR) {
$storeInfoPos = array();
if ($store_info_pos != '') {
$store_info_pos = PhocacartText::completeText($store_info_pos,
$d['preparereplace'], 1);
$storeInfoPos = explode("\n", strip_tags($store_info_pos));
}
$oPr[] = $pP->printLine($storeInfoPos, 'pCenter');
}
// -----------
// BILLING AND SHIPPING HEADER
// -----------
$o[] = '<tr><td
colspan="5"><b>'.JText::_('COM_PHOCACART_BILLING_ADDRESS').'</b></td>';
$o[] = '<td colspan="2"></td>';
$o[] = '<td
colspan="5"><b>'.JText::_('COM_PHOCACART_SHIPPING_ADDRESS').'</b></td></tr>';
// -----------
// BILLING
// -----------
$ob = array();
$ob2 = array();// specific case for $oidn_global_billing_desc
if (!empty($d['bas']['b'])) {
$v = $d['bas']['b'];
if ($v['company'] != '') { $ob[] =
'<b>'.$v['company'].'</b><br
/>';}
$name = array();
if ($v['name_degree'] != '') { $name[] =
$v['name_degree'];}
if ($v['name_first'] != '') { $name[] =
$v['name_first'];}
if ($v['name_middle'] != '') { $name[] =
$v['name_middle'];}
if ($v['name_last'] != '') { $name[] =
$v['name_last'];}
if (!empty($name)) {$ob[] = '<b>' .
implode("\n", $name).'</b><br />';}
if ($v['address_1'] != '') { $ob[] =
$v['address_1'].'<br />';}
if ($v['address_2'] != '') { $ob[] =
$v['address_2'].'<br />';}
$city = array();
if ($v['zip'] != '') { $city[] = $v['zip'];}
if ($v['city'] != '') { $city[] =
$v['city'];}
if (!empty($city)) {$ob[] = implode("\n", $city).'<br
/>';}
//echo '<br />';
if (!empty($v['regiontitle'])) {$ob[] =
$v['regiontitle'].'<br />';}
if (!empty($v['countrytitle'])) {$ob[] =
$v['countrytitle'].'<br />';}
//echo '<br />';
if ($v['vat_1'] != '') { $ob[] = '<br
/>'.JText::_('COM_PHOCACART_VAT_1_LABEL').': '.
$v['vat_1'].'<br />';}
if ($v['vat_2'] != '') { $ob[] =
JText::_('COM_PHOCACART_VAT_2_LABEL').':
'.$v['vat_2'].'<br />';}
// -----------------------
// ORDER | INVOICE | DELIVERY NOTE BILLING ADDRESS DESCRIPTION
// -----------------------
if ($d['type'] == 1 || $d['type'] == 2 ||
$d['type'] == 3) {
$oidnBillingDescArticle = '';
if ($d['common']->oidn_spec_billing_desc != '') {
$oidnBillingDescArticle =
$d['common']->oidn_spec_billing_desc;
} else if ((int)$oidn_global_billing_desc > 0) {
$oidnBillingDescArticle =
PhocacartRenderFront::renderArticle((int)$oidn_global_billing_desc);
}
if ($oidnBillingDescArticle != '') {
//$o[] = '<div
'.$hrSmall.'> </div>';
$oidnBillingDescArticle =
PhocacartPdf::skipStartAndLastTag($oidnBillingDescArticle, 'p');
$oidnBillingDescArticle =
PhocacartText::completeText($oidnBillingDescArticle,
$d['preparereplace'], 1);
//$oidnBillingDescArticle =
PhocacartText::completeTextFormFields($oidnBillingDescArticle,
$d['bas']['b'], 1);
//$oidnBillingDescArticle =
PhocacartText::completeTextFormFields($oidnBillingDescArticle,
$d['bas']['s'], 2);
$oidnBillingDescArticle =
PhocacartText::completeTextFormFields($oidnBillingDescArticle,
$d['bas']['b'], $d['bas']['s']);
$ob2[] = $oidnBillingDescArticle;
}
}
}
// -----------
// SHIPPING
// -----------
$os = array();
$os2 = array();// specific case for $oidn_global_shipping_desc
if (!empty($d['bas']['s'])) {
$v = $d['bas']['s'];
if ($v['company'] != '') { $os[] =
'<b>'.$v['company'].'</b><br
/>';}
$name = array();
if ($v['name_degree'] != '') { $name[] =
$v['name_degree'];}
if ($v['name_first'] != '') { $name[] =
$v['name_first'];}
if ($v['name_middle'] != '') { $name[] =
$v['name_middle'];}
if ($v['name_last'] != '') { $name[] =
$v['name_last'];}
if (!empty($name)) {$os[] = '<b>' .
implode("\n", $name).'</b><br />';}
if ($v['address_1'] != '') { $os[] =
$v['address_1'].'<br />';}
if ($v['address_2'] != '') { $os[] =
$v['address_2'].'<br />';}
$city = array();
if ($v['zip'] != '') { $city[] = $v['zip'];}
if ($v['city'] != '') { $city[] =
$v['city'];}
if (!empty($city)) {$os[] = implode("\n", $city).'<br
/>';}
//echo '<br />';
if (!empty($v['regiontitle'])) {$os[] =
$v['regiontitle'].'<br />';}
if (!empty($v['countrytitle'])) {$os[] =
$v['countrytitle'].'<br />';}
//echo '<br />';
if ($v['vat_1'] != '') { $os[] = '<br
/>'.JText::_('COM_PHOCACART_VAT1').': '.
$v['vat_1'].'<br />';}
if ($v['vat_2'] != '') { $os[] =
JText::_('COM_PHOCACART_VAT2').':
'.$v['vat_2'].'<br />';}
// -----------------------
// ORDER | INVOICE | DELIVERY NOTE SHIPPING ADDRESS DESCRIPTION
// -----------------------
if ($d['type'] == 1 || $d['type'] == 2 ||
$d['type'] == 3) {
$oidnShippingDescArticle = '';
if ($d['common']->oidn_spec_shipping_desc != '') {
$oidnShippingDescArticle =
$d['common']->oidn_spec_shipping_desc;
} else if ((int)$oidn_global_shipping_desc > 0) {
$oidnShippingDescArticle =
PhocacartRenderFront::renderArticle((int)$oidn_global_shipping_desc);
}
if ($oidnShippingDescArticle != '') {
//$o[] = '<div
'.$hrSmall.'> </div>';
$oidnShippingDescArticle =
PhocacartPdf::skipStartAndLastTag($oidnShippingDescArticle, 'p');
$oidnShippingDescArticle =
PhocacartText::completeText($oidnShippingDescArticle,
$d['preparereplace'], 1);
//$oidnShippingDescArticle =
PhocacartText::completeTextFormFields($oidnShippingDescArticle,
$d['bas']['b'], 1);
//$oidnShippingDescArticle =
PhocacartText::completeTextFormFields($oidnShippingDescArticle,
$d['bas']['s'], 2);
$oidnShippingDescArticle =
PhocacartText::completeTextFormFields($oidnShippingDescArticle,
$d['bas']['b'], $d['bas']['s']);
$os2[] = $oidnShippingDescArticle;
}
}
}
// BILLING OUTPUT
$o[] = '<tr><td colspan="5" '.$bBox.'
><div '.$bBoxIn.'>';
$o[] = implode("\n", $ob);
$o[] = implode("\n", $ob2);
$o[] = '</div></td>';
$o[] = '<td colspan="2"> </td>';
// SHIPPING OUTPUT
$o[] = '<td colspan="5" '.$sBox.'><div
'.$sBoxIn.'>';
if ((isset($d['bas']['b']['ba_sa'])
&& $d['bas']['b']['ba_sa'] == 1) ||
(isset($d['bas']['s']['ba_sa']) &&
$d['bas']['s']['ba_sa'] == 1)) {
$o[] = implode("\n", $ob);
//$o[] = implode("\n", $ob2); Don't display shipping
description in billing
// Possible TO DO - parameter if display shipping description in case
there is no shipping address but in fact the billing one
$o[] = implode("\n", $os2);
} else {
$o[] = implode("\n", $os);
$o[] = implode("\n", $os2);
}
$o[] = '</div></td></tr>';
//$o[] = '<tr><td
colspan="12"> </td></tr>';
$o[] = '</table>';
// -----------------------
// INVOICE TOP DESCRIPTION
// -----------------------
if ($d['type'] == 2) {
$invoiceTopDescArticle = '';
if ($d['common']->invoice_spec_top_desc != '') {
$invoiceTopDescArticle =
$d['common']->invoice_spec_top_desc;
} else if ((int)$invoice_global_top_desc > 0) {
$invoiceTopDescArticle =
PhocacartRenderFront::renderArticle((int)$invoice_global_top_desc);
}
if ($invoiceTopDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$invoiceTopDescArticle =
PhocacartPdf::skipStartAndLastTag($invoiceTopDescArticle, 'p');
$invoiceTopDescArticle =
PhocacartText::completeText($invoiceTopDescArticle,
$d['preparereplace'], 1);
//$invoiceTopDescArticle =
PhocacartText::completeTextFormFields($invoiceTopDescArticle,
$d['bas']['b'], 1);
//$invoiceTopDescArticle =
PhocacartText::completeTextFormFields($invoiceTopDescArticle,
$d['bas']['s'], 2);
$invoiceTopDescArticle =
PhocacartText::completeTextFormFields($invoiceTopDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$invoiceTopDescArticle.'</td></tr></table>';
}
} else if ($d['type'] == 1) {
$orderTopDescArticle =
PhocacartRenderFront::renderArticle((int)$order_global_top_desc);
if ($orderTopDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$orderTopDescArticle =
PhocacartPdf::skipStartAndLastTag($orderTopDescArticle, 'p');
$orderTopDescArticle = PhocacartText::completeText($orderTopDescArticle,
$d['preparereplace'], 1);
//$orderTopDescArticle =
PhocacartText::completeTextFormFields($orderTopDescArticle,
$d['bas']['b'], 1);
//$orderTopDescArticle =
PhocacartText::completeTextFormFields($orderTopDescArticle,
$d['bas']['s'], 2);
$orderTopDescArticle =
PhocacartText::completeTextFormFields($orderTopDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$orderTopDescArticle.'</td></tr></table>';
}
} else if ($d['type'] == 3) {
$dnTopDescArticle =
PhocacartRenderFront::renderArticle((int)$dn_global_top_desc);
if ($dnTopDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$dnTopDescArticle = PhocacartPdf::skipStartAndLastTag($dnTopDescArticle,
'p');
$dnTopDescArticle = PhocacartText::completeText($dnTopDescArticle,
$d['preparereplace'], 1);
$dnTopDescArticle =
PhocacartText::completeTextFormFields($dnTopDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$dnTopDescArticle.'</td></tr></table>';
}
}
// -----------
// 2. PART
// -----------
$o[] = '<table '.$boxIn.'>';
$o[] = '<tr>';
$o[] = '<td '.$pho1.'> </td><td
'.$pho2.'> </td><td
'.$pho3.'> </td><td
'.$pho4.'> </td>';
$o[] = '<td '.$pho5.'> </td><td
'.$pho6.'> </td><td
'.$pho7.'> </td><td
'.$pho8.'> </td>';
$o[] = '<td '.$pho9.'> </td>';
if ($tax_calculation > 0) {
$o[] = '<td '.$pho10.'> </td><td
'.$pho11.'> </td><td
'.$pho12.'> </td>';
}
$o[] = '</tr>';
$dDiscount = 0; // Display Discount (Coupon, cnetto)
$cTitle = 3; // Colspan Title
$p = array();
if (!empty($d['products'])) {
// Prepare header and body
foreach ($d['products'] as $k => $v) {
if ($v->damount > 0) {
$dDiscount = 1;
$cTitle = 2;
}
}
if ($d['type'] == 3) {
$cTitle = 10;
}
$p[] = '<tr '.$hProduct.'>';
$p[] =
'<td>'.JText::_('COM_PHOCACART_SKU').'</td>';
$p[] = '<td
colspan="'.$cTitle.'">'.JText::_('COM_PHOCACART_ITEM').'</td>';
$p[] = '<td
style="text-align:center">'.JText::_('COM_PHOCACART_QTY').'</td>';
if ($d['type'] != 3) {
$p[] = '<td style="text-align:right"
colspan="2">'.JText::_('COM_PHOCACART_PRICE_UNIT').'</td>';
if ($dDiscount == 1) {
$p[] = '<td
style="text-align:center"">'.JText::_('COM_PHOCACART_DISCOUNT').'</td>';
}
if ($tax_calculation > 0) {
$p[] = '<td style="text-align:right"
colspan="2">'.JText::_('COM_PHOCACART_PRICE_EXCL_TAX').'</td>';
$p[] = '<td
style="text-align:right">'.JText::_('COM_PHOCACART_TAX').'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.JText::_('COM_PHOCACART_PRICE_INCL_TAX').'</td>';
} else {
$p[] = '<td style="text-align:right"
colspan="2">'.JText::_('COM_PHOCACART_PRICE').'</td>';
}
}
$p[] = '</tr>';
if ($pR) { $oPr[] = $pP->printSeparator(); }
foreach($d['products'] as $k => $v) {
// $codes = PhocacartProduct::getProductCodes((int)$v->product_id);
// echo $codes['isbn']; getting codes like isbn, ean, jpn,
serial_number from product
// codes are the latest stored in database not codes which were valid in
date of order
/*
$productImage =
PhocacartProduct::getImageByProductId($v->product_id);
$path = PhocacartPath::getPath('productimage');// add before
foreach
if ($productImage != '') {
$productThumbnail = PhocacartImage::getThumbnailName($path,
$productImage, 'small');
$productImageOutput = '<img
src="'.JURI::root().''.$productThumbnail->rel.'"
alt="" />';
}
*/
$p[] = '<tr '.$bProduct.'>';
$p[] = '<td>'.$v->sku.'</td>';
$p[] = '<td
colspan="'.$cTitle.'">'.$v->title.'</td>';
if ($pR) { $oPr[] = $pP->printLineColumns(array($v->sku,
$v->title), 1); }
$p[] = '<td
style="text-align:center">'.$v->quantity.'</td>';
$netto = (int)$v->quantity * $v->netto;
$nettoUnit = $v->netto;
$tax = (int)$v->quantity * $v->tax;
$brutto = (int)$v->quantity * $v->brutto;
if ($d['type'] != 3) {
if ($tax_calculation > 0) {
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($v->netto).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($netto).'</td>';
$p[] = '<td style="text-align:right"
colspan="1">'.$d['price']->getPriceFormat($tax).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($brutto).'</td>';
} else {
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($v->netto).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($brutto).'</td>';
}
}
$p[] = '</tr>';
if (!empty($v->attributes)) {
$p[] = '<tr>';
$p[] = '<td></td>';
$p[] = '<td colspan="3"
align="left"><ul class="ph-idnr-ul">';
foreach ($v->attributes as $k2 => $v2) {
$p[] = '<li><span class="ph-small
ph-cart-small-attribute ph-idnr-li">'.$v2->attribute_title
.' '.$v2->option_title.'</span></li>';
/* Should we display the values of attributes added by users in
order/delivery note/receipt/invoice?
$p[] = '<li><span class="ph-small
ph-cart-small-attribute ph-idnr-li">'.$v2->attribute_title
.' '.$v2->option_title.'</span>';
if (isset($v2->option_value) &&
urldecode($v2->option_value) != '') {
$p[] = ': <span class="ph-small
ph-cart-small-attribute">' .
htmlspecialchars(urldecode($v2->option_value), ENT_QUOTES,
'UTF-8') . '</span>';
}
$p[] = '</li>';
*/
if ($pR) { $oPr[] = $pP->printLineColumns(array(' - '
.$v2->attribute_title .' '.$v2->option_title)); }
}
$p[] = '</ul></td>';
$p[] = '<td colspan="8"></td>';
$p[] = '</tr>';
}
if ($pR) {
$brutto = (int)$v->quantity * $v->brutto;
$oPr[] = $pP->printLineColumns(array((int)$v->quantity . ' x
' . $d['price']->getPriceFormat($v->brutto),
$d['price']->getPriceFormat($brutto)));
}
$lastSaleNettoUnit = array();
$lastSaleNetto = array();
$lastSaleTax = array();
$lastSaleBrutto = array();
if (!empty($d['discounts'][$v->product_id_key]) &&
$d['type'] != 3) {
$lastSaleNettoUnit[$v->product_id_key] = $nettoUnit;
$lastSaleNetto[$v->product_id_key] = $netto;
$lastSaleTax[$v->product_id_key] = $tax;
$lastSaleBrutto[$v->product_id_key] = $brutto;
foreach($d['discounts'][$v->product_id_key] as $k3 =>
$v3) {
$nettoUnit3 = $v3->netto;
$netto3 = (int)$v->quantity * $v3->netto;
$tax3 = (int)$v->quantity * $v3->tax;
$brutto3 = (int)$v->quantity * $v3->brutto;
$saleNettoUnit = $lastSaleNettoUnit[$v->product_id_key] -
$nettoUnit3;
$saleNetto = $lastSaleNetto[$v->product_id_key] - $netto3;
$saleTax = $lastSaleTax[$v->product_id_key] - $tax3;
$saleBrutto = $lastSaleBrutto[$v->product_id_key] -
$brutto3;
$lastSaleNettoUnit[$v->product_id_key] = $nettoUnit3;
$lastSaleNetto[$v->product_id_key] = $netto3;
$lastSaleTax[$v->product_id_key] = $tax3;
$lastSaleBrutto[$v->product_id_key] = $brutto3;
if ($display_discount_price_product == 2) {
$p[] = '<tr '.$bProduct.'>';
$p[] = '<td></td>';
$p[] = '<td
colspan="'.$cTitle.'">'.$v3->title.'</td>';
$p[] = '<td
style="text-align:center"></td>';
if ($tax_calculation > 0) {
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($saleNettoUnit,
1).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($saleNetto,
1).'</td>';
$p[] = '<td style="text-align:right"
colspan="1">'.$d['price']->getPriceFormat($saleTax,
1).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($saleBrutto,
1).'</td>';
} else {
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($saleNettoUnit,
1).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($saleBrutto,
1).'</td>';
}
$p[] = '</tr>';
if ($pR) {
$oPr[] = $pP->printLineColumns(array($v3->title,
$d['price']->getPriceFormat($saleBrutto, 1)));
}
} else if ($display_discount_price_product == 1) {
$p[] = '<tr '.$bProduct.'>';
$p[] = '<td></td>';
$p[] = '<td
colspan="'.$cTitle.'">'.$v3->title.'</td>';
$p[] = '<td
style="text-align:center"></td>';
/*$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($nettoUnit3).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($netto3).'</td>';
$p[] = '<td style="text-align:right"
colspan="1">'.$d['price']->getPriceFormat($tax3).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($brutto3).'</td>';*/
if ($tax_calculation > 0) {
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($nettoUnit3).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($netto3).'</td>';
$p[] = '<td style="text-align:right"
colspan="1">'.$d['price']->getPriceFormat($tax3).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($brutto3).'</td>';
} else {
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($nettoUnit3).'</td>';
$p[] = '<td style="text-align:right"
colspan="2">'.$d['price']->getPriceFormat($brutto3).'</td>';
}
$p[] = '</tr>';
if ($pR) {
$oPr[] = $pP->printLineColumns(array($v3->title,
$d['price']->getPriceFormat($brutto3)));
}
}
}
}
}
if ($pR) { $oPr[] = $pP->printSeparator(); }
}
$o[] = implode("\n", $p);
if ($tax_calculation > 0 || $d['type'] == 3) {
$o[] = '<tr><td colspan="12"
'.$sepH.'> </td></tr>';
} else {
$o[] = '<tr><td colspan="9"
'.$sepH.'> </td></tr>';
}
// -----------
// TOTAL
// -----------
$t = array();
$toPay = '';
$tColspanLeft = 5;
$tColspanMid = 2;
$tColspanRight = 2;
if ($tax_calculation > 0) {
$tColspanLeft = 7;
$tColspanMid = 3;
$tColspanRight = 2;
}
if (!empty($d['total'])) {
foreach($d['total'] as $k => $v) {
if($v->amount == 0 && $v->amount_currency == 0 &&
$v->type != 'brutto') {
// Don't display coupon if null
} else if ($v->type == 'netto') {
$t[] = '<tr '.$totalF.'>';
$t[] = '<td
colspan="'.$tColspanLeft.'"></td>';
$t[] = '<td
colspan="'.$tColspanMid.'"><b>'.
PhocacartLanguage::renderTitle($v->title, $v->title_lang, array(0
=> array($v->title_lang_suffix, ' '), 1 =>
array($v->title_lang_suffix2, '
'))).'</b></td>';
$t[] = '<td style="text-align:right"
colspan="'.$tColspanRight.'"><b>'.$d['price']->getPriceFormat($v->amount).'</b></td>';
$t[] = '</tr>';
if ($pR) { $oPr[] =
$pP->printLineColumns(array(PhocacartLanguage::renderTitle($v->title,
$v->title_lang, array(0 => array($v->title_lang_suffix, '
'), 1 => array($v->title_lang_suffix2, ' '))),
$d['price']->getPriceFormat($v->amount))); }
} else if ($v->type == 'brutto') {
// Brutto or Brutto currency
$amount = (isset($v->amount_currency) &&
$v->amount_currency > 0) ?
$d['price']->getPriceFormat($v->amount_currency, 0, 1) :
$d['price']->getPriceFormat($v->amount);
$t[] = '<tr '.$totalF.'>';
$t[] = '<td
colspan="'.$tColspanLeft.'"></td>';
$t[] = '<td
colspan="'.$tColspanMid.'"><b>'.PhocacartLanguage::renderTitle($v->title,
$v->title_lang, array(0 => array($v->title_lang_suffix, '
'), 1 => array($v->title_lang_suffix2, '
'))).'</b></td>';
$t[] = '<td style="text-align:right"
colspan="'.$tColspanRight.'"><b>'.$amount.'</b></td>';
$t[] = '</tr>';
if ($pR) {
$oPr[] = $pP->printSeparator();
$oPr[] =
$pP->printLineColumns(array(PhocacartLanguage::renderTitle($v->title,
$v->title_lang, array(0 => array($v->title_lang_suffix, '
'), 1 => array($v->title_lang_suffix2, ' '))),
$amount), 0, 'pDoubleSize');
$oPr[] = $pP->printFeed(2);
}
if ($d['type'] == 2) {
$toPay = $amount;
}
} else if ($v->type == 'rounding') {
// Rounding or rounding currency
$amount = (isset($v->amount_currency) &&
$v->amount_currency > 0) ?
$d['price']->getPriceFormat($v->amount_currency, 0, 1) :
$d['price']->getPriceFormat($v->amount);
$t[] = '<tr '.$totalF.'>';
$t[] = '<td
colspan="'.$tColspanLeft.'"></td>';
$t[] = '<td
colspan="'.$tColspanMid.'">'.PhocacartLanguage::renderTitle($v->title,
$v->title_lang, array(0 => array($v->title_lang_suffix, '
'), 1 => array($v->title_lang_suffix2, '
'))).'</td>';
$t[] = '<td style="text-align:right"
colspan="'.$tColspanRight.'">'.$amount.'</td>';
$t[] = '</tr>';
if ($pR) { $oPr[] =
$pP->printLineColumns(array(PhocacartLanguage::renderTitle($v->title,
$v->title_lang, array(0 => array($v->title_lang_suffix, '
'), 1 => array($v->title_lang_suffix2, ' '))),
$amount)); }
} else {
$t[] = '<tr '.$totalF.'>';
$t[] = '<td
colspan="'.$tColspanLeft.'"></td>';
$t[] = '<td
colspan="'.$tColspanMid.'">'.PhocacartLanguage::renderTitle($v->title,
$v->title_lang, array(0 => array($v->title_lang_suffix, ' -
'), 1 => array($v->title_lang_suffix2, '
'))).'</td>';
$t[] = '<td style="text-align:right"
colspan="'.$tColspanRight.'">'.$d['price']->getPriceFormat($v->amount).'</td>';
$t[] = '</tr>';
if ($pR) { $oPr[] =
$pP->printLineColumns(array(PhocacartLanguage::renderTitle($v->title,
$v->title_lang, array(0 => array($v->title_lang_suffix, ' -
'), 1 => array($v->title_lang_suffix2, ' '))),
$d['price']->getPriceFormat($v->amount))); }
}
}
}
if ($d['type'] != 3) {
$o[] = implode("\n", $t);
}
if ($tax_calculation > 0 || $d['type'] == 3) {
$o[] = '<tr><td
colspan="12"> </td></tr>';
} else {
$o[] = '<tr><td
colspan="9"> </td></tr>';
}
// -----------
// TO PAY
// -----------
if ($toPay != '') {
$o[] = '<tr class="ph-idnr-to-pay-box">';
$o[] = '<td
colspan="'.$tColspanLeft.'"> </td>';
$o[] = '<td colspan="'.$tColspanMid.'"
'.$toPayS.'><b>'.JText::_('COM_PHOCACART_TO_PAY').'</b></td>';
$o[] = '<td colspan="'.$tColspanRight.'"
'.$toPaySV.'><b>'.$toPay.'</b></td>';
$o[] = '</tr>';
}
$o[] = '</table>';// End box in
// -----------------------
// INVOICE MIDDLE DESCRIPTION
// -----------------------
if ($d['type'] == 2) {
$invoiceMiddleDescArticle = '';
if ($d['common']->invoice_spec_middle_desc != '') {
$invoiceMiddleDescArticle =
$d['common']->invoice_spec_middle_desc;
} else if ((int)$invoice_global_middle_desc > 0) {
$invoiceMiddleDescArticle =
PhocacartRenderFront::renderArticle((int)$invoice_global_middle_desc);
}
if ($invoiceMiddleDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$invoiceMiddleDescArticle =
PhocacartPdf::skipStartAndLastTag($invoiceMiddleDescArticle,
'p');
$invoiceMiddleDescArticle =
PhocacartText::completeText($invoiceMiddleDescArticle,
$d['preparereplace'], 1);
//$invoiceMiddleDescArticle =
PhocacartText::completeTextFormFields($invoiceMiddleDescArticle,
$d['bas']['b'], 1);
//$invoiceMiddleDescArticle =
PhocacartText::completeTextFormFields($invoiceMiddleDescArticle,
$d['bas']['s'], 2);
$invoiceMiddleDescArticle =
PhocacartText::completeTextFormFields($invoiceMiddleDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$invoiceMiddleDescArticle.'</td></tr></table>';
}
} else if ($d['type'] == 1) {
$orderMiddleDescArticle =
PhocacartRenderFront::renderArticle((int)$order_global_middle_desc);
if ($orderMiddleDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$orderMiddleDescArticle =
PhocacartPdf::skipStartAndLastTag($orderMiddleDescArticle, 'p');
$orderMiddleDescArticle =
PhocacartText::completeText($orderMiddleDescArticle,
$d['preparereplace'], 1);
//$orderMiddleDescArticle =
PhocacartText::completeTextFormFields($orderMiddleDescArticle,
$d['bas']['b'], 1);
//$orderMiddleDescArticle =
PhocacartText::completeTextFormFields($orderMiddleDescArticle,
$d['bas']['s'], 2);
$orderMiddleDescArticle =
PhocacartText::completeTextFormFields($orderMiddleDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$orderMiddleDescArticle.'</td></tr></table>';
}
} else if ($d['type'] == 3) {
$dnMiddleDescArticle =
PhocacartRenderFront::renderArticle((int)$dn_global_middle_desc);
if ($dnMiddleDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$dnMiddleDescArticle =
PhocacartPdf::skipStartAndLastTag($dnMiddleDescArticle, 'p');
$dnMiddleDescArticle = PhocacartText::completeText($dnMiddleDescArticle,
$d['preparereplace'], 1);
$dnMiddleDescArticle =
PhocacartText::completeTextFormFields($dnMiddleDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$dnMiddleDescArticle.'</td></tr></table>';
}
}
// -----------------------
// INVOICE QR CODE, STAMP IMAGE
// -----------------------
if ($d['format'] == 'pdf' &&
$d['type'] == 2 && ($d['qrcode'] !=
'' || $pdf_invoice_signature_image != '')) {
$o[] =
'<div> </div><div> </div>';
$o[] = '<table>';// End box in
$o[] = '<tr><td>';
if ($pdf_invoice_qr_information != '') {
$o[] = '<span
'.$bQrInfo.'>'.$pdf_invoice_qr_information .
'</span><br />';
}
if ($d['qrcode'] != '') {
$o[] =
'{phocapdfqrcode|'.urlencode($d['qrcode']).'}';
}
$o[] = '</td><td>';
if ($pdf_invoice_signature_image != '') {
$o[] = '<img
src="'.JURI::root().''.$pdf_invoice_signature_image.'"
style="width:80"/>';
}
$o[] = '</td></tr>';
$o[] = '</table>';
}
// -----------------------
// TAX RECAPITULATION
// -----------------------
if (($display_tax_recapitulation_invoice == 1 &&
$d['type'] == 2 ) || ($display_tax_recapitulation_pos == 1
&& $d['type'] == 4 )) {
if (!empty($d['taxrecapitulation'])) {
$o[] =
'<h3>'.JText::_('COM_PHOCACART_TAX_RECAPITULATION').'</h3>';
if ($pR) {
$oPr[] =
$pP->printLine(array(JText::_('COM_PHOCACART_TAX_RECAPITULATION')),
'pLeft');
}
$o[] = '<table '.$taxRecTable.'>';
$o[] = '<tr>';
$o[] = '<th
'.$taxRecTd.'>'.JText::_('COM_PHOCACART_TITLE').'</th>';
$o[] = '<th
'.$taxRecTd.'>'.JText::_('COM_PHOCACART_TAX_BASIS').'</th>';
$o[] = '<th
'.$taxRecTd.'>'.JText::_('COM_PHOCACART_TAX').'</th>';
$o[] = '<th
'.$taxRecTd.'>'.JText::_('COM_PHOCACART_TOTAL').'</th>';
//$o[] =
'<th>'.JText::_('COM_PHOCACART_TOTAL').'
'.JText::_('COM_PHOCACART_CURRENCY').'</td>';
$o[] = '</tr>';
foreach($d['taxrecapitulation'] as $k => $v) {
if (isset($v->amount_brutto_currency) &&
$v->amount_brutto_currency > 0) {
$amountBrutto = $v->amount_brutto_currency;
$amountBruttoFormat =
$d['price']->getPriceFormat($v->amount_brutto_currency, 0,
1);
} else {
$amountBrutto = $v->amount_brutto;
$amountBruttoFormat =
$d['price']->getPriceFormat($v->amount_brutto);
}
$amountNettoFormat = $v->amount_netto > 0 ?
$d['price']->getPriceFormat($v->amount_netto) :
'';
$amountTaxFormat = $v->amount_tax > 0 ?
$d['price']->getPriceFormat($v->amount_tax) : '';
$title = $v->title;
/* if ($v->type == 'trcrounding') {
// In administration edit: Rounding (Incl. Tax Recapitulation Rounding)
// In documents (invoice): Rouning
// Skip "(Incl. Tax Recapitulation Rounding)" in documents
$title = JText::_('COM_PHOCACART_ROUNDING');
}*/
if ($v->type == 'brutto') {
$amountBruttoFormat = '<span
class="ph-b">'.$amountBruttoFormat.'</span>';
$amountNettoFormat = '';
$amountTaxFormat = '';
}
if ($v->type == 'rounding') {
// Don't display rounding here, only trcrounding (calculation
rounding + tax recapitulation rounding)
} else if ($amountBrutto > 0 || $amountBrutto < 0) {
$o[] = '<tr>';
$o[] = '<td
'.$taxRecTd.'>'.$title.'</td>';
$o[] = '<td
'.$taxRecTdRight.'>'.$amountNettoFormat.'</td>';
$o[] = '<td
'.$taxRecTdRight.'>'.$amountTaxFormat.'</td>';
$o[] = '<td
'.$taxRecTdRight.'>'.$amountBruttoFormat.'</td>';
$o[] = '</tr>';
}
// POS Receipt - only tax information
if ($pR && $v->type == 'tax') {
$oPr[] = $pP->printLineColumns(array($title,
$d['price']->getPriceFormat($v->amount_tax)));
}
}
$o[] = '</table>';
if ($pR) {
$oPr[] = $pP->printFeed(1);
}
}
/*$orderCalc = new PhocacartOrderCalculation();
$calcItems = array();
$calcItems[0] = $d['common'];
$orderCalc->calculateOrderItems($calcItems);
$calcTotal = $orderCalc->getTotal();
$taxes = PhocacartTax::getAllTaxes();
if (!empty($calcTotal)) {
foreach ($calcTotal as $k => $v) {
if (!empty($v)) {
$d['price']->setCurrency($k);
if ($pR) {
$oPr[] =
$pP->printLine(array(JText::_('COM_PHOCACART_TAX_RECAPITULATION')),
'pLeft');
}
if (!empty($v['tax'])) {
$o[] = '<table '.$taxRecTable.'>';
$o[] = '<tr><th
colspan="2">'.JText::_('COM_PHOCACART_TAX_RECAPITULATION').'</th></tr>';
foreach($v['tax'] as $kT => $vT) {
$calcTitle = isset($taxes[$kT]['title']) ?
$taxes[$kT]['title'] : '';
$o[] = '<tr><td
'.$taxRecTd.'>'.$calcTitle.'</td>';
$o[] = '<td
'.$taxRecTd.'>'.$d['price']->getPriceFormat($vT,0,1)
. '</td></tr>';
if ($pR) {
$oPr[] = $pP->printLineColumns(array($calcTitle,
$d['price']->getPriceFormat($vT,0,1)));
}
}
$o[] = '</table>';
if ($pR) {
$oPr[] = $pP->printFeed(1);
}
}
}
}
}*/
}
// -----------------------
// POINTS RECEIVED
// -----------------------
if (($display_reward_points_invoice == 1 && $d['type'] ==
2 ) || ($display_reward_points_pos == 1 && $d['type'] ==
4 )) {
if ((int)$d['common']->user_id > 0 &&
(int)$d['common']->id > 0) {
$pointsUser =
PhocacartReward::getTotalPointsByUserIdExceptCurrentOrder($d['common']->user_id,
$d['common']->id);
$pointsOrder =
PhocacartReward::getTotalPointsByOrderId($d['common']->id);
$o[] =
'<div>'.JText::_('COM_PHOCACART_YOUR_CURRENT_REWARD_POINTS_BALANCE').':
'.$pointsUser.'</div>';
$o[] =
'<div>'.JText::_('COM_PHOCACART_POINTS_RECEIVED_FOR_THIS_PURCHASE').':
'.$pointsOrder.'</div>';
if ($pR) {
$oPr[] =
$pP->printLineColumns(array(JText::_('COM_PHOCACART_YOUR_CURRENT_REWARD_POINTS_BALANCE').':
', $pointsUser));
$oPr[] =
$pP->printLineColumns(array(JText::_('COM_PHOCACART_POINTS_RECEIVED_FOR_THIS_PURCHASE').
': ', $pointsOrder));
$oPr[] = $pP->printFeed(1);
}
}
}
// -----------------------
// INVOICE BOTTOM DESCRIPTION
// -----------------------
if ($d['type'] == 2) {
$invoiceBottomDescArticle = '';
if ($d['common']->invoice_spec_bottom_desc != '') {
$invoiceBottomDescArticle =
$d['common']->invoice_spec_bottom_desc;
} else if ((int)$invoice_global_bottom_desc > 0) {
$invoiceBottomDescArticle =
PhocacartRenderFront::renderArticle((int)$invoice_global_bottom_desc);
}
if ($invoiceBottomDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$invoiceBottomDescArticle =
PhocacartPdf::skipStartAndLastTag($invoiceBottomDescArticle,
'p');
$invoiceBottomDescArticle =
PhocacartText::completeText($invoiceBottomDescArticle,
$d['preparereplace'], 1);
//$invoiceBottomDescArticle =
PhocacartText::completeTextFormFields($invoiceBottomDescArticle,
$d['bas']['b'], 1);
//$invoiceBottomDescArticle =
PhocacartText::completeTextFormFields($invoiceBottomDescArticle,
$d['bas']['s'], 2);
$invoiceBottomDescArticle =
PhocacartText::completeTextFormFields($invoiceBottomDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$invoiceBottomDescArticle.'</td></tr></table>';
}
} else if ($d['type'] == 1) {
$orderBottomDescArticle =
PhocacartRenderFront::renderArticle((int)$order_global_bottom_desc);
if ($orderBottomDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$orderBottomDescArticle =
PhocacartPdf::skipStartAndLastTag($orderBottomDescArticle, 'p');
$orderBottomDescArticle =
PhocacartText::completeText($orderBottomDescArticle,
$d['preparereplace'], 1);
//$orderBottomDescArticle =
PhocacartText::completeTextFormFields($orderBottomDescArticle,
$d['bas']['b'], 1);
//$orderBottomDescArticle =
PhocacartText::completeTextFormFields($orderBottomDescArticle,
$d['bas']['s'], 2);
$orderBottomDescArticle =
PhocacartText::completeTextFormFields($orderBottomDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$orderBottomDescArticle.'</td></tr></table>';
}
} else if ($d['type'] == 3) {
$dnBottomDescArticle =
PhocacartRenderFront::renderArticle((int)$dn_global_bottom_desc);
if ($dnBottomDescArticle != '') {
$o[] = '<div
'.$hrSmall.'> </div>';
$dnBottomDescArticle =
PhocacartPdf::skipStartAndLastTag($dnBottomDescArticle, 'p');
$dnBottomDescArticle = PhocacartText::completeText($dnBottomDescArticle,
$d['preparereplace'], 1);
$dnBottomDescArticle =
PhocacartText::completeTextFormFields($dnBottomDescArticle,
$d['bas']['b'], $d['bas']['s']);
$o[] = '<table
'.$bDesc.'><tr><td>'.$dnBottomDescArticle.'</td></tr></table>';
}
}
$o[] = '</div>';// End box
// POS FOOTER
if ($pR) {
if (isset($d['common']->amount_tendered) &&
$d['common']->amount_tendered > 0 &&
isset($d['common']->amount_change) &&
($d['common']->amount_change > 0 ||
$d['common']->amount_change == 0)) {
//$oPr[] =
$pP->printLine(array(JText::_('COM_PHOCACART_RECEIPT_AMOUNT_TENDERED').':
'.$d['price']->getPriceFormat($d['common']->amount_tendered)),
'pLeft');
//$oPr[] =
$pP->printLine(array(JText::_('COM_PHOCACART_RECEIPT_AMOUNT_CHANGED').':
'.$d['price']->getPriceFormat($d['common']->amount_change)),
'pLeft');
$oPr[] =
$pP->printLineColumns(array(JText::_('COM_PHOCACART_RECEIPT_AMOUNT_TENDERED').':
',
$d['price']->getPriceFormat($d['common']->amount_tendered)));
$oPr[] =
$pP->printLineColumns(array(JText::_('COM_PHOCACART_RECEIPT_AMOUNT_CHANGED').':
',
$d['price']->getPriceFormat($d['common']->amount_change)));
$oPr[] = $pP->printFeed(1);
}
$oPr[] =
$pP->printLine(array(JText::_('COM_PHOCACART_RECEIPT_NR').':
'.PhocacartOrder::getReceiptNumber($d['common']->id,
$d['common']->date,
$d['common']->receipt_number)), 'pLeft');
$oPr[] =
$pP->printLine(array(JText::_('COM_PHOCACART_PURCHASE_DATE').':
'.JHtml::date($d['common']->date,
'DATE_FORMAT_LC6')), 'pLeft');
$oPr[] = $pP->printFeed(1);
$storeInfoFooterPos = array();
if ($store_info_footer_pos != '') {
$store_info_footer_pos =
PhocacartText::completeText($store_info_footer_pos,
$d['preparereplace'], 1);
$storeInfoFooterPos = explode("\n",
strip_tags($store_info_footer_pos));
}
$oPr[] = $pP->printLine($storeInfoFooterPos, 'pCenter');
}
JPluginHelper::importPlugin( 'system' );
JPluginHelper::importPlugin('plgSystemMultilanguagesck');
if ($pR) {
//$oPr2 = implode("\n", $oPr);
$oPr2 = implode("", $oPr);// new rows set in print library
\JFactory::getApplication()->triggerEvent('onChangeText',
array(&$oPr2));
echo $oPr2;
} else {
$o2 = implode("\n", $o);
\JFactory::getApplication()->triggerEvent('onChangeText',
array(&$o2));
echo $o2;
}
?>