Version 5.0.13

This commit is contained in:
Neo committed 2025-12-19 19:04:57 -08:00
1 parent b89858b2ff
commit 5efe744c5f
1407 files changed
+69690 -30177

No files matched your search

+117 -124
View File
@@ -158,7 +158,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<div class="ipsBox ipsPull">
<div class="ipsBox ipsBox--commerceAddresses ipsPull">
<header class='ipsPageHeader'>
<div class="ipsPageHeader__row">
<div class="ipsPageHeader__primary">
@@ -293,7 +293,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<section class='ipsBox ipsPull'>
<section class='ipsBox ipsBox--cmsAlternativeClients ipsPull'>
<header class='ipsPageHeader'>
<div class="ipsPageHeader__row">
<div class="ipsPageHeader__primary">
@@ -1695,7 +1695,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<section class="ipsBox ipsPull">
<section class="ipsBox ipsBox--commerceDonations ipsPull">
<header class="ipsPageHeader ipsPageHeader--padding">
<h1 class='ipsPageHeader__title'>
IPSCONTENT;
@@ -1845,7 +1845,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<section class='ipsBox ipsPull'>
<section class='ipsBox ipsBox--cmsClientInfo ipsPull'>
<header class="ipsPageHeader ipsPageHeader--padding">
<h1 class='ipsPageHeader__title'>
IPSCONTENT;
@@ -1866,7 +1866,7 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div class='ipsBox i-padding_3 i-margin-bottom_3'>
<div class='ipsBox ipsBox--commerceInvoice i-padding_3 i-margin-bottom_3'>
<div class='i-flex i-justify-content_space-between i-margin-bottom_2'>
<div>
<h1 class='ipsTitle ipsTitle--h3'>
@@ -2268,7 +2268,7 @@ IPSCONTENT;
$summary = $invoice->summary();
$return .= <<<IPSCONTENT
<div class='ipsBox'>
<div class='ipsBox ipsBox--commerceOrderDetails'>
<h2 class='ipsBox__header'>
IPSCONTENT;
@@ -2291,7 +2291,7 @@ if ( !( $item instanceof \IPS\nexus\extensions\nexus\Item\CouponDiscount ) ):
$return .= <<<IPSCONTENT
<li class='ipsData__item'>
<figure class='ipsData__image'>
<div class="ipsData__image" aria-hidden="true">
IPSCONTENT;
@@ -2327,7 +2327,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</figure>
</div>
<div class='ipsData__content'>
<div class='ipsData__main'>
<h2 class='ipsData__title'>
@@ -2557,34 +2557,74 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'o
$return .= <<<IPSCONTENT
</span></a>
<div class='ipsData__content'>
<div class='ipsData__main'>
<div class="ipsColumns ipsColumns--orders">
<div class='ipsColumns__secondary i-basis_260'>
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsData__title'>
IPSCONTENT;
$val = ( $invoice->date instanceof \IPS\DateTime ) ? $invoice->date : \IPS\DateTime::ts( $invoice->date );$return .= $val->html(useTitle: true);
$return .= <<<IPSCONTENT
</a>
<div class='ipsData__meta'><strong class='cNexusPrice'>
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->total, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</strong> &middot;
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'order_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
#
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</div>
<p class='i-flex i-gap_1 i-align-items_center i-flex-wrap_wrap i-margin-top_1'>
<span class='cNexusOrderBadge cNexusOrderBadge_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->status, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
IPSCONTENT;
$val = "istatus_{$invoice->status}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
</p>
</div>
IPSCONTENT;
if ( !$fromBillingAgreement ):
$return .= <<<IPSCONTENT
<div class='ipsData__main'>
<div class="ipsColumns__primary i-align-self_center">
IPSCONTENT;
$summary = $invoice->summary();
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \count( $summary['items'] ) ):
$return .= <<<IPSCONTENT
<ul class='i-grid i-gap_3 cNexusOrderList_items'>
<ul class='i-grid i-gap_3 cNexusOrderList_items'>
IPSCONTENT;
foreach ( $summary['items'] as $k => $item ):
$return .= <<<IPSCONTENT
<li class='i-flex i-gap_2'>
<div class='i-basis_40 i-flex_00'
<li class='i-flex i-gap_2'>
<div class='i-basis_40 i-flex_00'
IPSCONTENT;
if ( $item::$title ):
@@ -2600,52 +2640,52 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<div class="ipsThumb">
<div class="ipsThumb i-width_100p">
IPSCONTENT;
if ( $image = $item->image() ):
$return .= <<<IPSCONTENT
<img src="
<img src="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $image->url, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" alt='' loading='lazy'>
IPSCONTENT;
elseif ( $item::$icon ):
$return .= <<<IPSCONTENT
<i class='fa-solid fa-
<i class='fa-solid fa-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item::$icon, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'></i>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<i></i>
<i></i>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
<div class='i-flex_11'>
</div>
</div>
<div class='i-flex_11'>
IPSCONTENT;
if ( $url = $item->url() ):
$return .= <<<IPSCONTENT
<a href="
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $url, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -2654,24 +2694,25 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<span class='i-color_hard i-font-weight_600'>
<span class='i-color_hard i-font-weight_600'>
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<p class='i-color_soft'>
<ul class='ipsList ipsList--inline i-color_soft i-gap_3 i-row-gap_0'>
<li>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'quantity', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -2680,8 +2721,8 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->quantity, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</p>
<p class='i-color_soft'>
</li>
<li>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_unit_price', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -2690,28 +2731,36 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->price, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</p>
</div>
</li>
</li>
</ul>
</div>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</ul>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<span class='ipsEmptyMessage'>
<span class='ipsEmptyMessage'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'orders_no_items', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
@@ -2719,70 +2768,14 @@ endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div class='i-basis_220'>
<strong class='i-font-size_2'>
IPSCONTENT;
$val = ( $invoice->date instanceof \IPS\DateTime ) ? $invoice->date : \IPS\DateTime::ts( $invoice->date );$return .= $val->html(useTitle: true);
$return .= <<<IPSCONTENT
</strong><br>
<span class='i-color_soft'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'order_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
#
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span>
<p class='i-flex i-gap_1 i-align-items_center i-flex-wrap_wrap'>
<span class='cNexusOrderBadge cNexusOrderBadge_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->status, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
IPSCONTENT;
$val = "istatus_{$invoice->status}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span> <strong class='i-font-size_2 cNexusPrice'>
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->total, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</strong>
</p>
</div>
<ul class='ipsButtons ipsButtons--fill i-margin-block_2'>
IPSCONTENT;
if ( $invoice->status === $invoice::STATUS_PENDING ):
$return .= <<<IPSCONTENT
<li>
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->checkoutUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsButton ipsButton--primary ipsButton--small' title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'order_pay_now_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'order_pay_now', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<ul class='ipsButtons ipsButtons--fill i-flex_00'>
<li>
<a href='
IPSCONTENT;
@@ -2793,37 +2786,37 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'orders_cancel_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
">
"><i class="fa-solid fa-xmark"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'orders_cancel', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->checkoutUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsButton ipsButton--primary ipsButton--small' title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'order_pay_now_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
"><i class="fa-solid fa-check"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'order_pay_now', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<li>
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'orders_view_details_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" class='ipsButton ipsButton--inherit ipsButton--small'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'order_view_details', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</div>
</li>
@@ -2842,7 +2835,7 @@ IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->pageHeader( \IPS\Member::loggedIn()->language()->addToStack('orders_title') );
$return .= <<<IPSCONTENT
<div class="ipsBox ipsPull">
<div class="ipsBox ipsBox--commerceInvoices ipsPull">
IPSCONTENT;
@@ -3388,10 +3381,10 @@ IPSCONTENT;
$extra = $purchase->clientAreaPage();
$return .= <<<IPSCONTENT
<div class="ipsBox">
<div class="ipsBox ipsBox--commercePurchase">
<div class="ipsColumns cNexusPurchase i-padding_2">
<div class="ipsColumns__secondary i-basis_200">
<span class="ipsThumb">
<span class="ipsThumb i-display_block">
IPSCONTENT;
@@ -4244,7 +4237,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<div class="ipsBox ipsPull">
<div class="ipsBox ipsBox--commercePurchases ipsPull">
<header class="ipsPageHeader ipsPageHeader--padding">
<h1 class='ipsPageHeader__title'>
IPSCONTENT;