Version 5.0.0 beta 11.1

This commit is contained in:
Neo committed 2025-12-19 18:00:22 -08:00
1 parent 264eeb97e0
commit 90e8c7e903
466 files changed
+7796 -2394

No files matched your search

+173 -205
View File
@@ -102,8 +102,8 @@
{{$totalItems += $item->quantity;}}
{{endif}}
{{endforeach}}
<div class='i-background_2 i-padding_3'>
<h2 class='ipsTitle ipsTitle--h3'>{lang="order_review"}</h2>
<div>
<h2 class='ipsTitle ipsTitle--h3 ipsTitle--padding'>{lang="order_review"}</h2>
<i-data>
<ul class="ipsData ipsData--table i-margin-top_3">
<li class='ipsData__item'>
@@ -148,83 +148,85 @@
</i-data>
</div>]]></template>
<template template_group="checkout" template_name="checkoutWrapper" template_data="$content, $checkoutStatus = NULL" template_location="front" template_app="nexus"><![CDATA[
<div class=''>
<div class='i-text-align_center i-padding_3'>
<div class='ipsBox ipsPull ipsBox--checkoutWrapper'>
<div class='i-text-align_center i-padding_3 i-border-bottom_3'>
{{if $checkoutStatus && $checkoutStatus != 'continue'}}
{{if $checkoutStatus === 'complete'}}
<i class='i-font-size_6 fa-solid fa-check-circle'></i>
<h1 class='i-font-size_6 i-text-align_center'>{lang="transaction_title_success"}</h1>
<i class='i-font-size_6 fa-solid fa-check-circle i-margin-bottom_2 i-color_soft'></i>
<h1 class='i-font-size_5 i-font-weight_600 i-color_hard i-text-align_center'>{lang="transaction_title_success"}</h1>
{{elseif $checkoutStatus === 'waiting'}}
<i class='i-font-size_6 fa-regular fa-clock'></i>
<h1 class='i-font-size_6 i-text-align_center'>{lang="transaction_title_waiting"}</h1>
<i class='i-font-size_6 fa-regular fa-clock i-margin-bottom_2 i-color_soft'></i>
<h1 class='i-font-size_5 i-font-weight_600 i-color_hard i-text-align_center'>{lang="transaction_title_waiting"}</h1>
{{elseif $checkoutStatus === 'hold'}}
<i class='i-font-size_6 fa-regular fa-clock'></i>
<h1 class='i-font-size_6 i-text-align_center'>{lang="transaction_title_hold"}</h1>
<i class='i-font-size_6 fa-regular fa-clock i-margin-bottom_2 i-color_soft'></i>
<h1 class='i-font-size_5 i-font-weight_600 i-color_hard i-text-align_center'>{lang="transaction_title_hold"}</h1>
{{elseif $checkoutStatus === 'pending'}}
<i class='i-font-size_6 fa-regular fa-clock'></i>
<h1 class='i-font-size_6 i-text-align_center'>{lang="transaction_title_pending"}</h1>
<i class='i-font-size_6 fa-regular fa-clock i-margin-bottom_2 i-color_soft'></i>
<h1 class='i-font-size_5 i-font-weight_600 i-color_hard i-text-align_center'>{lang="transaction_title_pending"}</h1>
{{elseif $checkoutStatus === 'refused'}}
<i class='i-font-size_6 fa-solid fa-triangle-exclamation'></i>
<h1 class='i-font-size_6 i-text-align_center'>{lang="transaction_title_refused"}</h1>
<i class='i-font-size_6 fa-solid fa-triangle-exclamation i-margin-bottom_2 i-color_soft'></i>
<h1 class='i-font-size_5 i-font-weight_600 i-color_hard i-text-align_center'>{lang="transaction_title_refused"}</h1>
{{endif}}
{{else}}
<i class='i-font-size_6 fa-solid fa-cart-shopping'></i>
<h1 class='i-font-size_6 i-text-align_center'>{lang="checkout"}</h1>
<i class='i-font-size_6 fa-solid fa-cart-shopping i-margin-bottom_2 i-color_soft'></i>
<h1 class='i-font-size_5 i-font-weight_600 i-color_hard i-text-align_center'>{lang="checkout"}</h1>
{{endif}}
{{if \IPS\Request::i()->isSecure() === TRUE}}
<i class='fa-solid fa-lock'></i> {lang="secure_page"}
<div class="i-margin-top_1 i-font-weight_500 i-color_soft"><i class='fa-solid fa-lock'></i> {lang="secure_page"}</div>
{{endif}}
</div>
<section>
<div class='ipsBox i-padding_3' id='elCheckoutContent'>
{$content|raw}
</div>
<section id='elCheckoutContent'>
{$content|raw}
</section>
</div>]]></template>
<template template_group="checkout" template_name="confirmAndPay" template_data="$invoice, $summary, $form, $amountToPay, $couponForm, $recurrings, $overriddenRenewalTerms" template_location="front" template_app="nexus"><![CDATA[<div class='ipsColumns i-margin-top_3 cNexusCheckout_review' data-controller='nexus.front.checkout.review'>
<template template_group="checkout" template_name="confirmAndPay" template_data="$invoice, $summary, $form, $amountToPay, $couponForm, $recurrings, $overriddenRenewalTerms" template_location="front" template_app="nexus"><![CDATA[<div class='ipsColumns ipsColumns--reverse ipsColumns--lines cNexusCheckout_review' data-controller='nexus.front.checkout.review'>
<div class='ipsColumns__primary'>
{{if $invoice->billaddress}}
<div class='ipsSpanGrid i-margin-bottom_3'>
{{if $invoice->billaddress}}
<div class='ipsSpanGrid__6'>
<h2 class='ipsTitle ipsTitle--h3'>{lang="billing_address"} <a href='{$invoice->checkoutUrl()->setQueryString( '_step', 'checkout_customer' )}' data-action='wizardLink' class='i-font-size_-2'>({lang="edit"})</a></h2>
<div class='i-margin-top_3'>
{$invoice->billaddress->toString('<br>')|raw}
{{if isset( $invoice->billaddress->vat ) and $invoice->billaddress->vat}}
<br>
{lang="cm_checkout_vat_number"}: {$invoice->billaddress->vat}
{{endif}}
<div class="i-padding_3">
{{if $invoice->billaddress}}
<div class='ipsSpanGrid i-margin-bottom_3'>
{{if $invoice->billaddress}}
<div class='ipsSpanGrid__6'>
<h2 class='ipsTitle ipsTitle--h3'>{lang="billing_address"} <a href='{$invoice->checkoutUrl()->setQueryString( '_step', 'checkout_customer' )}' data-action='wizardLink' class='i-font-size_-2'>({lang="edit"})</a></h2>
<div class='i-margin-top_3'>
{$invoice->billaddress->toString('<br>')|raw}
{{if isset( $invoice->billaddress->vat ) and $invoice->billaddress->vat}}
<br>
{lang="cm_checkout_vat_number"}: {$invoice->billaddress->vat}
{{endif}}
</div>
</div>
</div>
{{endif}}
</div>
{{endif}}
{{if $invoice->member->email}}
<div class='i-color_soft i-margin-bottom_3'>
<i class='fa-solid fa-circle-info'></i> {lang="confirmation_sent_to" sprintf="$invoice->member->email"}
</div>
{{endif}}
{{endif}}
</div>
{{endif}}
{{if $invoice->member->email}}
<div class='i-color_soft'>
<i class='fa-solid fa-circle-info'></i> {lang="confirmation_sent_to" sprintf="$invoice->member->email"}
</div>
{{endif}}
</div>
{$couponForm|raw}
<section class='i-background_3 i-margin-top_3'>
<h2 class='ipsBox__header ipsHide'>
<section>
<h2 class='ipsHide'>
{{if \IPS\Request::i()->isSecure() === TRUE}}
<i class='fa-solid fa-lock'></i> {lang="secure_payment"}
{{else}}
{lang="payment"}
{{endif}}
</h2>
<div class='i-padding_3'>
<div>
{$form|raw}
</div>
</section>
</div>
<div class='ipsColumns__secondary i-basis_360 '>
<h2 class='ipsTitle ipsTitle--h3'>{lang="order_review"}</h2>
<div class='ipsColumns__secondary i-basis_360'>
<div class="i-padding_3">
<h2 class='ipsTitle ipsTitle--h3'>{lang="order_review"}</h2>
</div>
<i-data>
<ul class="ipsData ipsData--table ipsData--order-review i-margin-top_3">
<ul class="ipsData ipsData--table ipsData--order-review">
{{foreach $summary['items'] as $item}}
{{if !( $item instanceof \IPS\nexus\extensions\nexus\Item\CouponDiscount )}}
<li class='ipsData__item'>
@@ -407,17 +409,17 @@
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
{{endif}}
<div class='i-padding_3 i-background_2'>
<div class='i-padding_2 i-border-top_3'>
{{if $form->error}}
<div class="ipsMessage ipsMessage--error">
{$form->error}
</div>
{{endif}}
<h2 class='ipsMinorTitle'>{lang="do_you_have_coupon"}</h2>
<div class='ipsSpanGrid i-margin-top_2'>
<div class='i-flex i-gap_1 i-margin-top_2'>
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
<div class='ipsSpanGrid__8'>
<div class='i-flex_11'>
{$input->html()|raw}
{{if $input->error}}
<p class="i-margin-top_2 i-font-size_-2 i-color_warning">{lang="$input->error"}</p>
@@ -425,9 +427,7 @@
</div>
{{endforeach}}
{{endforeach}}
<div class='ipsSpanGrid__4'>
<button type='submit' class='ipsButton ipsButton--soft ipsButton--small ipsButton--wide'>{lang="apply_coupon"}</button>
</div>
<button type='submit' class='i-flex_00 ipsButton ipsButton--inherit'>{lang="apply_coupon"}</button>
</div>
</div>
</form>]]></template>
@@ -436,15 +436,14 @@
{{$usernamePasswordMethods = $login->usernamePasswordMethods();}}
{{$buttonMethods = $login->buttonMethods();}}
{{if \IPS\Login::registrationType() != 'disabled' or ( $usernamePasswordMethods and $buttonMethods )}}
<div class='ipsSpanGrid i-margin-top_3' data-role="memberChoice">
<div class='ipsSpanGrid__6 i-padding_3 cNexusCheckout_returning'>
<h2 class="ipsTitle ipsTitle--h3 i-margin-bottom_3">{lang="returning_member"}</h2>
<div class='ipsForm_fullWidth'>
<div class='ipsFluid i-basis_280 i-gap_lines' data-role="memberChoice">
<div class='cNexusCheckout_returning'>
<h2 class="i-padding_3 ipsTitle ipsTitle--h3">{lang="returning_member"}</h2>
<div class=''>
{{if $loginError !== NULL}}
{template="message" group="global" location="global" app="core" params="$loginError, 'error'"}
<br>
{{endif}}
<form accept-charset='utf-8' method='post' action='{$login->url}' class="ipsForm" data-controller="core.global.core.login">
<form accept-charset='utf-8' method='post' action='{$login->url}' class="ipsForm ipsForm--fullWidth" data-controller="core.global.core.login">
<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}">
{{if $usernamePasswordMethods}}
{template="loginForm" app="core" group="system" params="$login"}
@@ -460,39 +459,35 @@
</form>
</div>
</div>
<div class='ipsSpanGrid__6 i-padding_3'>
<div class="i-background_2 i-padding_3">
{{if \IPS\Login::registrationType() != 'disabled'}}
<div class="i-margin-bottom_4">
<div class="i-margin-bottom_3">
<h2 class="ipsTitle ipsTitle--h3">{lang="new_customers"}</h2>
<p>
{lang="new_customer_blurb"}
</p>
<p class="i-color_soft i-margin-bottom_3">{lang="new_customer_blurb"}</p>
{{if \IPS\Login::registrationType() == 'redirect'}}
<a href="{expression="\IPS\Settings::i()->allow_reg_target"}" target="_blank" rel="noopener" class='ipsButton ipsButton--primary'>{lang="sign_up"}</a>
{{else}}
<button data-action='newMember' class='ipsButton ipsButton--primary'>{lang="continue_as_new_member"}</button>
<button data-action='newMember' class='ipsButton ipsButton--primary ipsButton--wide'>{lang="continue_as_new_member"}</button>
{{endif}}
</div>
{{endif}}
{{if $usernamePasswordMethods and $buttonMethods}}
<div class='i-background_2 i-padding_2'>
<form accept-charset='utf-8' method='post' action='{$login->url}' class="ipsForm" data-controller="core.global.core.login">
<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}">
<p class='i-font-size_-2 i-text-align_center'><strong>{lang="sign_in_with_these"}</strong></p>
<div class='i-gap_2 i-margin-top_2'>
{{foreach $buttonMethods as $method}}
<div class='i-text-align_center'>
{$method->button()|raw}
</div>
{{endforeach}}
</div>
</form>
</div>
<form accept-charset='utf-8' method='post' action='{$login->url}' data-controller="core.global.core.login">
<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}">
<p class='i-color_soft i-font-weight_500'>{lang="sign_in_with_these"}:</p>
<div class='i-grid i-gap_2 i-text-align_center i-margin-top_2'>
{{foreach $buttonMethods as $method}}
<div>
{$method->button()|raw}
</div>
{{endforeach}}
</div>
</form>
{{endif}}
</div>
</div>
<div class="i-padding_3 ipsJS_hide" data-role='newCustomerForm'>
<h2 class='ipsTitle ipsTitle--h3 i-margin-top_3'>{lang="create_new_account"}</h2>
<div class="ipsJS_hide" data-role='newCustomerForm'>
<h2 class='ipsTitle ipsTitle--h3 ipsTitle--padding'>{lang="create_new_account"}</h2>
{$informationForm|raw}
</div>
{{else}}
@@ -521,12 +516,12 @@
{{endif}}
</section>
{{else}}
<div class='ipsColumns i-margin-top_3'>
<div class='ipsColumns ipsColumns--reverse ipsColumns--lines ipsColumns--customerInformation'>
<div class='ipsColumns__primary'>
<h2 class='ipsTitle ipsTitle--h3 i-margin-bottom_3'>{lang="billing_information"}</h2>
<h2 class='ipsTitle ipsTitle--h3 ipsTitle--padding'>{lang="billing_information"}</h2>
{$informationForm|raw}
</div>
<div class='ipsColumns__secondary i-basis_280'>
<div class='ipsColumns__secondary i-basis_340'>
{template="checkoutOrderSummary" group="checkout" app="nexus" params="$invoice->summary()"}
</div>
</div>
@@ -560,24 +555,21 @@
{{endforeach}}
{{endforeach}}
</ul>
<hr class='ipsHr'>
<div class='i-text-align_end i-margin-top_3'>
<button type='submit' class='ipsButton ipsButton--primary'>{lang="continue_to_review"} &nbsp;<i class='fa-solid fa-chevron-right'></i></button>
<div class='ipsSubmitRow'>
<button type='submit' class='ipsButton ipsButton--primary'>{lang="continue_to_review"} <i class='fa-solid fa-chevron-right'></i></button>
</div>
</form>]]></template>
<template template_group="checkout" template_name="orderReview" template_data="$invoice" template_location="front" template_app="nexus"><![CDATA[
<section class='ipsBox i-margin-top_3'>
<h2 class='ipsBox__header'>{lang="order_review"}</h2>
<section class=''>
<div class="i-padding_3 i-border-top_3 i-border-bottom_3 i-flex i-align-items_center i-gap_2">
<h2 class='ipsTitle ipsTitle--h3'><span class="i-color_soft">{lang="order_review"}:</span> {lang="order"} #{$invoice->id}</h2>
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'nexus', 'clients' ) ) }}
<a href='{{if $invoice->guest_data and isset( $invoice->guest_data['guestTransactionKey'] )}}{$invoice->url()->setQueryString( array( 'do' => 'printout', 'key' => $invoice->guest_data['guestTransactionKey'] ) )}{{else}}{$invoice->url()->setQueryString( 'do', 'printout' )}{{endif}}' target="_blank" rel='noopener' class='ipsJS_show ipsButton ipsButton--inherit ipsButton--small i-margin-start_auto'><i class="fa-solid fa-print"></i> {lang="order_invoice_print"}</a>
{{endif}}
</div>
<div class='i-padding_3'>
<div class='i-flex i-align-items_center i-gap_2'>
<h2 class='ipsTitle ipsTitle--h3'>{lang="order"} #{$invoice->id}</h2>
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'nexus', 'clients' ) ) }}
<a href='{{if $invoice->guest_data and isset( $invoice->guest_data['guestTransactionKey'] )}}{$invoice->url()->setQueryString( array( 'do' => 'printout', 'key' => $invoice->guest_data['guestTransactionKey'] ) )}{{else}}{$invoice->url()->setQueryString( 'do', 'printout' )}{{endif}}' target="_blank" rel='noopener' class='ipsJS_show ipsButton ipsButton--soft ipsButton--small'>{lang="order_invoice_print"}</a>
{{endif}}
</div>
<hr class='ipsHr'>
<div class='ipsSpanGrid i-margin-top_3'>
<div class='ipsSpanGrid__6'>
<div class='ipsFluid i-basis_300 i-margin-top_3'>
<div>
{{if $invoice->billaddress}}
<div class='ipsSpanGrid i-margin-bottom_4'>
{{if $invoice->billaddress}}
@@ -594,7 +586,7 @@
<h3 class='ipsTitle ipsTitle--h3'>{lang="payment_details"}</h3>
{template="paymentLog" group="clients" app="nexus" params="$invoice"}
</div>
<div class='ipsSpanGrid__6'>
<div>
<h2 class='ipsTitle ipsTitle--h3'>{lang="order_review"}</h2>
{{$summary = $invoice->summary();}}
<i-data>
@@ -692,7 +684,7 @@
{{endforeach}}
{{if $showSubmitButton}}
<div class='i-margin-top_3' id="paymentMethodSubmit">
<div class="ipsSubmitRow" id="paymentMethodSubmit">
<button type='submit' class='ipsButton ipsButton--primary ipsButton--wide'>
<i class='fa-solid fa-check-circle'></i>
{{if $amountToPay->amount->isZero()}}
@@ -782,21 +774,20 @@
{{endif}}
{{endif}}]]></template>
<template template_group="checkout" template_name="transactionWait" template_data="$transaction" template_location="front" template_app="nexus"><![CDATA[
<p class='i-font-size_2 i-text-align_center'>
{lang="order_thanks_blurb_no_email"}
</p>
<p class='i-font-size_2 i-text-align_center'>
<strong>{lang="order_wait_blurb"}</strong><br>
{lang="order_wait_blurb2"}
</p>
<div class="i-padding_3 i-background_2 i-border-bottom_3">
<p class="i-color_hard i-font-size_3 i-font-weight_500 i-margin-bottom_1">
{lang="order_thanks_blurb_no_email"}
</p>
<p>
{lang="order_wait_blurb"} {lang="order_wait_blurb2"}
</p>
</div>
<div class='ipsRichText i-background_3 i-padding_3 i-margin-block_2'>
<div class='ipsRichText i-padding_3'>
{$transaction->method->manualPaymentInstructions( $transaction )|raw}
</div>
{{if member.member_id}}
<p class='i-text-align_center'>
<i class='fa-solid fa-circle-info'></i> {lang="track_orders_in_billing"}
</p>
<p class='ipsMessage ipsMessage--info i-margin_1'>{lang="track_orders_in_billing"}</p>
{{endif}}
{template="orderReview" group="checkout" app="nexus" params="$transaction->invoice"}]]></template>
@@ -2098,14 +2089,14 @@
</div>
{{endif}}]]></template>
<template template_group="customers" template_name="downloadsLink" template_data="$file" template_location="admin" template_app="nexus"><![CDATA[<a href="{$file->url()}" target="_blank" rel='noopener'>{$file->name}</a>]]></template>
<template template_group="customers" template_name="invoices" template_data="$customer, $invoices, $invoiceCount" template_location="admin" template_app="nexus"><![CDATA[<div class='ipsBox' data-ips-template="invoices">
<template template_group="customers" template_name="invoices" template_data="$customer, $invoices, $invoiceCount" template_location="admin" template_app="nexus"><![CDATA[<div class='ipsBox ipsPull ipsBox--invoicesACP'>
<h2 class='ipsBox__header'>
{lang="menu__nexus_payments_invoices"} ({$invoiceCount})
{{if $invoiceCount > $invoices->limit}}
<a href="{url="app=nexus&module=payments&controller=invoices&member={$customer->member_id}"}" class="ipsBox__header-secondary">{lang="see_all_invoices" pluralize="$invoiceCount"}</a>
{{endif}}
</h2>
<div class='i-padding_2'>
<div>
{$invoices|raw}
</div>
</div>]]></template>
@@ -2122,26 +2113,32 @@
<template template_group="customers" template_name="invoicesTableRows" template_data="$table, $headers, $rows" template_location="admin" template_app="nexus"><![CDATA[
{{foreach $rows as $row}}
<li class='ipsData__item'>
<div class='i-basis_120 i-text-align_center'>
<span class='cNexusCustomerInvoice'>{$row['i_total']}</span>
{$row['i_status']|raw}
</div>
<div class='ipsData__main'>
<p class='i-link-color_inherit'>
{{if $row['_buttons']['view']}}
<a href='{$row['_buttons']['view']['link']}'>
{{endif}}
{$row['i_title']|raw} <span class='i-color_soft i-font-size_1'>#{$row['i_id']}</span>
{{if $row['_buttons']['view']}}
</a>
{{endif}}
</p>
<p class='i-font-size_1'>
<span class='i-color_soft'>{lang="invoice_created"} {datetime="$row['i_date']"}</span>
</p>
</div>
<div class='i-basis_120 i-text-align_end'>
{template="controlStrip" params="$row['_buttons']" group="global" app="core"}
<div class="i-flex i-flex-wrap_wrap i-align-items_center i-gap_3">
<div class="i-flex_91 i-basis_300 i-flex i-gap_2 i-align-items_center">
<div class='i-flex_00 i-basis_100 i-text-align_center'>
<span class='cNexusCustomerInvoice'>{$row['i_total']}</span>
{$row['i_status']|raw}
</div>
<div class='ipsData__main'>
<div class="i-flex i-align-items_center i-gap_3 i-flex-wrap_wrap">
<div class="i-flex_91">
<p class='ipsData__title'>
{{if $row['_buttons']['view']}}
<a href='{$row['_buttons']['view']['link']}'>
{{endif}}
<span class='i-color_soft'>#{$row['i_id']}</span>: {$row['i_title']|raw}
{{if $row['_buttons']['view']}}
</a>
{{endif}}
</p>
<p class='ipsData__meta'>{lang="invoice_created"} {datetime="$row['i_date']"}</p>
</div>
</div>
</div>
</div>
<div class='i-flex_11 i-basis_120 i-text-align_end'>
{template="controlStrip" params="$row['_buttons']" group="global" app="core"}
</div>
</div>
</li>
{{endforeach}}]]></template>
@@ -3386,7 +3383,7 @@
</table>
{setting="nexus_invoice_footer"}
</div>]]></template>
<template template_group="invoices" template_name="status" template_data="$status" template_location="admin" template_app="nexus"><![CDATA[<span class="ipsBadge ipsBadge--style{{if $status == \IPS\nexus\Invoice::STATUS_PAID}}4{{elseif $status == \IPS\nexus\Invoice::STATUS_PENDING}}1{{elseif $status == \IPS\nexus\Invoice::STATUS_CANCELED}}5{{elseif $status == \IPS\nexus\Invoice::STATUS_EXPIRED}}6{{endif}}">
<template template_group="invoices" template_name="status" template_data="$status" template_location="admin" template_app="nexus"><![CDATA[<span class="ipsBadge {{if $status == \IPS\nexus\Invoice::STATUS_PAID}}ipsBadge--positive{{elseif $status == \IPS\nexus\Invoice::STATUS_PENDING}} {{elseif $status == \IPS\nexus\Invoice::STATUS_CANCELED}}ipsBadge--locked{{elseif $status == \IPS\nexus\Invoice::STATUS_EXPIRED}}ipsBadge--warning{{endif}}">
{lang="istatus_{$status}"}
</span>]]></template>
<template template_group="invoices" template_name="transactionsTable" template_data="$table, $headers, $rows, $quickSearch" template_location="admin" template_app="nexus"><![CDATA[
@@ -4325,10 +4322,10 @@
margin-top: 5px;
}
</style>
<link rel='stylesheet' href='{url="applications/core/interface/fontawesome/css/regular.min.css?v=6.3.0" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/fontawesome/css/solid.min.css?v=6.3.0" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/fontawesome/css/fontawesome.min.css?v=6.3.0" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/fontawesome/css/brands.min.css?v=6.3.0" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/static/fontawesome/css/regular.min.css?v=6.3.0" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/static/fontawesome/css/solid.min.css?v=6.3.0" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/static/fontawesome/css/fontawesome.min.css?v=6.3.0" base="none" noprotocol="true"}'>
<link rel='stylesheet' href='{url="applications/core/interface/static/fontawesome/css/brands.min.css?v=6.3.0" base="none" noprotocol="true"}'>
</head>
<body>
<div id='elNexusGiftcard_border'>
@@ -4670,12 +4667,11 @@
</div>]]></template>
<template template_group="store" template_name="adPackageExpire" template_data="$field" template_location="admin" template_app="nexus"><![CDATA[{lang="after"} <input type="number" name="{$field->name}[0]}" value="{$field->value[0]}"> <select class="ipsInput ipsInput--select" name="{$field->name}[1]"><option value="i" {{if $field->value[1] == 'i'}}selected{{endif}}>{lang="impressions"}</option><option value="c" {{if $field->value[1] == 'c'}}selected{{endif}}>{lang="clicks"}</option></select> {lang="or"} <input type="checkbox" name="{$field->name}[2]" {{if !$field->Value[0]}}checked{{endif}} data-role="unlimited"> {lang="never"}]]></template>
<template template_group="store" template_name="cart" template_data="$location, $currency" template_location="front" template_app="nexus"><![CDATA[
<div class=''>
<div class='i-text-align_center i-padding_3'>
<i class='i-font-size_6 fa-solid fa-cart-shopping'></i>
<h1 class='i-font-size_6 i-text-align_center'>{lang="your_cart"}</h1>
<div class='ipsBox ipsBox--cart'>
<div class='i-text-align_center i-padding_3 i-border-bottom_3'>
<i class='i-font-size_6 fa-solid fa-cart-shopping i-margin-bottom_2 i-color_soft'></i>
<h1 class='i-font-size_5 i-font-weight_600 i-color_hard i-text-align_center'>{lang="your_cart"}</h1>
</div>
<div data-controller='nexus.front.store.cartReview'>
<div data-role="cart">
{template="cartContents" group="store" params="$location, $currency"}
@@ -4684,11 +4680,11 @@
</div>]]></template>
<template template_group="store" template_name="cartContents" template_data="$location, $currency" template_location="front" template_app="nexus"><![CDATA[{{$subtotal = new \IPS\Math\Number('0');}}
{{if \count( $_SESSION['cart'] )}}
<div id='elNexusCart' class='ipsBox'>
<div id='elNexusCart'>
<i-data>
<div class="ipsData ipsData--table ipsData--cart-contents">
<ul class="ipsData ipsData--table ipsData--cart-contents">
{{foreach $_SESSION['cart'] as $id => $item}}
<div id='elCartItem_{$id}' class="ipsData__item">
<li id='elCartItem_{$id}' class="ipsData__item">
<figure class='ipsData__image'>
{{if $image = $item->image()}}
<img src="{$image->url}" alt='' loading='lazy'>
@@ -4716,7 +4712,7 @@
</div>
</div>
<div class='i-basis_180'>
<span class='cNexusPrice i-font-size_2'>
<span class='cNexusPrice i-font-size_3'>
{{if settings.nexus_show_tax}}
{{$location = $location ?: \IPS\nexus\Customer::loggedIn()->estimatedLocation();}}
{{$itemPrice = $item->grossPrice( $location );}}
@@ -4744,26 +4740,25 @@
{{endif}}
</div>
</div>
</div>
</li>
{{endforeach}}
<hr class='ipsHr'>
<div class='cNexusCart_totals i-text-align_end'>
{lang="cart_subtotal"}: <span class='cNexusPrice'>{money="$subtotal" currency="$currency"}</span>
</div>
</div>
</ul>
</i-data>
<div class='cNexusCart_totals i-text-align_end'>
{lang="cart_subtotal"}: <span class='cNexusPrice'>{money="$subtotal" currency="$currency"}</span>
</div>
<ul class="ipsSubmitRow ipsButtons">
<li>
<a class="ipsButton ipsButton--inherit" href="{url="app=nexus&module=store" seoTemplate="store"}"><i class="fa-solid fa-store"></i> {lang="continue_shopping"}</a>
</li>
<li>
<a class="ipsButton ipsButton--text i-margin-end_auto" href="{url="app=nexus&module=store&controller=cart&do=clear" seoTemplate="store_cart" csrf="true"}" data-confirm><i class="fa-regular fa-trash-can"></i> {lang="empty_cart"}</a>
</li>
<li>
<a class="ipsButton ipsButton--primary" href="{url="app=nexus&module=store&controller=cart&do=checkout" seoTemplate="store_cart" csrf="true"}" data-action="checkout"><i class="fa-solid fa-circle-check"></i> {lang="checkout"}</a>
</li>
</ul>
</div>
<ul class="ipsButtons ipsButtons--main i-margin-block_block">
<li>
<a class="ipsButton ipsButton--text" href="{url="app=nexus&module=store&controller=cart&do=clear" seoTemplate="store_cart" csrf="true"}" title="" data-confirm><i class='fa-solid fa-xmark'></i> {lang="empty_cart"}</a>
</li>
<li>
<a class="ipsButton ipsButton--primary" href="{url="app=nexus&module=store&controller=cart&do=checkout" seoTemplate="store_cart" csrf="true"}" title="" data-action="checkout">{lang="checkout"}<i class='fa-solid fa-chevron-right'></i></a>
</li>
<li>
<a class="ipsButton ipsButton--inherit" href="{url="app=nexus&module=store" seoTemplate="store"}" title=""><i class='fa-solid fa-chevron-left'></i> {lang="continue_shopping"}</a>
</li>
</ul>
{{else}}
<div class='ipsBox i-padding_3 i-text-align_center i-font-size_2 i-color_soft'>
{lang="your_cart_empty"}
@@ -4853,20 +4848,16 @@
<a href='{url="app=nexus&module=store&controller=cart" seoTemplate="store_cart"}' class='ipsButton ipsButton--primary'>{lang="continue_to_registration"}</a>
</div>
{{else}}
<div class='i-padding_3'>
<div class='i-background_2 i-padding_3 i-text-align_center i-margin-bottom_3'>
<h3 class='ipsTitle ipsTitle--h3 i-text-align_center i-margin-bottom_2 i-color_positive'><i class='fa-regular fa-check-circle'></i> {lang="product_added_to_cart"}</h3>
<h4 class='i-font-size_2'>{$package->_title}</h4>
<p>{lang="quantity"}: {$quantity}</p>
<div>
<div class='i-padding_3 i-text-align_center'>
<h3 class='i-font-weight_700 i-font-size_3 i-margin-bottom_2 i-color_positive'><i class='fa-regular fa-check-circle'></i> {lang="product_added_to_cart"}</h3>
<h4 class='i-font-size_3 i-font-weight_700 i-color_hard'>{$package->_title}</h4>
<p class="i-color_soft i-font-weight_600">{lang="quantity"}: {$quantity}</p>
</div>
<div class='ipsSubmitRow ipsButtons'>
<button type="button" data-action='dialogClose' class='ipsButton ipsButton--soft'><i class="fa-solid fa-store"></i> {lang="continue_shopping"}</button>
<a href='{url="app=nexus&module=store&controller=cart" seoTemplate="store_cart"}' title="{lang="review_cart_title"}" class='ipsButton ipsButton--primary'><i class="fa-solid fa-basket-shopping"></i> {lang="review_and_checkout"}</a>
</div>
<ul class='ipsSpanGrid'>
<li class='ipsSpanGrid__6'>
<a href='#' data-action='dialogClose' class='ipsButton ipsButton--wide ipsButton--soft'>{lang="continue_shopping"}</a>
</li>
<li class='ipsSpanGrid__6'>
<a href='{url="app=nexus&module=store&controller=cart" seoTemplate="store_cart"}' title="{lang="review_cart_title"}" class='ipsButton ipsButton--wide ipsButton--primary'>{lang="review_and_checkout"}</a>
</li>
</ul>
{{if \count( $upsell )}}
<hr class='ipsHr'>
<h2 class='ipsTitle ipsTitle--h3'>{lang="related_products_you_might_like"}</h2>
@@ -7947,22 +7938,11 @@
<css css_location="front" css_app="nexus" css_attributes="" css_path="." css_name="cart.css">.cNexusMenuCart_totalRow {
border-top: 1px solid var(--i-background_4);
}</css>
<css css_location="front" css_app="nexus" css_attributes="" css_path="." css_name="checkout.css"><![CDATA[.cNexusCheckout_returning,
.cNexusCheckout_review>.ipsColumn:first-child {
border-inline-end: 1px solid var(--i-background_2);
}
.cNexusCheckout_subtotal {
border-top: 1px solid var(--i-background_4);
}
.cNexusCheckout_addresses {}
.cNexusCheckout_addresses .ipsSpanGrid__6 {
<css css_location="front" css_app="nexus" css_attributes="" css_path="." css_name="checkout.css">.cNexusCheckout_addresses .ipsSpanGrid__6 {
margin-bottom: 15px;
}
.cNexusCheckout_addresses .ipsSpanGrid__6 input[type="radio"] {
.cNexusCheckout_addresses .ipsSpanGrid__6 input[type=&quot;radio&quot;] {
margin-top: 4px;
}
@@ -7979,9 +7959,9 @@
height: 15px;
}
input[type="text"][name="cm_checkout_vat_number"] {
input[type=&quot;text&quot;][name=&quot;cm_checkout_vat_number&quot;] {
width: auto;
}]]></css>
}</css>
<css css_location="front" css_app="nexus" css_attributes="" css_path="." css_name="clients.css">.cNexusInvoiceView .cNexusPrice {
font-size: var(--i-font-size_6);
line-height: 1.2;
@@ -8165,8 +8145,6 @@ input[type="text"][name="cm_checkout_vat_number"] {
display: block;
margin-bottom: 5px;
font-size: 24px;
font-weight: 300;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cCustomerStanding_value + .ipsMinorTitle {
@@ -8312,16 +8290,10 @@ input[type="text"][name="cm_checkout_vat_number"] {
}
/* main column */
#elCustomerData {
padding-inline-start: 23px;
}
.cNexusCustomerInvoice {
display: block;
margin-bottom: 5px;
font-size: 20px;
font-weight: 300;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.ipsApp .cNotesBox.ipsBox {
@@ -8511,10 +8483,6 @@ input[type="text"][name="cm_checkout_vat_number"] {
#acpPageHeader.cNexusSupportHeader .acpToolbar {
margin-top: 15px;
}
#elCustomerData {
padding-inline-start: 0;
}
}]]></css>
<css css_location="front" css_app="nexus" css_attributes="" css_path="." css_name="embed.css">.ipsCommercePrice{
font-weight: 600;
@@ -8725,7 +8693,7 @@ ul.cInvoiceUnpaidConsequences ul {
display: none;
}]]></css>
<css css_location="front" css_app="nexus" css_attributes="" css_path="." css_name="nexus.css">.cNexusPrice {
color: var(--i-color_secondary);
font-weight: 500;
}
.cNexusPrice s {