Version 5.0.6

This commit is contained in:
Neo committed 2025-12-19 18:55:49 -08:00
1 parent a3a4a9ccbd
commit b89858b2ff
1214 files changed
+92828 -14859

No files matched your search

+28 -27
View File
@@ -320,7 +320,9 @@
{{if \count( $recurrings )}}
{{$taxAmount = new \IPS\Math\Number('0');}}
{{foreach $recurrings as $recurring}}
<h3 class="ipsTitle ipsTitle--h3 i-margin-top_3">{lang="renewals_header" sprintf="$recurring['term']->getTermUnit()"}</h3>
<div class="i-padding_3">
<h3 class="ipsTitle ipsTitle--h3 i-margin-top_3">{lang="renewals_header" sprintf="$recurring['term']->getTermUnit()"}</h3>
</div>
<i-data>
<ul class="ipsData ipsData--table ipsData--renewals i-margin-top_3">
{{foreach $recurring['items'] as $rId => $item}}
@@ -1666,7 +1668,7 @@
</ul>
{{endif}}
<dl class='cNexusPurchase_info i-margin-top_3'>
<dl class='cNexusPurchase_info i-margin-top_3' data-ips-hook="purchaseInfo">
<dt class='ipsMinorTitle'><strong>{lang="ps_start"}</strong></dt>
<dd>{$purchase->start->localeDate()}</dd>
{{if $purchase->expire}}
@@ -1778,7 +1780,7 @@
{{endif}}
</div>
</div>
<div class='ipsButtons ipsButtons--fill ipsButtons--start i-padding-top_2'>
<div class='ipsButtons ipsButtons--fill ipsButtons--start i-padding-top_2' data-ips-hook="purchaseButtons">
{{if $fromBillingAgreement}}
<!-- <a href='{$purchase->url()}' class='ipsButton ipsButton--secondary ipsButton--small' title="{lang="purchases_manage_purchase"}"><i class="fa-solid fa-box-open"></i> {lang="view"}</a> -->
{{else}}
@@ -1841,7 +1843,7 @@
<div role='tablist'>
{{foreach $tabs as $k => $tab}}
<a href='{$customer->acpUrl()->setQueryString( array( 'do' => 'view', 'blockKey' => 'nexus_AccountInformation', 'block[nexus_AccountInformation]' => $k ) )}' class='ipsTabs__tab' id='ipsTabs_customer_{$k}' role="tab" aria-controls="ipsTabs_customer_{$k}_panel" aria-selected="{{if $activeTabKey == $k}}true{{else}}{{endif}}" data-ipsTooltip title='{lang="customer_tab_{$k}"}'>
<i class='fa-solid fa-{$tab['icon']}'></i> <span class='ipsResponsive_showPhone'>&nbsp;&nbsp;{lang="customer_tab_{$k}"}</span>
<i class='{$tab['icon']}'></i> <span class='ipsResponsive_showPhone'>{lang="customer_tab_{$k}"}</span>
{{if $tab['count']}}<span class='ipsNotification'>{$tab['count']}</span>{{endif}}
</a>
{{endforeach}}
@@ -1928,10 +1930,10 @@
</div>]]></template>
<template template_group="customers" template_name="accountInformationTablePreview" template_data="$customer, $table, $title, $type" template_location="admin" template_app="nexus"><![CDATA[<div class="i-padding_3">
{{$count = \count( $table->getRows(NULL) );}}
<h3 class='ipsTitle ipsTitle--h3 ipsTruncate ipsTruncate_line {{if !$count}}i-color_soft{{endif}}'>{{if $count}}<strong>{{endif}}{$title}{{if $count}}</strong>{{endif}}</h3>
<h3 class='ipsTitle ipsTitle--h4'>{$title}</h3>
{$table|raw}
<p class='i-margin-top_1'>
<a href='{url="app=core&module=members&controller=members&do=editBlock&block=IPS\\nexus\\extensions\\core\\MemberACPProfileBlocks\\AccountInformation&id={$customer->member_id}&type={$type}"}' data-ipsDialog data-ipsDialog-title='{lang="customer_tab_{$type}"}' class='ipsButton ipsButton--inherit ipsButton--tiny ipsButton--wide'>
<a href='{url="app=core&module=members&controller=members&do=editBlock&block=IPS\\nexus\\extensions\\core\\MemberACPProfileBlocks\\AccountInformation&id={$customer->member_id}&type={$type}"}' data-ipsDialog data-ipsDialog-title='{lang="customer_tab_{$type}"}' class='ipsButton ipsButton--inherit ipsButton--wide'>
{lang="customer_manage_{$type}"} <i class='fa-solid fa-caret-down'></i>
</a>
</p>
@@ -1990,7 +1992,7 @@
{{endif}}]]></template>
<template template_group="customers" template_name="altContactsOverview" template_data="$table, $headers, $rows, $quickSearch" template_location="admin" template_app="nexus"><![CDATA[
{{if \count( $rows )}}
<ul class='cCustomerOther_list i-grid i-gap_3'>
<ul class='cCustomerOther_list i-grid i-gap_2 i-margin-top_2 i-margin-bottom_3'>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
</ul>
{{else}}
@@ -1999,10 +2001,10 @@
<template template_group="customers" template_name="altContactsOverviewRows" template_data="$table, $headers, $rows" template_location="admin" template_app="nexus"><![CDATA[
{{foreach $rows as $row}}
<li>
<p class='ipsTruncate ipsTruncate_line'>
<p class='i-font-weight_600 i-color_hard'>
{$row['alt_id']|raw}
</p>
<span class='i-font-size_1 i-color_soft'>{$row['email']}</span>
<span class='i-color_soft'>{$row['email']}</span>
</li>
{{endforeach}}]]></template>
<template template_group="customers" template_name="billingAgreementsOverview" template_data="$table, $headers, $rows, $quickSearch" template_location="admin" template_app="nexus"><![CDATA[
@@ -2654,7 +2656,7 @@
</label>
<div class='ipsFieldRow__content'>
{{if $field->options['dummy']}}
<div class="ipsInput ipsInput--text ipsInput--dummy ipsInput--primary" id="elInput_{$field->htmlId}-number" data-role="dummyCard"></div>
<div class="ipsInput ipsInput--text ipsInput--dummy ipsInput--primary ipsInput--stripeInput" id="elInput_{$field->htmlId}-number" data-role="dummyCard"></div>
{{else}}
<input type="text" class='ipsInput ipsInput--text ipsInput--primary' {{if $field->options['names']}}name="{$field->name}[number]"{{endif}} data-card="number" id="elInput_{$field->htmlId}-number" maxlength="16" value="{$number}" autocomplete="cc-number">
{{endif}}
@@ -2669,7 +2671,7 @@
</label>
<div class='ipsFieldRow__content'>
{{if $field->options['dummy']}}
<div class="ipsInput ipsInput--text ipsInput--dummy" id="elInput_{$field->htmlId}-exp" data-role="dummyExp"></div>
<div class="ipsInput ipsInput--text ipsInput--dummy ipsInput--stripeInput" id="elInput_{$field->htmlId}-exp" data-role="dummyExp"></div>
{{else}}
<select class="ipsInput ipsInput--select" {{if $field->options['names']}}name="{$field->name}[exp_month]"{{endif}} data-card="exp_month" id="elInput_{$field->htmlId}-exp_month" autocomplete="cc-exp-month">
<option {{if $expMonth === NULL}}selected{{endif}} disabled>MM</option>
@@ -2696,7 +2698,7 @@
</label>
<div class='ipsFieldRow__content'>
{{if $field->options['dummy']}}
<div class="ipsInput ipsInput--text ipsInput--dummy" id="elInput_{$field->htmlId}-ccv" data-role="dummyCcv"></div>
<div class="ipsInput ipsInput--text ipsInput--dummy ipsInput--stripeInput" id="elInput_{$field->htmlId}-ccv" data-role="dummyCcv"></div>
{{else}}
<input type="text" class="ipsInput ipsInput--text" size='4' {{if $field->options['names']}}name="{$field->name}[ccv]"{{endif}} data-card="ccv" id="elInput_{$field->htmlId}-ccv" maxlength="4" value="{$ccv}" autocomplete="cc-csc">
{{endif}}
@@ -5216,19 +5218,20 @@
{{$memberCurrency = ( ( isset( \IPS\Request::i()->cookie['currency'] ) and \in_array( \IPS\Request::i()->cookie['currency'], \IPS\nexus\Money::currencies() ) ) ? \IPS\Request::i()->cookie['currency'] : \IPS\nexus\Customer::loggedIn()->defaultCurrency() );}}
<div class='i-text-align_center ipsBox i-padding_3 i-margin-top_2' {{if isset( $_SESSION['cart'] ) and \count( $_SESSION['cart'] )}}data-controller="nexus.front.store.currencySelect"{{endif}}>
<span>{lang="show_prices_in"}</span><br>
<ul class='ipsList ipsList--inline i-link-color_inherit'>
<form action="{$baseUrl}" method="post">
<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}">
<ul class='ipsButtons i-link-color_inherit i-margin-top_2'>
{{foreach \IPS\nexus\Money::currencies() as $currency}}
<li>
{{if $currency == $memberCurrency}}
<a data-action="filter" href='{$baseUrl->setQueryString( 'currency', $currency )->csrf()}' title='{lang="set_currency_to" sprintf="$currency"}'>
<strong><i class='fa-solid fa-check'></i> {$currency}</strong>
</a>
<button type="submit" name="currency" value="{$currency}" class='ipsButton ipsButton--primary ipsButton--small'><i class='fa fa-check'></i> {$currency}</button>
{{else}}
<a data-action="filter" href='{$baseUrl->setQueryString( 'currency', $currency )->csrf()}' title='{lang="set_currency_to" sprintf="$currency"}'>{$currency}</a>
<button type="submit" name="currency" value="{$currency}" class='ipsButton ipsButton--soft ipsButton--small' title='{lang="set_currency_to" sprintf="$currency"}'> {$currency}</button>
{{endif}}
</li>
{{endforeach}}
</ul>
</form>
</div>
{{endif}}]]></template>
<template template_group="store" template_name="fraudRuleDesc" template_data="$conditions, $results, $warning" template_location="admin" template_app="nexus"><![CDATA[<div class="i-margin-top_1">
@@ -5681,17 +5684,17 @@
{{if $package->image}}
<img src="{$package->image}" alt="{$package->_title}" loading="lazy">
{{else}}
<i class="fa-solid fa-box-open"></i>
<span class='ipsIcon ipsIcon--fa' aria-hidden="true"><i class="fa-solid fa-box-open"></i></span>
{{endif}}
</a>
<div class='ipsData__content'>
<div class='ipsData__main'>
<div class='ipsTitle ipsTitle--h5 ipsTitle--margin'>
<div class='ipsData__title'>
<h2><a href="{$package->url()}">{$package->_title}</a></h2>
{{if $package->featured}}<span class="ipsBadge ipsBadge--icon ipsBadge--positive" data-ipsTooltip title='{lang="featured"}'><i class='fa-solid fa-star'></i></span>{{endif}}
</div>
{template="packageBlockPrice" app="nexus" group="store" params="$package->fullPriceInfo()"}
{template="richText" group="global" app="core" location="global" params="$package->description, array('ipsTruncate_4', 'i-margin-top_2')"}
<div class="ipsData__desc">{$package->description}</div>
{{if $package->reviewable}}
<div class='i-margin-top_2'>
{template="rating" group="global" app="core" params="'large', $package->item()->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $package->item()->memberReviewRating()"} <span class='i-color_soft'>({lang="num_reviews" pluralize="$package->item()->reviews"})</span>
@@ -6180,7 +6183,7 @@
</div>
{{endif}}]]></template>
<template template_group="subscription" template_name="row" template_data="$package, $subscription, $showImagePlaceholder=FALSE" template_location="front" template_app="nexus"><![CDATA[<!--{$package->id}-->
<div class='ipsData__item cSubscriptions {{if isset( \IPS\Request::i()->id ) and \IPS\Request::i()->id == $package->id}}cSubscription--highlighted{{endif}} {{if $subscription and $subscription->package and $subscription->package->id === $package->id}}cSubscription--active {{if !$subscription->active}}cSubscription--expired{{endif}}{{endif}} {$package->ui( 'css' )}' {$package->ui( 'dataAttributes' )}>
<div class='ipsData__item cSubscriptions {{if isset( \IPS\Request::i()->id ) and \IPS\Request::i()->id == $package->id}}cSubscription--highlighted{{endif}} {{if $subscription and $subscription->package and $subscription->package->id === $package->id}}cSubscription--active {{if !$subscription->active}}cSubscription--expired{{endif}}{{endif}} {$package->ui( 'css' )}' {$package->ui( 'dataAttributes' )} data-ips-hook="block">
{{if $package->_image || $showImagePlaceholder}}
<div class='ipsData__image' aria-hidden='true'>
{{if $package->_image}}
@@ -6191,7 +6194,7 @@
</div>
{{endif}}
<div class='ipsData__content'>
<div class="ipsData__main">
<div class="ipsData__main" data-ips-hook="header">
<h2 class='ipsData__title'>{$package->_title}</h2>
<div>
{{if $priceInfo = $package->priceInfo() and $priceInfo['primaryPrice']}}
@@ -6212,7 +6215,7 @@
{{$upgradeCost = (!( $subscription->purchase->billing_agreement and !$subscription->purchase->billing_agreement->canceled ) )? $package->costToUpgradeIncludingTax( $subscription->package, \IPS\nexus\Customer::loggedIn() ) : NULL;}}
{{if $subscription->package->id === $package->id}}
{{if $subscription->purchase->expire and ( $canRenewUntil = $subscription->purchase->canRenewUntil( NULL,TRUE ) or ( $subscription->purchase->can_reactivate ) or ( $pendingInvoice = $subscription->purchase->invoice_pending and $pendingInvoice->status === $pendingInvoice::STATUS_PENDING ) or $subscription->purchase->canCancel())}}
<div class='cSubscriptionInfo'>
<div class='cSubscriptionInfo' data-ips-hook="infoActivePurchase">
<ul class='ipsButtons ipsButtons--fill'>
{{if $pendingInvoice = $subscription->purchase->invoice_pending and $pendingInvoice->status === $pendingInvoice::STATUS_PENDING}}
<li>
@@ -6244,7 +6247,7 @@
</div>
{{endif}}
{{elseif $upgradeCost !== NULL}}
<div class='cSubscriptionInfo'>
<div class='cSubscriptionInfo' data-ips-hook="infoExpiredPurchase">
<ul class='ipsButtons ipsButtons--fill'>
{{if $upgradeCost->amount->isGreaterThanZero() or ( $upgradeCost->amount->isZero() and $package->price() >= $subscription->package->price())}}
<li>
@@ -6286,7 +6289,7 @@
{{endif}}
{{endif}}
{{else}}
<div class='cSubscriptionInfo'>
<div class='cSubscriptionInfo' data-ips-hook="infoNoPurchase">
<a href='{url="app=nexus&module=subscriptions&controller=subscriptions&do=purchase&id={$package->id}" csrf="true" seoTemplate="nexus_subscription"}' class="ipsButton ipsButton--primary">{lang="nexus_subs_buy"}</a>
</div>
{{endif}}
@@ -8534,7 +8537,6 @@ ul.cInvoiceUnpaidConsequences ul {
.cInvoiceUnpaidConsequences_warning:before {
font-family: var(--i-font-awesome);
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: auto;
font-weight: 900;
@@ -8566,7 +8568,6 @@ ul.cInvoiceUnpaidConsequences ul {
top: 0px;
inset-inline-start: -22px;
font-family: var(--i-font-awesome);
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: auto;
font-weight: 900;