Version 4.1.19

This commit is contained in:
Neo committed 2025-12-19 05:38:56 -08:00
1 parent 28bd025b35
commit 2bd5025018
2674 files changed
+233518 -77766

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@
"transactions": {
"tab": "nexus",
"controller": "transactions",
"do": "",
"do": "&filter=tstatus_hold",
"restriction": "transactions_manage"
},
"invoices": {
+11 -7
View File
@@ -41,6 +41,10 @@
"donations": {
"donations_manage": "donations_manage",
"donationgoals_manage": "donationgoals_manage"
},
"billingagreements": {
"billingagreements_view": "billingagreements_view",
"billingagreements_manage": "billingagreements_manage"
}
},
"customers": {
@@ -80,14 +84,15 @@
},
"support": {
"requests": {
"requests_manage": "requests_manage",
"requests_ratings": "requests_ratings",
"requests_ratings_feedback": "requests_ratings_feedback",
"requests_split": "requests_split",
"requests_block_sev": "requests_block_sev",
"requests_reply_delete": "requests_reply_delete",
"requests_create": "requests_create",
"requests_merge": "requests_merge",
"requests_delete": "requests_delete",
"requests_reply_delete": "requests_reply_delete",
"requests_block_sev": "requests_block_sev",
"requests_ratings": "requests_ratings",
"requests_ratings_feedback": "requests_ratings_feedback"
"requests_manage": "requests_manage"
},
"support_reports": {
"reports_manage": "reports_manage"
@@ -102,8 +107,7 @@
"autoresolve_manage": "autoresolve_manage",
"customerfeedback_manage": "customerfeedback_manage",
"outgoingemail_manage": "outgoingemail_manage",
"incomingemail_manage": "incomingemail_manage",
"support_display_settings": "support_display_settings"
"incomingemail_manage": "incomingemail_manage"
},
"stats": {
"volume_manage": "volume_manage"
File diff suppressed because it is too large. Load diff
@@ -2,9 +2,9 @@
/**
* @brief {class}
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @package IPS Community Suite
{subpackage}
* @since {date}
* @version SVN_VERSION_NUMBER
File diff suppressed because it is too large. Load diff
+396 -104
View File
@@ -8,7 +8,7 @@
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f5f5f5'>
<tr>
<td dir='{dir}'>
{$email->parseTextForEmail( $newMessage->content() )|raw}
{$email->parseTextForEmail( $newMessage->content(), $email->language )|raw}
</td>
</tr>
</table>
@@ -23,7 +23,7 @@
{$email->language->addToStack("send_it", FALSE)}: {expression="\IPS\Settings::i()->base_url"}applications/nexus/interface/email/sendDiscard.php?id={$message->id}&key={expression="md5( $message->item()->email_key . $message->date )"}&send=1
{$email->language->addToStack("discard_it", FALSE)} {expression="\IPS\Settings::i()->base_url"}applications/nexus/interface/email/sendDiscard.php?id={$message->id}&key={expression="md5( $message->item()->email_key . $message->date )"}&send=0
---
{expression="\IPS\Email::buildPlaintextBody( $newMessage->content()|)"}
{expression="\IPS\Email::buildPlaintextBody( $newMessage->content() )"}
---
{$email->language->addToStack("view_support_request", FALSE)}: {$message->item()->acpUrl()}
@@ -101,7 +101,7 @@
</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}}
{{if ( $item instanceof \IPS\nexus\Invoice\Item\Renewal ) AND \IPS\nexus\Purchase::load( $item->id )->expire}}
<span style="color: #8d8d8d; font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px;">
({$email->language->addToStack('ps_expire', FALSE)}: {expression="\IPS\nexus\Purchase::load( $item->id )->expire->localeDate( $invoice->member )"})
</span>
@@ -110,7 +110,7 @@
<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}"}: {$v}<br>
{$email->language->addToStack('nexus_pfield_' . $k, FALSE)}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -276,7 +276,20 @@
{$email->language->get('email_paid_by')} {{if $transaction->method}}{$transaction->method->_title}{{else}}{$email->language->get('account_credit')}{{endif}}: {$transaction->amount}
{{endif}}{{endforeach}}{$email->language->get('total_to_pay')}: {$invoice->amountToPay()->toString( $email->language )}
{{endif}}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>invoiceWarning</template_name><template_content_html><![CDATA[
{$email->language->get('email_expire_warning')|raw}
{$email->language->get('email_expire_warning')}
<br /><br />
{{if $billingAgreement}}
{$email->language->get('email_expire_warning_billing_agreement')}
<br /><br />
<a href='{$billingAgreement->url()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 12px; background: #417ba3; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("view_billing_agreement", FALSE)}</a>
{{elseif count( $cards ) and $credit and $credit->amount->isGreaterThanZero()}}
{expression="sprintf( $email->language->get('email_expire_warning_card_and_credit'), $credit->toString( $email->language ) )"}
{{elseif count( $cards )}}
{$email->language->get('email_expire_warning_card')}
{{else}}
{expression="sprintf( $email->language->get('email_expire_warning_credit'), $credit->toString( $email->language ) )"}
{{endif}}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>
@@ -284,43 +297,46 @@
<br />
<br />
<table cellpadding="10" cellspacing="0" border="0" width="100%" bgcolor='#f9f9f9'>
<tr>
<td dir='{dir}' colspan="2" style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" bgcolor="#f0f0f0">
<strong>{$email->language->get('email_card_on_file')}</strong>
</td>
</tr>
<tr>
<td dir='{dir}' width='100' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$email->language->get('card_type')}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='left'>
{$email->language->get('card_type_' . $card->card->type)} {expression="sprintf( $email->language->get('email_ending_in'), $card->card->lastFour )"}
</td>
</tr>
<tr>
<td dir='{dir}' width='100' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$email->language->get('card_expires')}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='left'>
{$card->card->expMonth}/{$card->card->expYear}
</td>
</tr>
<tr bgcolor="#f0f0f0">
<td dir='{dir}' width='100' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
&nbsp;
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='left'>
<a href='{url="app=nexus&module=clients&controller=cards" seoTemplate="clientscards" base="front"}' 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('email_update_payment')}</a>
</td>
</tr>
</table>
<br /><br />
{{if count( $cards )}}
<table cellpadding="10" cellspacing="0" border="0" width="100%" bgcolor='#f9f9f9'>
<tr>
<td dir='{dir}' colspan="4" style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" bgcolor="#f0f0f0">
<strong>{$email->language->get('email_card_on_file')}</strong>
</td>
</tr>
{{foreach $cards as $card}}
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$email->language->get('card_type')}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='left'>
{{if $card->card->type}}{$email->language->get('card_type_' . $card->card->type)}{{else}}{$email->language->get('card_type_generic')}{{endif}} {expression="sprintf( $email->language->get('email_ending_in'), $card->card->lastFour )"}
</td>
{{if !is_null( $card->card->expMonth ) AND !is_null( $card->card->expYear )}}
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
<strong>{$email->language->get('card_expires')}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='left'>
{$card->card->expMonth}/{$card->card->expYear}
</td>
{{endif}}
</tr>
{{endforeach}}
<tr bgcolor="#f0f0f0">
<td dir='{dir}' width='100' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='right'>
&nbsp;
</td>
<td dir='{dir}' colspan="3" style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" align='left'>
<a href='{url="app=nexus&module=clients&controller=cards" seoTemplate="clientscards" base="front"}' 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('email_update_payment')}</a>
</td>
</tr>
</table>
<br /><br />
{{endif}}
<table cellpadding="10" cellspacing="0" border="0" width="100%">
<tr>
<td dir='{dir}' colspan="4" style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" bgcolor="#f0f0f0">
<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("email_expiring_soon")}</strong>
</td>
</tr>
@@ -358,7 +374,7 @@
<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}"}: {$v}<br>
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -367,18 +383,23 @@
</td>
</tr>
{{endforeach}}
</table>]]></template_content_html><template_data>$card, $invoice, $summary, $email</template_data><template_content_plaintext><![CDATA[
</table>]]></template_content_html><template_data>$cards, $credit, $billingAgreement, $invoice, $summary, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->get('email_expire_warning')|raw}
{{if $billingAgreement}}{$email->language->get('email_expire_warning_billing_agreement')}{{elseif count( $cards ) and $credit and $credit->amount->isGreaterThanZero()}}{expression="sprintf( $email->language->get('email_expire_warning_card_and_credit'), $credit->toString( $email->language ) )"}{{elseif count( $cards )}}{$email->language->get('email_expire_warning_card')}{{else}}{expression="sprintf( $email->language->get('email_expire_warning_credit'), $credit->toString( $email->language ) )"}{{endif}}
-- {setting="board_name"}
{{if count( $cards )}}
{$email->language->get('email_card_on_file')}
=====
{$email->language->get('card_type')}: {$email->language->get('card_type_' . $card->card->type)} {expression="sprintf( $email->language->get('email_ending_in'), $card->card->lastFour )"}
{{foreach $cards as $card}}{$email->language->get('card_type')}: {{if $card->card->type}}{$email->language->get('card_type_' . $card->card->type)}{{else}}{$email->language->get('card_type_generic')}{{endif}} {expression="sprintf( $email->language->get('email_ending_in'), $card->card->lastFour )"}
{{if !is_null( $card->card->expMonth ) AND !is_null( $card->card->expYear )}}
{$email->language->get('card_expires')}: {$card->card->expMonth}/{$card->card->expYear}
{{endif}}
{{endforeach}}
{$email->language->get('email_update_payment')}: {url="app=nexus&module=clients&controller=cards" seoTemplate="clientscards" base="front"}
{{endif}}
{$email->language->get("email_expiring_soon")}
=====
@@ -391,10 +412,10 @@
<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #dbe2c9; color: #556b45;'>
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='color: #556b45;'>
<tr>
<td dir='{dir}'>
{expression="$email->language->addToStack( 'monitor_email_reset_done', FALSE, array( 'sprintf' => array( $server->hostname, $by ) ) )"}
<strong>{expression="$email->language->addToStack( 'monitor_email_reset_done', FALSE, array( 'sprintf' => array( $server->hostname, $by ) ) )"}</strong>
</td>
</tr>
</table>
@@ -408,10 +429,10 @@
<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #b52b38; color: #fff;'>
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='color: #b52b38;'>
<tr>
<td dir='{dir}'>
{expression="$email->language->addToStack( 'monitor_email_eom', FALSE, array( 'sprintf' => array( $rule->url ) ) )"}
<strong>{expression="$email->language->addToStack( 'monitor_email_eom', FALSE, array( 'sprintf' => array( $rule->url ) ) )"}</strong>
</td>
</tr>
</table>
@@ -508,16 +529,16 @@
</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}}
{{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="\IPS\nexus\Purchase::load( $item->id )->expire->localeDate( $invoice->member )"})
({$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}"}: {$v}<br>
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -633,19 +654,263 @@
{{if $transactions = $invoice->transactions() and count( $transactions )}}{{foreach $transactions as $transaction}}{{if $transaction->status === $transaction::STATUS_PAID}}
{$email->language->get('email_paid_by')} {{if $transaction->method}}{$transaction->method->_title}{{else}}{$email->language->get('account_credit')}{{endif}}: {$transaction->amount}
{{endif}}{{endforeach}}
{{endif}}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>staffNotifyNew</template_name><template_content_html><![CDATA[{$email->language->addToStack("staffnotify_new_header", FALSE, array( 'sprintf' => array( $request->supportAuthor()->name() ) ) )}<br />
{{endif}}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>unsubscribeStaffNotify</template_name><template_content_html><![CDATA[<tr>
<td dir='{dir}' valign="top"><img src='{setting="base_url"}applications/core/interface/email/spacer.png' width='1' height='1' alt=''></td>
<td dir='{dir}' valign='middle' align='center' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 12px; line-height: 18px; padding-left: 10px;">
{$email->language->addToStack("unsubscribe_blurb", FALSE)} <a href="{url="app=nexus&module=support&controller=requests&do=notifications" base="admin"}" style='color: #4a8aca; text-decoration: none; display: inline-block'>{$email->language->addToStack( 'manage_notification_settings', FALSE )}</a>.
<br />
</td>
</tr>]]></template_content_html><template_data>$member, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("manage_notification_settings", FALSE)} {$email->language->addToStack( 'adjust_digest_prefs', FALSE )}: {url="app=nexus&module=support&controller=requests&do=notifications" base="admin"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>transactionGatewayPending</template_name><template_content_html><![CDATA[<br />
{$email->language->addToStack("email_gateway_pending", FALSE)}
<br />
<br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>
<br />
<br />
<h3 style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 24px; font-weight: 500; color: #333333; line-height: 21px; margin: 0">
{expression="sprintf( $email->language->get('order_number'), $invoice->id )"}
</h3>
<br />
<a href='{$invoice->url()}' 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->addToStack("email_view_order", FALSE)}</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->addToStack("billing_address", FALSE)}</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->addToStack("shipping_address", FALSE)}</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 />
<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->addToStack("payment_details", FALSE)}</strong>
</td>
</tr>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px" bgcolor="#f9f9f9">
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td dir='{dir}' width="150" align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px"><strong>{$email->language->addToStack("status", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">&nbsp;&nbsp;{$email->language->addToStack("transaction_title_pending", FALSE)}</td>
</tr>
<tr>
<td dir='{dir}' width="150" align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px"><strong>{$email->language->addToStack("email_payment_method", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">&nbsp;&nbsp;{{if $transaction->method}}{$transaction->method->_title}{{else}}{$email->language->addToStack("account_credit", FALSE)}{{endif}}</td>
</tr>
{{if $transaction->gw_id}}
<tr>
<td dir='{dir}' width="150" align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px"><strong>{$email->language->addToStack("email_transaction_id", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">&nbsp;&nbsp;{$transaction->gw_id}</td>
</tr>
{{endif}}
<tr>
<td dir='{dir}' width="150" align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px"><strong>{$email->language->addToStack("date", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">&nbsp;&nbsp;{$transaction->date}</td>
</tr>
<tr>
<td dir='{dir}' width="150" align='right' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px"><strong>{$email->language->addToStack("amount", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">&nbsp;&nbsp;{$transaction->amount}</td>
</tr>
</table>
</td>
</tr>
</table>
<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->addToStack("order_details", FALSE)}</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 $invoiceSummary['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}}
<span style="color: #8d8d8d; font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px;">
({$email->language->addToStack('ps_expire', FALSE)}: {expression="\IPS\nexus\Purchase::load( $item->id )->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;">{$email->language->addToStack("each_short", FALSE, array( 'sprintf' => array( $item->price ) ) )}</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>{$invoiceSummary['subtotal']->toString( $email->language )}</strong>
</td>
</tr>
{{foreach $invoiceSummary['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 $invoiceSummary['tax'] as $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">
{$tax['name']} ({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']}</strong>
</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: 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>{$invoiceSummary['total']->toString( $email->language )}</strong>
</td>
</tr>
</table>]]></template_content_html><template_data>$transaction, $invoice, $invoiceSummary, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("email_gateway_pending_plain", FALSE)}
&mdash; {setting="board_name"}
-----
**{expression="sprintf( $email->language->get('order_number'), $invoice->id )"}**
{$email->language->addToStack("email_view_order", FALSE)}: {$invoice->url()}
{$email->language->addToStack("billing_address", FALSE)}
===
{$invoice->member->cm_name}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('\n')|raw}{{endif}}
{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}
{$email->language->addToStack("shipping_address", FALSE)}
===
{$invoice->member->cm_name}
{$invoice->shipaddress->toString('\n')|raw}
{{endif}}
{$email->language->addToStack("payment_details", FALSE)}
===
{$email->language->addToStack("status", FALSE)}: {$email->language->addToStack("transaction_title_pending", FALSE)}
{$email->language->addToStack("email_payment_method", FALSE)}: {{if $transaction->method}}{$transaction->method->_title}{{else}}{$email->language->addToStack("account_credit", FALSE)}{{endif}}
{$email->language->addToStack("email_transaction_id", FALSE)}: {$transaction->gw_id}
{$email->language->addToStack("date", FALSE)}: {$transaction->date}
{$email->language->addToStack("amount", FALSE)}: {$transaction->amount}
{$email->language->addToStack("order_details", FALSE)}
===
{{foreach $invoiceSummary['items'] as $k => $item}}
{$item->quantity} x</span> {$item->name} [{$email->language->addToStack("each_short", FALSE, array( 'sprintf' => array( $item->price ) ) )}] ({$item->linePrice()->toString( $email->language )})
{{endforeach}}
---
{$email->language->get('subtotal')}: {$invoiceSummary['subtotal']->toString( $email->language )}
{{if count( $invoiceSummary['shipping'] )}}
---
{{foreach $invoiceSummary['shipping'] as $shipping}}
{$shipping->name}: {$shipping->linePrice()->toString( $email->language )}
{{endforeach}}
{{endif}}
{{if count( $invoiceSummary['tax'] )}}
---
{{foreach $invoiceSummary['tax'] as $tax}}
{$tax['name']} ({expression="$tax['rate']*100"}%): {$tax['amount']}
{{endforeach}}
{{endif}}
---
{$email->language->get('total')}: {$invoiceSummary['total']->toString( $email->language )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>staffNotifyNew</template_name><template_content_html><![CDATA[{{if $request->member == $firstMessage->member and $request->email == $firstMessage->email}}
{$email->language->addToStack("staffnotify_new_header", FALSE, array( 'sprintf' => array( $request->supportAuthor()->name() ) ) )}<br />
{{else}}
{$email->language->addToStack("staffnotify_new_header_on_behalf", FALSE, array( 'sprintf' => array( $firstMessage->member ? $firstMessage->author()->cm_name : $firstMessage->email, $request->supportAuthor()->name() ) ) )}<br />
{{endif}}
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f5f5f5'>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5;">
<h2 style='margin: 0; font-size: 19px; font-weight: 500'>{$request->title}</h2>
{$email->parseTextForEmail( $request->content() )|raw}
<h2 style='margin: 0; font-size: 19px; font-weight: 500'>#{$request->id} {$request->title}</h2>
{$email->parseTextForEmail( $request->content(), $email->language )|raw}
</td>
</tr>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px; color: #8d8d8d">
{$email->language->addToStack("department", FALSE)}: {$email->language->addToStack("nexus_department_".$request->department->_id, FALSE)} &middot; {$email->language->addToStack("r_severity", FALSE)}: {$email->language->addToStack("nexus_severity_".$request->department->_id, FALSE)}
{$email->language->addToStack("department", FALSE)}: {$email->language->addToStack("nexus_department_".$request->department->_id, FALSE)} &middot; {$email->language->addToStack("r_severity", FALSE)}: {$email->language->addToStack("nexus_severity_".$request->severity->_id, FALSE)}
</td>
</tr>
@@ -661,12 +926,13 @@
<br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>
<br />
<div style="font-size: 0px; line-height: 0px; color:#ffffff !important;">{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $request->id . '.' . $request->email_key . '.' . $request->comments( 1, NULL, 'date', 'asc', NULL, FALSE )->id . ']' ) ) )}</div>]]></template_content_html><template_data>$request, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("staffnotify_new_header", FALSE, array( 'sprintf' => array( $request->supportAuthor()->name() ) ) )}
<div style="font-size: 0px; line-height: 0px; color:#ffffff !important;">{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $request->id . '.' . $request->email_key . '.' . $request->comments( 1, NULL, 'date', 'asc', NULL, FALSE )->id . ']' ) ) )}</div>]]></template_content_html><template_data>$request, $firstMessage, $email</template_data><template_content_plaintext><![CDATA[
{{if $request->member == $firstMessage->member and $request->email == $firstMessage->email}}{$email->language->addToStack("staffnotify_new_header", FALSE, array( 'sprintf' => array( $request->supportAuthor()->name() ) ) )}{{else}}{$email->language->addToStack("staffnotify_new_header_on_behalf", FALSE, array( 'sprintf' => array( $firstMessage->member ? $firstMessage->author()->cm_name : $firstMessage->email, $request->supportAuthor()->name() ) ) )}{{endif}}
-----
{$email->language->addToStack("r_id", FALSE)}: {$request->id}
{$email->language->addToStack("r_title", FALSE)}: {$request->title}
{$email->language->addToStack("department", FALSE)}: {$email->language->addToStack("nexus_department_".$request->department->_id)}
{$email->language->addToStack("r_severity", FALSE)}: {$email->language->addToStack("nexus_severity_".$request->department->_id)}
{$email->language->addToStack("r_severity", FALSE)}: {$email->language->addToStack("nexus_severity_".$request->severity->_id)}
-----
{expression="\IPS\Email::buildPlaintextBody( $request->content() )"}
-----
@@ -681,8 +947,8 @@
<table width='100%' cellpadding='15' cellspacing='0' border='0' bgcolor="#f6f0e4" style="border: 3px solid #ecdcb9;">
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5;">
<h2 style='margin: 0; font-size: 19px; font-weight: 500; color: #977b3e !important'>{$message->item()->title}</h2>
{$email->parseTextForEmail( $message->content() )|raw}
<h2 style='margin: 0; font-size: 19px; font-weight: 500; color: #977b3e !important'>#{$message->item()->id} {$message->item()->title}</h2>
{$email->parseTextForEmail( $message->content(), $email->language )|raw}
</td>
</tr>
<tr>
@@ -690,15 +956,15 @@
<table width='100%' cellpadding='0' cellspacing='0' border='0'>
<tr>
<td dir='{dir}' width='120' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;"><strong>{$email->language->addToStack("status", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$message->item()->status->_title}</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$email->language->addToStack("nexus_status_".$message->item()->status->_id."_admin", FALSE)}</td>
</tr>
<tr>
<td dir='{dir}' width='120' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;"><strong>{$email->language->addToStack("department", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$message->item()->department->_title}</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$email->language->addToStack("nexus_department_".$message->item()->department->_id, FALSE)}</td>
</tr>
<tr>
<td dir='{dir}' width='120' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;"><strong>{$email->language->addToStack("r_severity", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$message->item()->severity->_title}</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$email->language->addToStack("nexus_severity_".$message->item()->severity->_id, FALSE)}</td>
</tr>
</table>
</td>
@@ -719,10 +985,11 @@
<div style="font-size: 0px; line-height: 0px; color:#ffffff !important;">{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $message->item()->id . '.' . $message->item()->email_key . '.' . $message->id . ']' ) ) )}</div>]]></template_content_html><template_data>$message, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("staffnotify_note_header", FALSE, array( 'sprintf' => array( $message->author()->name ) ) )}
-----
{$email->language->addToStack("r_id", FALSE)}: {$message->item()->id}
{$email->language->addToStack("r_title", FALSE)}: {$message->item()->title}
{$email->language->addToStack("status", FALSE)}: {$message->item()->status->_title}
{$email->language->addToStack("department", FALSE)}: {$message->item()->department->_title}
{$email->language->addToStack("r_severity", FALSE)}: {$message->item()->severity->_title}
{$email->language->addToStack("status", FALSE)}: {$email->language->addToStack("nexus_status_".$message->item()->status->_id."_admin", FALSE)}
{$email->language->addToStack("department", FALSE)}: {$email->language->addToStack("nexus_department_".$message->item()->department->_id, FALSE)}
{$email->language->addToStack("r_severity", FALSE)}: {$email->language->addToStack("nexus_severity_".$message->item()->severity->_id, FALSE)}
-----
{expression="\IPS\Email::buildPlaintextBody( $message->content() )"}
-----
@@ -744,12 +1011,12 @@
</tr>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px">
<strong>{$email->language->addToStack("email_timeelapsed", FALSE)}:</strong> {expression="\IPS\DateTime::formatInterval( \IPS\DateTime::ts( time() )->diff( \IPS\DateTime::ts( $request->mapped('date') ) ) )"}
<strong>{$email->language->addToStack("email_timeelapsed", FALSE)}:</strong> {expression="\IPS\DateTime::formatInterval( \IPS\DateTime::ts( time() )->diff( \IPS\DateTime::ts( $request->mapped('date') ) ), 2, $email->language )"}
</td>
</tr>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px; color: #8d8d8d;">
<strong>{$email->language->addToStack("status", FALSE)}:</strong> {$request->status->_title} &nbsp;&nbsp;&nbsp;<strong>{$email->language->addToStack("department", FALSE)}:</strong> {$request->department->_title} &nbsp;&nbsp;&nbsp;<strong>{$email->language->addToStack("r_severity", FALSE)}:</strong> {$request->severity->_title}
<strong>{$email->language->addToStack("status", FALSE)}:</strong> {$email->language->addToStack("nexus_status_".$request->status->_id."_admin", FALSE)} &nbsp;&nbsp;&nbsp;<strong>{$email->language->addToStack("department", FALSE)}:</strong> {$email->language->addToStack("nexus_department_".$request->department->_id, FALSE)} &nbsp;&nbsp;&nbsp;<strong>{$email->language->addToStack("r_severity", FALSE)}:</strong> {$email->language->addToStack("nexus_severity_".$request->severity->_id, FALSE)}
<br /><br />
</td>
</tr>
@@ -763,7 +1030,7 @@
-----
{{foreach $requests as $request}}
{$request->title} #{$request->id} ({$request->acpUrl()})
{$email->language->addToStack("status", FALSE)}: {$request->status->_title} {$email->language->addToStack("department", FALSE)}: {$request->department->_title} {$email->language->addToStack("r_severity", FALSE)}: {$request->severity->_title}
{$email->language->addToStack("status", FALSE)}: {$email->language->addToStack("nexus_status_".$request->status->_id."_admin", FALSE)} {$email->language->addToStack("department", FALSE)}: {$email->language->addToStack("nexus_department_".$request->department->_id, FALSE)} {$email->language->addToStack("r_severity", FALSE)}: {$email->language->addToStack("nexus_severity_".$request->severity->_id, FALSE)}
{{endforeach}}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>payoutComplete</template_name><template_content_html><![CDATA[
@@ -808,7 +1075,7 @@
<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->billaddress->toString('<br />')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('<br />')|raw}{{endif}}
</td>
</tr>
</table>
@@ -907,7 +1174,7 @@
<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}"}: {$v}<br>
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -975,7 +1242,7 @@
{$email->language->addToStack("billing_address", FALSE)}
===
{$invoice->member->cm_name}
{$invoice->billaddress->toString('\n')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('\n')|raw}{{endif}}
{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}
{$email->language->addToStack("shipping_address", FALSE)}
@@ -1014,15 +1281,38 @@
---
{$email->language->get('total')}: {$invoiceSummary['total']->toString( $email->language )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>replyRequestLocked</template_name><template_content_html><![CDATA[
{$email->language->addToStack("support_bounced")}<br /><br />
{{if $member->member_id AND $request->department->email}}
{$email->language->addToStack("support_bounced_member", FALSE, array( 'sprintf' => $request->department->email))}<br /><br />
<a href='{url="app=nexus&module=support&controller=home&do=create" seoTemplate="support_create" base="front"}' 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->addToStack("support_bounced_link", FALSE)}</a>
{{else}}
{$email->language->addToStack("support_bounced_guest", FALSE, array( 'sprintf' => $request->department->email))}
{{endif}}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$request, $member, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("support_bounced")}
{{if $member->member_id AND $request->department->email}}
{$email->language->addToStack("support_bounced_member", FALSE, array( 'sprintf' => $request->department->email))}
{$email->language->addToStack("support_bounced_link", FALSE)}: {url="app=nexus&module=support&controller=home&do=create" seoTemplate="support_create" base="front"}
{{else}}
{$email->language->addToStack("support_bounced_guest", FALSE, array( 'sprintf' => $request->department->email))}
{{endif}}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>monitoring_panic</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #b52b38; color: #fff;'>
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='color: #b52b38;'>
<tr>
<td dir='{dir}'>
{expression="$email->language->addToStack( 'monitor_email_offline_panic', FALSE, array( 'sprintf' => $server->hostname ) )"}
<strong>{expression="$email->language->addToStack( 'monitor_email_offline_panic', FALSE, array( 'sprintf' => $server->hostname ) )"}</strong>
</td>
</tr>
</table>
@@ -1049,8 +1339,8 @@
<table width='100%' cellpadding='15' cellspacing='0' border='0' bgcolor="#f5f5f5">
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5;">
<h2 style='margin: 0; font-size: 19px; font-weight: 500'>{$message->item()->title}</h2>
{$email->parseTextForEmail( $message->content() )|raw}
<h2 style='margin: 0; font-size: 19px; font-weight: 500'>#{$message->item()->id} {$message->item()->title}</h2>
{$email->parseTextForEmail( $message->content(), $email->language )|raw}
</td>
</tr>
<tr>
@@ -1058,15 +1348,15 @@
<table width='100%' cellpadding='0' cellspacing='0' border='0'>
<tr>
<td dir='{dir}' width='120' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;"><strong>{$email->language->addToStack("status", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$message->item()->status->_title}</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$email->language->addToStack("nexus_status_".$message->item()->status->_id."_admin", FALSE)}</td>
</tr>
<tr>
<td dir='{dir}' width='120' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;"><strong>{$email->language->addToStack("department", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$message->item()->department->_title}</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$email->language->addToStack("nexus_department_".$message->item()->department->_id, FALSE)}</td>
</tr>
<tr>
<td dir='{dir}' width='120' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;"><strong>{$email->language->addToStack("r_severity", FALSE)}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$message->item()->severity->_title}</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 13px;">{$email->language->addToStack("nexus_severity_".$message->item()->severity->_id, FALSE)}</td>
</tr>
</table>
</td>
@@ -1092,9 +1382,10 @@
{$email->language->addToStack("staffnotify_reply_header", FALSE, array( 'sprintf' => array( $message->email ) ) )}
{{endif}}
-----
{$email->language->addToStack("r_id", FALSE)}: {$message->item()->id}
{$email->language->addToStack("r_title", FALSE)}: {$message->item()->title}
{$email->language->addToStack("department", FALSE)}: {$message->item()->department->_title}
{$email->language->addToStack("r_severity", FALSE)}: {$message->item()->severity->_title}
{$email->language->addToStack("department", FALSE)}: {$email->language->addToStack("nexus_department_".$message->item()->department->_id, FALSE)}
{$email->language->addToStack("r_severity", FALSE)}: {$email->language->addToStack("nexus_severity_".$message->item()->severity->_id, FALSE)}
-----
{expression="\IPS\Email::buildPlaintextBody( $message->content() )"}
-----
@@ -1103,7 +1394,7 @@
-- {setting="board_name"}
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $message->item()->id . '.' . $message->item()->email_key . '.' . $message->id . ']' ) ) )}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>transactionHeld</template_name><template_content_html><![CDATA[
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $message->item()->id . '.' . $message->item()->email_key . '.' . $message->id . ']' ) ) )}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>transactionHeld</template_name><template_content_html><![CDATA[<br />
{$email->language->addToStack("email_held_approval", FALSE)}
<br />
<br />
@@ -1114,6 +1405,7 @@
<h3 style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 24px; font-weight: 500; color: #333333; line-height: 21px; margin: 0">
{expression="sprintf( $email->language->get('order_number'), $invoice->id )"}
</h3>
<br />
<a href='{$invoice->url()}' 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->addToStack("email_view_order", FALSE)}</a>
<br />
@@ -1132,7 +1424,7 @@
<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->billaddress->toString('<br />')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('<br />')|raw}{{endif}}
</td>
</tr>
</table>
@@ -1231,7 +1523,7 @@
<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}"}: {$v}<br>
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -1297,7 +1589,7 @@
{$email->language->addToStack("billing_address", FALSE)}
===
{$invoice->member->cm_name}
{$invoice->billaddress->toString('\n')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('\n')|raw}{{endif}}
{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}
{$email->language->addToStack("shipping_address", FALSE)}
@@ -1396,7 +1688,7 @@
<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->billaddress->toString('<br />')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('<br />')|raw}{{endif}}
</td>
</tr>
</table>
@@ -1458,7 +1750,7 @@
<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}"}: {$v}<br>
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -1526,7 +1818,7 @@
{$email->language->addToStack("billing_address", FALSE)}
===
{$invoice->member->cm_name}
{$invoice->billaddress->toString('\n')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('\n')|raw}{{endif}}
{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}
{$email->language->addToStack("shipping_address", FALSE)}
@@ -1597,7 +1889,7 @@
<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->billaddress->toString('<br />')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('<br />')|raw}{{endif}}
</td>
</tr>
</table>
@@ -1659,7 +1951,7 @@
<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}"}: {$v}<br>
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -1727,7 +2019,7 @@
{$email->language->addToStack("billing_address", FALSE)}
===
{$invoice->member->cm_name}
{$invoice->billaddress->toString('\n')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('\n')|raw}{{endif}}
{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}
{$email->language->addToStack("shipping_address", FALSE)}
@@ -1801,7 +2093,7 @@
<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->billaddress->toString('<br />')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('<br />')|raw}{{endif}}
</td>
</tr>
</table>
@@ -1863,7 +2155,7 @@
<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}"}: {$v}<br>
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}<br>
{{endforeach}}
{{endif}}
</td>
@@ -1929,7 +2221,7 @@
{$email->language->addToStack("billing_address", FALSE)}
===
{$invoice->member->cm_name}
{$invoice->billaddress->toString('\n')|raw}
{{if $invoice->billaddress}}{$invoice->billaddress->toString('\n')|raw}{{endif}}
{{if $invoice->hasPhysicalItems() and $invoice->shipaddress}}
{$email->language->addToStack("shipping_address", FALSE)}
@@ -1965,10 +2257,10 @@
<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #5e707d; color: #fff;'>
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='color: #5e707d;'>
<tr>
<td dir='{dir}'>
{expression="$email->language->addToStack( 'monitor_email_acknowledged', FALSE, array( 'sprintf' => array( $server->hostname, $by ) ) )"}
<strong>{expression="$email->language->addToStack( 'monitor_email_acknowledged', FALSE, array( 'sprintf' => array( $server->hostname, $by ) ) )"}</strong>
</td>
</tr>
</table>
@@ -1989,7 +2281,7 @@
<tr>
<td dir='{dir}'>
<h2 style='margin: 0; font-size: 19px; font-weight: 500'>Re: {$message->item()->title}</h2>
{$email->parseTextForEmail( $message->content() )|raw}
{$email->parseTextForEmail( $message->content(), $email->language )|raw}
</td>
</tr>
</table>
@@ -2169,7 +2461,7 @@
<strong>{$email->language->addToStack("email_purchase_date", FALSE)}</strong>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px; color: #333333; line-height: 21px" align="left">
{$invoice->date->format( 'd F Y' )}
{$invoice->date->localeDate( $email->language )}
</td>
</tr>
<tr>
@@ -2189,17 +2481,17 @@
{$email->language->addToStack("email_purchase_information", FALSE)}
{$email->language->addToStack("email_invoice_number", FALSE)}: {$invoice->id}
{$email->language->addToStack("email_purchase_date", FALSE)}: {$invoice->date->format( 'd F Y' )}
{$email->language->addToStack("email_purchase_date", FALSE)}: {$invoice->date->localeDate( $email->language )}
{$email->language->addToStack("email_order_total", FALSE)}: {$invoice->total->toString( $email->language )}
]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>monitoring_offline</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #b52b38; color: #fff;'>
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='color: #b52b38;'>
<tr>
<td dir='{dir}'>
{expression="$email->language->addToStack( 'monitor_email_offline', FALSE, array( 'sprintf' => $server->hostname ) )"}
<strong>{expression="$email->language->addToStack( 'monitor_email_offline', FALSE, array( 'sprintf' => $server->hostname ) )"}</strong>
</td>
</tr>
</table>
@@ -2346,10 +2638,10 @@
<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #dbe2c9; color: #556b45;'>
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='color: #556b45;'>
<tr>
<td dir='{dir}'>
{expression="$email->language->addToStack( 'monitor_email_online', FALSE, array( 'sprintf' => $server->hostname ) )"}
<strong>{expression="$email->language->addToStack( 'monitor_email_online', FALSE, array( 'sprintf' => $server->hostname ) )"}</strong>
</td>
</tr>
</table>
@@ -2358,7 +2650,7 @@
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$server, $encoded, $email</template_data><template_content_plaintext><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
{expression="$email->language->addToStack( 'monitor_email_online', FALSE, array( 'sprintf' => $server->hostname ) )"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>staffReplyNoChrome</template_name><template_content_html><![CDATA[{$email->parseTextForEmail( $message->content() )|raw}
{expression="$email->language->addToStack( 'monitor_email_online', FALSE, array( 'sprintf' => $server->hostname ) )"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>staffReplyNoChrome</template_name><template_content_html><![CDATA[{$email->parseTextForEmail( $message->content(), $email->language )|raw}
<div style="font-size: 0px; line-height: 0px; color:#ffffff !important;">{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $message->item()->id . '.' . $message->item()->email_key . ']' ) ) )}</div>]]></template_content_html><template_data>$message, $email</template_data><template_content_plaintext><![CDATA[{expression="\IPS\Email::buildPlaintextBody( $message->content() )"}
-----
+20
View File
@@ -67,6 +67,18 @@
"friendly": "store",
"real": "app=nexus&module=store&controller=store"
},
"clientspurchasecancel": {
"friendly": "clients/purchases/{#id}-{?}/cancel",
"real": "app=nexus&module=clients&controller=purchases&do=cancel"
},
"clientspurchaserenew": {
"friendly": "clients/purchases/{#id}-{?}/renew",
"real": "app=nexus&module=clients&controller=purchases&do=renew"
},
"clientspurchaseextra": {
"friendly": "clients/purchases/{#id}-{?}/extra",
"real": "app=nexus&module=clients&controller=purchases&do=extra"
},
"clientspurchase": {
"friendly": "clients/purchases/{#id}-{?}",
"real": "app=nexus&module=clients&controller=purchases&do=view",
@@ -93,6 +105,14 @@
"friendly": "clients/cards",
"real": "app=nexus&module=clients&controller=cards"
},
"clientsbillingagreements": {
"friendly": "clients/billing-agreements",
"real": "app=nexus&module=clients&controller=billingagreements"
},
"clientsbillingagreement": {
"friendly": "clients/billing-agreements/{#id}",
"real": "app=nexus&module=clients&controller=billingagreements&do=view"
},
"clientsalternatives": {
"friendly": "clients/alternative-contacts",
"real": "app=nexus&module=clients&controller=alternatives"
+4
View File
@@ -14,5 +14,9 @@
"clientAreaLink": {
"type": "S",
"class": "\\IPS\\Theme\\class_core_front_global"
},
"Database": {
"type": "C",
"class": "\\IPS\\Data\\Store\\Database"
}
}
+16 -16
View File
@@ -1,18 +1,18 @@
{
"nexus_status_1_front": "Open",
"nexus_status_1_admin": "Open",
"nexus_status_2_front": "On Hold",
"nexus_status_2_admin": "Hold",
"nexus_status_3_front": "Awaiting your reply",
"nexus_status_3_admin": "Closed",
"nexus_status_4_front": "Resolved",
"nexus_status_4_admin": "Resolved",
"nexus_status_4_set": "Mark Resolved",
"nexus_status_5_front": "Marked as Spam - Reply if this is an error",
"nexus_status_5_admin": "Spam",
"nexus_status_6_front": "In Progress",
"nexus_status_6_admin": "Working",
"nexus_severity_1": "Normal",
"cm_phone": "Phone Number",
"nexus_ccfield_1": "Phone Number"
"nexus_status_1_front": "Открыт",
"nexus_status_1_admin": "Открыт",
"nexus_status_2_front": "На рассмотрении",
"nexus_status_2_admin": "На рассмотрении",
"nexus_status_3_front": "Ожидает вашего ответа",
"nexus_status_3_admin": "Закрыто",
"nexus_status_4_front": "Решено",
"nexus_status_4_admin": "Решено",
"nexus_status_4_set": "Отметить решённым",
"nexus_status_5_front": "Отмечено как спам - ответьте, если это ошибка",
"nexus_status_5_admin": "Спам",
"nexus_status_6_front": "В процессе",
"nexus_status_6_admin": "В работе",
"nexus_severity_1": "Обычный",
"cm_phone": "Номер телефона",
"nexus_ccfield_1": "Номер телефона"
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -13,7 +13,7 @@
"protected": 0
},
"clients": {
"default_controller": "splash",
"default_controller": "invoices",
"protected": 0
},
"promotion": {
File diff suppressed because it is too large. Load diff
+34 -6
View File
@@ -1,4 +1,8 @@
[
{
"key": "billing_agreement_gateways",
"default": "0"
},
{
"key": "card_storage_gateways",
"default": "0"
@@ -147,6 +151,10 @@
"key": "nexus_checkreg_usernames",
"default": "0"
},
{
"key": "nexus_checkreg_validate",
"default": "0"
},
{
"key": "nexus_com_rules",
"default": "1"
@@ -183,6 +191,10 @@
"key": "nexus_gift_vouchers_free",
"default": "0"
},
{
"key": "nexus_hosting_allow_change_domain",
"default": "1"
},
{
"key": "nexus_hosting_allow_own_domain",
"default": "1"
@@ -199,6 +211,14 @@
"key": "nexus_hosting_nameservers",
"default": ""
},
{
"key": "nexus_hosting_own_domain_sub",
"default": ""
},
{
"key": "nexus_hosting_own_domains",
"default": ""
},
{
"key": "nexus_hosting_subdomains",
"default": ""
@@ -251,6 +271,14 @@
"key": "nexus_payout_approve",
"default": "1"
},
{
"key": "nexus_payout_max",
"default": ""
},
{
"key": "nexus_payout_max_period",
"default": "[\"1\",\"day\"]"
},
{
"key": "nexus_payout_min",
"default": ""
@@ -263,6 +291,10 @@
"key": "nexus_reg_group",
"default": "0"
},
{
"key": "nexus_require_billing",
"default": "product,giftvoucher,donation,domain,other"
},
{
"key": "nexus_revw_sa",
"default": "0"
@@ -316,11 +348,7 @@
"default": ""
},
{
"key": "support_old_number",
"default": "0"
},
{
"key": "support_old_stat",
"default": "r_last_new_reply"
"key": "reply_request_resolved",
"default": "reopen"
}
]
+1 -1
View File
@@ -1 +1 @@
{"capture":"P0Y0M0DT1H0M0S","sendInvoiceWarnings":"P0Y0M0DT1H0M0S","generateRenewalInvoices":"P0Y0M0DT0H30M0S","expirePurchases":"P0Y0M0DT1H0M0S","expireInvoices":"P0Y0M0DT1H0M0S","supportAutoresolve":"P0Y0M0DT1H0M0S","supportAssignedReminder":"P0Y0M1DT0H0M0S","monitor":"P0Y0M0DT0H5M0S","terminateHosting":"P0Y0M1DT0H0M0S","expectedOutputMonitoring":"P0Y0M0DT0H30M0S"}
{"capture":"P0Y0M0DT1H0M0S","sendInvoiceWarnings":"P0Y0M0DT1H0M0S","generateRenewalInvoices":"P0Y0M0DT0H30M0S","expirePurchases":"P0Y0M0DT1H0M0S","expireInvoices":"P0Y0M0DT1H0M0S","supportAutoresolve":"P0Y0M0DT1H0M0S","supportAssignedReminder":"P0Y0M1DT0H0M0S","monitor":"P0Y0M0DT0H5M0S","terminateHosting":"P0Y0M1DT0H0M0S","expectedOutputMonitoring":"P0Y0M0DT0H30M0S","billingAgreements":"P0Y0M0DT0H10M0S","cartCleanup":"P0Y0M1DT0H0M0S","gatewayPending":"P0Y0M0DT0H2M0S"}
File diff suppressed because it is too large. Load diff
+2 -1
View File
@@ -9,6 +9,7 @@
"sc_tab_key": "custom",
"sc_show_in_vse": 0,
"sc_title": "themesetting_cm_store_view",
"sc_order": 10
"sc_order": 10,
"sc_condition": null
}
]
+75 -1
View File
@@ -124,5 +124,79 @@
"101009": "4.1.0 Beta 10",
"101010": "4.1.0",
"101011": "4.1.1",
"101012": "4.1.2"
"101012": "4.1.2",
"101013": "4.1.3",
"101014": "4.1.3.1",
"101015": "4.1.3.2",
"101016": "4.1.4",
"101017": "4.1.4.1",
"101018": "4.1.5",
"101019": "4.1.5.1",
"101020": "4.1.5.2",
"101021": "4.1.6",
"101022": "4.1.6.1",
"101023": "4.1.7",
"101024": "4.1.8",
"101025": "4.1.8.1",
"101026": "4.1.9",
"101027": "4.1.10",
"101028": "4.1.11",
"101029": "4.1.11.1",
"101030": "4.1.12",
"101031": "4.1.12.1",
"101032": "4.1.12.2",
"101033": "4.1.12.3",
"101034": "4.1.13 Beta 1",
"101035": "4.1.13 Beta 2",
"101036": "4.1.13",
"101037": "4.1.13",
"101038": "4.1.13.1",
"101040": "4.1.13.2",
"101041": "4.1.13.2",
"101042": "4.1.14 Beta 1",
"101043": "4.1.14 Beta 2",
"101044": "4.1.14 Beta 3",
"101045": "4.1.14 Beta 4",
"101046": "4.1.14 Beta 5",
"101049": "4.1.14 Beta 6",
"101050": "4.1.14 Beta 7",
"101051": "4.1.14 RC",
"101052": "4.1.14",
"101053": "4.1.14.1",
"101054": "4.1.14.2",
"101055": "4.1.14.3",
"101056": "4.1.15",
"101057": "4.1.15 Beta 1",
"101058": "4.1.15 Beta 2",
"101059": "4.1.15 Beta 2a",
"101060": "4.1.15 Beta 3",
"101061": "4.1.15",
"101062": "4.1.15",
"101063": "4.1.15",
"101064": "4.1.16 Beta 1",
"101065": "4.1.16 Beta 2",
"101066": "4.1.16 Beta 3",
"101067": "4.1.16 Beta 4",
"101068": "4.1.16 Beta 5",
"101069": "4.1.16",
"101070": "4.1.16.1",
"101071": "4.1.17 Beta 1",
"101072": "4.1.17 Beta 1a",
"101073": "4.1.17 Beta 1b",
"101074": "4.1.17 Beta 2",
"101075": "4.1.17 Beta 3",
"101076": "4.1.17 Beta 3",
"101077": "4.1.17",
"101078": "4.1.17.1",
"101079": "4.1.18 Beta 1",
"101082": "4.1.18 Beta 1b",
"101083": "4.1.18 Beta 2",
"101084": "4.1.18 Beta 3",
"101085": "4.1.18",
"101088": "4.1.18.1",
"101089": "4.1.18.2",
"101090": "4.1.19 Beta 1",
"101091": "4.1.19 Beta 2",
"101092": "4.1.19 Beta 3",
"101093": "4.1.19"
}