芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/public_html/portal.pulsehost.co.uk/templates/six/invoicepdf.tpl
Image(ROOTDIR . '/assets/img/' . $logoFilename, 15, 25, 75); # Invoice Status $pdf->SetXY(0, 0); $pdf->SetFont($pdfFont, 'B', 28); $pdf->SetTextColor(255); $pdf->SetLineWidth(0.75); $pdf->StartTransform(); $pdf->Rotate(-35, 100, 225); if ($status == 'Draft') { $pdf->SetFillColor(200); $pdf->SetDrawColor(140); } elseif ($status == 'Paid') { $pdf->SetFillColor(151, 223, 74); $pdf->SetDrawColor(110, 192, 70); } elseif ($status == 'Cancelled') { $pdf->SetFillColor(200); $pdf->SetDrawColor(140); } elseif ($status == 'Refunded') { $pdf->SetFillColor(131, 182, 218); $pdf->SetDrawColor(91, 136, 182); } elseif ($status == 'Collections') { $pdf->SetFillColor(3, 3, 2); $pdf->SetDrawColor(127); } else { $pdf->SetFillColor(223, 85, 74); $pdf->SetDrawColor(171, 49, 43); } if ($status == 'Payment Pending'){ $pdf->Cell(100, 18, strtoupper(Lang::trans('invoices' . str_replace(' ', '', $status))), 'TB', 0, 'C', '1'); } else { $pdf->Cell(100, 18, strtoupper(Lang::trans('invoices' . strtolower($status))), 'TB', 0, 'C', '1'); } $pdf->StopTransform(); $pdf->SetTextColor(0); # Company Details $pdf->SetXY(15, 42); $pdf->SetFont($pdfFont, '', 13); foreach ($companyaddress as $addressLine) { $pdf->Cell(180, 4, trim($addressLine), 0, 1, 'R'); $pdf->SetFont($pdfFont, '', 9); } if ($taxCode) { $pdf->Cell(180, 4, $taxIdLabel . ': ' . trim($taxCode), 0, 1, 'R'); } $pdf->Ln(5); # Header Bar /** * Invoice header * * You can optionally define a header/footer in a way that is repeated across page breaks. * For more information, see https://go.whmcs.com/2361/pdf-invoices#header-and-footer */ $pdf->SetFont($pdfFont, 'B', 15); $pdf->SetFillColor(239); $pdf->Cell(0, 8, $pagetitle, 0, 1, 'L', '1'); $pdf->SetFont($pdfFont, '', 10); $pdf->Cell(0, 6, Lang::trans('invoicesdatecreated') . ': ' . $datecreated, 0, 1, 'L', '1'); $pdf->Cell(0, 6, Lang::trans('invoicesdatedue') . ': ' . $duedate, 0, 1, 'L', '1'); $pdf->Ln(10); $startpage = $pdf->GetPage(); # Clients Details $addressypos = $pdf->GetY(); $pdf->SetFont($pdfFont, 'B', 10); $pdf->Cell(0, 4, Lang::trans('invoicesinvoicedto'), 0, 1); $pdf->SetFont($pdfFont, '', 9); if ($clientsdetails["companyname"]) { $pdf->Cell(0, 4, $clientsdetails["companyname"], 0, 1, 'L'); $pdf->Cell(0, 4, Lang::trans('invoicesattn') . ': ' . $clientsdetails["firstname"] . ' ' . $clientsdetails["lastname"], 0, 1, 'L'); } else { $pdf->Cell(0, 4, $clientsdetails["firstname"] . " " . $clientsdetails["lastname"], 0, 1, 'L'); } $pdf->Cell(0, 4, $clientsdetails["address1"], 0, 1, 'L'); if ($clientsdetails["address2"]) { $pdf->Cell(0, 4, $clientsdetails["address2"], 0, 1, 'L'); } $pdf->Cell(0, 4, $clientsdetails["city"] . ", " . $clientsdetails["state"] . ", " . $clientsdetails["postcode"], 0, 1, 'L'); $pdf->Cell(0, 4, $clientsdetails["country"], 0, 1, 'L'); if (array_key_exists('tax_id', $clientsdetails) && $clientsdetails['tax_id']) { $pdf->Cell(0, 4, $taxIdLabel . ': ' . $clientsdetails['tax_id'], 0, 1, 'L'); } if ($customfields) { $pdf->Ln(); foreach ($customfields as $customfield) { $pdf->Cell(0, 4, $customfield['fieldname'] . ': ' . $customfield['value'], 0, 1, 'L'); } } $pdf->Ln(10); # Invoice Items $tblhtml = '
' . Lang::trans('invoicesdescription') . '
' . Lang::trans('quotelinetotal') . '
'; foreach ($invoiceitems as $item) { $tblhtml .= '
' . nl2br($item['description']) . '
' . $item['amount'] . '
'; } $tblhtml .= '
' . Lang::trans('invoicessubtotal') . '
' . $subtotal . '
'; if ($taxname) { $tblhtml .= '
' . $taxrate . '% ' . $taxname . '
' . $tax . '
'; } if ($taxname2) { $tblhtml .= '
' . $taxrate2 . '% ' . $taxname2 . '
' . $tax2 . '
'; } $tblhtml .= '
' . Lang::trans('invoicescredit') . '
' . $credit . '
' . Lang::trans('invoicestotal') . '
' . $total . '
'; $pdf->writeHTML($tblhtml, true, false, false, false, ''); $pdf->Ln(5); # Transactions $pdf->SetFont($pdfFont, 'B', 12); $pdf->Cell(0, 4, Lang::trans('invoicestransactions'), 0, 1); $pdf->Ln(5); $pdf->SetFont($pdfFont, '', 9); $tblhtml = '
' . Lang::trans('invoicestransdate') . '
' . Lang::trans('invoicestransgateway') . '
' . Lang::trans('invoicestransid') . '
' . Lang::trans('invoicestransamount') . '
'; if (!count($transactions)) { $tblhtml .= '
' . Lang::trans('invoicestransnonefound') . '
'; } else { foreach ($transactions AS $trans) { $tblhtml .= '
' . $trans['date'] . '
' . $trans['gateway'] . '
' . $trans['transid'] . '
' . $trans['amount'] . '
'; } } $tblhtml .= '
' . Lang::trans('invoicesbalance') . '
' . $balance . '
'; $pdf->writeHTML($tblhtml, true, false, false, false, ''); # Notes if ($notes) { $pdf->Ln(5); $pdf->SetFont($pdfFont, '', 8); $pdf->MultiCell(170, 5, Lang::trans('invoicesnotes') . ': ' . $notes); } # Generation Date $pdf->SetFont($pdfFont, '', 8); $pdf->Ln(5); $pdf->Cell(180, 4, Lang::trans('invoicepdfgenerated') . ' ' . getTodaysDate(1), '', '', 'C'); /** * Invoice footer */