266 lines
14 KiB
PHP
Executable File
266 lines
14 KiB
PHP
Executable File
<?
|
|
/*
|
|
$pdf->Ln(10);
|
|
|
|
//$this->SetY($this->tMargin);
|
|
|
|
//from address
|
|
$this->template->setAccount();
|
|
$address = $this->template->account->name;
|
|
if($this->template->account->billing_address_street) $address .= " - ".$this->template->account->billing_address_street;
|
|
if($this->template->account->billing_address_postalcode) $address .= " - ".$this->template->account->billing_address_postalcode;
|
|
|
|
if($this->template->account->billing_address_city) $address .= " ".$this->template->account->billing_address_city;
|
|
|
|
$pdf->SetFont('arialpl', 'u', 8);
|
|
|
|
$pdf->Ln(10);
|
|
|
|
$pdf->MultiCell(0,5,$address,0,'L');
|
|
*/
|
|
$y_tmp = $pdf->GetY();
|
|
$pdf->SetLineWidth(0.5);
|
|
$pdf->SetDrawColor(0,0,0);
|
|
$pdf->Line(10,100,14,100);
|
|
$pdf->SetXY($pdf->bMargin, $y_tmp);
|
|
$pdf->SetLineWidth(0);
|
|
|
|
$pdf->Ln(6);
|
|
if($pdf->page == 1)
|
|
if($pdf->edt->address) {
|
|
$pdf->Ln(9);
|
|
$pdf->SetFont('arialpl', 'u', 8);
|
|
$pdf->SetXY($pdf->lMargin, 55);
|
|
$pdf->MultiCell(0,3.15,$pdf->edt->address,0,'L');
|
|
$pdf->SetXY($pdf->lMargin, 60);
|
|
}
|
|
|
|
//$pdf->Ln(2);
|
|
|
|
|
|
//to address
|
|
|
|
$address = $this->parent_name;
|
|
if($this->parent_contact_name) {
|
|
$address .= "\n".$this->parent_contact_name;
|
|
if($this->parent_contact_title) $address .= "\n".$this->parent_contact_title;
|
|
}
|
|
if($this->parent_address_street) $address .= "\n".$this->parent_address_street;
|
|
if($this->parent_address_postalcode) $address .= "\n".$this->parent_address_postalcode;
|
|
if($this->parent_address_city) $address .= " ".$this->parent_address_city;
|
|
if($this->to_vatid) $address .= "\n\n".$mod_strings['LBL_PDF_VATID']." ".$this->to_vatid;
|
|
|
|
$pdf->SetFont('arialpl', '', 10);
|
|
|
|
//$pdf->Ln(2);
|
|
$current = $pdf->GetY();
|
|
$pdf->MultiCell(0,4,$address,0,'L');
|
|
$current2 = $pdf->GetY();
|
|
|
|
$pdf->SetLineWidth(0.5);
|
|
$pdf->SetDrawColor(192,192,192);
|
|
|
|
$pdf->SetXY($pdf->fw-$pdf->rMargin-40,85);
|
|
$pdf->SetFont('arialpl', 'B', 9);
|
|
$pdf->MultiCell(40,6,$mod_strings['LBL_PDF_NUMBER'],'LTR');
|
|
$pdf->SetXY($pdf->fw-$pdf->rMargin-40, $pdf->GetY()-1);
|
|
$pdf->SetFont('arialpl', '', 9);
|
|
$pdf->MultiCell(40,5,$this->document_no,'LBR');
|
|
|
|
$pdf->SetXY($pdf->fw-$pdf->rMargin-40,$pdf->GetY()+0.4);
|
|
$pdf->SetFont('arialpl', 'B', 9);
|
|
$pdf->MultiCell(40,6,$mod_strings['LBL_PDF_DATE_REGISTER'],'LTR');
|
|
$pdf->SetXY($pdf->fw-$pdf->rMargin-40, $pdf->GetY()-1);
|
|
$pdf->SetFont('arialpl', '', 9);
|
|
$pdf->MultiCell(40,5,$this->register_date,'LBR');
|
|
|
|
$pdf->SetXY($pdf->fw-$pdf->rMargin-40,$pdf->GetY()+0.4);
|
|
$pdf->SetFont('arialpl', 'B', 9);
|
|
$pdf->MultiCell(40,6,$mod_strings['LBL_PDF_OWNER'],'LTR');
|
|
$pdf->SetXY($pdf->fw-$pdf->rMargin-40, $pdf->GetY()-1);
|
|
$pdf->SetFont('arialpl', '', 9);
|
|
$pdf->MultiCell(40,5,$this->setUser()->full_name,'LBR');
|
|
|
|
/*
|
|
$pdf->SetXY($pdf->fw-$pdf->rMargin-40,85);
|
|
$table = array();
|
|
$table [0]['data'] = array('width' => 40, 'value' => $mod_strings['LBL_PDF_NUMBER'], 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 9);
|
|
$table [1]['data'] = array('width' => 40, 'value' => $this->document_no, 'border' => 1, 'overflow' => 1, 'align' => 'L');
|
|
$table [2]['data'] = array('width' => 40, 'value' => $mod_strings['LBL_PDF_DATE_REGISTER'], 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 9);
|
|
$table [3]['data'] = array('width' => 40, 'value' => $this->register_date, 'border' => 1, 'overflow' => 1, 'align' => 'L');
|
|
$table [4]['data'] = array('width' => 40, 'value' => $mod_strings['LBL_PDF_OWNER'], 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 9);
|
|
$table [5]['data'] = array('width' => 40, 'value' => $this->setUser()->full_name, 'border' => 1, 'overflow' => 1, 'align' => 'L');
|
|
$pdf->DrawTable($table, null, 0.5, 0.5, 3.5);
|
|
*/
|
|
//$pdf->SetY($current2);
|
|
|
|
//$pdf->Ln(12);
|
|
|
|
$pdf->SetFont('arialpl','','24');
|
|
$y_tmp = $pdf->GetY();
|
|
$pdf->SetXY($pdf->lMargin, 106);
|
|
if($this->type == "normal")
|
|
$pdf->MultiCell(0,0,$mod_strings['LBL_PDF_DOCUMENT_NAME'],0,'L');
|
|
else if($this->type == "correct") {
|
|
$pdf->MultiCell(0,0,$mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT'],0,'L');
|
|
$this->loadEcmInvoiceOut();
|
|
$this->ecminvoiceout->format_all_fields();
|
|
$pdf->Ln(5);
|
|
$pdf->SetFont('arialpl','','18');
|
|
$pdf->MultiCell(0,3,$mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT_TO'].' '.$this->ecminvoiceout->document_no);
|
|
}
|
|
|
|
|
|
|
|
$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
|
|
|
|
$pdf->SetY($y_tmp);
|
|
$pdf->SetFont('arialpl','','10');
|
|
$pdf->Ln(8);
|
|
|
|
|
|
if(isset($this->header_text) && $this->header_text != '') {
|
|
$pdf->MultiCell(0,4,$this->header_text,0,'J');
|
|
$pdf->Ln(10);
|
|
}
|
|
|
|
|
|
if($this->type == "correct") {
|
|
$pdf->SetFont('arialpl','b','10');
|
|
$pdf->MultiCell(0,4,$mod_strings['LBL_PDF_DOCUMENT_BEFORE_CORRECT']);
|
|
$pdf->Ln(3);
|
|
$this->ecminvoiceout->DrawPositions($pdf);
|
|
$pdf->SetFont('arialpl','b','10');
|
|
$pdf->Ln(4);
|
|
$pdf->MultiCell(0,4,$mod_strings['LBL_PDF_DOCUMENT_AFTER_CORRECT']);
|
|
$pdf->Ln(3);
|
|
}
|
|
|
|
|
|
|
|
$pdf->SetFont('arialpl','','7');
|
|
global $mod_strings;
|
|
if(!isset($this->position_list) || !is_array($this->position_list))
|
|
$this->position_list = $this->getPositionList(true);
|
|
$calc = $this->calculate($this->position_list,true);
|
|
//$this->position_list = $this->formatPositions($this->position_list);
|
|
|
|
$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;
|
|
|
|
$pdf->SetDrawColor(0,0,0);
|
|
$pdf->SetLineWidth(0.35);
|
|
|
|
$name_w = 21;
|
|
//if($calc['draw_discount']) $name_w -= 8;
|
|
//if($calc['draw_vat']) $name_w -= 8;
|
|
$table = array();
|
|
$table [0]['position'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_POSITION'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$table [0]['description'] = array('width' => $name_w, 'value' => $mod_strings['LBL_PDF_LIST_DESCRIPTION'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$table [0]['tax_code'] = array('width' => 8, 'value' => $mod_strings['LBL_PDF_LIST_TAX_CODE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$table [0]['quantity'] = array('width' => 7, 'value' => $mod_strings['LBL_PDF_LIST_QUANTITY'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$table [0]['unit'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_UNIT'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$table [0]['unit_price'] = array('width' => 11, 'value' => $mod_strings['LBL_PDF_LIST_PRICE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$table [0]['unit_price_total'] = array('width' => 11, 'value' => $mod_strings['LBL_PDF_LIST_TOTAL_PRICE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
//if($calc['draw_discount'])
|
|
$table [0]['discount'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_DISCOUNT'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
//if($calc['draw_vat']) {
|
|
$table [0]['vat_id'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_VAT'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$table [0]['vat_value'] = array('width' => 10, 'value' => $mod_strings['LBL_PDF_LIST_VAT_VALUE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
//}
|
|
$table [0]['total'] = array('width' => 12, 'value' => $mod_strings['LBL_PDF_LIST_TOTAL'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7, 'background' => array(226,226,226));
|
|
$pdf->DrawTable($table,array(0));
|
|
$pdf->Ln(0);
|
|
|
|
|
|
$i = 1;
|
|
|
|
$table=array();
|
|
if($this->position_list != '')
|
|
foreach($this->position_list as $p) {
|
|
$table [$i]['position'] = array('width' => 5, 'value' => $i, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
|
$table [$i]['description'] = array('width' => $name_w, 'value' => htmlspecialchars_decode($p['name']), 'border' => 1, 'align' => 'L', 'font-size' => 7 );
|
|
$table [$i]['tax_code'] = array('width' => 8, 'value' => $p['tax_code'],'border' => 1, 'align' => 'C', 'font-size' => 7);
|
|
$table [$i]['quantity'] = array('width' => 7, 'value' => $p['quantity'], 'border' => 1, 'align' => 'C', 'font-size' => 7 );
|
|
$table [$i]['unit'] = array('width' => 5, 'value' => $GLOBALS['app_list_strings']['ecmproducts_unit_dom'][$p['unit']], 'border' => 1, 'align' => 'C', 'font-size' => 7 );
|
|
$table [$i]['unit_price'] = array('width' => 11, 'value' => format_number($p['price']).' PLN', 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
|
|
|
$price_total=($p['price']-($p['price']*$p['discount']/100))*$p['quantity'];
|
|
$table [$i]['unit_price_total'] = array('width' => 11, 'value' => format_number($price_total).' PLN', 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
|
//if($calc['draw_discount'])
|
|
$table [$i]['discount'] = array('width' => 5, 'value' => $p['discount'], 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
|
//if($calc['draw_vat']){
|
|
$table [$i]['vat_id'] = array('width' => 5, 'value' => format_number($p['vat_value']), 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
|
$vat_value=$p['vat_value']/100*$p['price']*$p['quantity'];
|
|
$table [$i]['vat_value'] = array('width' => 10, 'value' => format_number($vat_value).' PLN', 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
|
|
|
//}
|
|
$table [$i]['total'] = array('width' => 12, 'value' => format_number($price_total+$vat_value).' PLN', 'border' => 1, 'align' => 'R', 'font-size' => 7 );
|
|
$totals[$p['vat_id']]['price']+=$price_total;
|
|
$totals[$p['vat_id']]['total']+=$price_total+$vat_value;
|
|
$totals[$p['vat_id']]['vat']+=$vat_value;
|
|
$i++;
|
|
}
|
|
|
|
$pdf->DrawTable($table,array(0));
|
|
//total, vat, subtotal
|
|
|
|
$pdf->Ln(4);
|
|
$pr = ($pdf->fw-$pdf->lMargin-$pdf->rMargin)/100;
|
|
//$pdf->SetX($pdf->fw-$pdf->rMargin-$pr*34);
|
|
$table = array();
|
|
|
|
if($calc['vats']) {
|
|
/*$table [] = array(
|
|
'subtotal1' => array('width' => 42, 'value' => $mod_strings['LBL_PDF_TOTAL'], 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7),
|
|
'subtotal2' => array('width' => 14, 'value' => $calc['subtotal'].' PLN', 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7), );
|
|
*/
|
|
foreach($calc['vats'] as $key => $value){
|
|
$r=mysql_fetch_array(mysql_query("select id,name,value from ecmvats where id='".$key."'"));
|
|
$vvn=$r['name'];
|
|
$table [] = array(
|
|
'vat1' => array('width' => 10, 'value' => $mod_strings['LBL_PDF_VAT'].' ('.$vvn.')', 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7),
|
|
'netto_total' => array('width' => 12, 'value' => format_number($totals[$r['id']]['price']).' PLN', 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
|
|
'vat_rate' => array('width' => 5, 'value' => format_number($r['value']), 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
|
|
'vat_total' => array('width' => 13, 'value' => format_number($totals[$r['id']]['vat']).' PLN', 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
|
|
'vat2' => array('width' => 14, 'value' => format_number($totals[$r['id']]['total']).' PLN', 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7), );
|
|
}
|
|
}
|
|
|
|
if(isset($calc['discount'])) {
|
|
$table [] = array(
|
|
'total21' => array('width' => 66, 'value' => $mod_strings['LBL_PDF_TOTAL'], 'background' => array(255,255,255), 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
|
|
'total22' => array('width' => 34, 'value' => $calc['total2'].' PLN', 'border' => 0, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7), );
|
|
$table [] = array(
|
|
'discount1' => array('width' => 86, 'value' => $mod_strings['LBL_PDF_DISCOUNT'].' '.$calc['discount']['procent'], 'background' => array(255,255,255), 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
|
|
'discount2' => array('width' => 14, 'value' => $calc['discount']['value'].' PLN', 'border' => 0, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7), );
|
|
}
|
|
$table [] = array(
|
|
'total1' => array('width' => 40, 'value' => $mod_strings['LBL_PDF_END_TOTAL'], 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b', 'background' => array(226,226,226)),
|
|
'total2' => array('width' => 14, 'value' => $calc['total'].' PLN', 'border' => 1, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7, 'font-style' => 'b', 'background' => array(226,226,226)),);
|
|
$pdf->SetX(103);
|
|
$pdf->DrawTable($table);
|
|
$pdf->Ln(1);
|
|
|
|
//$table=array();
|
|
|
|
//$pdf->DrawTable($table);
|