Changeset 3435718
- Timestamp:
- 01/09/2026 08:26:24 AM (6 weeks ago)
- Location:
- invoize/trunk/templates/email
- Files:
-
- 2 edited
-
email-footer.php (modified) (1 diff)
-
invoice/invoice-template.php (modified) (40 diffs)
Legend:
- Unmodified
- Added
- Removed
-
invoize/trunk/templates/email/email-footer.php
r3382691 r3435718 16 16 padding: 20px"> 17 17 <div style="color: #64748b;"> 18 This email was sent to <?php echo esc_html($email) ?>by Invoize.18 This email was sent by Invoize. 19 19 </div> 20 20 <div class="plugin-website" style="font-weight: 800;"> -
invoize/trunk/templates/email/invoice/invoice-template.php
r3382691 r3435718 3 3 4 4 use chillerlan\QRCode\QRCode; 5 use Invoize\Classes\Translator; 5 6 use Invoize\Models\Invoice; 6 7 use Invoize\Models\Payment; 7 8 use Invoize\Models\Quotation; 9 use Invoize\Models\Setting; 8 10 9 11 $isQuotation = get_class($record) == Quotation::class; … … 17 19 $notes = $record->getNotes(); 18 20 $previewLink = get_site_url() . ($isQuotation ? '/invoize-quotation/' : '/invoize-preview/') . $record->getToken(); 21 $language = Setting::key('language.activeLanguage')->value('option_value') ?? 'en-US'; 22 $translator = new Translator($language); 23 $titleAlign = $translator->getDirection() === 'rtl' ? 'left' : 'right'; 19 24 20 25 … … 41 46 </td> 42 47 <!-- Title --> 43 <td style="width: 50%; text-align: right; font-size: 32px; font-weight: bold; padding: 0; margin: 0;">44 <?php echo esc_html(strtoupper($ page)) ?>48 <td style="width: 50%; text-align: <?php echo $titleAlign ?>; font-size: 32px; font-weight: bold; padding: 0; margin: 0;"> 49 <?php echo esc_html(strtoupper($translator->translate($page))) ?> 45 50 </td> 46 51 </tr> … … 49 54 <?php if ($page == Invoice::INVOICE) : ?> 50 55 <tr> 51 <td style="text-align: right; font-size: 20px; padding: 0; margin: 0; padding: 0; margin: 0;">56 <td style="text-align: <?php echo $titleAlign ?>; font-size: 20px; padding: 0; margin: 0; padding: 0; margin: 0;"> 52 57 <?php echo esc_html($record->getInvoiceNumber()) ?> 53 58 </td> … … 56 61 <?php elseif ($page == 'quotation'): ?> 57 62 <tr> 58 <td style="text-align: right; font-size: 20px; padding: 0; margin: 0;">63 <td style="text-align: <?php echo $titleAlign ?>; font-size: 20px; padding: 0; margin: 0;"> 59 64 <?php echo esc_html($record->post_title) ?> 60 65 </td> 61 66 </tr> 62 67 <tr> 63 <td style="text-align: right; font-size: 14px; padding: 0; margin: 0;">68 <td style="text-align: <?php echo $titleAlign ?>; font-size: 14px; padding: 0; margin: 0;"> 64 69 <?php echo esc_html($record->getQuotationNumber()) ?> 65 70 </td> … … 69 74 <?php elseif ($page == Invoice::RECEIPT) : ?> 70 75 <tr> 71 <td style="text-align: right; font-size: 20px; padding: 0; margin: 0;">76 <td style="text-align: <?php echo $titleAlign ?>; font-size: 20px; padding: 0; margin: 0;"> 72 77 <?php echo esc_html($record->receipt->getReceiptNumber()); ?> 73 78 </td> 74 79 </tr> 75 80 <tr> 76 <td colspan="3" style="text-align: right; font-size: 14px; padding: 0; margin: 0;">81 <td colspan="3" style="text-align: <?php echo $titleAlign ?>; font-size: 14px; padding: 0; margin: 0;"> 77 82 <?php echo esc_html($record->getInvoiceNumber()) ?> 78 83 </td> … … 86 91 <table style="width: 100%; font-size: 14px; margin-bottom: 8px;"> 87 92 <tr> 88 <td style="width: 50%; font-size: 14px; font-weight: bold; padding: 0; margin: 0;">Issued by</td> 89 </tr> 90 91 <tr> 92 <td style="width: 50%; font-size: 14px; padding: 0; margin: 0;"><?php echo esc_html($business['business_name']) ?></td> 93 </tr> 94 95 <tr> 96 <td style="width: 50%; font-size: 12px; color: #64748b; padding: 0; margin: 0;"><?php echo esc_html($business['email']) ?></td> 93 <td style="width: 50%; font-size: 14px; font-weight: bold; padding: 0; margin: 0;"> 94 <?php echo $translator->translate('issuedBy') ?> 95 </td> 96 </tr> 97 98 <tr> 99 <td style="width: 50%; font-size: 11px; padding: 0; margin: 0;"> 100 <?php echo esc_html($business['business_name']) ?> 101 </td> 102 </tr> 103 104 <tr> 105 <td style="width: 50%; font-size: 11px; color: #64748b; padding: 0; margin: 0;"> 106 <?php echo esc_html($business['email']) ?> 107 </td> 97 108 <!-- Status --> 98 109 <td style="width: 7.5%; padding: 0; margin: 0;"></td> 99 <td style="width: 17.5%; font-size: 14px; padding: 0; margin: 0;">Status</td> 110 <td style="width: 17.5%; font-size: 12px; padding: 0; margin: 0;"> 111 <?php echo $translator->translate('status') ?> 112 </td> 100 113 <td style="width: 2%; text-align: center; padding: 0; margin: 0;">:</td> 101 114 <td style="width: 23%; text-align: right; padding: 0; margin: 0;"> … … 104 117 <td style="width: 30%; padding: 0; margin: 0;"></td> 105 118 <?php if ($isQuotation): ?> 106 <td style="width: 70%; border-radius: 5px; color: white; background-color: <?php echo esc_attr($paymentStatus != 'active' ? 'gray;' : '#16a34a;') ?> font-weight: bold; text-align: center; padding: 0; margin: 0;">119 <td style="width: 70%; font-size: 12px; border-radius: 5px; color: white; background-color: <?php echo esc_attr($paymentStatus != 'active' ? 'gray;' : '#16a34a;') ?> font-weight: bold; text-align: center; padding: 0; margin: 0;"> 107 120 <?php echo esc_html(strtoupper($paymentStatus)) ?> 108 121 </td> 109 122 <?php else: ?> 110 <td style="width: 70%; border-radius: 5px; color: white; background-color: <?php echo esc_attr($paymentStatus == Invoice::UNPAID ? '#ef4444;' : '#16a34a;') ?> font-weight: bold; text-align: center; padding: 0; margin: 0;">123 <td style="width: 70%; font-size: 12px; border-radius: 5px; color: white; background-color: <?php echo esc_attr($paymentStatus == Invoice::UNPAID ? '#ef4444;' : '#16a34a;') ?> font-weight: bold; text-align: center; padding: 0; margin: 0;"> 111 124 <?php echo esc_html(strtoupper($paymentStatus)) ?> 112 125 </td> … … 119 132 <?php if (!$isQuotation) : ?> 120 133 <tr> 121 <td style="width: 50%; font-size: 1 2px; color: #64748b; padding: 0; margin: 0;">134 <td style="width: 50%; font-size: 11px; color: #64748b; padding: 0; margin: 0;"> 122 135 <?php echo esc_html($business['phone_number']) ?> 123 136 </td> 124 137 <!-- Type --> 125 138 <td style="width: 7.5%; padding: 0; margin: 0;"></td> 126 <td style="width: 17.5%; padding: 0; margin: 0;"> Type</td>139 <td style="width: 17.5%; padding: 0; margin: 0;"><?php echo $translator->translate('type') ?></td> 127 140 <td style="width: 2%; text-align: center; padding: 0; margin: 0;">:</td> 128 141 <td style="width: 23%; text-align: right; padding: 0; margin: 0;"> 129 <table style="width: 100%; border-collapse: collapse; ">142 <table style="width: 100%; border-collapse: collapse; font-size: 12px;"> 130 143 <tr> 131 144 <td style="width: 30%; padding: 0; margin: 0;"></td> … … 141 154 <?php if (isset($business['website'])) : ?> 142 155 <tr> 143 <td style="width: 50%; font-size: 1 2px; color: #64748b; padding: 0; margin: 0;">156 <td style="width: 50%; font-size: 11px; color: #64748b; padding: 0; margin: 0;"> 144 157 <?php echo esc_html($business['website']) ?> 145 158 </td> … … 149 162 <?php if (isset($business['address'])) : ?> 150 163 <tr> 151 <td style="width: 50%; font-size: 1 2px; color: #64748b; padding: 0; margin: 0;">164 <td style="width: 50%; font-size: 11px; color: #64748b; padding: 0; margin: 0;"> 152 165 <?php echo wp_kses_post(nl2br($business['address'])) ?> 153 166 </td> … … 157 170 158 171 <?php $customer = $record->getClient(); ?> 159 <table style="width: 100%; font-size: 14px; margin-bottom:14px;">172 <table style="width: 100%; font-size: 14px; margin-bottom:14px;"> 160 173 <tr> 161 174 <td style="width: 50%; font-size: 14px; font-weight: bold; padding: 0; margin: 0;"> 162 175 <?php if ($record->isBilledToSameAsClient()): ?> 163 Customer176 <?php echo $translator->translate('customer') ?> 164 177 <?php else: ?> 165 Bill to178 <?php echo $translator->translate('billTo') ?> 166 179 <?php endif; ?> 167 180 </td> … … 169 182 <!-- Order date --> 170 183 <td style="width: 7.5%; padding: 0; margin: 0;"></td> 171 <td style="width: 17.5%; padding: 0; margin: 0; ">Order date</td>172 <td style="width: 2%; text-align: center; padding: 0; margin: 0; ">:</td>173 <td style="width: 23%; text-align: right; padding: 0; margin: 0; ">174 <?php echo esc_html(invoizeFormatDate($record->getOrderDate(), $dateFormat )); ?>184 <td style="width: 17.5%; padding: 0; margin: 0; font-size: 12px;"><?php echo $translator->translate('orderDate') ?></td> 185 <td style="width: 2%; text-align: center; padding: 0; margin: 0; font-size: 12px;">:</td> 186 <td style="width: 23%; text-align: right; padding: 0; margin: 0; font-size: 12px;"> 187 <?php echo esc_html(invoizeFormatDate($record->getOrderDate(), $dateFormat, $language)); ?> 175 188 </td> 176 189 <?php endif; ?> … … 178 191 179 192 <tr> 180 <td style="width: 50%; font-size: 1 4px; padding: 0; margin: 0;">193 <td style="width: 50%; font-size: 11px; padding: 0; margin: 0;"> 181 194 <?php if ($record->isBilledToSameAsClient()): ?> 182 195 <?php echo esc_html($customer['name']) ?> … … 187 200 <!-- Invoice date --> 188 201 <td style="width: 7.5%; padding: 0; margin: 0;"></td> 189 <td style="width: 17.5%; padding: 0; margin: 0; ">202 <td style="width: 17.5%; padding: 0; margin: 0; font-size: 12px;"> 190 203 <?php if ($isQuotation): ?> 191 Quotation Date204 <?php echo $translator->translate('quotationDate') ?> 192 205 <?php else: ?> 193 Invoice date206 <?php echo $translator->translate('invoiceDate') ?> 194 207 <?php endif; ?> 195 208 </td> 196 <td style="width: 2%; text-align: center; padding: 0; margin: 0; ">:</td>197 <td style="width: 23%; text-align: right; padding: 0; margin: 0; ">209 <td style="width: 2%; text-align: center; padding: 0; margin: 0; font-size: 12px;">:</td> 210 <td style="width: 23%; text-align: right; padding: 0; margin: 0; font-size: 12px;"> 198 211 <?php if ($isQuotation): ?> 199 <?php echo esc_html(invoizeFormatDate($record->getQuotationDate(), $dateFormat )) ?>212 <?php echo esc_html(invoizeFormatDate($record->getQuotationDate(), $dateFormat, $language)) ?> 200 213 <?php else: ?> 201 <?php echo esc_html(invoizeFormatDate($record->getInvoiceDate(), $dateFormat )) ?>214 <?php echo esc_html(invoizeFormatDate($record->getInvoiceDate(), $dateFormat, $language)) ?> 202 215 <?php endif; ?> 203 216 </td> … … 205 218 206 219 <tr> 207 <td style="width: 50%; font-size: 1 2px; color: #64748b; padding: 0; margin: 0;">220 <td style="width: 50%; font-size: 11px; color: #64748b; padding: 0; margin: 0;"> 208 221 <?php if ($record->isBilledToSameAsClient()): ?> 209 222 <?php echo esc_html($customer['email']) ?> … … 214 227 <!-- Due date --> 215 228 <td style="width: 7.5%; padding: 0; margin: 0;"></td> 216 <td style="width: 12.5%; padding: 0; margin: 0; ">Due date</td>217 <td style="width: 2%; text-align: center; padding: 0; margin: 0; ">:</td>218 <td style="width: 23%; text-align: right; padding: 0; margin: 0; ">219 <?php echo esc_html(invoizeFormatDate($record->getDueDate(), $dateFormat )) ?>220 </td> 221 </tr> 222 223 <tr> 224 <td style="width: 50%; font-size: 1 2px; color: #64748b; padding: 0; margin: 0;">229 <td style="width: 12.5%; padding: 0; margin: 0; font-size: 12px;"><?php echo $translator->translate('dueDate') ?></td> 230 <td style="width: 2%; text-align: center; padding: 0; margin: 0; font-size: 12px;">:</td> 231 <td style="width: 23%; text-align: right; padding: 0; margin: 0; font-size: 12px;"> 232 <?php echo esc_html(invoizeFormatDate($record->getDueDate(), $dateFormat, $language)) ?> 233 </td> 234 </tr> 235 236 <tr> 237 <td style="width: 50%; font-size: 11px; color: #64748b; padding: 0; margin: 0;"> 225 238 <?php if ($record->isBilledToSameAsClient()): ?> 226 239 <?php echo wp_kses_post(isset($customer['customAddress']) … … 232 245 <!-- Paid date --> 233 246 <td style="width: 7.5%; padding: 0; margin: 0;"></td> 234 <td style="width: 17.5%; padding: 0; margin: 0;">Paid on</td> 247 <td style="width: 17.5%; padding: 0; margin: 0;"> 248 <?php echo $translator->translate('paidOn') ?> 249 </td> 235 250 <td style="width: 2%; text-align: center; padding: 0; margin: 0;">:</td> 236 251 <td style="width: 23%; text-align: right; padding: 0; margin: 0;"> 237 <?php echo esc_html(invoizeFormatDate($record->getPaidDate(), $dateFormat )); ?>252 <?php echo esc_html(invoizeFormatDate($record->getPaidDate(), $dateFormat, $language)); ?> 238 253 </td> 239 254 <?php endif ?> … … 241 256 242 257 <tr> 243 <td style="width: 50%; font-size: 1 2px; color: #64748b; padding: 0; margin: 0;">258 <td style="width: 50%; font-size: 11px; color: #64748b; padding: 0; margin: 0;"> 244 259 245 260 </td> … … 247 262 <!-- Paid date --> 248 263 <td style="width: 7.5%; padding: 0; margin: 0;"></td> 249 <td style="width: 17.5%; padding: 0; margin: 0;">Paid using</td> 264 <td style="width: 17.5%; padding: 0; margin: 0;"> 265 <?php echo $translator->translate('paidUsing') ?> 266 </td> 250 267 <td style="width: 2%; text-align: center; padding: 0; margin: 0;">:</td> 251 268 <td style="width: 23%; text-align: right; padding: 0; margin: 0;"> … … 282 299 </th> 283 300 <th style="font-size: 14px; color: #64748b; padding: 0; margin: 0;" colspan="6"> 284 Products301 <?php echo $translator->translate('products') ?> 285 302 </th> 286 303 <th style="font-size: 14px; text-align: center; color: #64748b; padding: 0; margin: 0;" colspan="2"> 287 Unit Price304 <?php echo $translator->translate('unitPrice') ?> 288 305 </th=> 289 306 <th style="font-size: 14px; text-align: center; color: #64748b; padding: 0; margin: 0;"> 290 Qty307 <?php echo $translator->translate('qty') ?> 291 308 </th> 292 309 <th style="font-size: 14px; text-align: right; color: #64748b; padding: 0 10px 0 0; margin: 0;" colspan="2"> 293 Amount310 <?php echo $translator->translate('amount') ?> 294 311 </th> 295 312 </tr> … … 299 316 <?php foreach ($products as $index => $product) : ?> 300 317 <tr> 301 <td style="text-align: center; vertical-align: baseline; height: 36px; font-size: 14px; padding: 0; margin: 0;">318 <td style="text-align: center; vertical-align: middle; height: 36px; font-size: 12px; padding: 0; margin: 0;"> 302 319 <?php echo esc_html($index + 1) ?> 303 320 </td> 304 <td style="padding-left: 8px; font-size: 1 4px; vertical-align: baseline; padding-right: 0; margin: 0;" colspan="6">321 <td style="padding-left: 8px; font-size: 12px; vertical-align: middle; padding-right: 0; margin: 0;" colspan="6"> 305 322 <?php if (isset($product['note'])) : ?> 306 323 <table style="border-collapse: collapse; width: 100%;"> … … 329 346 <?php endif ?> 330 347 </td> 331 <td colspan="2" style="text-align: center; font-size: 1 4px; vertical-align: middle; padding: 0; margin: 0;">348 <td colspan="2" style="text-align: center; font-size: 12px; vertical-align: middle; padding: 0; margin: 0;"> 332 349 <?php echo esc_html(invoizeFormatCurrency($currency['name'], $product['unitPrice'])) ?> 333 350 </td> 334 <td style="text-align: center; font-size: 1 4px; vertical-align: middle; padding: 0; margin: 0;">351 <td style="text-align: center; font-size: 12px; vertical-align: middle; padding: 0; margin: 0;"> 335 352 <?php echo esc_html(invoizeFormatNumber($currency['name'], $product['quantity'])) ?> 336 353 </td> 337 <td colspan="2" style="text-align: right; font-size: 1 4px; vertical-align: middle; padding: 0 10px 0 0; margin: 0;">354 <td colspan="2" style="text-align: right; font-size: 12px; vertical-align: middle; padding: 0 10px 0 0; margin: 0;"> 338 355 <?php echo esc_html(invoizeFormatCurrency($currency['name'], $product['amount'])) ?> 339 356 </td> … … 350 367 <!-- Payments --> 351 368 <td style="width: 50%; vertical-align: baseline; padding: 0; margin: 0;"> 352 <table style="border-collapse: collapse;" >369 <table style="border-collapse: collapse;" autosize="1"> 353 370 <tr> 354 371 <td colspan="3" style="font-size: 14px; font-weight: bold; padding-bottom: 8px; white-space: nowrap; padding-top: 0; padding-left: 0; padding-right: 0; margin: 0;"> 355 Payment Method372 <?php echo $translator->translate('paymentMethod') ?> 356 373 </td> 357 374 </tr> … … 363 380 */ 364 381 $payments = array_filter($payments, function ($payment) { 365 366 if (invoizeGetOption('payment.enablePaymentPage', false)) { 367 return $payment['method'] == Payment::BANK || ($payment['method'] == Payment::PAYPAL && $payment['type'] == Payment::DIRECT_PAYMENT); 368 } 369 370 return true; 382 return $payment['method'] == Payment::BANK || ($payment['method'] == Payment::PAYPAL && $payment['type'] == Payment::DIRECT_PAYMENT); 371 383 }); 372 384 ?> … … 381 393 382 394 <tr> 383 <td colspan="3" style="font-size: 1 2px; font-weight: bold; vertical-align: baseline; padding: 0; margin: 0;">395 <td colspan="3" style="font-size: 13px; font-weight: bold; vertical-align: baseline; padding: 0; margin: 0;"> 384 396 <?php echo esc_html(ucfirst($payment['method'])) ?> 385 397 </td> … … 389 401 <?php if ($payment['method'] == Payment::BANK) : ?> 390 402 <tr style="vertical-align: baseline;"> 391 <td style="padding: 0; margin: 0;">Name</td> 392 <td style="width: 10px; text-align: center; padding: 0; margin: 0;">:</td> 393 <td style="padding: 0; margin: 0;"><?php echo esc_html(ucfirst($payment['name'])) ?></td> 403 <td style="padding: 0; margin: 0; width: 50px; font-size: 11px;"> 404 <?php echo $translator->translate('name') ?> 405 </td> 406 <td style="width: 10px; text-align: center; padding: 0; margin: 0; font-size: 11px;">:</td> 407 <td style="padding: 0; margin: 0; font-size: 11px;"><?php echo esc_html(ucfirst($payment['name'])) ?></td> 394 408 </tr> 395 409 <tr style="vertical-align: baseline;"> 396 <td style="padding: 0; margin: 0;">Detail</td> 397 <td style="width: 10px; text-align: center; padding: 0; margin: 0;">:</td> 398 <td style="padding: 0; margin: 0;"><?php echo wp_kses_post(nl2br($payment['detail'])) ?></td> 410 <td style="padding: 0; margin: 0; width: 50px; font-size: 11px;"> 411 <?php echo $translator->translate('detail') ?> 412 </td> 413 <td style="width: 10px; text-align: center; padding: 0; margin: 0; font-size: 11px;">:</td> 414 <td style="padding: 0; margin: 0; font-size: 11px;"><?php echo wp_kses_post(nl2br($payment['detail'])) ?></td> 399 415 </tr> 400 416 <?php endif; ?> … … 411 427 ?> 412 428 <tr style="vertical-align: baseline;"> 413 <td style="padding: 0; margin: 0;">Method</td> 414 <td style="padding: 0; margin: 0;">:</td> 415 <td style="padding: 0; margin: 0;"><?php echo esc_html(ucfirst($payment['type'])) ?></td> 429 <td style="padding: 0; margin: 0; font-size: 11px;"> 430 <?php echo $translator->translate('method') ?> 431 </td> 432 <td style="padding: 0; margin: 0; font-size: 11px;">:</td> 433 <td style="padding: 0; margin: 0; font-size: 11px;"><?php echo esc_html(ucfirst($payment['type'])) ?></td> 416 434 </tr> 417 435 <tr style="vertical-align: baseline;"> 418 <td style="padding: 0; margin: 0;">Name</td> 419 <td style="padding: 0; margin: 0;">:</td> 420 <td style="padding: 0; margin: 0;"><?php echo esc_html($payment['name']) ?></td> 436 <td style="padding: 0; margin: 0; font-size: 11px;"> 437 <?php echo $translator->translate('name') ?> 438 </td> 439 <td style="padding: 0; margin: 0; font-size: 11px;">:</td> 440 <td style="padding: 0; margin: 0; font-size: 11px;"><?php echo esc_html($payment['name']) ?></td> 421 441 </tr> 422 442 <?php if ($paypalAutoLink && $paymentStatus == Invoice::UNPAID) : ?> 423 443 <tr style="vertical-align: baseline;"> 424 <td style="padding: 0; margin: 0;">Link</td> 425 <td style="padding: 0; margin: 0;">:</td> 426 <td style="padding: 0; margin: 0;"> 444 <td style="padding: 0; margin: 0; font-size: 11px;"> 445 <?php echo $translator->translate('link') ?> 446 </td> 447 <td style="padding: 0; margin: 0; font-size: 11px;">:</td> 448 <td style="padding: 0; margin: 0; font-size: 11px;"> 427 449 <a href="<?php echo esc_url($paypalAutoLink) ?>" target="_self" style="color: #2563eb; text-decoration: none;"> 428 450 <?php echo esc_url($paypalAutoLink); ?> … … 433 455 <?php if (!$paypalAutoLink && !$isRecurring) : ?> 434 456 <tr> 435 <td style="color: #ef4444; padding: 0; margin: 0;">Payment link unavailable</td> 457 <td style="color: #ef4444; padding: 0; margin: 0; font-size: 11px;"> 458 <?php echo $translator->translate('paymentLinkUnavailable') ?> 459 </td> 436 460 </tr> 437 461 <?php endif ?> … … 441 465 <?php if ($payment['method'] == Payment::PAYPAL && $payment['type'] == Payment::DIRECT_PAYMENT) : ?> 442 466 <tr style="vertical-align: baseline;"> 443 <td style="padding: 0; margin: 0;">Method</td> 444 <td style="padding: 0; margin: 0;">:</td> 445 <td style="padding: 0; margin: 0;"><?php echo esc_html(ucfirst($payment['type'])) ?></td> 467 <td style="padding: 0; margin: 0; font-size: 11px;"> 468 <?php echo $translator->translate('method') ?> 469 </td> 470 <td style="padding: 0; margin: 0; font-size: 11px;">:</td> 471 <td style="padding: 0; margin: 0; font-size: 11px;"><?php echo esc_html(ucfirst($payment['type'])) ?></td> 446 472 </tr> 447 473 <?php if ($paymentStatus == Invoice::UNPAID) : ?> 448 474 <tr style="vertical-align: baseline;"> 449 <td style="padding: 0; margin: 0;">Link</td> 450 <td style="padding: 0; margin: 0;">:</td> 451 <td style="padding: 0; margin: 0;"> 475 <td style="padding: 0; margin: 0; font-size: 11px;"> 476 <?php echo $translator->translate('link') ?> 477 </td> 478 <td style="padding: 0; margin: 0; font-size: 11px;">:</td> 479 <td style="padding: 0; margin: 0; font-size: 11px;"> 452 480 <a href="<?php echo esc_url($payment['name']) ?>" target="_self" style="color: #2563eb; text-decoration: none;"> 453 481 <?php echo esc_url($payment['name']); ?> … … 468 496 <?php if ($xenditLink || !$isRecurring) : ?> 469 497 <tr style="vertical-align: baseline;"> 470 <td style="padding: 0; margin: 0; ">Total</td>471 <td style="padding: 0; margin: 0; ">:</td>472 <td style="padding: 0; margin: 0; "><?php echo esc_html(invoizeFormatCurrency("IDR", $payment['total'])) ?></td>498 <td style="padding: 0; margin: 0; font-size: 11px;">Total</td> 499 <td style="padding: 0; margin: 0; font-size: 11px;">:</td> 500 <td style="padding: 0; margin: 0; font-size: 11px;"><?php echo esc_html(invoizeFormatCurrency("IDR", $payment['total'])) ?></td> 473 501 </tr> 474 502 <?php if ($xenditLink && $paymentStatus == Invoice::UNPAID) : ?> 475 503 <tr style="vertical-align: baseline;"> 476 <td style="padding: 0; margin: 0;">Link</td> 477 <td style="padding: 0; margin: 0;">:</td> 478 <td style="padding: 0; margin: 0;"> 504 <td style="padding: 0; margin: 0; font-size: 11px;"> 505 <?php echo $translator->translate('link') ?> 506 </td> 507 <td style="padding: 0; margin: 0; font-size: 11px;">:</td> 508 <td style="padding: 0; margin: 0; font-size: 11px;"> 479 509 <a href="<?php echo esc_url($xenditLink) ?>" target="_self" style="color: #2563eb; text-decoration: none;"> 480 510 <?php echo esc_url($xenditLink); ?> … … 486 516 <?php if (!$xenditLink && !$isRecurring) : ?> 487 517 <tr> 488 <td style="color: #ef4444; padding: 0; margin: 0;">Payment link unavailable</td> 518 <td style="color: #ef4444; padding: 0; margin: 0; font-size: 11px;"> 519 <?php echo $translator->translate('paymentLinkUnavailable') ?> 520 </td> 489 521 </tr> 490 522 <?php endif ?> … … 587 619 <?php endforeach ?> 588 620 589 <?php if ( invoizeGetOption('payment.enablePaymentPage') &&!$isQuotation) : ?>621 <?php if (!$isQuotation) : ?> 590 622 <tr> 591 623 <td style="height: 12px; padding: 0; margin: 0;"></td> 592 624 </tr> 593 625 <tr> 594 <td colspan="3" style="font-size: 1 2px; font-weight: bold; vertical-align: baseline; padding: 0; margin: 0;">595 Payment Link<span style="color:#64748b; font-size: 11px; font-weight: normal;">(Other payment method available here)</span>626 <td colspan="3" style="font-size: 13px; font-weight: bold; vertical-align: baseline; padding: 0; margin: 0;"> 627 <?php echo $translator->translate('paymentLink') ?> <span style="color:#64748b; font-size: 11px; font-weight: normal;">(Other payment method available here)</span> 596 628 </td> 597 629 </tr> 598 630 <tr style="vertical-align: baseline;"> 599 <td colspan="3" style="padding: 0; margin: 0;"> 600 <a href="<?php echo esc_url($record->getPaymentLink()); ?>" target="_blank"> 601 <?php echo esc_url($record->getPaymentLink()); ?> 631 <td colspan="3" style="padding: 0; margin: 0; font-size: 11px; line-height:1.3em;"> 632 <!-- Add . at the end of href because of bugs href not working: https://github.com/mpdf/mpdf/issues/580 --> 633 <a href="<?php echo esc_url($record->getPaymentLink()) . '.'; ?>" target="_blank"> 634 <?php echo esc_url(preg_replace_callback( 635 '#/([^/]+)$#', 636 fn($m) => '/' . substr($m[1], 0, 9) . '​' . substr($m[1], 9), 637 $record->getPaymentLink() 638 )) ?> 602 639 </a> 603 640 </td> … … 613 650 <tr> 614 651 <td style="width: 15%; padding: 0; margin: 0;"></td> 615 <td style="width: 35%; font-size: 1 4px; font-weight: bold; padding: 0; margin: 0;">Subtotal</td>616 <td style="width: 50%; font-size: 1 4px; text-align: right; padding: 0; margin: 0;">652 <td style="width: 35%; font-size: 12px; font-weight: bold; padding: 0; margin: 0;"><?php echo $translator->translate('subtotal') ?></td> 653 <td style="width: 50%; font-size: 12px; text-align: right; padding: 0; margin: 0;"> 617 654 <?php echo esc_html(invoizeFormatCurrency($currency['name'], $subtotal)) ?> 618 655 </td> … … 622 659 <td style="height: 8px; padding: 0; margin: 0;"></td> 623 660 </tr> 661 662 <?php $storeCreditUsed = $record->getStoreCreditUsed(); ?> 663 <?php if ($storeCreditUsed > 0) : ?> 664 <tr style="width: 100%;"> 665 <td style="width: 15%; padding: 0; margin: 0;"></td> 666 <td style="width: 50%; font-size: 12px; padding: 0; margin: 0; color: #dc2626;"> 667 <?php echo $translator->translate('storeCredit') ?> 668 </td> 669 <td style="width: 50%; font-size: 12px; text-align: right; padding: 0; margin: 0; color: #dc2626;"> 670 - <?php echo esc_html(invoizeFormatCurrency($currency['name'], $storeCreditUsed)) ?> 671 </td> 672 </tr> 673 674 <tr> 675 <td style="height: 8px; padding: 0; margin: 0;"></td> 676 </tr> 677 <?php endif ?> 678 624 679 625 680 <!-- Discount --> … … 630 685 : $discount['value']; 631 686 ?> 632 <tr style="width: 100%; color: #dc2626;">687 <tr style="width: 100%;"> 633 688 <td style="width: 15%; padding: 0; margin: 0;"></td> 634 <td style="width: 50%; font-size: 1 4px; padding: 0; margin: 0;">689 <td style="width: 50%; font-size: 12px; padding: 0; margin: 0; color: #dc2626;"> 635 690 <?php echo esc_html($discount['name'] . ' ' . ($discount['type'] == 'percent' 636 691 ? $discount['value'] . '%' 637 692 : '')) ?> 638 693 </td> 639 <td style="width: 50%; font-size: 1 4px; text-align: right; padding: 0; margin: 0;">694 <td style="width: 50%; font-size: 12px; text-align: right; padding: 0; margin: 0; color: #dc2626;"> 640 695 - <?php echo esc_html(invoizeFormatCurrency($currency['name'], $discountValue)) ?> 641 696 </td> … … 658 713 <tr> 659 714 <td style="width: 15%; padding: 0; margin: 0;"></td> 660 <td style="width: 50%; font-size: 1 4px; padding: 0; margin: 0;">715 <td style="width: 50%; font-size: 12px; padding: 0; margin: 0;"> 661 716 <?php echo esc_html($tax['name'] . ' ' . ($tax['type'] == 'percent' 662 717 ? $tax['value'] . '%' 663 718 : '')); ?> 664 719 </td> 665 <td style="width: 50%; font-size: 1 4px; text-align: right; padding: 0; margin: 0;">720 <td style="width: 50%; font-size: 12px; text-align: right; padding: 0; margin: 0;"> 666 721 <?php echo esc_html(invoizeFormatCurrency($currency['name'], $taxValue)) ?> 667 722 </td> … … 678 733 <tr> 679 734 <td style="width: 15%; padding: 0; margin: 0;"></td> 680 <td style="width: 35%; font-weight: bold; font-size: 16px; padding: 0; margin: 0;">Total</td> 681 <td style="width: 50%; font-weight: bold; font-size: 16px; text-align: right; padding: 0; margin: 0;"> 735 <td style="width: 35%; font-weight: bold; font-size: 14px; padding: 0; margin: 0;"> 736 <?php echo $translator->translate('total') ?> 737 </td> 738 <td style="width: 50%; font-weight: bold; font-size: 14px; text-align: right; padding: 0; margin: 0;"> 682 739 <?php echo esc_html(invoizeFormatCurrency($currency['name'], $total)) ?> 683 740 </td> … … 696 753 <table style="width: 100%;"> 697 754 <tr style="width: 100%;"> 698 <td style="font-size: 14px; font-weight: bold; padding: 0; margin: 0;"> Note</td>755 <td style="font-size: 14px; font-weight: bold; padding: 0; margin: 0;"><?php echo $translator->translate('note') ?></td> 699 756 </tr> 700 757 <tr> 701 <td style="font-size: 1 2px; page-break-inside: initial; padding: 0; margin: 0;">758 <td style="font-size: 11px; page-break-inside: initial; padding: 0; margin: 0;"> 702 759 <?php echo wp_kses_post(!empty($notes['note']) ? nl2br($notes['note']) : '-') ?> 703 760 </td> … … 712 769 <table> 713 770 <tr> 714 <td style="font-size: 14px; font-weight: bold; padding: 0; margin: 0;"> Terms & Conditions</td>771 <td style="font-size: 14px; font-weight: bold; padding: 0; margin: 0;"><?php echo $translator->translate('termsAndConditions') ?></td> 715 772 </tr> 716 773 <tr> 717 <td style="font-size: 1 2px; padding: 0; margin: 0;">774 <td style="font-size: 11px; padding: 0; margin: 0;"> 718 775 <?php echo wp_kses_post(!empty($notes['terms']) ? nl2br($notes['terms']) : '-') ?> 719 776 </td>
Note: See TracChangeset
for help on using the changeset viewer.