Version 4.7.0

This commit is contained in:
Neo committed 2025-12-19 16:00:35 -08:00
1 parent 517a5e1f70
commit 8ba7d43898
1933 files changed
+65613 -11332

No files matched your search

+204 -5
View File
@@ -1494,7 +1494,203 @@
---
{$email->language->get('total')}: {$invoiceSummary['total']->toString( $email->language )}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>replyRequestLocked</template_name><template_content_html><![CDATA[
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>invoiceTrackExpired</template_name><template_content_html><![CDATA[
{$email->language->get('email_tracked_invoice_expired')}
<br /><br />
<h3 style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 24px; font-weight: 500; color: #333333; line-height: 21px; margin: 0 0 5px 0">
{expression="sprintf( $email->language->get('invoice_number'), $invoice->id )"}
</h3>
<p style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; line-height: 24px; margin: 0">
{{if $invoice->po}}
<strong>{$email->language->get('invoice_po_number')}: {$invoice->po}</strong><br />
{{endif}}
</p>
<br />
<a href='{$invoice->acpUrl()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->get('invoice_view')}</a>
<br />
<br />
<br />
<table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#ffffff" class='responsive_table'>
<tr>
<td dir='{dir}' width="{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}48%{{else}}100%{{endif}}" class='responsive_fullwidth' bgcolor="#f9f9f9">
<table cellpadding="10" cellspacing="0" border="0" width="100%">
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" bgcolor="#f0f0f0">
<strong>{$email->language->get("billing_address")}</strong>
</td>
</tr>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
{$invoice->member->cm_name}<br />
{{if $invoice->billaddress}}{$invoice->billaddress->toString('<br />')|raw}{{endif}}
</td>
</tr>
</table>
</td>
{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}
<td dir='{dir}' width="4%"><img src='{setting="base_url"}applications/core/interface/email/spacer.png' width='1' height='1' alt=''></td>
<td dir='{dir}' width="48%" class='responsive_fullwidth' bgcolor="#f9f9f9">
<table cellpadding="10" cellspacing="0" border="0" width="100%">
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" bgcolor="#f0f0f0">
<strong>{$email->language->get("shipping_address")}</strong>
</td>
</tr>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
{$invoice->member->cm_name}<br />
{$invoice->shipaddress->toString('<br />')|raw}
</td>
</tr>
</table>
</td>
{{endif}}
</tr>
</table>
<br />
<br />
<table cellpadding="10" cellspacing="0" border="0" width="100%">
<tr>
<td dir='{dir}' colspan="5" style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" bgcolor="#f0f0f0">
<strong>{$email->language->get("order_details")}</strong>
</td>
</tr>
<tr bgcolor="#f9f9f9">
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
&nbsp;
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 13px; color: #333333; line-height: 21px" colspan="2">
<strong>{$email->language->addToStack('invoice_item', FALSE)}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 13px; color: #333333; line-height: 21px" align='right'>
<strong>{$email->language->get('total')}</strong>
</td>
</tr>
{{foreach $summary['items'] as $k => $item}}
<tr style='border-top: 1px solid #f5f5f5'>
<td dir='{dir}' width='100' valign='top' class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
{{if $image = $item->image()}}
<img src='{$image->url}' width='100' style='border: 0; vertical-align: middle;'>
{{endif}}
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
<span style="color: #8d8d8d">{$item->quantity} x</span> {$item->name}
{{if $item instanceof \IPS\nexus\Invoice\Item\Renewal and $purchase = \IPS\nexus\Purchase::load( $item->id ) and $expire = $purchase->expire}}
<span style="color: #8d8d8d; font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px;">
({$email->language->addToStack('ps_expire', FALSE)}: {expression="$expire->localeDate( $invoice->member )"})
</span>
{{endif}}
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
{{if \count( $item->details )}}
{{foreach $item->details as $k => $v}}
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$item->linePrice()->toString( $email->language )}</strong>
{{if $item->quantity > 1}}
<br><span style="color: #8d8d8d; font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px;">{$item->price->toString( $email->language )} {$email->language->get("each_short")}</span>
{{endif}}
</td>
</tr>
{{endforeach}}
<tr style='border-top: 1px solid #dddddd'>
<td dir='{dir}' colspan='3' align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
<strong>{$email->language->get('subtotal')}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$summary['subtotal']->toString( $email->language )}</strong>
</td>
</tr>
{{foreach $summary['shipping'] as $shipping}}
<tr style='border-top: 1px solid #f5f5f5'>
<td dir='{dir}' colspan='3' align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
{$shipping->name}
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$shipping->linePrice()->toString( $email->language )}</strong>
</td>
</tr>
{{endforeach}}
{{foreach $summary['tax'] as $taxId => $tax}}
<tr style='border-top: 1px solid #f5f5f5'>
<td dir='{dir}' colspan='3' align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
{$email->language->get( 'nexus_tax_' . $taxId )} ({expression="$tax['rate']*100"}%)
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$tax['amount']->toString( $email->language )}</strong>
</td>
</tr>
{{endforeach}}
{{if $transactions = $invoice->transactions() and \count( $transactions )}}
<tr style='border-top: 1px solid #dddddd'>
<td dir='{dir}' colspan='3' align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 17px; line-height: 21px">
<strong>{$email->language->get('total')}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 17px; line-height: 21px" align='right'>
<strong>{$summary['total']->toString( $email->language )}</strong>
</td>
</tr>
{{else}}
<tr style='border-top: 1px solid #dddddd'>
<td dir='{dir}' colspan='3' align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 17px; color: #cd3816; line-height: 21px">
<strong>{$email->language->get('total')}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 17px; color: #cd3816; line-height: 21px" align='right'>
<strong>{$summary['total']->toString( $email->language )}</strong>
</td>
</tr>
{{endif}}
</table>
<!-- Signature -->
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$invoice, $summary, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->get('email_tracked_invoice_expired')}
-- {setting="board_name"}
{expression="sprintf( $email->language->get('invoice_number'), $invoice->id )" raw="true"}
=====
{{if $invoice->po}}{$email->language->get('invoice_po_number')}: {$invoice->po}{{endif}}
{$email->language->get('invoice_view')}: {$invoice->acpUrl()}
{$email->language->get("order_details")}
=====
{{foreach $summary['items'] as $k => $item}}
{$item->quantity} x</span> {$item->name} [{$item->price->toString( $email->language )} {$email->language->get("each_short")}] ({$item->linePrice()->toString( $email->language )})
{{endforeach}}
---
{$email->language->get('subtotal')}: {$summary['subtotal']->toString( $email->language )}
{{if \count( $summary['shipping'] )}}
---
{{foreach $summary['shipping'] as $shipping}}
{$shipping->name}: {$shipping->linePrice()->toString( $email->language )}
{{endforeach}}
{{endif}}
{{if \count( $summary['tax'] )}}
---
{{foreach $summary['tax'] as $taxId => $tax}}
{$email->language->get( 'nexus_tax_' . $taxId )} ({expression="$tax['rate']*100" raw="true"}%): {$tax['amount']->toString( $email->language )}
{{endforeach}}
{{endif}}
---
{$email->language->get('total')}: {$summary['total']->toString( $email->language )}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>replyRequestLocked</template_name><template_content_html><![CDATA[
{$email->language->addToStack("support_bounced")}<br /><br />
{{if $request->department->email}}
@@ -3088,8 +3284,10 @@
{$shipment->address()->toString('<br>')|raw}
</td>
<td dir='{dir}' width='50%' style="font-family: 'Helvetica Neue', helvetica, sans-serif;" valign='top'>
<strong>{$email->language->addToStack("email_shipping_method", FALSE)}</strong><br>
{$email->language->addToStack( $shipment->method->_titleLanguageKey, FALSE )}
{{if $shipment->method}}
<strong>{$email->language->addToStack("email_shipping_method", FALSE)}</strong><br>
{$email->language->addToStack( $shipment->method->_titleLanguageKey, FALSE )}
{{endif}}
{{if $shipment->tracknumber}}
<br><br>
<strong>{$email->language->addToStack("email_tracking_number", FALSE)}</strong><br>
@@ -3139,8 +3337,9 @@
{$email->language->addToStack("email_shipping_to", FALSE)}:
{$data['cm_first_name']} {$data['cm_last_name']}
{$shipment->address()->toString("\n")|raw}
{$email->language->addToStack("email_shipping_method", FALSE)}: {$shipment->method->getTitleForLanguage( $email->language )}
{{if $shipment->method}}
{$email->language->addToStack("email_shipping_method", FALSE)}: {$email->language->addToStack( $shipment->method->_titleLanguageKey, FALSE )}
{{endif}}
{{if $shipment->tracknumber}}
{$email->language->addToStack("email_tracking_number", FALSE)}: {$shipment->tracknumber}
{{endif}}