Version 4.3.0

This commit is contained in:
Neo committed 2025-12-19 05:47:12 -08:00
1 parent 96997ddd8e
commit fe1acf984a
1349 files changed
+116159 -67711

No files matched your search

+15 -1
View File
@@ -3,7 +3,7 @@
"transactions": {
"tab": "nexus",
"controller": "transactions",
"do": "&filter=tstatus_hold",
"do": "&attn=1",
"restriction": "transactions_manage"
},
"invoices": {
@@ -83,6 +83,20 @@
"restriction": "volume_manage"
}
},
"subscriptions": {
"subscriptions": {
"tab": "nexus",
"controller": "subscriptions",
"do": "",
"restriction": "subscriptions_manage"
},
"subscribers": {
"tab": "nexus",
"controller": "subscribers",
"do": "",
"restriction": "subscribers_manage"
}
},
"store": {
"packages": {
"tab": "nexus",
@@ -175,5 +175,16 @@
"markets": {
"markets_manage": "markets_manage"
}
},
"subscriptions": {
"subscriptions": {
"subscriptions_manage": "subscriptions_manage",
"subscriptions_add": "subscriptions_add",
"subscriptions_edit": "subscriptions_edit",
"subscriptions_delete": "subscriptions_delete"
},
"subscribers": {
"subscribers_manage": "subscribers_manage"
}
}
}
+49 -34
View File
@@ -1,4 +1,28 @@
{
"app=core&module=applications&controller=enhancements&do=edit&id=nexus_EasyPost&searchResult=form_easypost_enable": {
"lang_key": "easypost_enable",
"restriction": "enhancements_manage",
"keywords": [
"easy post",
"easypost"
]
},
"app=core&module=applications&controller=enhancements&do=edit&id=nexus_Enom&searchResult=form_nexus_enom_un": {
"lang_key": "nexus_enom_un",
"restriction": "enhancements_manage",
"keywords": [
"enom",
"hosting"
]
},
"app=core&module=applications&controller=enhancements&do=edit&id=nexus_MaxMind&searchResult=form_maxmind_enable": {
"lang_key": "maxmind_enable",
"restriction": "enhancements_manage",
"keywords": [
"fraud",
"maxmind"
]
},
"app=nexus&module=customers&controller=fields": {
"lang_key": "menu__nexus_customers_fields",
"restriction": null,
@@ -260,16 +284,6 @@
"Validate email on checkout"
]
},
"app=nexus&module=payments&controller=paymentsettings&tab=checkoutsettings&searchResult=form_nexus_https": {
"lang_key": "nexus_https",
"restriction": "checkout_settings",
"keywords": [
"https",
"secure",
"ssl",
"ssl checkout"
]
},
"app=nexus&module=payments&controller=paymentsettings&tab=checkoutsettings&searchResult=form_nexus_require_billing": {
"lang_key": "nexus_require_billing",
"restriction": "paymentsettings_overview",
@@ -713,6 +727,31 @@
"price description"
]
},
"app=nexus&module=subscriptions&controller=subscribers": {
"lang_key": "menu__nexus_subscriptions_subscribers",
"restriction": "subscribers_manage",
"keywords": [
"subscribers"
]
},
"app=nexus&module=subscriptions&controller=subscriptions": {
"lang_key": "menu__nexus_subscriptions_subscriptions",
"restriction": "subscriptions_manage",
"keywords": [
"monetize",
"package",
"subscription"
]
},
"app=nexus&module=subscriptions&controller=subscriptions&do=settings&searchResult=nexus_subs_enabled": {
"lang_key": "nexus_subs_enabled",
"restriction": "subscriptions_manage",
"keywords": [
"member subscription",
"package",
"subscription"
]
},
"app=nexus&module=support&controller=reports": {
"lang_key": "menu__nexus_support_reports",
"restriction": "reports_manage",
@@ -902,29 +941,5 @@
"support statistics",
"support stats"
]
},
"app=core&module=applications&controller=enhancements&do=edit&id=nexus_EasyPost&searchResult=form_easypost_enable": {
"lang_key": "easypost_enable",
"restriction": "enhancements_manage",
"keywords": [
"easy post",
"easypost"
]
},
"app=core&module=applications&controller=enhancements&do=edit&id=nexus_Enom&searchResult=form_nexus_enom_un": {
"lang_key": "nexus_enom_un",
"restriction": "enhancements_manage",
"keywords": [
"enom",
"hosting"
]
},
"app=core&module=applications&controller=enhancements&do=edit&id=nexus_MaxMind&searchResult=form_maxmind_enable": {
"lang_key": "maxmind_enable",
"restriction": "enhancements_manage",
"keywords": [
"fraud",
"maxmind"
]
}
}
+64 -56
View File
@@ -27,7 +27,7 @@
---
{$email->language->addToStack("view_support_request", FALSE)}: {$message->item()->acpUrl()}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>newInvoice</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>newInvoice</template_name><template_content_html><![CDATA[
{$email->language->get('email_new_invoice')}
<br /><br />
@@ -275,7 +275,7 @@
{{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}}{$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[
{{endif}}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>invoiceWarning</template_name><template_content_html><![CDATA[
{$email->language->get('email_expire_warning')}
<br /><br />
@@ -407,7 +407,7 @@
{$email->language->addToStack('ps_expire', FALSE)}: {expression="\IPS\nexus\Purchase::load( $item->id )->expire->localeDate( $invoice->member )"}
---
{{endforeach}}
]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>monitoring_reset</template_name><template_content_html><![CDATA[
]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>monitoring_reset</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
<br />
<br />
@@ -424,7 +424,7 @@
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$server, $encoded, $by, $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_reset_done', FALSE, array( 'sprintf' => array( $server->hostname, $by ) ) )"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>monitoring_eom</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_reset_done', FALSE, array( 'sprintf' => array( $server->hostname, $by ) ) )"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>monitoring_eom</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
<br />
<br />
@@ -443,7 +443,7 @@
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
{expression="$email->language->addToStack( 'monitor_email_eom', FALSE, array( 'sprintf' => array( $rule->url ) ) )"}
]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>invoiceMarkedPaid</template_name><template_content_html><![CDATA[
]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>invoiceMarkedPaid</template_name><template_content_html><![CDATA[
{$email->language->get('email_invoice_paid')} {{if $invoice->hasPhysicalItems()}}{$email->language->get('email_invoice_shipping')}{{endif}}
<br /><br />
@@ -654,13 +654,13 @@
{{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>unsubscribeStaffNotify</template_name><template_content_html><![CDATA[<tr>
{{endif}}]]></template_content_plaintext><template_pinned>0</template_pinned></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 />
</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_pinned>0</template_pinned></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 />
@@ -780,9 +780,9 @@
</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 = $item->getPurchase() AND $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="$purchase->expire->localeDate( $invoice->member )"})
</span>
{{endif}}
</td>
@@ -894,7 +894,7 @@
---
{$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}}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></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 />
@@ -941,7 +941,7 @@
-- {setting="board_name"}
{$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 . ']' ) ) )}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>staffNotifyNote</template_name><template_content_html><![CDATA[{$email->language->addToStack("staffnotify_note_header", FALSE, array( 'sprintf' => array( $message->author()->name ) ) )}<br />
{$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 . ']' ) ) )}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>staffNotifyNote</template_name><template_content_html><![CDATA[{$email->language->addToStack("staffnotify_note_header", FALSE, array( 'sprintf' => array( $message->author()->name ) ) )}<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' bgcolor="#f6f0e4" style="border: 3px solid #ecdcb9;">
@@ -1000,7 +1000,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>staffAssignedReminder</template_name><template_content_html><![CDATA[{$email->language->addToStack("you_have_assigned_support_requests", FALSE)}<br />
{$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_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>staffAssignedReminder</template_name><template_content_html><![CDATA[{$email->language->addToStack("you_have_assigned_support_requests", FALSE)}<br />
<br />
<table width='100%' cellpadding='0' cellspacing='0' border='0'>
{{foreach $requests as $request}}
@@ -1033,7 +1033,7 @@
{$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[
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>payoutComplete</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_payout_message", FALSE, array( 'sprintf' => array( $payout->amount, $payout->date, $payout->gateway ) ) )}
<br />
@@ -1041,7 +1041,7 @@
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$payout, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("email_payout_message", FALSE, array( 'sprintf' => array( $payout->amount, $payout->date, $payout->gateway ) ) )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>transactionApproved</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>transactionApproved</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_thanks_for_order", FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) )}
{{if $invoice->hasPhysicalItems()}}
<br />
@@ -1165,9 +1165,9 @@
</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 = $item->getPurchase() AND $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="$purchase->expire->localeDate( $invoice->member )"})
</span>
{{endif}}
</td>
@@ -1281,30 +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[
-- {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[
{$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 />
{{if $request->department->email}}
{{if $member->member_id}}
{$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}}
{{elseif $member->member_id}}
<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))}
{{if $request->department->email}}
{{if $member->member_id}}
{$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}}
{{elseif $member->member_id}}
{$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[
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></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 />
@@ -1329,7 +1337,7 @@
{expression="$email->language->addToStack( 'monitor_email_offline_panic', FALSE, array( 'sprintf' => $server->hostname ) )"}
{$email->language->addToStack('monitor_email_acknowledge', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=a&server={$server->id}&by={$encoded}
{$email->language->addToStack('monitor_email_reset', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=r&server={$server->id}&by={$encoded}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>staffNotifyReply</template_name><template_content_html><![CDATA[{{if $message->member or !$message->email}}
{$email->language->addToStack('monitor_email_reset', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=r&server={$server->id}&by={$encoded}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>staffNotifyReply</template_name><template_content_html><![CDATA[{{if $message->member or !$message->email}}
{$email->language->addToStack("staffnotify_reply_header", FALSE, array( 'sprintf' => array( $message->author()->name ) ) )}<br />
{{else}}
{$email->language->addToStack("staffnotify_reply_header", FALSE, array( 'sprintf' => array( $message->email ) ) )}<br />
@@ -1394,7 +1402,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[<br />
{$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_pinned>0</template_pinned></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 />
@@ -1514,9 +1522,9 @@
</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 = $item->getPurchase() AND $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="$purchase->expire->localeDate( $invoice->member )"})
</span>
{{endif}}
</td>
@@ -1628,7 +1636,7 @@
---
{$email->language->get('total')}: {$invoiceSummary['total']->toString( $email->language )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>hostingError</template_name><template_content_html><![CDATA[{expression="$email->language->addToStack( 'hosting_error_email_intro', FALSE )"}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>hostingError</template_name><template_content_html><![CDATA[{expression="$email->language->addToStack( 'hosting_error_email_intro', FALSE )"}
<br />
<br />
@@ -1655,11 +1663,11 @@
{expression="$email->language->addToStack( 'menu__nexus_hosting_errors', FALSE )"}: {$url}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>transactionWaiting</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>transactionWaiting</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_transaction_waiting", FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) )}
<br />
<br />
{$email->language->addToStack( 'nexus_gateway_' . $transaction->method->id . '_ins', FALSE )}
{$transaction->method->manualPaymentInstructions( $transaction, 'html' )|raw}
<br />
<br />
@@ -1741,9 +1749,9 @@
</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 = $item->getPurchase() AND $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="$purchase->expire->localeDate( $invoice->member )"})
</span>
{{endif}}
</td>
@@ -1806,7 +1814,7 @@
</table>]]></template_content_html><template_data>$transaction, $invoice, $invoiceSummary, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("email_transaction_waiting", FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) )}
{$email->language->addToStack( 'nexus_gateway_' . $transaction->method->id . '_ins', FALSE )}
{$transaction->method->manualPaymentInstructions( $transaction, 'plaintext' )}
&mdash; {setting="board_name"}
@@ -1849,7 +1857,7 @@
---
{$email->language->get('total')}: {$invoiceSummary['total']->toString( $email->language )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>transactionFailed</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>transactionFailed</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_transaction_failed", FALSE)}
<br />
<br />
@@ -1942,9 +1950,9 @@
</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 = $item->getPurchase() AND $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="$purchase->expire->localeDate( $invoice->member )"})
</span>
{{endif}}
</td>
@@ -2050,7 +2058,7 @@
---
{$email->language->get('total')}: {$invoiceSummary['total']->toString( $email->language )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>commissionRevoked</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>commissionRevoked</template_name><template_content_html><![CDATA[
{{if $item}}
{$email->language->addToStack("email_commission_rev_product", FALSE, array( 'sprintf' => array( $item->name, $commission ) ) )}
{{else}}
@@ -2062,7 +2070,7 @@
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$invoice, $item, $commission, $email</template_data><template_content_plaintext><![CDATA[
{{if $item}}{$email->language->addToStack("email_commission_rev_product_plain", FALSE, array( 'sprintf' => array( $item->name, $commission ) ) )}{{else}}{$email->language->addToStack("email_commission_rev_no_product_plain", FALSE, array( 'sprintf' => array( $commission ) ) )}{{endif}}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>transactionRefunded</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>transactionRefunded</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_transaction_refunded", FALSE)}
<br />
@@ -2146,7 +2154,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 ) AND $purchase = $item->getPurchase()}}
{{if ( $item instanceof \IPS\nexus\Invoice\Item\Renewal ) AND $purchase = $item->getPurchase() AND $purchase->expire}}
<span style="color: #8d8d8d; font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px;">
({$email->language->addToStack('ps_expire', FALSE)}: {expression="$purchase->expire->localeDate( $invoice->member )"})
</span>
@@ -2252,7 +2260,7 @@
---
{$email->language->get('total')}: {$invoiceSummary['total']->toString( $email->language )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>monitoring_acknowledged</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>monitoring_acknowledged</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
<br />
<br />
@@ -2274,7 +2282,7 @@
{expression="$email->language->addToStack( 'monitor_email_acknowledged', FALSE, array( 'sprintf' => array( $server->hostname, $by ) ) )"}
{$email->language->addToStack('monitor_email_reset', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=r&server={$server->id}&by={$encoded}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>staffReply</template_name><template_content_html><![CDATA[{$email->language->addToStack( $message->item()->replies == 1 ? "staffcreate_header" : "staffreply_header", FALSE, array( 'sprintf' => array( $message->author()->name ) ) )}<br />
{$email->language->addToStack('monitor_email_reset', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=r&server={$server->id}&by={$encoded}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>staffReply</template_name><template_content_html><![CDATA[{$email->language->addToStack( $message->item()->replies == 1 ? "staffcreate_header" : "staffreply_header", FALSE, array( 'sprintf' => array( $message->author()->name ) ) )}<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f5f5f5'>
@@ -2306,7 +2314,7 @@
-- {setting="board_name"}
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $message->item()->id . '.' . $message->item()->email_key . ']' ) ) )}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>commissionEarned</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 . ']' ) ) )}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>commissionEarned</template_name><template_content_html><![CDATA[
{{if $item}}
{$email->language->addToStack("email_commission_product", FALSE, array( 'sprintf' => array( $item->name, $commission ) ) )}
{{else}}
@@ -2324,7 +2332,7 @@
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$invoice, $item, $commission, $email</template_data><template_content_plaintext><![CDATA[
{{if $item}}{$email->language->addToStack("email_commission_product_plain", FALSE, array( 'sprintf' => array( $item->name, $commission ) ) )}{{else}}{$email->language->addToStack("email_commission_no_product_plain", FALSE, array( 'sprintf' => array( $commission ) ) )}{{endif}}{{if \IPS\Settings::i()->nexus_payout}}{$email->language->addToStack("email_commission_info_payout", FALSE)}{{else}}{$email->language->addToStack("email_commission_info_no_payout", FALSE)}{{endif}}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>emailConfirmation</template_name><template_content_html><![CDATA[<br />
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>emailConfirmation</template_name><template_content_html><![CDATA[<br />
{$email->language->addToStack("support_confirm_header", FALSE)}<br />
<br />
{{if $request->member}}
@@ -2341,7 +2349,7 @@
{$email->language->addToStack("view_support_request", FALSE)}: {$request->url()}
{{endif}}
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $request->id . '.' . $request->email_key . ']' ) ) )}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>autoresolveWarning</template_name><template_content_html><![CDATA[{$email->language->addToStack("autoresolve_header", FALSE, array( 'sprintf' => array( $request->title ) ) )}<br />
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $request->id . '.' . $request->email_key . ']' ) ) )}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>autoresolveWarning</template_name><template_content_html><![CDATA[{$email->language->addToStack("autoresolve_header", FALSE, array( 'sprintf' => array( $request->title ) ) )}<br />
<br />
{$email->language->addToStack("autoresolve_desc", FALSE, array( 'sprintf' => array( $resolveDay ) ) )}<br />
<br />
@@ -2361,7 +2369,7 @@
{$email->language->addToStack("view_support_request", FALSE)}: {$request->url()}
{$email->language->addToStack("or_you_can_reply", FALSE)}
{{endif}}
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $request->id . '.' . $request->email_key . ']' ) ) )}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>shipment</template_name><template_content_html><![CDATA[
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $request->id . '.' . $request->email_key . ']' ) ) )}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>shipment</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_shipment_done", FALSE, array( 'sprintf' => array( $shipment->invoice->id ) ) )}
<br />
@@ -2378,7 +2386,7 @@
</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>
{$shipment->method->_title}
{$email->language->addToStack( $shipment->method->_titleLanguageKey, FALSE )}
{{if $shipment->tracknumber}}
<br><br>
<strong>{$email->language->addToStack("email_tracking_number", FALSE)}</strong><br>
@@ -2434,7 +2442,7 @@
{$email->language->addToStack("email_tracking_number", FALSE)}: {$shipment->tracknumber}
{{endif}}
{{if $shipment->trackingUrl()}}{$email->language->addToStack("order_track_delivery", FALSE)}: {$shipment->trackingUrl()}{{endif}}
]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>purchaseNotify</template_name><template_content_html><![CDATA[
]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>purchaseNotify</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_purchase_notify", FALSE, array( 'sprintf' => array( $purchase->member->acpUrl(), $purchase->member->cm_name, $purchase->acpUrl(), $purchase->name ) ) )}
<br />
@@ -2483,7 +2491,7 @@
{$email->language->addToStack("email_invoice_number", FALSE)}: {$invoice->id}
{$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[
]]></template_content_plaintext><template_pinned>0</template_pinned></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 />
@@ -2508,7 +2516,7 @@
{expression="$email->language->addToStack('monitor_email_offline', FALSE, array( 'sprintf' => $server->hostname ) )"}
{$email->language->addToStack('monitor_email_acknowledge', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=a&server={$server->id}&by={$encoded}
{$email->language->addToStack('monitor_email_reset', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=r&server={$server->id}&by={$encoded}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>giftVoucher</template_name><template_content_html><![CDATA[
{$email->language->addToStack('monitor_email_reset', FALSE)}: {setting="base_url"}applications/nexus/interface/monitoring/respond.php?a=r&server={$server->id}&by={$encoded}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>nexus</template_app><template_name>giftVoucher</template_name><template_content_html><![CDATA[
{$email->language->addToStack("youve_got_a_giftcard", FALSE)}
<br />
@@ -2633,7 +2641,7 @@
{$email->language->addToStack("email_redeem_blurb_plain", FALSE, array( 'sprintf' => array( $amount ) ) )}
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>nexus</template_app><template_name>monitoring_online</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>monitoring_online</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'monitor_email_intro', FALSE, array( 'sprintf' => \IPS\Settings::i()->board_name ) )"}
<br />
<br />
@@ -2650,11 +2658,11 @@
<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(), $email->language )|raw}
{expression="$email->language->addToStack( 'monitor_email_online', FALSE, array( 'sprintf' => $server->hostname ) )"}]]></template_content_plaintext><template_pinned>0</template_pinned></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() )"}
-----
-- {setting="board_name"}
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $message->item()->id . '.' . $message->item()->email_key . ']' ) ) )}]]></template_content_plaintext></template></emails>
{$email->language->addToStack("support_reply_email_id", FALSE, array( 'sprintf' => array( '[SR' . $message->item()->id . '.' . $message->item()->email_key . ']' ) ) )}]]></template_content_plaintext><template_pinned>0</template_pinned></template></emails>
+8
View File
@@ -149,6 +149,14 @@
"nexus_network_status": {
"friendly": "network-status",
"real": "app=nexus&module=clients&controller=networkStatus"
},
"nexus_subscription": {
"friendly": "subscriptions/{#id}",
"real": "app=nexus&module=subscriptions&controller=subscriptions"
},
"nexus_subscriptions": {
"friendly": "subscriptions",
"real": "app=nexus&module=subscriptions&controller=subscriptions"
}
}
}
+4 -4
View File
@@ -1,8 +1,4 @@
{
"allowStoreRegistrationGuests": {
"type": "C",
"class": "\\IPS\\core\\modules\\front\\system\\register "
},
"register": {
"type": "C",
"class": "\\IPS\\core\\modules\\front\\system\\register"
@@ -18,5 +14,9 @@
"Database": {
"type": "C",
"class": "\\IPS\\Data\\Store\\Database"
},
"frontDispatcher": {
"type": "C",
"class": "\\IPS\\Dispatcher\\Front"
}
}
+386 -133
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="nexus">
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.billingForm.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050"><![CDATA[/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.billingForm.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -53,7 +53,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.register.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.register.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -84,7 +84,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.review.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.review.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -106,9 +106,13 @@
var button = this.scope.find('[data-role=&quot;couponForm&quot;] button[type=&quot;submit&quot;]');
var textbox = this.scope.find('[data-role=&quot;couponForm&quot;] input[type=&quot;text&quot;]');
button.prop('disabled', true);
button.prop('disabled', !textbox.val() );
textbox.on('keyup', function (e) {
button.prop( 'disabled', false );
if ( textbox.val() ) {
button.prop( 'disabled', false );
} else {
button.prop( 'disabled', true );
}
});
},
@@ -117,7 +121,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.shippingForm.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/checkout" javascript_name="ips.checkout.shippingForm.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -140,7 +144,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/clients" javascript_name="ips.clients.referrals.js" javascript_type="controller" javascript_version="102002" javascript_position="1000100">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/clients" javascript_name="ips.clients.referrals.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -169,33 +173,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/customer" javascript_name="ips.customer.stats.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
* ips.nexus.customer.stats.js
*
* Author: Mark Wade
*/
;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.register('nexus.admin.customer.stats', {
/**
* Init
*/
initialize: function () {
var scope = $(this.scope);
ips.getAjax()( scope.attr('data-standingUrl') ).done(function(response){
scope.html( response );
$( document ).trigger( 'contentChange', [ scope ] );
});
},
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.authorizenet.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050"><![CDATA[/**
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.authorizenet.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -255,7 +233,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripe.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050"><![CDATA[/**
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripe.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -268,6 +246,9 @@
ips.controller.register('nexus.global.gateways.stripe', {
stripe: null,
cardNumber: null,
/**
* Init
*/
@@ -280,10 +261,93 @@
* Init
*/
setup: function(){
var self = this;
ips.loader.get( ['https://js.stripe.com/v2/'] ).then(function(){
self.scope.show();
this.stripe = Stripe( this.scope.attr('data-key') );
var elements = this.stripe.elements()
this.cardNumber = elements.create('cardNumber', {
'placeholder': '',
'style': {
'invalid': {
'color': 'inherit'
}
}
});
this.cardNumber.mount( '#elInput_' + $(this.scope).attr('data-id') + '-' + $(this.scope).attr('data-id') + '_card-number' );
this.cardNumber.addEventListener('change', function(event) {
if ( event.error ) {
this.scope.find('[data-role="dummyCard"]').addClass('ipsFieldRow_error');
this.scope.find('[data-warning="number"]').text( event.error.message );
} else {
this.scope.find('[data-role="dummyCard"]').removeClass('ipsFieldRow_error');
this.scope.find('[data-warning="number"]').text('');
}
if ( event.brand != 'unknown' ) {
this.scope.find('.cPayment').css( 'opacity', 0.3 );
switch ( event.brand ) {
case 'visa':
this.scope.find('.cPayment_visa').css( 'opacity', 1 );
break;
case 'mastercard':
this.scope.find('.cPayment_mastercard').parent().css( 'opacity', 1 );
break;
case 'amex':
this.scope.find('.cPayment_american_express').css( 'opacity', 1 );
break;
case 'discover':
this.scope.find('.cPayment_discover').css( 'opacity', 1 );
break;
case 'diners':
this.scope.find('.cPayment_diners_club').css( 'opacity', 1 );
break;
case 'jcb':
this.scope.find('.cPayment_jcb').css( 'opacity', 1 );
break;
}
} else {
this.scope.find('.cPayment').css( 'opacity', 1 );
}
}.bind(this) );
var cardExp = elements.create('cardExpiry', {
'style': {
'invalid': {
'color': 'inherit'
}
}
});
cardExp.mount( '#elInput_' + $(this.scope).attr('data-id') + '-' + $(this.scope).attr('data-id') + '_card-exp' );
cardExp.addEventListener('change', function(event) {
if ( event.error ) {
this.scope.find('[data-role="dummyExp"]').addClass('ipsFieldRow_error');
this.scope.find('[data-warning="exp"]').text( event.error.message );
} else {
this.scope.find('[data-role="dummyExp"]').removeClass('ipsFieldRow_error');
this.scope.find('[data-warning="exp"]').text('');
}
}.bind(this) );
var cardCvc = elements.create('cardCvc', {
'placeholder': '',
'style': {
'invalid': {
'color': 'inherit'
}
}
});
cardCvc.mount( '#elInput_' + $(this.scope).attr('data-id') + '-' + $(this.scope).attr('data-id') + '_card-ccv' );
cardCvc.addEventListener('change', function(event) {
if ( event.error ) {
this.scope.find('[data-role="dummyCcv"]').addClass('ipsFieldRow_error');
this.scope.find('[data-warning="ccv"]').text( event.error.message );
} else {
this.scope.find('[data-role="dummyCcv"]').removeClass('ipsFieldRow_error');
this.scope.find('[data-warning="ccv"]').text('');
}
}.bind(this) );
this.scope.show();
},
/**
@@ -304,31 +368,17 @@
}
/* If we're using a stored card, carry on */
if ( $(this.scope).find('input[name="'+$(this.scope).attr('data-id')+'_card[stored]"]:checked').length && !$(this.scope).find('[data-card="number"]').val().length ) {
if ( $(this.scope).find('input[name="'+$(this.scope).attr('data-id')+'_card[stored]"]:checked').val() > 0 ) {
return;
}
/* Stop the form from actually submitting */
e.preventDefault();
e.stopPropagation();
/* Hide any previous errors */
scope.find('[data-warning]').text('');
/* We need data */
var error = false;
if ( !scope.find('[data-card="number"]').val() ) {
error = true;
scope.find('[data-warning="number"]').text( ips.getString('validation_required') );
}
if ( !scope.find('[data-card="ccv"]').val() ) {
error = true;
scope.find('[data-warning="ccv"]').text( ips.getString('validation_required') );
}
if ( error ) {
return;
}
/* Show the loading icon */
var loading = scope.closest('[data-ipswizard]').find('[data-role="loading"]');
var wizardContainer = scope.closest('[data-ipswizard]').find('[data-role="wizardContent"]');
@@ -351,66 +401,231 @@
.after( loading.show() );
/* Send to Stripe */
var expmonth = scope.find('[data-card="exp_month"]').val();
if ( expmonth && expmonth.length == 1 ) {
expmonth = '0' + expmonth;
}
Stripe.setPublishableKey( scope.attr('data-key') );
Stripe.card.createToken({
number: scope.find('[data-card="number"]').val(),
cvc: scope.find('[data-card="ccv"]').val(),
exp_month: expmonth,
exp_year: scope.find('[data-card="exp_year"]').val(),
name: scope.attr('data-name'),
address_line1: scope.attr('data-address1'),
address_line2: scope.attr('data-address2'),
address_city: scope.attr('data-city'),
address_state: scope.attr('data-state'),
address_zip: scope.attr('data-zip'),
address_country: scope.attr('data-country')
}, function(status,response){
loading.remove();
wizardContainer.show();
if ( response.error ) {
if ( response.error.type == 'card_error' ) {
if ( response.error.param ) {
switch ( response.error.param ) {
case 'number':
scope.find('[data-warning="number"]').text( response.error.message );
break;
case 'exp_month':
case 'exp_year':
scope.find('[data-warning="exp"]').text( response.error.message );
break;
case 'cvc':
scope.find('[data-warning="ccv"]').text( response.error.message );
break;
}
} else {
ips.ui.alert.show({
type: 'alert',
icon: 'warn',
message: response.error.message,
});
}
} else {
ips.ui.alert.show({
type: 'alert',
icon: 'warn',
message: ips.getString('payment_error')
});
}
} else {
scope.closest('form').append( $('<input type="hidden" />').attr( 'name', scope.attr('data-id') + '_card[token]' ).val( response.id ) );
scope.closest('form').submit();
var data = {
type: 'card',
owner: {
address: {
city: scope.attr('data-city'),
country: scope.attr('data-country'),
line1: scope.attr('data-address1'),
line2: scope.attr('data-address2'),
postal_code: scope.attr('data-zip'),
state: scope.attr('data-state')
},
name: scope.attr('data-name')
}
});
};
if ( scope.attr('data-email') ) {
data.owner.email = scope.attr('data-email');
}
if ( scope.attr('data-phone') ) {
data.owner.phone = scope.attr('data-phone');
}
this.stripe.createSource( this.cardNumber, data ).then( _.bind( this.receivedCardSource, this ) );
}
},
/**
* Callback after a Stripe source has been generated for a card
*
* @param {object} result The result
* @returns {void}
*/
receivedCardSource: function( result ) {
/* Init */
var scope = $(this.scope);
var loading = scope.closest('[data-ipswizard]').find('[data-role="loading"]');
var wizardContainer = scope.closest('[data-ipswizard]').find('[data-role="wizardContent"]');
/* If there was an error, show the form again */
if ( result.error ) {
Debug.error(result.error);
loading.remove();
wizardContainer.show();
if ( result.error.type == 'card_error' || result.error.type == 'validation_error' ) {
ips.ui.alert.show({
type: 'alert',
icon: 'warn',
message: result.error.message
});
} else {
ips.ui.alert.show({
type: 'alert',
icon: 'warn',
message: ips.getString('payment_error')
});
}
}
/* Otherwise, process... */
else {
scope.closest('form').append( $('<input type="hidden" />').attr( 'name', scope.attr('data-id') + '_card[token]' ).val( result.source.id ) );
scope.closest('form').submit();
}
},
/**
* Callback after a Stripe source has been generated for 3D Secure
*
* @param {object} result The result
* @returns {void}
*/
received3DSource: function( result ) {
if ( result.source.status != 'pending' ) {
scope.closest('form').submit();
} else {
var scope = $(this.scope);
var loading = scope.closest('[data-ipswizard]').find('[data-role="loading"]');
var wizardContainer = scope.closest('[data-ipswizard]').find('[data-role="wizardContent"]');
scope.closest('form').append( $('<input type="hidden" />').attr( 'name', scope.attr('data-id') + '_card[token]' ).val( result.source.id ) );
window.location = result.source.redirect['url'];
}
},
/**
* Callback when the status of a source changes (i..e the customer has paid, or too much time has passed for them to be able to pay)
*
* @param {int} status Status Code
* @param {Source} source Stripe Source object
* @returns {void}
*/
pollCallback: function( status, source ) {
if ( source.status !== 'pending' ) {
$(this.scope).closest('form').submit();
}
}
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/hosting" javascript_name="ips.nexus.hosting.accountform.js" javascript_type="controller" javascript_version="102002" javascript_position="1000100">/**
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripeamex.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* IPS Community Suite 4
* (c) 2017 Invision Power Services - http://www.invisionpower.com
*
* ips.gateways.stripeamex.js - Stripe Amex Express Checkout Controller
*
* Author: Mark Wade
*/
/* A global function breaks our coding standards, but it's the only way Amex will allow it */
function aecCallbackHandler(response){
jQuery( window ).trigger( 'aecCallbackHandler', response );
};
;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.register('nexus.global.gateways.stripeamex', {
selected: false,
/**
* Init
*/
initialize: function () {
this.setup();
},
/**
* Init
*/
setup: function(){
var self = this;
ips.loader.get( ['https://icm.aexp-static.com/Internet/IMDC/US_en/RegisteredCard/AmexExpressCheckout/js/AmexExpressCheckout.js'] );
$( window ).on( 'aecCallbackHandler', function(e,response) {
$(self.scope).find('input').val( response.token );
$(self.scope).closest('form').submit();
});
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/gateways" javascript_name="ips.gateways.stripepaymentrequest.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* IPS Community Suite 4
* (c) 2017 Invision Power Services - http://www.invisionpower.com
*
* ips.gateways.stripepaymentrequest.js - Stripe Apple Pay Controller
*
* Author: Mark Wade
*/
;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.register('nexus.global.gateways.stripepaymentrequest', {
strile: null,
/**
* Init
*/
initialize: function () {
this.setup();
},
/**
* Init
*/
setup: function(){
this.stripe = Stripe( this.scope.attr('data-key') );
var data = {
country: this.scope.attr('data-country'),
currency: this.scope.attr('data-currency'),
total: {
label: $('meta[property=&quot;og:site_name&quot;]').attr('content'),
amount: parseInt( this.scope.attr('data-amountAsCents') )
}
};
var paymentRequest = this.stripe.paymentRequest(data);
var elements = this.stripe.elements();
var prButton = elements.create('paymentRequestButton', {
paymentRequest: paymentRequest
});
var scope = this.scope;
paymentRequest.canMakePayment().then(function(result) {
if (result) {
prButton.mount( '#paymentrequest-' + scope.attr('id') );
} else {
ips.utils.cookie.set( 'PaymentRequestAPI', 0 );
var paymentMethodRadio = $( '#elRadio_payment_method_' + scope.attr('data-id') );
if ( paymentMethodRadio.length ) {
if ( paymentMethodRadio.is(':checked') ) {
paymentMethodRadio.closest('li').next('li').find('input[type=&quot;radio&quot;]').click();
}
paymentMethodRadio.closest('li').remove();
} else {
window.location = window.location;
}
}
} );
paymentRequest.on('source', function(ev) {
ips.getAjax()( ips.getSetting('baseURL') + 'applications/nexus/interface/gateways/stripe-payrequest.php', { data: { token: ev.source.id, gateway: this.scope.attr('data-id'), currency: this.scope.attr('data-currency'), amount: this.scope.attr('data-amount'), invoice: this.scope.attr('data-invoice') } } )
.done(function(response){
if ( response.success ) {
ev.complete('success');
window.location = response.url;
} else {
ev.complete('fail');
}
})
.fail(function(){
ev.complete('fail');
});
}.bind(this));
},
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/hosting" javascript_name="ips.nexus.hosting.accountform.js" javascript_type="controller" javascript_version="103005" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -442,7 +657,7 @@
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/misc" javascript_name="ips.misc.print.js" javascript_type="controller" javascript_version="102002" javascript_position="1000100">/**
<file javascript_app="nexus" javascript_location="global" javascript_path="controllers/misc" javascript_name="ips.misc.print.js" javascript_type="controller" javascript_version="103005" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -464,7 +679,7 @@
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productoptions.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productoptions.js" javascript_type="controller" javascript_version="103005" javascript_position="1000200"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -519,7 +734,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productselector.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/store" javascript_name="ips.store.productselector.js" javascript_type="controller" javascript_version="103005" javascript_position="1000200"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -579,7 +794,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.cartReview.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.cartReview.js" javascript_type="controller" javascript_version="103005" javascript_position="1000300">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -679,7 +894,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.currencySelect.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.currencySelect.js" javascript_type="controller" javascript_version="103005" javascript_position="1000300">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -719,7 +934,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.giftCard.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150"><![CDATA[/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.giftCard.js" javascript_type="controller" javascript_version="103005" javascript_position="1000300"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -807,7 +1022,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.packagePage.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150"><![CDATA[/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.packagePage.js" javascript_type="controller" javascript_version="103005" javascript_position="1000300"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1021,7 +1236,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.register.js" javascript_type="controller" javascript_version="102002" javascript_position="1000150"><![CDATA[/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/store" javascript_name="ips.store.register.js" javascript_type="controller" javascript_version="103005" javascript_position="1000300"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1170,7 +1385,45 @@
},
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.emailsetup.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/subscriptions" javascript_name="ips.subscriptions.main.js" javascript_type="controller" javascript_version="103005" javascript_position="1000200">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
* ips.subscriptions.main.js - Register form during checkout
*
* Author: Rikki Tissier
*/
;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.register('nexus.front.subscriptions.main', {
initialize: function () {
this.on( 'click', '[data-change-subscription]', this.showAlert );
if ( $(this.scope).attr('data-regform') ) {
this._showRegistrationForm();
}
},
showAlert: function (e) {
e.preventDefault();
ips.ui.alert.show({
type: 'confirm',
message: $( e.currentTarget ).attr('data-change-message'),
icon: 'warn',
callbacks: {
ok: function () {
window.location = $( e.currentTarget ).attr('href');
},
cancel: function () {
return false;
}
}
});
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.emailsetup.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1206,7 +1459,7 @@
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.filterCheckboxSet.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200">/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.filterCheckboxSet.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1259,7 +1512,7 @@
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.list.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.list.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1468,7 +1721,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.message.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.message.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1524,7 +1777,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.metamenu.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.metamenu.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1698,7 +1951,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.multimod.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.multimod.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1798,7 +2051,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.packageInfo.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200">/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.packageInfo.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1847,7 +2100,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.pendingalert.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200">/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.pendingalert.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1874,7 +2127,7 @@
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.replyArea.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.replyArea.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1958,7 +2211,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.request.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200"><![CDATA[/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.request.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2102,7 +2355,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.splitForm.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200">/**
<file javascript_app="nexus" javascript_location="admin" javascript_path="controllers/support" javascript_name="ips.support.splitForm.js" javascript_type="controller" javascript_version="103005" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2171,7 +2424,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/support" javascript_name="ips.support.rate.js" javascript_type="controller" javascript_version="102002" javascript_position="1000200">/**
<file javascript_app="nexus" javascript_location="front" javascript_path="controllers/support" javascript_name="ips.support.rate.js" javascript_type="controller" javascript_version="103005" javascript_position="1000250">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2193,8 +2446,8 @@
}
});
}(jQuery, _));</file>
<file javascript_app="nexus" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="102002" javascript_position="1000250"><![CDATA[ips.templates.set('nexus.store.images', " \
<div class='ipsGrid_span3 ipsAttach ipsImageAttach ipsPad_half ipsAreaBackground_light' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-isImage='1'>\
<file javascript_app="nexus" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="103005" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.store.images', " \
<div class='ipsGrid_span3 ipsAttach ipsImageAttach ipsPad_half ipsAreaBackground_light' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-fileType='image'>\
<ul class='ipsList_inline ipsImageAttach_controls'>\
<li><input type='radio' name='{{field_name}}_primary_image' value='{{id}}' title='{{#lang}}makePrimaryProductImage{{/lang}}' data-ipsTooltip></li>\
<li class='ipsPos_right' data-role='deleteFileWrapper'>\
@@ -2216,7 +2469,7 @@
</div>\
");
]]></file>
<file javascript_app="nexus" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="102002" javascript_position="1000250"><![CDATA[ips.templates.set('nexus.store.productImage', " \
<file javascript_app="nexus" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.store.js" javascript_type="template" javascript_version="103005" javascript_position="1000050"><![CDATA[ips.templates.set('nexus.store.productImage', " \
<a href='{{fullURL}}' data-fullURL='{{fullURL}}' class='cNexusProduct_primaryImage ipsContained' data-ipsLightbox data-ipsLightbox-group='product' data-ipsProductZoom>\
<img src='{{thumbURL}}' class='ipsImage ipsImage_thumb'>\
</a>\
+319 -48
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="nexus" version="102002">
<app key="nexus" version="103005">
<word key="__app_nexus" js="0">Commerce</word>
<word key="menutab__nexus" js="0">Commerce</word>
<word key="menutab__nexus_icon" js="0">usd</word>
@@ -26,13 +26,18 @@
<word key="default_menu_item_my_details" js="0">My Details</word>
<word key="nexus_package_review" js="0">Product Reviews</word>
<word key="__indefart_support_request" js="0">a support request</word>
<word key="__indefart_product" js="0">a product</word>
<word key="__indefart_product_reviews" js="0">a product review</word>
<word key="__defart_support_request" js="0">support request</word>
<word key="__defart_product_reviews" js="0">product review</word>
<word key="__defart_product" js="0">product</word>
<word key="plus_tax_rate" js="0"> + %s</word>
<word key="complete_profile_app__nexus_CustomerFields" js="0">Customer Fields</word>
<word key="profile_step_subaction_customer_fields" js="0">Fields</word>
<word key="complete_profile_customer_fields" js="0">Customer Fields</word>
<word key="product_pl" js="0">Products</word>
<word key="product_pl_lc" js="0">products</word>
<word key="product_groups" js="0">Product Groups</word>
<word key="paid" js="0">paid</word>
<word key="editor__nexus_Admin" js="0">Commerce Settings</word>
<word key="editor__nexus_Customer" js="0">Customer Fields</word>
@@ -56,10 +61,14 @@
<word key="nexus_bm_filters" js="0">Purchases</word>
<word key="nexus_bm_filters_packages" js="0">Member has purchased any of these products</word>
<word key="nexus_bm_filters_packages_none" js="0">Do not filter based on purchases</word>
<word key="nexus_bm_filters_subscription_none" js="0">Do not filter based on subscription</word>
<word key="nexus_bm_filters_type" js="0">Count purchases which are</word>
<word key="nexus_bm_filters_type_active" js="0">Active</word>
<word key="nexus_bm_filters_pkg_expired" js="0">Expired</word>
<word key="nexus_bm_filters_type_expired" js="0">Expired</word>
<word key="nexus_bm_filters_type_canceled" js="0">Canceled</word>
<word key="nexus_bm_filters_pkg_expired_days" js="0">More than</word>
<word key="nexus_bm_filters_pkg_expired_days_suffix" js="0">days ago</word>
<word key="contact_nexus_department" js="0">Create Support Request</word>
<word key="contact_nexus" js="0">Department</word>
<word key="contact_nexus_no_departments" js="0">Send to Commerce department as a Support Request</word>
@@ -98,11 +107,93 @@
<word key="gateway__Test" js="0">Test Gateway</word>
<word key="gateway__Stripe" js="0">Stripe</word>
<word key="stripe_secret_key" js="0">Stripe Secret Key</word>
<word key="stripe_secret_key_desc" js="0"><![CDATA[<a href='{external.stripe_keys}' target='_blank'>Get your keys</a>]]></word>
<word key="stripe_secret_key_desc" js="0"></word>
<word key="stripe_publishable_key" js="0">Stripe Publishable Key</word>
<word key="stripe_type_header" js="0">Payment Method</word>
<word key="stripe_type" js="0">Pay By</word>
<word key="stripe_type_card" js="0">Card</word>
<word key="stripe_type_card_desc" js="0">Users enter their card details directly on the checkout screen.</word>
<word key="stripe_type_native" js="0">Browser Features (Apple Pay / Google Pay)</word>
<word key="stripe_type_native_desc" js="0"><![CDATA[Users with a supported device / browser can use the browser's native features for taking payments (for example, Apple Pay or Google Pay).<br>This option <a href='{external.https}' target='_blank'>requires HTTPS</a>, and for Apple Pay, you also need to <a href='{external.stripe_applepay_register}' target='_blank'>register your domain</a>.]]></word>
<word key="stripe_type_amex" js="0">Amex Express Checkout</word>
<word key="stripe_type_amex_desc" js="0"><![CDATA[Users will be redirected to the Amex Express Checkout website to complete checkout. <a href='{external.stripe_amex_express}' target='_blank'>Learn more about Amex Express Checkout</a>]]></word>
<word key="stripe_amex_client_id" js="0">Amex Express Checkout Client ID</word>
<word key="stripe_amex_client_id_gen" js="0"><![CDATA[<a href='{external.amex_client_id}' target='_blank'>Generate</a>]]></word>
<word key="stripe_type_alipay" js="0">Alipay</word>
<word key="stripe_type_alipay_desc" js="0"><![CDATA[A popular payment method in China. Users will be redirected to the Alipay website to complete checkout. <a href='{external.alipay}' target='_blank'>Learn more about Alipay</a>]]></word>
<word key="stripe_type_bancontact" js="0">Bancontact</word>
<word key="stripe_type_bancontact_desc" js="0"><![CDATA[A popular payment method in Belgium. Users will be redirected to the Bancontact website to complete checkout. <a href='{external.bancontact}' target='_blank'>Learn more about Bancontact</a>]]></word>
<word key="stripe_type_giropay" js="0">Giropay</word>
<word key="stripe_type_giropay_desc" js="0"><![CDATA[A popular payment method in Germany. Users will be redirected to the Giropay website to complete checkout. <a href='{external.giropay}' target='_blank'>Learn more about Giropay</a>]]></word>
<word key="stripe_type_ideal" js="0">iDEAL</word>
<word key="stripe_type_ideal_desc" js="0"><![CDATA[A popular payment method in the Netherlands. Users will be redirected to the iDEAL website to complete checkout. <a href='{external.ideal}' target='_blank'>Learn more about iDEAL</a>]]></word>
<word key="stripe_type_sofort" js="0">SOFORT</word>
<word key="stripe_type_sofort_desc" js="0"><![CDATA[A popular payment method in Europe. Users will be redirected to the SOFORT website to complete checkout. <a href='{external.sofort}' target='_blank'>Learn more about SOFORT</a>]]></word>
<word key="stripe_webhook" js="0">Webhook</word>
<word key="stripe_webhook_blurb" js="0"><![CDATA[You must <a href='{external.stripe_webhooks}' target='_blank'>create a webhook</a> on your Stripe account specifying this URL as the endpoint:<br><pre class='ipsCode'>%s</pre>]]></word>
<word key="stripe_webhook_secret" js="0">Webhook Signing Secret</word>
<word key="stripe_webhook_secret_desc" js="0">When viewing the webhook in your Stripe account you will see a button to reveal the signing secret. The value will not be verified, so ensure the correct secret is provided.</word>
<word key="stripe_basic_settings" js="0">Basic Settings</word>
<word key="stripe_keys" js="0">Keys</word>
<word key="stripe_keys_blurb" js="0"><![CDATA[Provide the Standard API keys from the <a href='{external.stripe_keys}' target='_blank'>API section of your Stripe account</a>.]]></word>
<word key="stripe_type_desc" js="0">To allow users to choose, set up multiple Stripe payment methods.</word>
<word key="stripe_3d_secure" js="0">3D Secure</word>
<word key="stripe_3d_secure_yes" js="0">All cards which support it</word>
<word key="stripe_3d_secure_no" js="0">Only cards which require it</word>
<word key="stripe_3d_secure_desc" js="0"><![CDATA[Also known as Verified by Visa, Mastercard SecureCode, and other brand names, 3D Secure is a system that is used to verify a customer's identity before purchase is completed and transfers the fraud loss liability from the merchant to the cardholder bank in case of fraudulent disputes.<br>While 3D Secure protects you from fraudulent charges, it can also impact your customers' checkout experience by requiring them to complete additional steps.]]></word>
<word key="stripe_cards" js="0">Allow users to store card details?</word>
<word key="stripe_cards_desc" js="0">Card details are stored on Stripe's servers, not your own.</word>
<word key="stripe_cards_desc" js="0">Card details are stored on Stripe's servers, not your own. Note that 3D Secure isn't performed when using a saved card.</word>
<word key="stripe_risk_level" js="0">Stripe risk evaluation: %s</word>
<word key="stripe_debug_action" js="0">[Debug Mode] Action</word>
<word key="stripe_debug_succeeding_charge" js="0">Succeed</word>
<word key="stripe_debug_pending_charge" js="0">Remain Pending</word>
<word key="stripe_debug_failing_charge" js="0">Fail</word>
<word key="stripe_cvc_check_unchecked" js="0">CVC check not performed</word>
<word key="stripe_cvc_check_unavailable" js="0">CVC check unavailable</word>
<word key="stripe_cvc_check_pass" js="0">CVC check passed</word>
<word key="stripe_cvc_check_fail" js="0">CVC check failed</word>
<word key="stripe_address_line1_check_unchecked" js="0">Street address check not performed</word>
<word key="stripe_address_line1_check_unavailable" js="0">Street address check unavailable</word>
<word key="stripe_address_line1_check_pass" js="0">Street address check passed</word>
<word key="stripe_address_line1_check_fail" js="0">Street address check failed</word>
<word key="stripe_address_zip_check_unchecked" js="0">Zip check not performed</word>
<word key="stripe_address_zip_check_unavailable" js="0">Zip check unavailable</word>
<word key="stripe_address_zip_check_pass" js="0">Zip check passed</word>
<word key="stripe_address_zip_check_fail" js="0">Zip check failed</word>
<word key="stripe_3ds_pass" js="0">3DSecure Authenticated</word>
<word key="stripe_3ds_fail" js="0">3DSecure Not Authenticated</word>
<word key="stripe_3ds_not_supported" js="0">3DSecure not supported for this card</word>
<word key="stripe_3ds_not_checked" js="0">3DSecure not checked</word>
<word key="stripe_tokenization_apple_pay" js="0">Apple Pay</word>
<word key="stripe_tokenization_android_pay" js="0">Google Pay</word>
<word key="stripe_tokenization_other" js="0">Tokenization method:</word>
<word key="stripe_details_error" js="0">More details about this transaction could not be retrieved from Stripe. Search for the payment reference in your Stripe dashboard for more information.</word>
<word key="stripe_dispute_error" js="0">More details about this dispute could not be retrieved from Stripe. Search for the payment reference in your Stripe dashboard for more information.</word>
<word key="stripe_dispute_status_needs_response" js="0">This dispute is awaiting your response. The payment has already been reversed, but by proving evidence that the transaction was legitimate, it may be returned to you. Go to your Stripe dashboard to respond.</word>
<word key="stripe_dispute_status_under_review" js="0">You have responded to this dispute and it is now awaiting the customer's bank's decision. The payment has already been reversed, but if the bank devices in your favor, it may be returned to you.</word>
<word key="stripe_dispute_status_warning_needs_response" js="0">This dispute is awaiting your response. At this stage, the payment has not been reversed, but if you do not respond, it may be, so the benefits given to the customer from this purchase have been revoked until the dispute is resolved. Go to your Stripe dashboard to respond.</word>
<word key="stripe_dispute_status_warning_under_review" js="0">You have responded to this dispute and it is now awaiting the customer's bank's decision. At this stage, the payment has not been reversed, but if the bank does not decide in your favor, it may be, so the benefits given to the customer from this purchase have been revoked until the dispute is resolved.</word>
<word key="transaction_dispute_won" js="0">Won Dispute</word>
<word key="transaction_dispute_won_desc" js="0">The dispute was found in your favour and the funds have been returned to you.</word>
<word key="transaction_dispute_lost" js="0">Lost Dispute</word>
<word key="transaction_dispute_lost_desc" js="0">The dispute was upheld and the funds cannot be recovered.</word>
<word key="transaction_dispute_warning_closed" js="0">Investigation Closed</word>
<word key="transaction_dispute_warning_closed_desc" js="0">The inquiry/retrieval has timed out and did not escalate into a full dispute. The payment was not reversed.</word>
<word key="stripe_dispute_reason_duplicate" js="0">The customer claims they were charged multiple times for the same product or service.</word>
<word key="stripe_dispute_reason_fraudulent" js="0">The customer claims that they didn't authorize the payment. This can happen if the card was lost or stolen and used to make a fraudulent purchase, or if the customer doesn't recognize the payment as it appears on the billing statement from their bank.</word>
<word key="stripe_dispute_reason_subscription_canceled" js="0">The customer claims that you continued to charge them after a subscription was canceled.</word>
<word key="stripe_dispute_reason_product_unacceptable" js="0">The customer claims that the product or service was received but was defective, damaged, or not as described.</word>
<word key="stripe_dispute_reason_product_not_received" js="0">The customer claims they did not receive the products or services purchased.</word>
<word key="stripe_dispute_reason_unrecognized" js="0">The customer doesn’t recognize the payment appearing on their card statement.</word>
<word key="stripe_dispute_reason_credit_not_processed" js="0">The customer claims that the purchased product was returned or the transaction was otherwise canceled, but you have not yet provided a refund or credit.</word>
<word key="stripe_dispute_reason_general" js="0">The reason for this dispute is not known (code: general). See your Stripe dashboard for more details.</word>
<word key="stripe_dispute_reason_incorrect_account_details" js="0">The reason for this dispute is not known (code: incorrect_account_details). See your Stripe dashboard for more details.</word>
<word key="stripe_dispute_reason_insufficient_funds" js="0">The reason for this dispute is not known (code: insufficient_funds). See your Stripe dashboard for more details.</word>
<word key="stripe_dispute_reason_bank_cannot_process" js="0">The reason for this dispute is not known (code: bank_cannot_process). See your Stripe dashboard for more details.</word>
<word key="stripe_dispute_reason_debit_not_authorized" js="0">The reason for this dispute is not known (code: debit_not_authorized). See your Stripe dashboard for more details.</word>
<word key="stripe_dispute_reason_customer_initiated" js="0">The reason for this dispute is not known (code: customer_initiated). See your Stripe dashboard for more details.</word>
<word key="stripe_dispute_reference" js="0">Dispute reference</word>
<word key="trans_attention_required" js="0">Action Required</word>
<word key="gateway__AuthorizeNet" js="0">Authorize.Net</word>
<word key="authorizenet_login" js="0">API Login ID</word>
<word key="authorizenet_login_desc" js="0"><![CDATA[<a href='{external.authorizenet_keys}' target='_blank'>Get your login ID and transaction key</a>]]></word>
@@ -145,9 +236,9 @@
<word key="tstatus_okay_set" js="0">Approved</word>
<word key="tstatus_okay_credit" js="0">Paid with account credit</word>
<word key="tstatus_pend" js="0">Pending</word>
<word key="tstatus_pend_desc" js="0">Waiting for user to complete checkout.</word>
<word key="tstatus_pend_desc" js="0"><![CDATA[Waiting for user to complete checkout. If you have received payment, the payment method may not be set up correctly. <a href='{internal.app=nexus&module=payments&controller=paymentsettings&tab=gateways}' target='_blank'>Check your settings</a>, and then mark the invoice associated with this transaction paid to override.]]></word>
<word key="tstatus_wait" js="0">Waiting</word>
<word key="tstatus_wait_desc" js="0">Payment has not yet been received. When payment is received, the transaction will need to be manually approved.</word>
<word key="tstatus_wait_desc" js="0">Payment has not yet been received.</word>
<word key="tstatus_hold" js="0">Held for approval</word>
<word key="tstatus_hold_desc" js="0">Payment has been received but needs to be manually approved.</word>
<word key="tstatus_hold_nc_desc" js="0">Payment has been authorized but not yet captured. It needs to be manually approved.</word>
@@ -167,6 +258,10 @@
<word key="tstatus_prfd_set" js="0">Partially Refunded</word>
<word key="tstatus_gwpd" js="0">Processing</word>
<word key="tstatus_gwpd_desc" js="0">The payment gateway is currently processing this transaction. The status will automatically updated when the gateway has finished processing.</word>
<word key="tstatus_dspd" js="0">Disputed</word>
<word key="tstatus_dspd_desc" js="0">The customer has disputed this transaction. Your response to this dispute is required to avoid the payment being reversed.</word>
<word key="tstatus_dspd_set" js="0">Disputed</word>
<word key="tstatus_dspd_inquiry_set" js="0">Under Investigation by Bank</word>
<word key="transaction_number" js="0">Transaction #%d</word>
<word key="transaction_approve" js="0">Approve</word>
<word key="transaction_capture" js="0"><![CDATA[Capture &amp; Approve]]></word>
@@ -182,6 +277,13 @@
<word key="refund_method_none" js="0">Mark transaction as refused, but do not actually refund</word>
<word key="refund_amount" js="0">Refund Amount</word>
<word key="refund_full" js="0">Full Amount (%s)</word>
<word key="refund_full_remaining" js="0">Remaining Balance (%s)</word>
<word key="refund_reason" js="0">Reason for Refund</word>
<word key="trans_refund_reason" js="0">Reason for Refunding Transaction #%d</word>
<word key="refund_reason_duplicate" js="0">Duplicate transaction</word>
<word key="refund_reason_stripe_fraudulent" js="0">Fraudulent</word>
<word key="refund_reason_stripe_fraudulent_desc" js="0">This will add the card and customer's email addresses to your Stripe Radar blocklist. It will also help Stripe's machine learning systems recognize similar cases in the future.</word>
<word key="refund_reason_requested_by_customer" js="0">Requested by Customer</word>
<word key="refund_invoice_status" js="0">Set Invoice Status</word>
<word key="refund_invoice_paid" js="0">Paid</word>
<word key="refund_invoice_paid_desc" js="0">Nothing on the customer's account will change. Select this option if the refund is a sign of good-will or perk to customer.</word>
@@ -284,6 +386,7 @@
<word key="mailsub__nexus_commissionRevoked" js="0">{$commission} commission reversed</word>
<word key="payment_reference" js="0">Payment reference</word>
<word key="trans_invoice_deleted" js="0">The invoice for this transaction has been deleted.</word>
<word key="amount_refunded" js="0">Refunded</word>
<word key="menu__nexus_payments_paymentsettings" js="0">Settings</word>
<word key="payment_settings" js="0">Payment Settings</word>
<word key="currencies" js="0">Currencies</word>
@@ -295,9 +398,6 @@
<word key="nexus_split_payments_on" js="0">Allow split payments?</word>
<word key="nexus_split_payments_on_desc" js="0">Split payments allow customers to pay for an order using more than one payment method. For example, to split the payment over two different credit cards.</word>
<word key="nexus_split_payments" js="0">Minimum amount for split payments</word>
<word key="nexus_https" js="0">Use a secure connection for checkout?</word>
<word key="nexus_https_desc" js="0">Some payment methods require this to be enabled. In order for this to work, you must have an SSL certificate - for more information, contact your hosting provider.</word>
<word key="nexus_https_err" js="0">SSL does not seem to be working. Contact your hosting provider for assistance.</word>
<word key="nexus_require_billing" js="0">Require customer's real name and Billing Address when</word>
<word key="nexus_require_billing_package" js="0">Purchasing non-physical products</word>
<word key="nexus_require_billing_package_desc" js="0">Purchasing physical products will always require a name, billing address and shipping address.</word>
@@ -403,7 +503,7 @@
<word key="invoice_reissue_confirm" js="0">Reissuing an invoice will change the invoice date to today.</word>
<word key="invoice_reissue_yes" js="0"><![CDATA[Reissue &amp; Send Email]]></word>
<word key="invoice_reissue_no" js="0">Reissue</word>
<word key="invoice_delete_warning" js="0">Deleting an invoice will delete the record only. You may want to cancel the invoice first.</word>
<word key="invoice_delete_warning" js="0">Deleting an invoice will delete the record only. You may want to cancel the invoice first if you haven't already.</word>
<word key="invoice_unpaid_consequences" js="0">Marking this invoice as no longer paid will have the following effects:</word>
<word key="invoice_unpaid_purchases" js="0">The following purchases will be deleted:</word>
<word key="invoice_unpaid_shipments" js="0">The following shipments will be deleted:</word>
@@ -452,15 +552,16 @@
<word key="invoice_settings" js="0">Invoice Settings</word>
<word key="cm_invoice_generate" js="0">Generate renewal invoices</word>
<word key="cm_invoice_generate_suffix" js="0">days before expiry date</word>
<word key="cm_invoice_warning" js="0">Warn customer if automatic payment will be taken</word>
<word key="cm_invoice_warning" js="0">Warn customer about purchases due to expire</word>
<word key="cm_invoice_warning_suffix" js="0">days before payment will be taken</word>
<word key="cm_invoice_warning_desc" js="0">If a customer has a Billing Agreement, account credit or a card on file, payment will be taken automatically. An email will be sent to the user to warn them of this.</word>
<word key="cm_invoice_warning_desc" js="0"><![CDATA[If the product has a custom email set to send when the purchase will expire soon, this setting controls when that is set.<br>For all other purchases, an email is only sent if a customer has account credit or a card on file (i.e. when payment will be taken automatically).]]></word>
<word key="cm_invoice_expireafter" js="0">Invoices must be paid within</word>
<word key="cm_invoice_expireafter_desc" js="0">When a customer places an order through the store, or a purchase they have previously purchased is due to expire, an invoice is generated. You may want to set a time limit on how long a customer has to pay the invoice so that if you change the price of a product in your store, a customer with an old invoice cannot pay the older invoice with the old price, or so customers cannot renew previously expired purchases.</word>
<word key="invoice_flow" js="0">Invoice Flow</word>
<word key="invoice_flow_visualise" js="0"><![CDATA[<a href='{internal.app=nexus&module=payments&controller=invoiceTimeline}' data-ipsDialog data-ipsDialog-title='Invoice Flow'>See a timeline of how these settings work together</a>]]></word>
<word key="payment" js="0">Payment</word>
<word key="secure_payment" js="0">Secure Payment</word>
<word key="secure_page" js="0">This page is secure</word>
<word key="renewal_invoices" js="0">Renewal Invoices</word>
<word key="acplogs__invoice_settings" js="0">Updated invoice settings</word>
<word key="invoice_layout" js="0">Layout</word>
@@ -477,10 +578,10 @@
<word key="invoice_timeline_grace_time" js="0">Purchase expiration date</word>
<word key="invoice_timeline_grace_event" js="0"><![CDATA[If the purchase has an associated Billing Agreement, payment is taken.<br>If the purchase has not been renewed, it enters a grace period where it is beyond its expiration date but still considered active. The length of the grace period can be set in the product settings.<br>If the customer pays the invoice now, the <strong>current</strong> expiration date is extended by one renewal term.]]></word>
<word key="invoice_timeline_expire_time" js="0">After grace period</word>
<word key="invoice_timeline_expire_event" js="0"><![CDATA[The purchase expires and any benefits given by the purchase are revoked.<br>If the customer pays the invoice now, the purchase is reactivated and <strong>a new</strong> expiry date is set to one renewal period from the current date.]]></word>
<word key="invoice_timeline_expire_event" js="0"><![CDATA[The purchase expires and any benefits given by the purchase are revoked. If the product has a custom email set to send when the purchase expires, that email is sent.<br>If the customer pays the invoice now, the purchase is reactivated and <strong>a new</strong> expiry date is set to one renewal period from the current date.]]></word>
<word key="invoice_timeline_invoice_exp_time" js="0">{# [1:day][?:days]} after invoice was generated</word>
<word key="invoice_timeline_invoice_exp_event" js="0">If the invoice has still not been paid, it expires and can no longer be paid. To renew, an invoice would need to be manually generated in the AdminCP.</word>
<word key="invoice_timeline_credit" js="0"><![CDATA[If a customer has account credit or a card on file, an email is sent to warn them that payment will shortly be taken automatically.<br>If the purchase has an associated Billing Agreement, an email will be sent before the purchase expiration.]]></word>
<word key="invoice_timeline_credit" js="0"><![CDATA[If the product has a custom email set to send when the purchase will expire soon, that email is sent.<br>Otherwise, if a customer has account credit or a card on file, an email is sent to warn them that payment will shortly be taken automatically.]]></word>
<word key="ba_gw_id" js="0">Billing Agreement ID</word>
<word key="ba_started" js="0">Creation Date</word>
<word key="ba_next_cycle" js="0">Next Payment</word>
@@ -616,6 +717,7 @@
<word key="card_number_invalid" js="0">That is not a valid card number.</word>
<word key="card_expire" js="0">Expiration Date</word>
<word key="card_expires" js="0">Expires</word>
<word key="card_expires_lc" js="0">expires</word>
<word key="card_expire_expired" js="0">The card has expired.</word>
<word key="card_ccv" js="0">Security Code</word>
<word key="card_ccv_desc" js="0">Last 3 digits on back of card or 4 digits on front for American Express</word>
@@ -624,9 +726,11 @@
<word key="ccv_invalid_3" js="0">Security code invalid. Should be the last 3 digits on the signature strip on the back of the card.</word>
<word key="ccv_invalid_4" js="0">Security code invalid. Should be the last 4 digits in the top-right corner on the front of the card.</word>
<word key="gateway_err" js="0">There was an error processing the payment. Please try a different payment method or contact us for assistance.</word>
<word key="card_origin" js="0">Origin:</word>
<word key="card_refused" js="0">Your card was declined. Please try a different card or contact your card issuer for assistance.</word>
<word key="payment_refused" js="0">Your payment was refused by the payment processor. Please try a different payment method, or contact us for further assistance.</word>
<word key="card_bad_type" js="0">We do not accept %s cards</word>
<word key="card_is_duplicate" js="0">That card is already on saved to your account.</word>
<word key="card_types" js="0">We accept %s</word>
<word key="card_type" js="0">Type</word>
<word key="card_type_visa" js="0">Visa</word>
@@ -779,7 +883,7 @@
<word key="f_maxmind_phone_match_warning" js="0">The phone number can only be checked if it is provided; if this setting is enabled and it is not provided, this entire fraud rule will be skipped. You may want to set it to be required.</word>
<word key="f_maxmind_riskyemail" js="0">Customer is using a known high-risk email address</word>
<word key="f_blurb_action_ban" js="0">Ban customer</word>
<word key="f_blurb_join" js="0"><![CDATA[, and<br>]]></word>
<word key="f_blurb_join" js="0">, and</word>
<word key="f_blurb_amount" js="0">Transaction amount is %s %s</word>
<word key="f_blurb_methods" js="0">Payment method is %s</word>
<word key="f_blurb_coupon_y" js="0">Coupon is used</word>
@@ -811,7 +915,8 @@
<word key="f_customer_spend" js="0">Total previous spend</word>
<word key="f_customer_spend_desc" js="0">Only counts approved, non-refunded transactions</word>
<word key="f_blurb_customer_spend" js="0">Customer has previously spent %s %s</word>
<word key="fraud_rule_conflict" js="0"><![CDATA[The rule <em>%s</em> will never be used because all transactions which match it will also match <em>%s</em>.<br>Rules are checked in the order listed and the <strong>last</strong> rule in the list that matches all conditions will be used. You should reorder your rules to ensure the desired actions are taken.]]></word>
<word key="fraud_rule_blurb" js="0">Each rule is checked in the order they are shown here until a match is found, after which none of the subsequent rules will be checked. Be sure to order rules correctly to ensure the desired actions are taken.</word>
<word key="fraud_rule_conflict" js="0"><![CDATA[This will never be used because all transactions which match it will also match <em>%s</em>. You should reorder your rules to ensure the desired actions are taken.]]></word>
<word key="triggered_fraud_rule" js="0">Triggered Fraud Rule</word>
<word key="f_last_okay_trans" js="0">Last successful transaction</word>
<word key="f_last_okay_trans_suffix" js="0">days ago</word>
@@ -827,6 +932,7 @@
<word key="f_blurb_custom_discrete" js="0">%s is %s</word>
<word key="f_blurb_custom_text" js="0">%s %s %s</word>
<word key="f_blurb_custom_numeric" js="0">%s is %s %s</word>
<word key="f_has_preceeding" js="0">None of the above rules match</word>
<word key="customerTable_cm_first_name" js="0">First Name</word>
<word key="customerTable_cm_last_name" js="0">Last Name</word>
<word key="customerTable_email" js="0">Email address</word>
@@ -869,13 +975,14 @@
<word key="edit_note" js="0">Edit Note</word>
<word key="void_account" js="0">Void Account</word>
<word key="void_refund_transactions" js="0">Refund all transactions?</word>
<word key="void_cancel_billing_agreements" js="0">Cancel all billing agreements?</word>
<word key="void_cancel_purchases" js="0">Cancel all purchases?</word>
<word key="void_cancel_invoices" js="0">Cancel all unpaid invoices?</word>
<word key="void_resolve_support" js="0">Resolve all support requests?</word>
<word key="void_ban_account" js="0">Ban account?</word>
<word key="void_add_note" js="0">Add Note</word>
<word key="void_add_note_placeholder" js="0">Click to add note to the account...</word>
<word key="void_account_warning" js="0">This action is irreversible.</word>
<word key="void_account_warning" js="0"><![CDATA[This tool provides a quick way to undo any purchases an account has made, which is especially useful if the account has been used for fraud. <strong>This action is irreversible.</strong>]]></word>
<word key="void_account_fails" js="0">The following transactions could not be refunded with the gateway:</word>
<word key="above_average" js="0">Above average</word>
<word key="below_average" js="0">Below average</word>
@@ -893,11 +1000,11 @@
<word key="edit_information" js="0">Edit Information</word>
<word key="customer_since" js="0">Customer since %s</word>
<word key="manage_notes" js="0">Manage Notes</word>
<word key="manage_credit_cards" js="0">Manage Credit Cards</word>
<word key="manage_billing_agreements" js="0">Manage Billing Agreements</word>
<word key="customer_manage_cards" js="0">Manage Credit Cards</word>
<word key="customer_manage_paypal" js="0">Manage Billing Agreements</word>
<word key="billing_agreements" js="0">Billing Agreements</word>
<word key="manage_contacts" js="0">Manage Contacts</word>
<word key="manage_referrals" js="0">Manage Referrals</word>
<word key="customer_manage_alts" js="0">Manage Contacts</word>
<word key="customer_manage_referrers" js="0">Manage Referrals</word>
<word key="recent_account_activity" js="0">Recent Account Activity</word>
<word key="see_all_history" js="0">See all activity</word>
<word key="view_account" js="0">View Account</word>
@@ -919,6 +1026,7 @@
<word key="referred_by" js="0">Referred by</word>
<word key="history_added_note" js="0">Note added %s</word>
<word key="history_edited_note" js="0">Note edited %s</word>
<word key="history_deleted_note" js="0">Note deleted %s</word>
<word key="nexus_no_security_answers" js="0">No Security Answers</word>
<word key="loading_customer_stats" js="0">Loading customer stats...</word>
<word key="customer_tab_overview" js="0">Account Information</word>
@@ -928,6 +1036,7 @@
<word key="customer_tab_referrers" js="0">Referrers</word>
<word key="revenue_past_12_months" js="0">Revenue, 12 months to date</word>
<word key="customer_no_history" js="0">There is no history to show for this customer.</word>
<word key="memberACPProfileTitle_nexus_Main" js="0">Customer View</word>
<word key="menu__nexus_customers_fields" js="0">Custom Fields</word>
<word key="nexus_customer_fields" js="0">Customer Fields</word>
<word key="customer_field_registration" js="0">Registration</word>
@@ -954,6 +1063,7 @@
<word key="history_transaction_status_hold" js="0">held for manual approval</word>
<word key="history_transaction_status_revw" js="0">flagged for review</word>
<word key="history_transaction_status_fail" js="0">refused</word>
<word key="history_transaction_status_dspd" js="0">disputed</word>
<word key="history_transaction_refunded" js="0">%s refunded to %s%s.</word>
<word key="history_transaction_part_refunded" js="0">%s of %s refunded to %s%s.</word>
<word key="history_transaction_refunded_gateway" js="0">gateway</word>
@@ -967,6 +1077,8 @@
<word key="history_purchase_edited" js="0">%s edited%s.</word>
<word key="history_purchase_renewals_changed" js="0">%s renewal terms changed%s to %s.</word>
<word key="history_purchase_renewals_removed" js="0">%s renewal terms removed%s.</word>
<word key="history_purchase_never_expire" js="0">%s made to never expire%s.</word>
<word key="history_purchase_restored_expire" js="0">%s made to expire as normal%s.</word>
<word key="history_purchase_transfer_from" js="0">%s transferred to %s%s.</word>
<word key="history_purchase_transfer_to" js="0">%s transferred from %s%s.</word>
<word key="history_purchase_canceled" js="0">%s canceled%s.</word>
@@ -1051,6 +1163,7 @@
<word key="view_original_invoice" js="0">View original invoice</word>
<word key="purchase_associated_invoices" js="0">Associated Invoices</word>
<word key="purchase_renewal_commission" js="0">%s%% of the renewal fee goes to %s.</word>
<word key="purchase_renewal_commission_fee" js="0">%s%% of the renewal fee, minus a %s transaction fee, goes to %s.</word>
<word key="package_product" js="0">Product</word>
<word key="group_with_parent" js="0">Group With Parent</word>
<word key="group_with_parent_info" js="0">This purchase will be grouped with its parent creating a single purchase. A single renewal term will be created and you will only be able to perform actions (renew, cancel, etc.) on the grouped purchase not its individual components. Any pending invoices will be canceled as they're no longer valid.</word>
@@ -1201,6 +1314,7 @@
<word key="r__requests_block_sev" js="0">Can revoke/restore members' permission to set severities?</word>
<word key="r__requests_ratings" js="0">Can see the ratings that customers have given on support replies?</word>
<word key="r__requests_ratings_feedback" js="0">Can see the feedback that customers have given on support replies? (Requires permission to see ratings)</word>
<word key="already_rated" js="0">You have already rated this response</word>
<word key="r__customers" js="0">Customers</word>
<word key="r__customers_view" js="0">Can view customers?</word>
<word key="r__customers_edit_details" js="0">Can edit customer details?</word>
@@ -1228,8 +1342,8 @@
<word key="r__markets_manage" js="0">Can view market reports?</word>
<word key="r__packages" js="0">Products</word>
<word key="r__packages_manage" js="0">Can view products?</word>
<word key="r__packages_add" js="0">Can create new products?</word>
<word key="r__packages_edit" js="0">Can edit products?</word>
<word key="r__packages_add" js="0">Can create new products? (Note products can be configured to move purchasers into a different group)</word>
<word key="r__packages_edit" js="0">Can edit products? (Note products can be configured to move purchasers into a different group)</word>
<word key="r__packages_delete" js="0">Can delete products?</word>
<word key="r__coupons" js="0">Coupons</word>
<word key="r__coupons_manage" js="0">Can view coupons?</word>
@@ -1278,7 +1392,6 @@
<word key="task__supportAssignedReminder" js="0">Sends a reminder email to staff members who have open support requests assigned to them.</word>
<word key="task__terminateHosting" js="0">Removes expired hosting accounts.</word>
<word key="task__cartCleanup" js="0">Removes abandoned cart data.</word>
<word key="support" js="0">Support</word>
<word key="my_support_requests" js="0">My Support Requests</word>
<word key="menu__nexus_support" js="0">Support</word>
<word key="support_title" js="0">Title</word>
@@ -1347,6 +1460,7 @@
<word key="hosting_info" js="0">Hosting</word>
<word key="show_fewer_rows" js="0">Show fewer rows</word>
<word key="show_x_rows" js="0">Show {# [1:more row][?:more rows]}</word>
<word key="note_added_sent_to" js="0">Your note has been added and the request has been sent to %s.</word>
<word key="menu__nexus_support_settings" js="0">Settings</word>
<word key="support_settings" js="0">Support Settings</word>
<word key="departments" js="0">Departments</word>
@@ -1357,6 +1471,7 @@
<word key="dpt_packages" js="0">Associable products</word>
<word key="dpt_packages_desc" js="0">The products that a customer can select as being related to the support request. For example, for a support or returns department, you might choose the products that apply.</word>
<word key="do_not_associate_requests" js="0">Do not associate requests with products</word>
<word key="do_not_associate_sub_requests" js="0">Do not associate requests with subscription packages</word>
<word key="dpt_require_package" js="0">Require an associated purchase?</word>
<word key="dpt_email" js="0">Email Address</word>
<word key="dpt_email_desc" js="0"><![CDATA[If you have set up <a href='{internal.app=nexus&module=support&controller=settings&tab=incomingemail}'>incoming email</a>, emails received by this address will be sent to this department. When a staff member replies, the email will be sent from this address.]]></word>
@@ -1483,6 +1598,7 @@
<word key="nexus_support_satisfaction" js="0">Enable Customer Feedback?</word>
<word key="nexus_support_satisfaction_desc" js="0">Allows customers to rate staff responses and leave notes.</word>
<word key="acplogs__customerfeedback_settings" js="0">Updated customer feedback settings</word>
<word key="dpt_subscriptions" js="0">Associable subscriptons</word>
<word key="incoming_email_setup" js="0">Incoming Email Setup</word>
<word key="ie_splash_intro" js="0"><![CDATA[The support system can read emails, allowing you to use all of the power of support requests but in a way which to customers appears to be a normal email conversation. Each <a href='{internal.app=nexus&module=support&controller=settings&tab=departments}'>department</a> has its own email address.]]></word>
<word key="ie_splash_methods" js="0">Emails can read in severals ways:</word>
@@ -1784,7 +1900,7 @@
<word key="latest_feedback" js="0">Latest Feedback</word>
<word key="menu__nexus_store" js="0">Store</word>
<word key="menu__nexus_store_packages" js="0">Products</word>
<word key="menu__nexus_store_packages_add_child" js="0">Create Product in this Group</word>
<word key="product_groups_add_child" js="0">Create Product in this Group</word>
<word key="product" js="0">Product</word>
<word key="create_new_group" js="0">Create New Group</word>
<word key="pg_name" js="0">Name</word>
@@ -1852,6 +1968,30 @@
<word key="p_downgrade_refund_full_desc" js="0">For example, if the product is priced $20 and the customer downgrades to a product priced $15, they will be refunded $5.</word>
<word key="p_downgrade_refund_prorate" js="0">Difference between the renewal prices pro rata.</word>
<word key="p_downgrade_refund_prorate_desc" js="0">For example, if this product has a renewal charge of $20 per month and a customer has had it for half a month, and downgrades to a product which has a renewal charge of $10 per month, they will be refunded the difference ($10) for the remaining half month, $5.</word>
<word key="package_custom_emails" js="0">Custom Emails</word>
<word key="package_custom_emails_blurb" js="0">The emails defined here will be sent for each purchase, so if a customer purchases more than one of this product, they will receive more than one email.</word>
<word key="p_email_purchase_type" js="0">Send email after purchase?</word>
<word key="p_email_purchase_type_desc" js="0"><![CDATA[This will be sent <em>in addition to</em> the payment confirmation email for the entire order.]]></word>
<word key="p_email_none" js="0">No</word>
<word key="p_email_wysiwyg" js="0">Yes - use WYSIWYG editor</word>
<word key="p_email_html_template" js="0">Yes - use HTML with normal email template</word>
<word key="p_email_html_raw" js="0">Yes - use HTML with no template</word>
<word key="p_email_purchase_subject" js="0">Email subject for after purchase</word>
<word key="p_email_purchase_html" js="0">Email content for after purchase</word>
<word key="p_email_purchase_wysiwyg" js="0">Email content for after purchase</word>
<word key="p_email_expire_soon_type" js="0">Send email when purchase will expire soon?</word>
<word key="p_email_expire_soon_type_desc" js="0"><![CDATA[This will be sent <em>instead of</em> the <a href='{internal.app=nexus&module=payments&controller=invoices&do=settings&searchResult=cm_invoice_warning}' target='_blank'>email about automatic payment</a> so it is best to mention that payment will be taken automatically if the customer has account credit, a card on file or a Billing Agreement.]]></word>
<word key="p_email_expire_soon_subject" js="0">Email subject for when purchase will expire soon</word>
<word key="p_email_expire_soon_html" js="0">Email content for when purchase will expire soon</word>
<word key="p_email_expire_soon_wysiwyg" js="0">Email content for when purchase will expire soon</word>
<word key="p_email_expire_type" js="0">Send email when purchase expires?</word>
<word key="p_email_expire_subject" js="0">Email subject for when purchase expires</word>
<word key="p_email_expire_html" js="0">Email content for when purchase expires</word>
<word key="p_email_expire_wysiwyg" js="0">Email content for when purchase expires</word>
<word key="p_email_preview_example" js="0">Example</word>
<word key="p_email_tag_expire" js="0">Expiry Date</word>
<word key="p_email_tag_field" js="0">Custom field value (replace 1 with field ID)</word>
<word key="p_email_tag_url" js="0">URL to client area page</word>
<word key="package_benefits" js="0">Purchase Benefits</word>
<word key="p_primary_group" js="0">Move customer into group</word>
<word key="p_primary_group_desc" js="0"><![CDATA[You can specify certain groups as protected, from which members will not be moved out, from the <a href='{internal.app=nexus&module=store&controller=settings}'>store settings</a>.]]></word>
@@ -1871,7 +2011,7 @@
<word key="lkey_Standard" js="0">Standard (XXXX-XXXX-XXXX-XXXX-XXXX)</word>
<word key="lkey_Mdfive" js="0">MD5 (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)</word>
<word key="p_lkey_uses" js="0">Number of times license key can be used</word>
<word key="p_lkey_uses_desc" js="0"><![CDATA[Affects how the <a href='{external.licenseapi}'>License Key API</a> will handle activate requests.]]></word>
<word key="p_lkey_uses_desc" js="0"><![CDATA[Affects how the <a href='{external.licenseapi}' target='_blank'>License Key API</a> will handle activate requests.]]></word>
<word key="p_lkey_identifier" js="0">Identifier</word>
<word key="p_lkey_identifier_desc" js="0">If specified, this value will need to be provided in all API calls along with the license key.</word>
<word key="lkey_identifier_none" js="0">No identifier</word>
@@ -1913,7 +2053,7 @@
<word key="discount_of" js="0">OF</word>
<word key="discount_then" js="0">THEN</word>
<word key="discount_purchasing" js="0">Number already in cart is</word>
<word key="package_store" js="0"><![CDATA[Store & Purchase Settings]]></word>
<word key="package_store" js="0">Store Settings</word>
<word key="package_store_permissions" js="0">Store Permissions</word>
<word key="package_store_display" js="0">Store Display</word>
<word key="package_client_area" js="0">Client Area Settings</word>
@@ -1968,6 +2108,7 @@
<word key="change_renew_ba_skip" js="0">Skip purchases which have Billing Agreements</word>
<word key="change_renew_ba_cancel" js="0">Cancel Billing Agreements</word>
<word key="change_renew_ba_go_back" js="0">Go back and change options</word>
<word key="p_set_discounts" js="0">Set discounts</word>
<word key="menu__nexus_store_fields" js="0">Custom Fields</word>
<word key="cf_packages" js="0">Products</word>
<word key="cf_sticky" js="0">Used to identify purchases?</word>
@@ -2478,8 +2619,8 @@
<word key="server_monitor_icon" js="0">Status</word>
<word key="server_hostname" js="0">Hostname</word>
<word key="server_cpanel_username" js="0">Username</word>
<word key="server_cpanel_key" js="0">CPanel Remote Access Key</word>
<word key="server_cpanel_key_desc" js="0"><![CDATA[<a href='{external.cpanel_key}' target='_blank'>Help</a>]]></word>
<word key="server_cpanel_key" js="0">CPanel Remote Access Key / API Token</word>
<word key="server_cpanel_key_desc" js="0"><![CDATA[If you are using CPanel Version 62 or lower, you will need to use a <a href='{external.cpanel_key}' target='_blank'>Remote Access Key</a>. If you are using CPanel Version 64 or higher, then you will need to use an <a href='{external.cpanel_api_token}' target='_blank'>API Token</a>. <a href='{external.cpanel_auth_change}' target='_blank'>Learn More</a>]]></word>
<word key="server_cpanel_key_hostname_err" js="0">The server accepted the key but is reporting a different hostname (%s) to the one provided. Check that you have provided the correct server details.</word>
<word key="server_cpanel_call" js="0">Send API calls to</word>
<word key="server_max_accounts" js="0">Maximum Accounts</word>
@@ -2741,6 +2882,8 @@
<word key="nexus_report_income_by_method" js="0">%s Income by Method</word>
<word key="menu__nexus_reports_income" js="0">Income</word>
<word key="nexus_report_income_totals" js="0">Total Income</word>
<word key="nexus_report_income_members" js="0">Top Customers</word>
<word key="nexus_report_income_by_member" js="0">%s Top Customers</word>
<word key="performance_rated_by" js="0">%s rated a reply by %s</word>
<word key="module__nexus_promotion" js="0">Referrals</word>
<word key="menu__nexus_customers_referrals" js="0">Referrals</word>
@@ -2760,8 +2903,8 @@
<word key="rrule_purchase_amount" js="0">Is worth</word>
<word key="rrule_purchase_any" js="0">And is for</word>
<word key="rrule_purchase_any_nr" js="0">Anything, including non-store purchases such as donations, Downloads files, etc.</word>
<word key="rrule_purchase_any_all" js="0">All of the products I will specify</word>
<word key="rrule_purchase_any_any" js="0">Any of the products I will specify</word>
<word key="rrule_purchase_any_all" js="0"><![CDATA[<strong>All</strong> of the products I will specify...]]></word>
<word key="rrule_purchase_any_any" js="0"><![CDATA[<strong>Any</strong> of the products I will specify...]]></word>
<word key="rrule_purchase_packages" js="0">Products</word>
<word key="rrule_purchase_renewal" js="0">Including renewals of the specified products?</word>
<word key="rrule_commission_header" js="0">Then award the referrer...</word>
@@ -2817,7 +2960,7 @@
<word key="email_shipping_note" js="0">We will send you another email when your {!# [1:item has][?:items have]} been dispatched.</word>
<word key="email_transaction_refunded" js="0">This is to let you know that we have refunded your payment for the invoice shown below. If you weren't expecting a refund, your order likely failed our fraud prevention steps.</word>
<word key="email_transaction_failed" js="0">Unfortunately, there was a problem accepting your payment. Please review your order below, then try submitting your payment again by clicking the Pay Now button.</word>
<word key="email_transaction_waiting" js="0">Thank you for your order at %s. Your order is awaiting your payment, and instructions for doing so are noted below. We will email you further information on your order once payment is received.</word>
<word key="email_transaction_waiting" js="0">Thank you for your order at %s. Your order is awaiting your payment. We will email you further information on your order once payment is received.</word>
<word key="email_held_approval" js="0"><![CDATA[Thank you for your order. Your payment for the invoice detailed below has been received and is <strong>currently being held for review</strong>.<br>
At this stage, no further action is required from you. We will send you an additional email once your payment has been approved.]]></word>
<word key="email_held_approval_plain" js="0">Thank you for your order. Your payment for the invoice detailed below has been received and is currently being held for review. At this stage, no further action is required from you. We will send you an additional email once your payment has been approved.</word>
@@ -2935,32 +3078,160 @@ At this stage, no further action is required from you. We will send you an addit
<word key="__api_nexus_lkey" js="0">License Keys</word>
<word key="support_request_pl" js="0">Support Requests</word>
<word key="support_request_pl_lc" js="0">support requests</word>
<word key="moving_customer_history" js="0">Moving Customer History to Member History</word>
<word key="MFA_nexus_AccountCredit" js="0">Viewing, withdrawing or topping up account credit</word>
<word key="MFA_nexus_Addresses" js="0">Managing addresses</word>
<word key="MFA_nexus_Alternatives" js="0">Managing alternative contacts</word>
<word key="MFA_nexus_BillingAgreements" js="0">Managing PayPal billing agreements</word>
<word key="MFA_nexus_BillingInfo" js="0">Editing personal billing information</word>
<word key="MFA_nexus_Cards" js="0">Managing stored cards</word>
<word key="log_type_title_invoice" js="0">Invoice Created / Changed</word>
<word key="log_type_title_transaction" js="0">Transaction Created / Changed</word>
<word key="log_type_title_shipping" js="0">Shipping Created / Changed</word>
<word key="log_type_title_purchase" js="0">Purchase Created / Changed</word>
<word key="log_type_title_comission" js="0">Commission Added / Removed</word>
<word key="log_type_title_giftvoucher" js="0">Gift Voucher Used / Redeemed</word>
<word key="log_type_title_info" js="0">Information Changed</word>
<word key="log_type_title_address" js="0">Address Changed</word>
<word key="log_type_title_card" js="0">Credit Cards Changed</word>
<word key="log_type_title_alternative" js="0">Alternative Contacts Changed</word>
<word key="log_type_title_payout" js="0">Payout Processed / Changed</word>
<word key="log_type_title_lkey" js="0">License Key Activated / Reset</word>
<word key="log_type_title_download" js="0">File Downloaded</word>
<word key="log_type_title_support" js="0">Support Request Created</word>
<word key="log_type_title_billingagreement" js="0">Billing Agreement Created / Changed</word>
<word key="log_type_title_note" js="0">Note Added</word>
<word key="log_type_title_custom" js="0">Custom</word>
<word key="memberlog_app_nexus" js="0">Customer Actions</word>
<word key="log_type_title_invoice" js="0">Invoices Created</word>
<word key="log_type_title_transaction" js="0">Transactions Paid/Refunded</word>
<word key="log_type_title_shipping" js="0">Shipping Orders Created/Shipped</word>
<word key="log_type_title_purchase" js="0">Purchases Created/Changed</word>
<word key="log_type_title_comission" js="0">Account Credit Changes</word>
<word key="log_type_title_giftvoucher" js="0">Gift Vouchers Redeemed</word>
<word key="log_type_title_info" js="0">Customer Information Changes</word>
<word key="log_type_title_address" js="0">Address Changes</word>
<word key="log_type_title_card" js="0">Credit Cards Added/Removed</word>
<word key="log_type_title_alternative" js="0">Alternative Contact Changes</word>
<word key="log_type_title_payout" js="0">Payouts</word>
<word key="log_type_title_lkey" js="0">License Keys Activated/Reset</word>
<word key="log_type_title_download" js="0">Files Downloaded</word>
<word key="log_type_title_support" js="0">Support Requests Created</word>
<word key="log_type_title_billingagreement" js="0">Billing Agreements Created/Changed</word>
<word key="log_type_title_note" js="0">Notes Created/Edited</word>
<word key="log_type_title_custom" js="0">Other</word>
<word key="log_type_title_subscription" js="0">Subscriptions</word>
<word key="a_product_in_our_store" js="0">A product in our store</word>
<word key="a_product_in_our_store_cat" js="0">In %s</word>
<word key="x_reviewed_product" js="0">%s reviewed a product</word>
<word key="menu__nexus_subscriptions" js="0">Subscriptions</word>
<word key="menu__nexus_subscriptions_subscriptions" js="0">Subscription Plans</word>
<word key="menu__nexus_subscriptions_subscribers" js="0">Subscribers</word>
<word key="r__subscriptions" js="0">Subscriptions</word>
<word key="r__subscriptions_manage" js="0">Can view subscriptions?</word>
<word key="r__subscriptions_add" js="0">Can add subscriptions?</word>
<word key="r__subscriptions_edit" js="0">Can edit subscriptions?</word>
<word key="r__subscriptions_delete" js="0">Can delete subscriptions?</word>
<word key="r__subscribers" js="0">Subscribers</word>
<word key="r__subscribers_manage" js="0">Can manage subscribers?</word>
<word key="nexus_subscriptions" js="0">Subscriptions</word>
<word key="sp_name" js="0">Name</word>
<word key="sp_enabled" js="0">Enabled</word>
<word key="sp_price" js="0">Initial Price</word>
<word key="sp_tax" js="0">Tax</word>
<word key="sp_gateways" js="0">Payment Methods</word>
<word key="sp_renews" js="0">Renews?</word>
<word key="sp_renew_options" js="0">Renewal Term</word>
<word key="sp_primary_group" js="0">Move customer into group</word>
<word key="sp_secondary_group" js="0">Add customer into secondary groups</word>
<word key="sp_return_primary" js="0">Reset groups when purchase expires or is canceled?</word>
<word key="sp_return_primary_desc" js="0">This will reset the primary and secondary groups back to those the customer had before subscribing</word>
<word key="sp_featured" js="0">Featured?</word>
<word key="sp_featured_desc" js="0">Featured subscriptions will be highlighted on the subscriptions page</word>
<word key="sp_desc" js="0">Description</word>
<word key="nexus_subs_display" js="0">Display</word>
<word key="nexus_subs_groups" js="0">Benefits</word>
<word key="nexus_subs_renewals" js="0">Renewals</word>
<word key="nexus_subs_cost" js="0">Price</word>
<word key="sp_image" js="0">Cover image</word>
<word key="acplog__nexus_subs_settings" js="0">Changed Subscription settings</word>
<word key="subscription_basic_settings" js="0">Basic Settings</word>
<word key="nexus_subs_enabled" js="0">Enable Subscriptions?</word>
<word key="nexus_no_subs" js="0">Subscriptions are not available</word>
<word key="nexus_subs_upgrade_toggle" js="0">Customers can upgrade subscriptions?</word>
<word key="nexus_subs_downgrade_toggle" js="0">Customers can downgrade subscriptions?</word>
<word key="nexus_subs_upgrade" js="0">Charge to upgrade</word>
<word key="nexus_subs_downgrade" js="0">Refund when downgrading</word>
<word key="nexus_subs_exclude_groups" js="0">Protected Groups</word>
<word key="nexus_subs_exclude_groups_desc" js="0">Users in the groups selected here will not be moved out of their group even when purchasing a Subscription. For example, you might choose staff groups so that they do not lose their power. Administrator groups are always protected.</word>
<word key="nexus_history_cancelrenewals" js="0">Subscription renewals cancelled by %s</word>
<word key="nexus_history_cancelrenewals_with_name" js="0">Subscription renewals for %s cancelled %s</word>
<word key="nexus_history_subscription_changed_with_name" js="0">Subscription changed from %s %s to %s</word>
<word key="nexus_history_subscription_changed" js="0">Subscription changed %s</word>
<word key="nexus_sub_package_count_inactive" js="0">%s inactive</word>
<word key="nexus_sub_package_count_active" js="0">%s active</word>
<word key="nexus_subs_register" js="0">Force Subscription purchase when registering?</word>
<word key="nexus_subs_register_desc" js="0">If enabled, users will only be able to register if they purchase a Subscription.</word>
<word key="nexus_subs_invoice_grace" js="0">Grace Period</word>
<word key="nexus_subs_invoice_grace_desc" js="0">The subscription will remain active for the specified time after the expiration date before any benefits given by the subscription are revoked. If the customer pays within this time, the current expiration date is extended by one renewal term rather than a new expiration date being generated.</word>
<word key="nexus_sub_no_invoice" js="0">Could not locate the invoice</word>
<word key="nexus_sub_no_purchase" js="0">Could not locate the purchase</word>
<word key="nexus_no_sub" js="0">Subscriptions manager is not currently enabled</word>
<word key="nexus_no_subs_package" js="0">Could not locate the Subscription Plan</word>
<word key="nexus_no_subs_subs" js="0">Could not locate the member's subscription</word>
<word key="nexus_no_subs_nocost" js="0">There is no cost for this upgrade</word>
<word key="nexus_subs_add_member" js="0">Add member</word>
<word key="nexus_subs_member_to_add" js="0">Member name</word>
<word key="nexus_subs_member_message" js="0"><![CDATA[Manually added members will not be charged for this subscription, nor receive any renewal invoices.<br>If you wish to add a paid member, <a href='{internal.app=nexus&module=payments&controller=invoices&do=generate}'>create an invoice</a> and add the Subscription to the invoice.]]></word>
<word key="nexus_subs_add_member_already_subscribed" js="0">This member already has an active Subscription</word>
<word key="nexus_sub_member_added" js="0">Subscription Added</word>
<word key="nexus_subs_delete_member" js="0">Remove manually added member</word>
<word key="nexus_sub_member_removed" js="0">Removed member from subscription</word>
<word key="nexus_subs_off_text" js="0"><![CDATA[Subscriptions are a simple way to charge for being moved into a different user group.<br><br>Each member can only have one active subscription but can upgrade or downgrade between the different plans you set up.]]></word>
<word key="nexus_sub_package" js="0">Package</word>
<word key="nexus_subs_show_public" js="0">Show Subscription in profile?</word>
<word key="nexus_subs_show_public_desc" js="0">Allows other members to use which Plan a user is subscribed to.</word>
<word key="nexus_bm_filters_subscription_pkgs" js="0">Member has purchased a Subscription</word>
<word key="nexus_bm_filters_type_expired_date" js="0">Expired</word>
<word key="nexus_bm_filters_subscription_type" js="0">Count subscriptions which are</word>
<word key="nexus_subs_convert" js="0">Convert to a subscriptions package</word>
<word key="nexus_subs_convert_message" js="0">You are converting %s to a member subscription package. This will convert existing active purchases into member subscriptions. This cannot be undone.</word>
<word key="nexus_subs_review_pricing" js="0">Review pricing and renewals</word>
<word key="nexus_subs_after_conversion" js="0">After Conversion</word>
<word key="sp_after_conversion_delete" js="0">Delete Original Store Package</word>
<word key="nexus_package_converted_lovely" js="0">The package has been converted</word>
<word key="nexus_subs_widget_title" js="0">Available Subscriptions</word>
<word key="nexus_subs_widget_title_and_price" js="0">%s - %s</word>
<word key="nexus_sub_member_id" js="0">Display Name</word>
<word key="nexus_sub_package_id" js="0">Subscription</word>
<word key="nexus_sub_start" js="0">Started</word>
<word key="nexus_sub_expire" js="0">Expires</word>
<word key="nexus_sub_active" js="0">Active</word>
<word key="nexus_sub_renews" js="0">Renewals active</word>
<word key="nexus_subs_filter_active" js="0">Active</word>
<word key="nexus_subs_filter_inactive" js="0">Inactive</word>
<word key="nexus_subs_filter_renews" js="0">Renews</word>
<word key="nexus_subs_view_purchase" js="0">View Purchase</word>
<word key="nexus_photo" js="0"></word>
<word key="nexus_cm_last_name" js="0">Last Name</word>
<word key="nexus_cm_first_name" js="0">First Name</word>
<word key="nexus_email" js="0">Email</word>
<word key="nexus_name" js="0">Display Name</word>
<word key="nexus_subs_remove" js="0">Remove</word>
<word key="module__nexus_subscriptions" js="0">Subscriptions</word>
<word key="nexus_front_subscriptions" js="0">Subscriptions</word>
<word key="nexus_sub_cost_unavailable" js="0">Price unavailable</word>
<word key="nexus_sub_cost_plus_renewal" js="0">%s + %s</word>
<word key="nexus_member_subscription" js="0">Member Subscription</word>
<word key="nexus_manage_subscriptions" js="0">Manage Subscriptions</word>
<word key="nexus_subs_buy" js="0">Subscribe Now</word>
<word key="nexus_subs_subscribed" js="0">Subscribed</word>
<word key="nexus_subs_active" js="0">Subscription Active</word>
<word key="nexus_subs_subscribed_with_expire" js="0">Your current subscription renews %s</word>
<word key="nexus_subs_cancel" js="0">Cancel Subscription</word>
<word key="nexus_subs_upgrade_button" js="0">Upgrade</word>
<word key="nexus_subs_downgrade_button" js="0">Downgrade</word>
<word key="nexus_sub_cancel_type" js="0">Cancel</word>
<word key="nexus_sub_cancel_type_renewal" js="0">Renewals</word>
<word key="nexus_sub_cancel_type_renewal__desc" js="0">Cancelling the renewal means that your subscription will end on %s and you will not receive another invoice</word>
<word key="nexus_sub_cancel_type_immediate" js="0">Immediately</word>
<word key="nexus_sub_cancel_type_immediate_desc" js="0">Cancelling immediately ends your subscription now and you will not receive another invoice</word>
<word key="nexus_sub_cancel_now" js="0">Cancel immediately</word>
<word key="nexus_sub_cancel_now_desc" js="0">Cancelling immediately ends your subscription now and you will not receive another invoice</word>
<word key="nexus_sub_change_confirm_upgrade" js="0">The upgrade from %s to %s will cost %s.</word>
<word key="nexus_sub_change_confirm_downgrade" js="0">The downgrade from %s to %s will give you a refund of %s.</word>
<word key="nexus_sub_sign_up_title" js="0">Sign Up: Choose Subscription</word>
<word key="nexus_sub_sign_up_desc" js="0">Please select one of the following subscriptions to purchase to continue</word>
<word key="nexus_subs_subscriber" js="0">%s subscriber</word>
<word key="nexus_subs_show_all_subs" js="0">See all Subscription Plans</word>
<word key="block_subscriptions" js="0">Member Subscriptions</word>
<word key="block_subscriptions_desc" js="0">Show a list of available subscription packages to customers not yet subscribed</word>
<word key="nexus_require_billing_subscriptions" js="0">Member Subscriptions</word>
<word key="nexus_subs_non_available" js="0">There are not any subscriptions available at this time.</word>
<word key="nexus_dont_delete_group" js="0">Some users who have purchased packages or subscriptions are set to return to this group when their subscription ends. If you delete this group, those users will be returned to the group '%s' instead.</word>
<word key="payment_error" js="1">There was an error processing the payment. Please try a different payment method or contact us for assistance.</word>
<word key="support_ajax_error" js="1">An error occurred. Your session may have expired. Refresh the page and try again.</word>
<word key="click_to_show_url" js="1">Click to show real URL</word>
+9 -1
View File
@@ -18,7 +18,11 @@
},
"promotion": {
"default_controller": "",
"protected": false
"protected": 0
},
"subscriptions": {
"default_controller": "",
"protected": 0
}
},
"admin": {
@@ -45,6 +49,10 @@
"reports": {
"default_controller": "",
"protected": 0
},
"subscriptions": {
"default_controller": "subscriptions",
"protected": 0
}
}
}
File diff suppressed because it is too large. Load diff
+218 -93
View File
@@ -1,362 +1,487 @@
[
{
"key": "billing_agreement_gateways",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "card_storage_gateways",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "cm_invoice_expireafter",
"default": "30"
"default": "30",
"report": "full"
},
{
"key": "cm_invoice_generate",
"default": "10"
"default": "10",
"report": "full"
},
{
"key": "cm_invoice_warning",
"default": "3"
"default": "3",
"report": "full"
},
{
"key": "cm_protected",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "cm_ref_on",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "customer_fields",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "donation_goals",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "easypost_address",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "easypost_api_key",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "easypost_delivery_adjustment",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "easypost_phone",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "easypost_price_adjustment",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "easypost_show_rates",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "easypost_tax",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "gateways_counts",
"default": "{}",
"report": "none"
},
{
"key": "idm_nexus_display",
"default": "purchases"
"default": "purchases",
"report": "full"
},
{
"key": "idm_nexus_gateways",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "idm_nexus_on",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "idm_nexus_percent",
"default": "100"
"default": "100",
"report": "full"
},
{
"key": "idm_nexus_tax",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "idm_nexus_transfee",
"default": "{}"
"default": "{}",
"report": "bool"
},
{
"key": "maxmind_error",
"default": "okay"
"default": "okay",
"report": "full"
},
{
"key": "maxmind_gateways",
"default": "*"
"default": "*",
"report": "bool"
},
{
"key": "maxmind_key",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "monitoring_alert",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "monitoring_allowed_fails",
"default": "1"
"default": "1",
"report": "full"
},
{
"key": "monitoring_backup",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "monitoring_from",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "monitoring_panic",
"default": "6"
"default": "6",
"report": "full"
},
{
"key": "monitoring_script",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "network_status",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_autoresolve_applicable",
"default": "3"
"default": "3",
"report": "full"
},
{
"key": "nexus_autoresolve_days",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_autoresolve_departments",
"default": "*"
"default": "*",
"report": "bool"
},
{
"key": "nexus_autoresolve_notify",
"default": "24"
"default": "24",
"report": "full"
},
{
"key": "nexus_autoresolve_status",
"default": "4"
"default": "4",
"report": "full"
},
{
"key": "nexus_checkreg_captcha",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_checkreg_usernames",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_checkreg_validate",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_com_rules",
"default": "1"
"default": "1",
"report": "full"
},
{
"key": "nexus_currency",
"default": "USD"
"default": "USD",
"report": "none"
},
{
"key": "nexus_domain_prices",
"default": "{}"
"default": "{}",
"report": "bool"
},
{
"key": "nexus_domain_tax",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "nexus_donate_loggedin",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_enom_pw",
"default": ""
"default": "",
"report": "none"
},
{
"key": "nexus_enom_un",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_gift_vouchers",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_gift_vouchers_free",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_hosting_allow_change_domain",
"default": "1"
"default": "1",
"report": "full"
},
{
"key": "nexus_hosting_allow_own_domain",
"default": "1"
"default": "1",
"report": "full"
},
{
"key": "nexus_hosting_bandwidth",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_hosting_error_emails",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_hosting_nameservers",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_hosting_own_domain_sub",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_hosting_own_domains",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_hosting_subdomains",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_hosting_terminate",
"default": "60"
},
{
"key": "nexus_https",
"default": "0"
"default": "60",
"report": "full"
},
{
"key": "nexus_invoice_footer",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_invoice_header",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_max_credit",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_min_topup",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_minimum_order",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_no_commission",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_notify_copy_email",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_notify_copy_types",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_payout",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_payout_approve",
"default": "1"
"default": "1",
"report": "full"
},
{
"key": "nexus_payout_max",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_payout_max_period",
"default": "[\"1\",\"day\"]"
"default": "[\"1\",\"day\"]",
"report": "bool"
},
{
"key": "nexus_payout_min",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "nexus_reg_force",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_reg_group",
"default": "0"
"default": "0",
"report": "bool"
},
{
"key": "nexus_require_billing",
"default": "product,giftvoucher,donation,domain,other"
"default": "product,giftvoucher,donation,domain,other",
"report": "bool"
},
{
"key": "nexus_revw_sa",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_severities",
"default": "1"
"default": "1",
"report": "full"
},
{
"key": "nexus_show_renew_option_savings",
"default": "amount"
"default": "amount",
"report": "full"
},
{
"key": "nexus_show_stock",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_show_tax",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_sout_autoreply",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_sout_chrome",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_sout_from",
"default": "staff"
"default": "staff",
"report": "full"
},
{
"key": "nexus_split_payments",
"default": "0"
"default": "0",
"report": "full"
},
{
"key": "nexus_store_new",
"default": "10,30"
"default": "10,30",
"report": "bool"
},
{
"key": "nexus_store_popular",
"default": "10,365"
"default": "10,365",
"report": "bool"
},
{
"key": "nexus_subs_downgrade",
"default": "0",
"report": "none"
},
{
"key": "nexus_subs_enabled",
"default": "0",
"report": "full"
},
{
"key": "nexus_subs_exclude_groups",
"default": "4",
"report": "bool"
},
{
"key": "nexus_subs_invoice_grace",
"default": "3",
"report": "none"
},
{
"key": "nexus_subs_register",
"default": "0",
"report": "full"
},
{
"key": "nexus_subs_show_public",
"default": "1",
"report": "full"
},
{
"key": "nexus_subs_upgrade",
"default": "0",
"report": "full"
},
{
"key": "nexus_support_satisfaction",
"default": "1"
"default": "1",
"report": "full"
},
{
"key": "nexus_tac",
"default": "none"
"default": "none",
"report": "full"
},
{
"key": "nexus_tac_link",
"default": ""
"default": "",
"report": "bool"
},
{
"key": "reply_request_resolved",
"default": "reopen"
"default": "reopen",
"report": "full"
}
]
File diff suppressed because it is too large. Load diff
@@ -11,5 +11,18 @@
"sc_title": "themesetting_cm_store_view",
"sc_order": 11,
"sc_condition": null
},
{
"sc_key": "subscription_active_color",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "nexus",
"sc_default": "#3d6594",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_subscription_active",
"sc_order": 42,
"sc_condition": null
}
]
+52 -1
View File
@@ -225,5 +225,56 @@
"101117": "4.2.0 Beta 8",
"102000": "4.2.0",
"102001": "4.2.0",
"102002": "4.2.0"
"102002": "4.2.0",
"102003": "4.2.0",
"102004": "4.2.1",
"102005": "4.2.2 Beta 1",
"102006": "4.2.2 Beta 2",
"102007": "4.2.2",
"102008": "4.2.2",
"102009": "4.2.2",
"102010": "4.2.3 Beta 1",
"102011": "4.2.3",
"102012": "4.2.3",
"102013": "4.2.3",
"102014": "4.2.4 Beta 1",
"102015": "4.2.4 Beta 2",
"102016": "4.2.4",
"102017": "4.2.4",
"102018": "4.2.4",
"102019": "4.2.4",
"102020": "4.2.4",
"102021": "4.2.5 Beta 1",
"102022": "4.2.5 Beta 2",
"102023": "4.2.5 Beta 3",
"102024": "4.2.5",
"102025": "4.2.5",
"102026": "4.2.5",
"102027": "4.2.5",
"102028": "4.2.5",
"102029": "4.2.5",
"102030": "4.2.6 Beta 1",
"102031": "4.2.6 Beta 1",
"102032": "4.2.6 Beta 2",
"102033": "4.2.6 Beta 3",
"102034": "4.2.6",
"102035": "4.2.6",
"102036": "4.2.6",
"102037": "4.2.7 Beta 1",
"102038": "4.2.7 Beta 2",
"102039": "4.2.7 Beta 3",
"102040": "4.2.7 Beta 4",
"102041": "4.2.7 Beta 5",
"102042": "4.2.7",
"102043": "4.2.7",
"102044": "4.2.7",
"102045": "4.2.7",
"102046": "4.2.7",
"102047": "4.2.8",
"102048": "4.2.8",
"103000": "4.3.0 Beta 1",
"103002": "4.3.0 Beta 2",
"103003": "4.3.0 Beta 3",
"103004": "4.3.0 Beta 4",
"103005": "4.3.0"
}
+11
View File
@@ -20,5 +20,16 @@
"allow_reuse": false,
"menu_style": "menu",
"embeddable": true
},
"subscriptions": {
"class": "\\IPS\\Widget",
"restrict": [
"sidebar",
"cms"
],
"default_area": "",
"allow_reuse": false,
"menu_style": "menu",
"embeddable": true
}
}