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

+157 -157
View File
@@ -62,7 +62,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsData__item">
<figure class='ipsData__image'>
<div class="ipsData__image" aria-hidden="true">
IPSCONTENT;
@@ -98,7 +98,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</figure>
</div>
<div class='ipsData__content'>
<div class='ipsData__main'>
<h2 class='ipsData__title'>
@@ -144,19 +144,16 @@ IPSCONTENT;
if ( $item->canChangeQuantity() ):
$return .= <<<IPSCONTENT
<li><a href='#elItemRow
<li><button type="button" id="elItemRow
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_quantity_menu' data-ipsMenu data-ipsMenu-appendTo='#elCartItem_
_quantity" popovertarget="elItemRow
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsMenu-closeOnClick='false' id='elItemRow
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_quantity' title='
_quantity_menu" title='
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change_quantity_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -166,25 +163,34 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change_quantity', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
<i class='fa-solid fa-caret-down'></i></a></li>
<i class='fa-solid fa-caret-down'></i></button></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</ul>
<div class='i-padding_2 ipsHide ipsMenu' id='elItemRow
<i-dropdown popover id="elItemRow
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_quantity_menu'>
<form action="
_quantity_menu">
<div class="iDropdown">
<form action="
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=nexus&module=store&controller=cart&do=quantities" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "store_cart", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
" method="post" data-role='quantityForm' class="i-flex i-gap_2">
<input class="ipsInput ipsInput--number" type='number' name="item[
" method="post" data-role='quantityForm' class="ipsForm">
<label class="ipsFieldRow">
<span class="ipsFieldRow__label">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change_quantity', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
<input class="ipsInput ipsInput--number" type='number' name="item[
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -192,15 +198,17 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->quantity, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' size="6" min="0">
<button type='submit' class='ipsButton ipsButton--primary ipsButton--small'>
' min="0">
</label>
<div class="ipsSubmitRow"><button type='submit' class='ipsButton ipsButton--primary ipsButton--wide'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'update', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</form>
</div>
</button></div>
</form>
</div>
</i-dropdown>
</div>
</div>
<div class='i-basis_180'>
@@ -460,17 +468,12 @@ $subtotal = new \IPS\Math\Number('0');
$return .= <<<IPSCONTENT
<li data-el='cart' id='elCart_container'>
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=nexus&module=store&controller=cart", null, "store_cart", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class="ipsUserNav__link" id='elCart' data-ipsTooltip title='
<button type="button" id="elCart" popovertarget="elCart_menu" class="ipsUserNav__link" data-ipsTooltip title='
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'your_cart', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
' data-ipsMenu data-ipsMenu-closeOnClick='false'>
'>
<i class="fa-solid fa-basket-shopping ipsUserNav__icon"></i>
<span class="ipsUserNav__text">
IPSCONTENT;
@@ -484,32 +487,35 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\nexus\Application::cartCount(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span>
</a>
<div id='elCart_menu' class='ipsMenu ipsMenu_wide ipsHide'>
<div class="ipsMenu_headerBar"><h4 class="ipsTitle ipsTitle--h3">
</button>
<i-dropdown popover id="elCart_menu">
<div class="iDropdown">
<div class="iDropdown__header">
<h4>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'your_cart', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h4></div>
<div class='ipsMenu_innerContent'>
<i-data>
<ul class="ipsData ipsData--table ipsData--compact ipsData--cart-dropdown" data-role='cartList' id='elCartContent'>
</h4>
</div>
<div class='iDropdown__content'>
<i-data>
<ul class="ipsData ipsData--table ipsData--compact ipsData--cart-dropdown" data-role='cartList' id='elCartContent'>
IPSCONTENT;
foreach ( $_SESSION['cart'] as $id => $item ):
$return .= <<<IPSCONTENT
<li class='ipsData__item'>
<figure class='ipsData__image'>
<li class='ipsData__item'>
<div class='ipsData__image' aria-hidden="true">
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
@@ -518,167 +524,159 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" loading="lazy">
IPSCONTENT;
elseif ( $icon = $item::$icon ):
$return .= <<<IPSCONTENT
<i class='fa fa-solid fa-
<i class='fa fa-solid fa-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $icon, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'></i>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<i></i>
<i></i>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</figure>
<div class='ipsData__main'>
<div class='ipsData__title'>
</div>
<div class='ipsData__main'>
<div class='ipsData__title'>
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</div>
<p class="ipsData__meta">&times;
<p class="ipsData__meta">&times;
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item->quantity, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</p>
</div>
<div class='cNexusPrice'>
<strong>
</div>
<div class='cNexusPrice'>
<strong>
IPSCONTENT;
if ( \IPS\Settings::i()->nexus_show_tax ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$location = $location ?: \IPS\nexus\Customer::loggedIn()->estimatedLocation();
$return .= <<<IPSCONTENT
IPSCONTENT;
$linePrice = $item->grossLinePrice( $location );
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$linePrice = $item->linePrice();
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $linePrice, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
$subtotal = $subtotal->add( $linePrice->amount );
$return .= <<<IPSCONTENT
</strong>
</strong>
IPSCONTENT;
if ( $item->quantity > 1 ):
$return .= <<<IPSCONTENT
<p class='i-font-size_-2 i-color_soft'>
<p class='i-font-size_-2 i-color_soft'>
IPSCONTENT;
$sprintf = array($item->price); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'each_short', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<<IPSCONTENT
</p>
</p>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</li>
</div>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
<li class='ipsData__item cNexusMenuCart_totalRow'>
<div class='ipsData__main i-font-size_2 i-text-align_end'>
<strong>
<li class='ipsData__item cNexusMenuCart_totalRow'>
<div class='ipsData__main i-font-size_2 i-text-align_end'>
<strong>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'subtotal', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</strong>
</div>
<div class='i-basis_100 cNexusPrice i-font-size_2 i-text-align_end'>
<strong>
</div>
<div class='i-basis_100 cNexusPrice i-font-size_2 i-text-align_end'>
<strong>
IPSCONTENT;
$return .= new \IPS\nexus\Money( $subtotal, ( ( 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() ) );
$return .= <<<IPSCONTENT
</strong>
</div>
</li>
</ul>
</i-data>
</div>
<div class='ipsMenu_footerBar i-text-align_center'>
</div>
</li>
</ul>
</i-data>
</div>
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=nexus&module=store&controller=cart", null, "store_cart", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class='ipsButton ipsButton--small ipsButton--primary'>
' class='iDropdown__footer'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'review_and_checkout', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</div>
</div>
</i-dropdown>
</li>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<li class='ipsHide' id='elCart_container'></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
@@ -902,21 +900,26 @@ IPSCONTENT;
if ( \count( $subcategories ) ):
$return .= <<<IPSCONTENT
<section class='ipsBox ipsPull ipsBox--padding'>
<ul class='ipsGrid ipsGrid--commerce-subcategories i-basis_280 i-text-align_center'>
<section class='ipsBox ipsBox--commerceSubcategories ipsPull'>
<i-data>
<ul class='ipsData ipsData--wallpaper ipsData--carousel ipsData--commerceCategories'>
IPSCONTENT;
foreach ( $subcategories as $group ):
$return .= <<<IPSCONTENT
<li>
<figure class='ipsFigure'>
<li class="ipsData__item">
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $group->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsFigure__main i-aspect-ratio_6'>
' class='ipsLinkPanel' aria-hidden="true" tabindex="-1"><span>
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $group->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span></a>
<div class="ipsData__image" aria-hidden="true">
IPSCONTENT;
@@ -935,35 +938,32 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<i class="ipsFigure__icon"></i>
<i></i>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<span class="ipsInvisible">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $group->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span>
</a>
<figcaption class="ipsFigure__footer">
<h3 class='i-font-size_2 i-font-weight_600'>
</div>
<div class="ipsData__content">
<div class="ipsData__main">
<h3 class="ipsData__title">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $group->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</h3>
</figcaption>
</figure>
</li>
</div>
</div>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</ul>
</i-data>
</section>
<br>
@@ -996,7 +996,7 @@ IPSCONTENT;
if ( \count( $packages ) ):
$return .= <<<IPSCONTENT
<section class='ipsBox'>
<section class='ipsBox ipsBox--commerceCategoryContents'>
<h2 class='ipsBox__header'>
IPSCONTENT;
@@ -1020,77 +1020,77 @@ $return .= <<<IPSCONTENT
<div class="ipsButtonBar__end">
<ul class="ipsDataFilters">
<li>
<a href="#elSortByMenu_menu" id="elSortByMenu_products" class="ipsDataFilters__button" data-role="sortButton" data-ipsMenu data-ipsMenu-activeclass="ipsDataFilters__button--active" data-ipsMenu-selectable="radio"><span>
<button type="button" id="elSortByMenu_products" popovertarget="elSortByMenu_products_menu" class="ipsDataFilters__button" data-role="sortButton"><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'sort_by', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span><i class="fa-solid fa-caret-down"></i></a>
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_products_menu">
</span><i class="fa-solid fa-caret-down"></i></button>
<i-dropdown popover id="elSortByMenu_products_menu" data-i-dropdown-selectable="radio">
<div class="iDropdown">
<ul class="iDropdown__items">
IPSCONTENT;
foreach ( array( 'default', 'name', 'price_low', 'price_high', 'rating' ) as $k ):
$return .= <<<IPSCONTENT
<li class="ipsMenu_item
IPSCONTENT;
if ( ( \IPS\Widget\Request::i()->sortby and \IPS\Widget\Request::i()->sortby == $k ) or ( !\IPS\Widget\Request::i()->sortby and $k === 'default' ) ):
$return .= <<<IPSCONTENT
ipsMenu_itemChecked
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-ipsmenuvalue="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
<li>
<a data-action="filter"
IPSCONTENT;
if ( $k === 'default' ):
$return .= <<<IPSCONTENT
<a data-action="filter" href="
href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
"
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<a data-action="filter" href="
href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->url()->setQueryString( 'sortby', $k ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( ( \IPS\Widget\Request::i()->sortby and \IPS\Widget\Request::i()->sortby == $k ) or ( !\IPS\Widget\Request::i()->sortby and $k === 'default' ) ):
$return .= <<<IPSCONTENT
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
data-ipsmenuvalue="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
<i class="iDropdown__input"></i>
IPSCONTENT;
$val = "products_sort_{$k}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</a>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</ul>
</div>
</i-dropdown>
</li>
</ul>
</div>
@@ -2760,7 +2760,7 @@ endif;
$return .= <<<IPSCONTENT
<section class='ipsBox ipsPull'>
<section class='ipsBox ipsBox--commerceCategories ipsPull'>
<header class='ipsBox__header'>
<h2>
IPSCONTENT;
@@ -2777,7 +2777,7 @@ $return .= <<<IPSCONTENT
</header>
<nav class='ipsBox__content'>
<i-data>
<ul class='ipsData ipsData--wallpaper ipsData--carousel ipsData--commerce-categories i-basis_220 i-text-align_center' id='carousel--commerce-categories' tabindex="0">
<ul class='ipsData ipsData--wallpaper ipsData--carousel ipsData--commerceCategories' id='carousel--commerce-categories' tabindex="0">
IPSCONTENT;
@@ -2794,7 +2794,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $group->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span></a>
<figure class="ipsData__image">
<div class="ipsData__image" aria-hidden="true">
IPSCONTENT;
@@ -2820,7 +2820,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</figure>
</div>
<div class="ipsData__content">
<div class="ipsData__main">
<h3 class="ipsData__title">
@@ -2848,7 +2848,7 @@ IPSCONTENT;
if ( \count( \IPS\nexus\Package\Item::featured() ) ):
$return .= <<<IPSCONTENT
<section class='ipsBox ipsPull'>
<section class='ipsBox ipsBox--commerceFeaturedProducts ipsPull'>
<header class='ipsBox__header'>
<h2>
IPSCONTENT;
@@ -2899,7 +2899,7 @@ IPSCONTENT;
if ( \count( $newProducts ) ):
$return .= <<<IPSCONTENT
<section class='ipsBox ipsPull'>
<section class='ipsBox ipsBox--commerceNewProducts ipsPull'>
<header class='ipsBox__header'>
<h2>
IPSCONTENT;
@@ -2950,7 +2950,7 @@ IPSCONTENT;
if ( \count( $popularProducts ) ):
$return .= <<<IPSCONTENT
<section class='ipsBox ipsPull'>
<section class='ipsBox ipsBox--commercePopularProducts ipsPull'>
<header class='ipsBox__header'>
<h2>
IPSCONTENT;
@@ -3004,7 +3004,7 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div class='ipsBox ipsPull'>
<div class='ipsBox ipsBox--commercePackage ipsPull'>
<section class='cNexusProduct_header ipsFluid i-basis_400 i-gap_lines' data-controller='nexus.front.store.packagePage' data-itemTitle="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $package->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -3416,7 +3416,7 @@ IPSCONTENT;
if ( $package->reviewable ):
$return .= <<<IPSCONTENT
<section class="ipsBox ipsPull">
<section class="ipsBox ipsBox--packageReviews ipsPull">
<h2 class="ipsBox__header">
IPSCONTENT;
@@ -3470,7 +3470,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $package->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsData__image'>
' class='ipsData__image' aria-hidden="true" tabindex="-1">
IPSCONTENT;
@@ -3847,7 +3847,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $package->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsData__image'>
' class='ipsData__image' aria-hidden="true" tabindex="-1">
IPSCONTENT;
@@ -4018,7 +4018,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $package->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsData__image cNexusProduct_image'>
' class='ipsData__image cNexusProduct_image' aria-hidden="true" tabindex="-1">
IPSCONTENT;
@@ -4114,7 +4114,7 @@ endif;
$return .= <<<IPSCONTENT
</div>
<div>
<div class="i-flex_00">
IPSCONTENT;
@@ -4459,7 +4459,7 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div class='ipsBox ipsPull'>
<div class='ipsBox ipsBox--commerceRegister ipsPull'>
<div class="i-padding_3 i-border-bottom_3">
<h1 class='i-font-size_4 i-font-weight_600 i-color_hard'>
IPSCONTENT;