Files
crm.e5.pl/modules/templates/EcmSales/e5/confirm_subheader.php
2024-04-27 09:23:34 +02:00

670 lines
19 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
global $db;
$mod_strings['LBL_PDF_FOOTER_DOCUMENT_NAME'] = 'Potwierdzenie zamówienia';
$pdf->focus = $this;
$pdf->Ln(2);
$pdf->SetY($pdf->GetY() + 2);
$current = $pdf->GetY();
$pdf->SetFont('arialpl', '', 9);
//$p_name = html_entity_decode($this->parent_name);
//$p_name = explode(' ', $p_name);
//
//$name = array();
//
//if (sizeof($p_name) > 4) {
// for ($i = 0; $i < sizeof($p_name); $i++) {
// $n.=$p_name[$i] . ' ';
// //$pdf->Cell(40,5, $n,0,1,'L');
// if (($i % 5 == 0) && ($i != 0)) {
// $name[] = $n;
// $n = '';
// }
// }
// $name[] = $n;
//}
//
//if ($this->parent_name) {
// if (sizeof($p_name) > 4)
// foreach ($name as $n)
// $pdf->Cell(40, 5, $n, 0, 1, 'L');
// else
// $pdf->Cell(40, 5, html_entity_decode($this->parent_name), 0, 1, 'L');
//}
$pdf->MultiCell(100, 5, html_entity_decode($this->parent_name), 0, 1, 'L');
//$pdf->SetFont('arialpl', '', 10);
if ($this->parent_address_street)
$pdf->Cell(20, 5, html_entity_decode($this->parent_address_street), 0, 1, 'L');
if (($this->parent_address_postalcode) || ($this->parent_address_city))
$pdf->Cell(20, 5, html_entity_decode($this->parent_address_postalcode) . ' ' . html_entity_decode($this->parent_address_city), 0, 1, 'L');
if ($this->to_vatid)
$pdf->Cell(20, 5, $mod_strings['LBL_PDF_VATID'] . ' ' . html_entity_decode($this->to_vatid), 0, 1, 'L');
$title = '';
if ($this->parent_contact_title) {
$title.=$this->parent_contact_title . ' ';
}
if ($this->parent_contact_name) {
$pdf->SetFont('arialpl', 'b', 10);
$pdf->Cell(20, 5, $title . $this->parent_contact_name, 0, 1, 'L');
$pdf->SetFont('arialpl', 'b', 10);
}
if ($this->parent_shipping_address_name || $this->parent_shipping_address_street) {
$x = $pdf->getX();
$y = $pdf->getY();
$pdf->setY($current);
$pdf->setX(100);
$pdf->Cell(100, 5, $mod_strings['LBL_PDF_DELIVERY_TO'], 0, 1, 'L');
$pdf->setX(100);
$pdf->MultiCell(100, 5, html_entity_decode($this->parent_shipping_address_name), 0, 1, 'L');
$pdf->setX(100);
if ($this->parent_shipping_address_street)
$pdf->Cell(100, 5, html_entity_decode($this->parent_shipping_address_street), 0, 1, 'L');
$pdf->setX(100);
if (($this->parent_shipping_address_postalcode) || ($this->parent_shipping_address_city))
$pdf->Cell(20, 5, html_entity_decode($this->parent_address_postalcode) . ' ' . html_entity_decode($this->parent_address_city), 0, 1, 'L');
$pdf->setY($y);
$pdf->setX($x);
}
//if ($this->name) {
// $pdf->Cell(20, 5, '', 0, 1, 'L');
// $pdf->SetFont('arialpl', 'b', 10);
// $pdf->Cell(20, 5, $mod_strings['LBL_PDF_NAME'], 0, 1, 'L');
// $pdf->SetFont('arialpl', '', 10);
// $pdf->Cell(20, 5, html_entity_decode($this->name), 0, 1, 'L');
//}
$pdf->SetFont('arialpl', '', 10);
$pdf->Ln(2);
//$current = $pdf->GetY();
//$pdf->MultiCell(120,4,$address,0,'L');
//$pdf->SetFont('arialpl','B','10');
//$pdf->MultiCell(0,4,$address_cnt,0,'L');
if ($this->parent_type = "Contacts")
$pdf->Ln(14);
$current2 = $pdf->GetY();
$pdf->SetFont('arialpl', '', '10');
$subFontSizeold = $pdf->FontSizePt;
$pdf->SetFontSize($subFontSize);
//// reposition y
//$subOffset = ((($subFontSize - $subFontSizeold) / $pdf->k) * 0.3) + ($subOffset / $pdf->k);
//$subX = $pdf->x;
//$subY = $pdf->y;
//$pdf->SetXY($subX, $subY - $subOffset);
//
////Output text
//$pdf->Write(5, 'test', '');
//
//// restore y position
//$subX = $pdf->x;
//$subY = $pdf->y;
//$pdf->SetXY($subX, $subY + $subOffset);
//
//// restore font size
//$pdf->SetFontSize($subFontSizeold);
//$pdf->Ln(7);
$pdf->SetXY($pdf->fw - $pdf->rMargin - 37, $current);
$table = array();
$table[0]['data'] = array(
'width' => 30,
'value' => $mod_strings['LBL_PDF_DATE_REGISTER'],
'border' => 0,
'overflow' => 1,
'align' => 'L',
'font-style' => 'b',
'font-size' => 9,
);
$table[1]['data'] = array(
'width' => 30,
'value' => date("d.m.Y"),
'border' => 0,
'overflow' => 1,
'align' => 'L',
);
$table[2]['data'] = array(
'width' => 30,
'value' => "",
'border' => 0,
'overflow' => 1,
'align' => 'L',
);
$r_created_by = $GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select first_name, last_name from users where id='" . $this->modified_user_id . "'"));
$table[4]['data'] = array(
'width' => 30,
'value' => $mod_strings['LBL_PDF_OWNER'],
'border' => 0,
'overflow' => 1,
'align' => 'L',
'font-style' => 'b',
'font-size' => 9,
);
$table[4]['data'] = array(
'width' => 30,
'value' => $mod_strings['LBL_PDF_OWNER'],
'border' => 0,
'overflow' => 1,
'align' => 'L',
'font-style' => 'b',
'font-size' => 9,
);
$table[5]['data'] = array(
'width' => 30,
'value' => $r_created_by['first_name'] . " " . $r_created_by['last_name'],
'border' => 0,
'overflow' => 1,
'align' => 'L',
);
$table[6]['data'] = array(
'width' => 30,
'value' => $mod_strings['LBL_PDF_ASSIGNED_TO'],
'border' => 0,
'overflow' => 1,
'align' => 'L',
'font-style' => 'b',
'font-size' => 9,
);
$tmp = '';
$tmp .= $this->setUser()->full_name . PHP_EOL;
$tmp .= 'tel.: ' . $this->setUser()->phone_work . PHP_EOL;
$tmp .= 'kom.: ' . $this->setUser()->phone_mobile . PHP_EOL;
$tmp .= 'e-mail: ' . $this->setUser()->email1;
$table[7]['data'] = array(
'width' => 30,
'value' => $tmp,
'border' => 0,
'overflow' => 1,
'align' => 'L',
);
$pdf->DrawTable($table, null, 0, 0, 3);
$pdf->SetY($current2 - 10);
$pdf->Ln(2);
$pdf->SetFont('arialpl', '', '14');
$pdf->MultiCell(0, 0, $mod_strings['LBL_PDF_CONFIRM'] . " " . $this->document_no, 0, 'L');
$pdf->SetFont('arialpl', '', '9');
$pdf->Ln(7);
$table = array();
$table[0][0] = array(
'width' => 30,
'value' => $mod_strings['LBL_PDF_PARENT_DOCUMENT_NO'],
'background' => array(255, 255, 255),
'border' => 0,
'overflow' => '1',
'align' => 'L',
);
$table[0][1] = array(
'width' => 80,
'value' => $this->parent_document_no,
'background' => array(255, 255, 255),
'border' => 0,
'overflow' => '1',
'align' => 'L',
);
$pdf->DrawTable($table);
//$pdf->MultiCell(0,0,'Szablon dokumentu jest aktualnie przebudowywany.',0,'L');
//$pdf->SetY($current2 + 5);
//$pdf->MultiCell(0,0,'Spróbuj za 30 min.',0,'L');
$this->loadParser();
$this->header_text = $this->template->mfp->parseText($this->header_text);
$this->footer_text = $this->template->mfp->parseText($this->footer_text);
$this->ads_text = $this->template->mfp->parseText($this->ads_text);
//header text
if ($this->header_text) {
$pdf->Ln(4);
$pdf->SetFont('arialpl', '', '10');
$pdf->MultiCell(0, 4, $this->header_text, 0, 'J');
}
$pdf->Ln(4);
//**************************************************
global $mod_strings;
$currency = new Currency();
$currency->retrieve($this->currency_id);
$this->currency_symbol = $currency->iso4217;
if (!isset($this->position_list) || !is_array($this->position_list)) {
$this->position_list = $this->getPositionList(true);
}
//echo '<pre>' . var_export($this->currency_id, true) . '</pre>'; exit;
// $calc = $this->calculate_currency($this->position_list, $this->currency_symbol, null);
$calc = $this->calculate_currency($this->position_list, $this->currency_id, $this->currency_value);
//$this->position_list = $this->formatPositions($this->position_list, $this->currency_id, $this->currency_value);
//$this->position_list = $this->getPositionList(true);
//$calc['total'] .= ' ' . $this->currency_symbol;
//$calc['subtotal'] .= ' ' . $this->currency_symbol;
//if ($calc['discount']) {
// $calc['total2'] .= ' ' . $this->currency_symbol;
// $calc['discount']['value'] .= ' ' . $this->currency_symbol;
//}
//
//if (isset($calc['vats']) && is_array($calc['vats']) && count($calc['vats']) > 0)
// foreach ($calc['vats'] as $key => $value)
// $calc['vats'][$key] .= ' ' . $this->currency_symbol;
$widths = array(
'position' => 5,
'description' => 64,
'quantity' => 8,
'unit_price' => 15,
'discount' => 7,
'total' => 15,
//
'fix' => 73 - 8 +4,
'subtotal1' => 15 + 8, // 66
'subtotal2' => 15, // 34
);
//$calc['draw_discount'] = false;
//echo '<pre>' . var_export($calc, true); exit;
$image_w = 10;
$recipient_code_w = 10;
if ($this->show_images_on_offers) {
$widths['description'] -= $image_w;
}
if ($this->show_recipient_code) {
$widths['description'] -= $recipient_code_w;
}
/*
if ($calc['draw_discount']) {
$widths['description'] -= 8;
}
if ($calc['draw_vat']) {
$widths['description'] -= 8;
}
*/
//jest rabat?
$rabat = false;
foreach ($this->position_list as $p) {
if ($p['discount'] != 0)
$rabat = true;
}
if($rabat) {
$widths['description'] -= $widths['discount'];
$widths['fix'] -= $widths['discount'];
$widths['subtotal2'] += $widths['discount'];
}
if ($this->total_netto != '')
$widths['description'] +=35;
$table = array();
$table[0]['position'] = array(
'width' => $widths['position'],
'value' => $mod_strings['LBL_PDF_LIST_POSITION'],
'background' => array(233, 233, 233),
'border' => 1,
'overflow' => 1,
'align' => 'C',
);
$table[0]['description'] = array(
'width' => $widths['description'],
'value' => $mod_strings['LBL_PDF_LIST_DESCRIPTION'],
'background' => array(233, 233, 233),
'border' => 1,
'overflow' => 1,
'align' => 'C',
);
$table[0]['quantity'] = array(
'width' => $widths['quantity'],
'value' => $mod_strings['LBL_PDF_LIST_QUANTITY'],
'background' => array(233, 233, 233),
'border' => 1,
'overflow' => 1,
'align' => 'C',
);
if ($this->total_netto == '') {
$table[0]['unit_price'] = array(
'width' => $widths['unit_price'],
'value' => $mod_strings['LBL_PDF_LIST_PRICE'],
'background' => array(233, 233, 233),
'border' => 1,
'overflow' => 1,
'align' => 'C',
);
if ($rabat == true) {
$table[0]['discount'] = array(
'width' => $widths['discount'],
'value' => 'Rabat (%)', $mod_strings['LBL_PDF_LIST_DISCOUNT'],
'background' => array(233, 233, 233),
'border' => 1,
'overflow' => 1,
'align' => 'C',
);
}
$table[0]['total'] = array(
'width' => $widths['total'],
'value' => $mod_strings['LBL_PDF_LIST_TOTAL'],
'background' => array(233, 233, 233),
'border' => 1,
'overflow' => 1,
'align' => 'R',
);
}
$i = 1;
$netto_weight = $brutto_weight = 0;
$lv = return_app_list_strings_language($this->ecmlanguage);
if ($this->position_list != '') {
//$p = array_pop($this->position_list);
//$this->position_list = array_fill(0, 100, $p);
//$result = $db->query("SELECT total_netto from ecmquotes where id=$p['id']");
foreach ($this->position_list as $p) {
//$p['price'] = unformat_number(substr($p['price'], 0, -4));
//$p['total'] = unformat_number(substr($p['total'], 0, -4));
//echo '<pre>' . var_export($p, true); exit;
$table[$i]['position'] = array(
'width' => $widths['position'],
'value' => $i,
'border' => 1,
'align' => 'C',
);
$name = str_replace('', '-', htmlspecialchars_decode($p['name']));
$table[$i]['description'] = array(
'width' => $widths['description'],
'value' => $name,
'border' => 1,
'align' => 'L',
);
$netto_weight += $p['netto_weight'];
//$brutto_weight += $p['brutto_weight'];
$brutto_weight += ($p['quantity'] * $p['netto_weight']);
$table[$i]['quantity'] = array(
'width' => $widths['quantity'],
'value' => format_number($p['quantity']),
'border' => 1,
'align' => 'C',
);
$price_total = $p['price'] * $p['quantity'];
$discount = ((100 * $p['price']) / (100 - $p['discount']));
//echo '<pre>' . var_export($price_total, true);
//echo '<pre>' . var_export($discount, true);
//exit;
if ($this->total_netto == '') {
$table[$i]['unit_price'] = array(
'width' => $widths['unit_price'],
// 'value' => format_number($p['price']). ' ' . $this->currency_symbol,
'value' => format_number($p['price']). ' ' . $p['currency_name'],
'border' => 1,
'align' => 'R',
);
if ($rabat == true) {
if ($p['discount'] == 0) {
$tmp = '---';
} else {
$tmp = format_number($p['discount']) . '%';
}
$table[$i]['discount'] = array(
'width' => $widths['discount'],
'value' => $tmp,
'border' => 1,
'align' => 'C',
);
}
$table[$i]['total'] = array(
'width' => $widths['total'],
// 'value' => format_number($p['total']) . ' '. $this->currency_symbol,
'value' => format_number($p['total']) . ' '. $p['currency_name'],
'border' => 1,
'align' => 'R',
);
}
$tmp_sep = ereg_replace('[^0-9.,]', '', $p['total']);
$len = strlen($tmp_sep);
$separator = substr($tmp_sep, $len - 3, 1);
if ($separator == '.') {
$tmp = (float) ereg_replace('[^0-9.]', '', $p['total']);
}
if ($separator == ',') {
$tmp = (float) ereg_replace('[^0-9,]', '', $p['total']);
}
if ($p['currency_id'] == 'PLN') {
if (isset($total_price_pln)) {
$total_price_pln += $tmp;
} else {
$total_price_pln = $tmp;
}
}
if ($p['currency_id'] == '6336d9a0-ee5f-52e3-7d0c-4e6f1472b2bf') {
if (isset($total_price_eur)) {
$total_price_eur+= $tmp;
} else {
$total_price_eur = $tmp;
}
}
$i++;
}
}
$starttab = $pdf->GetY() + 10;
$pdf->DrawTable($table, array(0));
$endtab = $pdf->GetY();
$pdf->SetY($endtab);
//mz
$table = array();
//echo '<pre>'. var_export($calc, true); exit;
//EURO
if ($calc['vats']) {
$table[] = array(
'fix' => array(
'width' => $widths['fix'],
'value' => '',
'border' => 0,
'overflow' => 1,
'align' => 'C',
'font-style' => 'b',
'font-size' => 7,
),
'subtotal1' => array(
'width' => $widths['subtotal1'],
'value' => $mod_strings['LBL_PDF_TOTAL'],
'background' => array(255, 255, 255),
'border' => 1,
'overflow' => 1,
'align' => 'L',
'font-size' => 9,
),
'subtotal2' => array(
'width' => $widths['subtotal2'],
// 'value' => format_number($calc['subtotal']) . ' ' . $calc['currency_symbol'],
'value' => format_number($calc['subtotal']) . ' ' . $this->currency_symbol,
//'value' => 'test',
'border' => 1,
'overflow' => 1,
'align' => 'R',
'font-size' => 9,
),
);
foreach ($calc['vats'] as $key => $value) {
$r = mysql_fetch_array(mysql_query("select name from ecmvats where id='" . $key . "'"));
$vvn = $r['name'];
$table[] = array(
'fix' => array(
'width' => $widths['fix'],
'value' => '',
'border' => 0,
'overflow' => 1,
'align' => 'C',
'font-style' => 'b',
'font-size' => 7,
),
'subtotal1' => array(
'width' => $widths['subtotal1'],
'value' => $mod_strings['LBL_PDF_VAT'] . ' (' . $vvn . ')',
'background' => array(255, 255, 255),
'border' => 1,
'overflow' => 1,
'align' => 'L',
'font-size' => 9),
'subtotal2' => array(
'width' => $widths['subtotal2'],
// 'value' => format_number($value) . ' ' . $calc['currency_symbol'],
'value' => format_number($value) . ' ' . $this->currency_symbol,
'border' => 1,
'overflow' => 1,
'align' => 'R',
'font-size' => 9,
),
);
}
}
$table[] = array(
'fix' => array(
'width' => $widths['fix'],
'value' => '',
'border' => 0,
'overflow' => 1,
'align' => 'C',
'font-style' => 'b',
'font-size' => 7,
),
'total1' => array(
'width' => $widths['subtotal1'],
'value' => $mod_strings['LBL_PDF_END_TOTAL'],
'background' => array(233, 233, 233),
'border' => 1,
'overflow' => 1,
'align' => 'L',
'font-size' => 9,
'font-style' => 'b',
),
'total2' => array(
'width' => $widths['subtotal2'],
// 'value' => format_number(unformat_number($calc['total'])) . ' ' . $calc['currency_symbol'],
'value' => format_number(unformat_number($calc['total'])) . ' ' . $this->currency_symbol,
'border' => 1,
'background' => array(233, 233, 233),
'overflow' => 1,
'align' => 'R',
'font-size' => 9,
'font-style' => 'b',
),
);
//echo '<pre>' . var_export($widths['subtotal2'], true); exit;
$pdf->Ln(4);
$pdf->DrawTable($table);
//PLN
//$starttab = $pdf->GetY() + 1;
//$pdf->SetY($starttab);
//
//$table = array();
//if ($calc['vats_pln']) {
// $table[] = array(
// 'subtotal1' => array('width' => 66, 'value' => $mod_strings['LBL_PDF_TOTAL'], 'background' => array(255, 255, 255), 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 9),
// 'subtotal2' => array('width' => 34, 'value' => $calc['subtotal_pln'] . ' PLN', 'border' => 0, 'overflow' => 1, 'align' => 'R', 'font-size' => 9),);
//
// foreach ($calc['vats_pln'] as $key => $value) {
// $r = mysql_fetch_array(mysql_query("select name from ecmvats where id='" . $key . "'"));
// $vvn = $r['name'];
// $table[] = array(
// 'vat1' => array('width' => 66, 'value' => $mod_strings['LBL_PDF_VAT'] . ' (' . $vvn . ')', 'background' => array(255, 255, 255), 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 9),
// 'vat2' => array('width' => 34, 'value' => $value . ' PLN', 'border' => 0, 'overflow' => 1, 'align' => 'R', 'font-size' => 9),);
// }
//}
//
//$table[] = array(
// 'total1' => array('width' => 66, 'value' => $mod_strings['LBL_PDF_END_TOTAL'], 'background' => array(233, 233, 233), 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 9, 'font-style' => 'b'),
// 'total2' => array('width' => 34, 'value' => $calc['subtotal_pln'] . ' PLN', 'border' => 0, 'background' => array(233, 233, 233), 'overflow' => 1, 'align' => 'R', 'font-size' => 9, 'font-style' => 'b'),);
//
//$pdf->DrawTable($table);