Files
crm.twinpol.com/modules/EcmQuotes/PDFTemplate/content.php
2025-05-12 15:44:39 +00:00

362 lines
9.7 KiB
PHP
Executable File

<?php
$w = "70"; // first column width
$w2 = "15"; // second column width
$addicional='';
$addicional2='';
if($focus->ecmpaymentcondition_name!=''){
$addicional.='<br>Warunki płatności:';
$addicional2='<br><b>'.$focus->ecmpaymentcondition_name.'</b>';
}
if($focus->ecmdeliverycondition_name!=''){
$addicional.='<br>Warunki dostawy:';
$addicional2.='<br><b>'.$focus->ecmdeliverycondition_name.'</b>';
}
if($_REQUEST['pdf_type']==0){
$title=$labels['LBL_PDF_CONTENT_NAME'];
} else {
$title='Dowód naprawy nr ';
}
$content = '<p style="text-align: center;font-size: 12pt;"><b>'.$title.' '.$focus->document_no.'</b></center>
<table style="width: 100%; font-size: 9pt;">
<tr>
<td style="width: ' . $w . '%">
'.($_REQUEST['pdf_type']==0 ? $labels['LBL_PDF_CONTENT_QUOTE_FOR'] : 'Odbiorca:').'
</td>
<td style="width: ' . $w2 . '%">
</td>
<td style="text-align: right">
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
<b>' . $focus->parent_name . '<br>' . $focus->parent_address_street . ',
<br>' . $focus->parent_address_postalcode . '
' . $focus->parent_address_city . '<br>
'.$labels['LBL_PDF_FOOTER_NIP'].' '.$focus->parent_nip.'<br>
'.$focus->contact_name.'</b>
</td>
<td style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_CONTENT_REGISTER_DATE'].'<br>
'.$labels['LBL_PDF_CONTENT_VALIDTILL_DATE'].'<br>
'.$labels['LBL_PDF_CONTENT_ISSUED_BY'].' '.$addicional.'
</td>
<td style="text-align: right">
<b>' . $focus->register_date . '</b><br>
<b>' . $focus->validtill_date . '</b><br>
<b>' . $user->full_name . '</b>'.$addicional2.'
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
</td>
<td style="width: ' . $w2 . '%">
</td>
<td style="text-align: right">
</td>
</tr>
</table><br>
';
if ($focus->name && $focus->name != '') {
$content .= '
<table style="width: 100%; text-align: center">
<tr><td>
<b>' . $focus->name . '</b>
</td></tr>
</table>
';
}
$content .= '<br>';
// start items table
$columns = array ();
$columns ['position'] = array (
'field' => array (
'position'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_POSITION'],
'align' => 'center'
);
if ($_REQUEST['show_img']=='1') {
$columns ['image'] = array (
'field' => array (
'image'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_IMAGE'],
'align' => 'center'
);
}
$columns ['name'] = array (
'field' => array (
'name',
'product_code'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_NAME'].'<br>'.$labels['LBL_PDF_CONTENT_LIST_CODE'],
'align' => 'left'
);
if ($_REQUEST ['show_ean'] == '1' || $_REQUEST ['show_ean2'] == '1' || $_REQUEST ['show_recipient_code'] == '1' || $_REQUEST ['show_remarks'] == '1') {
$columns ['codes'] = array (
'align' => 'center'
);
$columns ['codes'] ['label'] = '';
if ($_REQUEST ['show_ean']) {
$columns ['codes'] ['label'] .= $labels['LBL_PDF_CONTENT_LIST_EAN'].'<br>';
$columns ['codes'] ['field'] [] = 'ean';
}
if ($_REQUEST ['show_ean2']) {
$columns ['codes'] ['label'] .= $labels['LBL_PDF_CONTENT_LIST_EAN2'].'<br>';
$columns ['codes'] ['field'] [] = 'ean2';
}
if ($_REQUEST ['show_recipient_code']) {
$columns ['codes'] ['label'] .= $labels['LBL_PDF_CONTENT_LIST_RECIPIENT_CODE'];
$columns ['codes'] ['field'] [] = 'recipient_code';
}
if ($_REQUEST ['show_remarks']) {
$columns ['codes'] ['label'] .= $labels['LBL_PDF_CONTENT_LIST_REMARKS'];
$columns ['codes'] ['field'] [] = 'remarks';
}
$codes = true;
}
$columns ['qty'] = array (
'field' => array (
'quantity',
'unit_name'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_QTY'].'<br>'.$labels['LBL_PDF_CONTENT_LIST_UNIT'],
'align' => 'right'
);
if (showDiscount ( $record ) == true) {
$columns ['price_start'] = array (
'field' => array (
'price_start'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_PRICE_START'],
'align' => 'right'
);
$columns ['discount'] = array (
'field' => array (
'discount'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_DISCOUNT'],
'align' => 'right'
);
$columns ['price_netto'] = array (
'field' => array (
'price_netto'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_PRICE_NETTO'],
'align' => 'right'
);
$discounts = true;
} else
$columns ['price_netto'] = array (
'field' => array (
'price_netto'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_PRICE_NETTO'],
'align' => 'right'
);
$columns ['total_netto'] = array (
'field' => array (
'total_netto'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_TOTAL_NETTO'],
'align' => 'right'
);
//set widths
$totals = array();
//1: no picture, no codes, no discounts
if ($_REQUEST['show_img']=='0' && $codes==false && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '45';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '20';
$columns['total_netto']['width'] = '20';
}
//2: no picture, codes, no discounts
else if ($_REQUEST['show_img']=='0' && $codes==true && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '40';
$columns['codes']['width'] = '15';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '15';
$columns['total_netto']['width'] = '15';
}
//3: no picture, no codes, discounts
else if ($_REQUEST['show_img']=='0' && $codes==false && $discounts==true) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '40';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '12.5';
$columns['price_start']['width'] = '12.5';
$columns['discount']['width'] = '12.5';
$columns['total_netto']['width'] = '12.5';
}
//4: no picture, codes, discounts
else if ($_REQUEST['show_img']=='0' && $codes==true && $discounts==true) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '30';
$columns['codes']['width'] = '15';
$columns['qty']['width'] = '7';
$columns['price_netto']['width'] = '8';
$columns['price_start']['width'] = '10';
$columns['discount']['width'] = '10';
$columns['total_netto']['width'] = '10';
}
//5: picture, no codes, no discounts
else if ($_REQUEST['show_img']=='1' && $codes==false && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '45';
$columns['image']['width'] = '20';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '10';
$columns['total_netto']['width'] = '10';
}
//6: picture, codes, no discounts
else if ($_REQUEST['show_img']=='1' && $codes==true && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '35';
$columns['codes']['width'] = '15';
$columns['image']['width'] = '15';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '10';
$columns['total_netto']['width'] = '10';
}
//7: pictures, codes, discounts
else if ($_REQUEST['show_img']=='1' && $codes==true && $discounts==true) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '35';
$columns['codes']['width'] = '15';
$columns['image']['width'] = '15';
$columns['qty']['width'] = '10';
$columns['price_start']['width'] = '10';
$columns['discount']['width'] = '10';
$columns['price_netto']['width'] = '10';
$columns['total_netto']['width'] = '10';
}
// rysujemy :)
$content .= '
<table style="width: 100%; font-size: 7pt; border: 0.5 solid black; border-collapse: collapse"><thead>
<tr>
';
foreach ( $columns as $col ) {
$content .= '
<th style="border: 0.5 solid black; background: rgb(233,233,233); width: '.$col['width'].'%;">' . $col ['label'] . '</th>
';
}
$content .= '
</tr></thead><tbody>
';
foreach ( $positions as $pos ) {
$content .= '<tr>';
foreach ( $columns as $col ) {
$content .= '<td style="border: 0.5 solid black; text-align: ' . $col ['align'] . ';">';
foreach ( $col ['field'] as $f ) {
if ($f == 'image') {
if (($pos['image']!="") && (file_exists("modules/EcmProducts/upload/images/".$pos['image'])))
$content.='<img width="40px" src="modules/EcmProducts/upload/images/'.$pos['image'].'"/>';
else
$content.='-';
} else {
if (!$pos[$f] || $pos[$f]=='') $pos[$f]='-';
$content .= $pos [$f] . '<br>';
}
}
$content .= '</td>';
}
$content .= '</tr>';
}
$content .= '
</tbody></table>
';
//summary table
if ($_REQUEST['show_summary']=='1') {
//get currency symbol
$c = new Currency();
$c->retrieve($focus->currency_id);
$symbol = $c->symbol;
unset($c);
$content.='
<br><br>
<table style="font-size: 9pt; border: 0.5 solid black; border-collapse: collapse; width: 215px; margin-left: 70%">
';
$content.='
<tr>
<td style="background: rgb(233,233,233); border: 0.5 solid black; width: 50%;">
'.$labels['LBL_PDF_CONTENT_TOTAL_NETTO'].'
</td>
<td style="border: 0.5 solid black; text-align: right;">
'.format_number($focus->total_netto).' '.$symbol.'
</td>
</tr>
';
if ($focus->no_tax=='0') {
$vats = explode(",", $focus->vats_summary);
foreach ($vats as $v) {
$vats2 = explode(":", $v);
if ($vats2[0]=='') continue;
$content.='
<tr>
<td style="background: rgb(233,233,233); border: 0.5 solid black; width: 50%;">
'.$vats2[0].'
</td>
<td style="border: 0.5 solid black; text-align: right;">
'.format_number($vats2[1]).' '.$symbol.'
</td>
</tr>
';
}
$content.='
<tr>
<td style="background: rgb(233,233,233); border: 0.5 solid black; width: 50%;">
'.$labels['LBL_PDF_CONTENT_TOTAL_BRUTTO'].'
</td>
<td style="border: 0.5 solid black; text-align: right;">
'.format_number($focus->total_brutto).' '.$symbol.'
</td>
</tr>
';
}
//echo $content; die();
}
if($_REQUEST['pdf_type']!=0){
$focus->pdf_text.="<br><b>Adrian Chłopecki, tel: 530-418-638</b>";
}
$focus->pdf_text = str_replace(PHP_EOL, "<br>", $focus->pdf_text);
$content.='
</table>
<br><br>
<p style="font-size: 12;">'.$focus->pdf_text.'</p>
';