Version 4.1.2

This commit is contained in:
Neo committed 2025-12-19 05:32:19 -08:00
1 parent 3ba79295ee
commit 28bd025b35
1131 files changed
+63658 -20579

No files matched your search

+103 -114
View File
@@ -576,11 +576,6 @@
</ul>
</div>
</div>
{{if \IPS\Request::i()->split}}
<div class='ipsMessage ipsMessage_info'>
You are paying <strong>{$amountToPay}</strong> with this payment
</div>
{{endif}}
{{else}}
<ul class='ipsList_reset ipsSpacer_bottom'>
{$input->rowHtml()|raw}
@@ -695,7 +690,6 @@
{{endif}}]]></template>
<template template_group="clients" template_name="addresses" template_data="$billingAddress = NULL, $shippingAddress = NULL, $otherAddresses" template_location="front" template_app="nexus"><![CDATA[<a href='{url="app=nexus&module=clients&controller=addresses&do=form" seoTemplate="clientsaddresses"}' class='ipsPos_right ipsButton ipsButton_important ipsButton_verySmall' title="{lang="address_add_title"}">{lang="address_add"}</a>
<h1 class='ipsType_pageTitle'>{lang="address_book"}</h1>
<hr class='ipsHr'>
<p class='ipsType_normal ipsSpacer_bottom ipsSpacer_double'>
{lang="address_book_info"}
@@ -733,7 +727,6 @@
{{endif}}]]></template>
<template template_group="clients" template_name="alternatives" template_data="" template_location="front" template_app="nexus"><![CDATA[<a href='{url="app=nexus&module=clients&controller=alternatives&do=form" seoTemplate="clientsalternatives"}' class='ipsPos_right ipsButton ipsButton_important ipsButton_verySmall' title="{lang="altcontact_add_title"}" data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="altcontact_add"}">{lang="altcontact_add"}</a>
<h1 class='ipsType_pageTitle'>{lang="altcontact_title"}</h1>
<hr class='ipsHr'>
<p class='ipsType_normal'>
{lang="altcontact_info"}
@@ -831,7 +824,6 @@
<template template_group="clients" template_name="cards" template_data="$cards" template_location="front" template_app="nexus"><![CDATA[
<a href='{url="app=nexus&module=clients&controller=cards&do=add" seoTemplate="clientscards"}' class='ipsPos_right ipsButton ipsButton_important ipsButton_verySmall' title="{lang="cards_add_title"}">{lang="cards_add"}</a>
<h1 class='ipsType_pageTitle'>{lang="cards_title"}</h1>
<hr class='ipsHr'>
<p class='ipsType_normal'>
{lang="cards_info"}
@@ -857,7 +849,6 @@
</ul>]]></template>
<template template_group="clients" template_name="credit" template_data="$balance, $pastWithdrawals, $pastWithdrawalsPagination, $canWithdraw, $canTopup" template_location="front" template_app="nexus"><![CDATA[
<h1 class='ipsType_pageTitle'>{lang="credit_title"}</h1>
<hr class='ipsHr'>
<div class='ipsColumns ipsColumns_collapsePhone'>
<div class='ipsColumn ipsColumn_wide'>
@@ -972,7 +963,6 @@
</div>]]></template>
<template template_group="clients" template_name="donations" template_data="" template_location="front" template_app="nexus"><![CDATA[
<h1 class='ipsType_pageTitle'>{lang="current_donation_goals"}</h1>
<hr class='ipsHr'>
{{if request.thanks}}
<p class="ipsMessage ipsMessage_success">{lang="thanks_for_your_donation"}</p>
@@ -1010,7 +1000,6 @@
{{endforeach}}]]></template>
<template template_group="clients" template_name="info" template_data="$form" template_location="front" template_app="nexus"><![CDATA[
<h1 class='ipsType_pageTitle'>{lang="customerinfo_title"}</h1>
<hr class='ipsHr'>
{$form|raw}]]></template>
<template template_group="clients" template_name="invoice" template_data="$invoice" template_location="front" template_app="nexus"><![CDATA[
@@ -1228,7 +1217,6 @@
{{endif}}]]></template>
<template template_group="clients" template_name="invoices" template_data="$invoices" template_location="front" template_app="nexus"><![CDATA[
{template="pageHeader" group="global" app="core" params="\IPS\Member::loggedIn()->language()->get('orders_title')"}
<hr class='ipsHr'>
{{if count( $invoices )}}
<ul class='ipsDataList ipsDataList_large cNexusOrderList'>
@@ -1565,7 +1553,6 @@
{{endforeach}}]]></template>
<template template_group="clients" template_name="purchases" template_data="$purchases" template_location="front" template_app="nexus"><![CDATA[
<h1 class='ipsType_pageTitle'>{lang="purchases_title"}</h1>
<hr class='ipsHr'>
{{if count( $purchases )}}
<p class='ipsType_normal'>
@@ -1583,7 +1570,6 @@
{{endif}}]]></template>
<template template_group="clients" template_name="referrals" template_data="$url, $rules" template_location="front" template_app="nexus"><![CDATA[
<h1 class='ipsType_pageTitle'>{lang="referrals"}</h1>
<hr class='ipsHr'>
{{if settings.nexus_com_rules}}
<h2 class='ipsType_sectionHead'>{lang="referrals_title"}</h2>
@@ -1662,11 +1648,11 @@
<div class='ipsGrid'>
<div class='ipsGrid_span6'>
<h3 class='ipsType_minorHeading'>{lang="referral_html"}</h3>
<input type='text' class='ipsField_fullWidth' value="&lt;a href='{$url}'&gt;&lt;img src='{$banner->url()}' alt='{setting="board_name"}'&gt;&lt;/a&gt;">
<input type='text' class='ipsField_fullWidth' value="&lt;a href='{$url}'&gt;&lt;img src='{$banner->url}' alt='{setting="board_name"}'&gt;&lt;/a&gt;">
</div>
<div class='ipsGrid_span6'>
<h3 class='ipsType_minorHeading'>{lang="referral_bbcode"}</h3>
<input type='text' class='ipsField_fullWidth' value="[url='{$url}'][img]{$banner->url()}[/img][/url]">
<input type='text' class='ipsField_fullWidth' value="[url='{$url}'][img]{$banner->url}[/img][/url]">
</div>
</div>
</div>
@@ -1676,39 +1662,6 @@
</div>
</div>
{{endif}}]]></template>
<template template_group="clients" template_name="template" template_data="$content" template_location="front" template_app="nexus"><![CDATA[
<h1 class='ipsType_pageTitle'>{lang="module__nexus_clients"}</h1>
<div class="ipsColumns ipsColumns_collapsePhone ipsSpacer_top">
<div class="ipsColumn ipsColumn_wide">
<div class='ipsAreaBackground_light ipsPad'>
<div class="ipsSideMenu" id='elBillingAndPurchasesMenu' data-ipsSideMenu>
<h3 class="ipsSideMenu_mainTitle ipsAreaBackground_reset ipsType_medium">
<a href="#elBillingAndPurchasesMenu" class="ipsPad_double" data-action="openSideMenu"><i class="fa fa-bars"></i> &nbsp;{lang="module__nexus_clients"}&nbsp;<i class="fa fa-caret-down"></i></a>
</h3>
<ul class="ipsSideMenu_list">
{{foreach \IPS\nexus\Customer::loggedIn()->clientAreaLinks() as $k}}
<li class="ipsSideMenu_item {{if request.controller === $k}}ipsSideMenu_itemActive{{endif}}">
{{if $k === 'invoices'}}
<a href="{url="app=nexus&module=clients&controller={$k}" seoTemplate="clients" protocol="\IPS\Settings::i()->nexus_https"}">
{{elseif $k === 'networkStatus'}}
<a href="{url="app=nexus&module=clients&controller={$k}" seoTemplate="clients{$k}"}">
{{else}}
<a href="{url="app=nexus&module=clients&controller={$k}" seoTemplate="clients{$k}" protocol="\IPS\Settings::i()->nexus_https"}">
{{endif}}
{lang="client_{$k}"}
</a>
</li>
{{endforeach}}
</ul>
</div>
</div>
</div>
<div class="ipsColumn ipsColumn_fluid">
<div>
{$content|raw}
</div>
</div>
</div>]]></template>
<template template_group="customers" template_name="addressItem" template_data="$address" template_location="admin" template_app="nexus"><![CDATA[
<div class='ipsType_normal'>
{$address['address']|raw}
@@ -2002,7 +1955,11 @@
<br>
{template="money" group="forms" location="global" params="$field->name . '[3]', json_decode( $field->value[2], TRUE ), array( 'unlimitedLang' => NULL )"}
</div>
<br> {lang="or"} <input type="checkbox" name="{$field->name}[4]" id="{$field->name}_nr" data-control="unlimited" {{if !$field->value[1]}}checked{{endif}}> <label for="{$field->name}_nr" class='ipsField_unlimited'>{lang="no_restriction"}</label>]]></template>
<br> {lang="or"}
<span class='ipsCustomInput'>
<input type="checkbox" name="{$field->name}[4]" id="{$field->name}_nr" data-control="unlimited" {{if !$field->value[1]}}checked{{endif}}>
<span></span>
</span> <label for="{$field->name}_nr" class='ipsField_unlimited'>{lang="no_restriction"}</label>]]></template>
<template template_group="customers" template_name="purchaseValueField" template_data="$field" template_location="admin" template_app="nexus"><![CDATA[<select name="{$field->name}[0]">
<option value="g" {{if $field->value[0] === 'g'}}selected{{endif}}>{lang="greater_than"}</option>
<option value="e" {{if $field->value[0] === 'e'}}selected{{endif}}>{lang="exactly"}</option>
@@ -2010,7 +1967,11 @@
</select>
<br>
{template="money" group="forms" location="global" params="$field->name . '[1]', json_decode( $field->value[1], TRUE ), array( 'unlimitedLang' => NULL )"}
<br> {lang="or"} <input type="checkbox" name="{$field->name}[2]" id="{$field->name}_nr" data-control="unlimited" {{if !$field->value[0]}}checked{{endif}}> <label for="{$field->name}_nr" class='ipsField_unlimited'>{lang="no_restriction"}</label>]]></template>
<br> {lang="or"}
<span class='ipsCustomInput'>
<input type="checkbox" name="{$field->name}[2]" id="{$field->name}_nr" data-control="unlimited" {{if !$field->value[0]}}checked{{endif}}>
<span></span>
</span> <label for="{$field->name}_nr" class='ipsField_unlimited'>{lang="no_restriction"}</label>]]></template>
<template template_group="customers" template_name="referralsOverview" template_data="$table, $headers, $rows, $quickSearch" template_location="admin" template_app="nexus"><![CDATA[
{{if count( $rows )}}
<ul class='ipsList_reset cCustomerOther_list'>
@@ -2065,7 +2026,7 @@
</td>
</tr>
{{endforeach}}]]></template>
<template template_group="customers" template_name="view" template_data="$customer, $notes, $noteCount, $primaryBillingAddress, $cards, $cardCount, $parents, $alternativeContacts, $altContactCount, $purchases, $purchaseCount, $invoices, $invoiceCount, $history, $referredBy, $refers, $referCount, $standing, $support, $supportCount, $sparkline" template_location="admin" template_app="nexus"><![CDATA[
<template template_group="customers" template_name="view" template_data="$customer, $notes, $noteCount, $primaryBillingAddress, $cards, $cardCount, $parents, $alternativeContacts, $altContactCount, $purchases, $purchaseCount, $invoices, $invoiceCount, $history, $referredBy, $refers, $referCount, $standing, $support, $supportCount, $sparkline, $purchaseRootCount" template_location="admin" template_app="nexus"><![CDATA[
<div class='ipsColumns ipsColumns_collapsePhone'>
<div class='ipsColumn ipsColumn_wide'>
<div class='ipsAreaBackground_light ipsPad'>
@@ -2086,7 +2047,7 @@
<ul class='ipsToolList ipsToolList_vertical ipsSpacer_top'>
{{if \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'payments', 'invoices_add' )}}
<li><a href='{url="app=nexus&module=payments&controller=invoices&do=generate&member={$customer->member_id}"}' class='ipsButton ipsButton_primary ipsButton_fullWidth ipsButton_small'>{lang="add_invoice"}</a></li>
<li><a href='{url="app=nexus&module=payments&controller=invoices&do=generate&member={$customer->member_id}&_new=1"}' class='ipsButton ipsButton_primary ipsButton_fullWidth ipsButton_small'>{lang="add_invoice"}</a></li>
{{endif}}
<li><a href='{url="app=nexus&module=support&controller=requests&do=create&member={$customer->member_id}"}' data-ipsDialog data-ipsDialog-title='{lang="customer_new_request"}' class='ipsButton ipsButton_primary ipsButton_fullWidth ipsButton_small'>{lang="customer_new_request"}</a></li>
</ul>
@@ -2319,7 +2280,7 @@
<div class='ipsGrid ipsGrid_collapsePhone'>
<div class='ipsGrid_span6'>
<h2 class='acpBlock_title acpBlock_titleDark acpBlock_titleSmall ipsType_reset'>{lang="account_items"}</h2>
<div class='ipsTabs ipsClearfix ipsJS_show acpFormTabBar' id='tabs_customer' data-ipsTabBar data-ipsTabBar-stretch data-ipsTabBar-contentArea='#ipsTabs_content_customer'>
<div class='ipsTabs ipsTabs_stretch ipsClearfix ipsJS_show acpFormTabBar' id='tabs_customer' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_customer'>
<a href='#tabs_customer' data-action='expandTabs'><i class='fa fa-caret-down'></i></a>
<ul role='tablist'>
<li class='ipsType_center'>
@@ -2345,6 +2306,11 @@
<div id='ipsTabs_content_customer' class='acpFormTabContent'>
<div id='ipsTabs_tabs_customer_customer_tab_purchases_panel' class="ipsTabs_panel" aria-labelledby="customer_tab_purchases" aria-hidden="false">
{$purchases|raw}
{{if $purchaseRootCount > $purchases->rootsPerPage}}
<div class="ipsType_center ipsAreaBackground_light ipsPad">
<a href="{url="app=nexus&module=customers&controller=view&do=purchaseList&id={$customer->member_id}"}" class="ipsButton ipsButton_verySmall ipsButton_normal">{lang="see_all_purchases" pluralize="$purchaseCount"}</a>
</div>
{{endif}}
</div>
<div id='ipsTabs_tabs_customer_customer_tab_invoices_panel' class="ipsTabs_panel" aria-labelledby="customer_tab_invoices" aria-hidden="false">
{$invoices|raw}
@@ -2797,7 +2763,10 @@
&nbsp;
{lang="or"}
&nbsp;
<input type="checkbox" role='checkbox' data-control="unlimited" name="{$name}[unlimited]" value="1" {{if $unlimitedChecked}}checked aria-checked='true'{{endif}} id="{$name}-unlimitedCheck"> <label for='{$name}-unlimitedCheck' class='ipsField_unlimited'>{lang="$unlimited"}</label>
<span class='ipsCustomInput'>
<input type="checkbox" role='checkbox' data-control="unlimited" name="{$name}[unlimited]" value="1" {{if $unlimitedChecked}}checked aria-checked='true'{{endif}} id="{$name}-unlimitedCheck">
<span></span>
</span> <label for='{$name}-unlimitedCheck' class='ipsField_unlimited'>{lang="$unlimited"}</label>
<br>
{{endif}}]]></template>
<template template_group="global" template_name="commentTableHeader" template_data="$comment, $package, $item" template_location="front" template_app="nexus"><![CDATA[
@@ -2810,8 +2779,7 @@
<h3 class='ipsType_sectionHead'><a href="{$package->url()}" data-role='productLink' class='' itemprop="name">{$package->_title}</a></h3>
<p class='ipsType_normal ipsType_light ipsType_blendLinks ipsType_reset'>{lang="in"} <a href='{$item->container()->url()}'>{$item->container()->_title}</a></p>
<p class='ipsType_reset' itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span data-role="price" itemprop="price" content="{$package->price()->amount}">{$package->priceToDisplay()|raw}</span>
<meta itemprop="priceCurrency" content="{$package->price()->currency}">
<span data-role="price">{$package->priceToDisplay()|raw}</span>
</p>
</div>
</div>
@@ -3277,7 +3245,12 @@
{lang="invoice_po_number"}: {$invoice->po}<br>
<br>
{{endif}}
{$invoice->member->cm_name}<br>
{{if $invoice->member->member_id}}
{$invoice->member->cm_name}
{{else}}
{$invoice->guest_data['member']['name']}
{{endif}}
<br>
{{if $invoice->billaddress}}{$invoice->billaddress->toString('<br>')|raw}{{endif}}
</div>
<div class="ipsPos_right">
@@ -3767,6 +3740,7 @@
</div>
</li>]]></template>
<template template_group="payouts" template_name="link" template_data="$payout" template_location="admin" template_app="nexus"><![CDATA[<a href="{$payout->acpUrl()}">{$payout->amount}</a>]]></template>
<template template_group="payouts" template_name="Manual" template_data="$payout" template_location="admin" template_app="nexus"><![CDATA[<pre>{$payout->data}</pre>]]></template>
<template template_group="payouts" template_name="PayPal" template_data="$payout" template_location="admin" template_app="nexus"><![CDATA[<div class="ipsType_center">
<span class="ipsType_large">{$payout->data}</span>
</div>
@@ -3850,9 +3824,7 @@
<div class="ipsAreaBackground_light">
<h2 class="ipsType_sectionTitle">{lang="payout__data_{$payout->gateway}"}</h2>
<div class='ipsPad'>
{{if method_exists( \IPS\Theme::i()->getTemplate( 'payouts' ), $payout->gateway )}}
{template="$payout->gateway" params="$payout" group="payouts"}
{{endif}}
{template="$payout->gateway" params="$payout" group="payouts"}
</div>
</div>
</div>
@@ -3943,7 +3915,7 @@
<br>
{{endif}}
{{if $data['message']}}
{expression="nl2br( htmlentities( $data['message'], \IPS\HTMLENTITIES, 'UTF-8', FALSE ) )" raw="true"}
{expression="nl2br( htmlspecialchars( $data['message'], \IPS\HTMLENTITIES, 'UTF-8', FALSE ) )" raw="true"}
{{endif}}
{{if $data['sender']}}
<br><br>
@@ -4179,7 +4151,7 @@
{{endif}}
{{if $data['message']}}
<div id='message'>
{expression="nl2br( htmlentities( $data['message'], \IPS\HTMLENTITIES, 'UTF-8', FALSE ) )" raw="true"}
{expression="nl2br( htmlspecialchars( $data['message'], \IPS\HTMLENTITIES, 'UTF-8', FALSE ) )" raw="true"}
</div>
{{endif}}
{{if $data['sender']}}
@@ -4645,7 +4617,7 @@
{$customFieldsForm|raw}
]]></template>
<template template_group="purchases" template_name="view" template_data="$purchase, $children, $invoices, $customFields" template_location="admin" template_app="nexus"><![CDATA[<div class="ipsGrid">
<template template_group="purchases" template_name="view" template_data="$purchase, $customer, $children, $invoices, $customFields" template_location="admin" template_app="nexus"><![CDATA[<div class="ipsGrid">
<div class='ipsGrid_span4'>
{{if $purchase->cancelled}}
<p class='ipsAreaBackground_negative ipsPad ipsType_center ipsSpacer_bottom ipsSpacer_double ipsType_reset'>
@@ -4737,15 +4709,21 @@
<div class="ipsAreaBackground_light">
<h2 class="acpBlock_title acpBlock_titleDark acpBlock_titleSmall ipsType_blendLinks">{lang="purchase_customer_info"}</h2>
<div class='ipsPad ipsPhotoPanel ipsPhotoPanel_small ipsClearfix'>
<a href="{$purchase->member->acpUrl()}" class='ipsPos_left'><img src='{$purchase->member->photo}' class='ipsUserPhoto ipsUserPhoto_small'></a>
<div class='ipsType_normal'>
<h3 class='ipsType_large ipsType_reset ipsType_blendLinks'><strong><a href="{$purchase->member->acpUrl()}">{$purchase->member->cm_name}</a></strong></h3>
{$purchase->member->email}<br>
{lang="transaction_customer_since" sprintf="$purchase->member->joined->localeDate()"}<br>
{lang="transaction_spent" sprintf="$purchase->member->totalSpent()"}
{{if $customer}}
<div class='ipsPad ipsPhotoPanel ipsPhotoPanel_small ipsClearfix'>
<a href="{$purchase->member->acpUrl()}" class='ipsPos_left'><img src='{$purchase->member->photo}' class='ipsUserPhoto ipsUserPhoto_small'></a>
<div class='ipsType_normal'>
<h3 class='ipsType_large ipsType_reset ipsType_blendLinks'><strong><a href="{$purchase->member->acpUrl()}">{$purchase->member->cm_name}</a></strong></h3>
{$purchase->member->email}<br>
{lang="transaction_customer_since" sprintf="$purchase->member->joined->localeDate()"}<br>
{lang="transaction_spent" sprintf="$purchase->member->totalSpent()"}
</div>
</div>
</div>
{{else}}
<div class='ipsPad ipsClearfix'>
<p class="ipsMessage ipsMessage_error">{lang="purchase_no_member"}</p>
</div>
{{endif}}
</div>
<br><br>
</div>
@@ -5103,6 +5081,7 @@
<a class="ipsButton ipsButton_large ipsButton_light ipsButton_fullWidth" href="{url="app=nexus&module=store" seoTemplate="store"}" title=""><i class='fa fa-chevron-left ipsPos_middle'></i>&nbsp; {lang="continue_shopping"}</a>
</li>
</ul>
<br>
{{else}}
<div class='ipsBox ipsPad ipsType_center ipsType_large ipsType_light'>
{lang="your_cart_empty"}
@@ -5317,7 +5296,7 @@
<a href='#elCategories_menu' class='ipsPad_double' data-action='openSideMenu'><i class='fa fa-bars'></i> &nbsp;{lang="categories"}&nbsp;<i class='fa fa-caret-down'></i></a>
</h3>
<p class='ipsType_reset ipsType_medium cNexusCategoriesBox_back'>
<a href='{$category->url()}'><i class='fa fa-chevron-left'></i> {lang="all_categories"}</a>
<a href='{url="app=nexus&module=store&controller=store" seoTemplate="store"}'><i class='fa fa-chevron-left'></i> {lang="all_categories"}</a>
</p>
<hr class='ipsHr'>
<h4 class='ipsSideMenu_title ipsSpacer_top ipsSpacer_half'>{$category->_title}</h4>
@@ -5327,10 +5306,10 @@
<a href='{$subcategory->url()}' class='ipsSideMenu_item'><strong>{$subcategory->_title}</strong></a>
{{if $subcategory->hasSubgroups()}}
<ul class='ipsSideMenu_list'>
{{foreach $subcategory->children() as $cidx => $child}}
{{foreach $subcategory->children( 'view', NULL, FALSE ) as $cidx => $child}}
<li>
{{if $cidx >= 5}}
<a href='{$subcategory->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $subcategory->children() ) - 5"}</span></a>
<a href='{$subcategory->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $subcategory->children( 'view', NULL, FALSE ) ) - 5"}</span></a>
{{break;}}
{{else}}
<a href="{$child->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'>{$child->_title}</a>
@@ -5344,7 +5323,7 @@
</ul>
</div>
{{elseif $category && $category->parent()}}
{{$siblings = $category->parent()->children();}}
{{$siblings = $category->parent()->children( 'view', NULL, FALSE );}}
<div class='ipsSideMenu ipsSideMenu_withRadios ipsType_medium' id='elCategories_menu'>
<h3 class='ipsSideMenu_mainTitle ipsAreaBackground_light ipsType_medium'>
<a href='#elCategories_menu' class='ipsPad_double' data-action='openSideMenu'><i class='fa fa-bars'></i> &nbsp;{lang="categories"}&nbsp;<i class='fa fa-caret-down'></i></a>
@@ -5360,10 +5339,10 @@
<a href='{$sibling->url()}' class='ipsSideMenu_item {{if $category && $category == $sibling}}ipsSideMenu_itemActive{{endif}}'>{$sibling->_title}</a>
{{if $sibling instanceof \IPS\nexus\Package\Group && $sibling->hasSubgroups()}}
<ul class='ipsSideMenu_list'>
{{foreach $sibling->children() as $cidx => $child}}
{{foreach $sibling->children( 'view', NULL, FALSE ) as $cidx => $child}}
<li>
{{if $cidx >= 5}}
<a href='{$sibling->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $sibling->children() ) - 5"}</span></a>
<a href='{$sibling->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $sibling->children( 'view', NULL, FALSE ) ) - 5"}</span></a>
{{break;}}
{{else}}
<a href="{$child->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'>{$child->_title}</a>
@@ -5387,10 +5366,10 @@
<a href='{$group->url()}' class='ipsSideMenu_item {{if $category && $category == $group}}ipsSideMenu_itemActive{{endif}}'><strong>{$group->_title}</strong></a>
{{if $group->hasSubgroups()}}
<ul class='ipsSideMenu_list'>
{{foreach $group->children() as $idx => $child}}
{{foreach $group->children( 'view', NULL, FALSE ) as $idx => $child}}
<li>
{{if $idx >= 5}}
<a href='{$group->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $group->children() ) - 5"}</span></a>
<a href='{$group->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $group->children( 'view', NULL, FALSE ) ) - 5"}</span></a>
{{break;}}
{{else}}
<a href="{$child->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'>{$child->_title}</a>
@@ -5420,7 +5399,7 @@
</div>]]></template>
<template template_group="store" template_name="chooseCurrency" template_data="$baseUrl" template_location="front" template_app="nexus"><![CDATA[{{if count( \IPS\nexus\Money::currencies() ) > 1}}
{{$memberCurrency = ( isset( $_SESSION['currency'] ) ? $_SESSION['currency'] : \IPS\nexus\Customer::loggedIn()->defaultCurrency() );}}
<div class='ipsType_center ipsAreaBackground_light ipsPad ipsSpacer_top ipsSpacer_half'>
<div class='ipsType_center ipsAreaBackground_light ipsPad ipsSpacer_top ipsSpacer_half' {{if isset( $_SESSION['cart'] ) and count( $_SESSION['cart'] )}}data-controller="nexus.front.store.currencySelect"{{endif}}>
<span class='ipsType_normal'>{lang="show_prices_in"}</span><br>
<ul class='ipsList_inline'>
{{foreach \IPS\nexus\Money::currencies() as $currency}}
@@ -5816,8 +5795,7 @@
</div>
<div class='ipsDataItem_generic ipsDataItem_size5 ipsPos_top ipsType_right'>
<div class='ipsPad_half' itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span data-role="price" itemprop="price" content="{$package->price()->amount}">{$package->priceToDisplay()|raw}</span>
<meta itemprop="priceCurrency" content="{$package->price()->currency}">
<span data-role="price">{$package->priceToDisplay()|raw}</span>
{{if $package->physical}}
{{if $package->stock !== 0}}
@@ -5915,7 +5893,11 @@
{{endforeach}}
<td data-role="unlimitedCatch">
<input type="number" name="custom_fields[{$k}][stock]" class="ipsField_short" {{if isset( $existingValues[ $k ] ) and $existingValues[ $k ]['opt_stock'] != -1}}value="{$existingValues[ $k ]['opt_stock']}"{{endif}}><br>
{lang="or"} <input type="checkbox" name="custom_fields[{$k}][unlimitedStock]" id="custom_fields_{$k}_unlimitedStock" data-control="unlimited" {{if isset( $existingValues[ $k ] ) and $existingValues[ $k ]['opt_stock'] == -1}}checked{{endif}}> <label for="custom_fields_{$k}_unlimitedStock" class='ipsField_unlimited'>{lang="unlimited"}</label>
{lang="or"}
<span class='ipsCustomInput'>
<input type="checkbox" name="custom_fields[{$k}][unlimitedStock]" id="custom_fields_{$k}_unlimitedStock" data-control="unlimited" {{if isset( $existingValues[ $k ] ) and $existingValues[ $k ]['opt_stock'] == -1}}checked{{endif}}>
<span></span>
</span> <label for="custom_fields_{$k}_unlimitedStock" class='ipsField_unlimited'>{lang="unlimited"}</label>
</td>
<td>
{{$values = isset( $existingValues[ $k ] ) ? json_decode( $existingValues[ $k ]['opt_base_price'], TRUE ) : array();}}
@@ -5997,7 +5979,7 @@
<p class='ipsType_right ipsType_normal'><a href='{url="app=core&module=system&controller=register&noPurchase=1" seoTemplate="register"}'>{lang="continue_without_purchasing"} <i class='fa fa-caret-right'></i></a></p>
{{endif}}
</div>]]></template>
<template template_group="store" template_name="reviews" template_data="$item" template_location="front" template_app="nexus"><![CDATA[<div data-controller='core.front.core.commentFeed' data-baseURL='{$item->url()}' {{if $item->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='product-{$item->id}-reviews'>
<template template_group="store" template_name="reviews" template_data="$item" template_location="front" template_app="nexus"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$item->url()}' {{if $item->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='product-{$item->id}-reviews'>
{{if $item->canReview()}}
<div id='elProductReviewForm'>
{$item->reviewForm()|raw}
@@ -6014,8 +5996,8 @@
{{endif}}
{{endif}}
{{if count( $item->reviews() )}}
<hr class='ipsHr'>
<div class="ipsClearfix ipsSpacer_both">
{{if !$item->hasReviewed()}}<hr class='ipsHr'>{{endif}}
<div class="ipsClearfix ipsSpacer_bottom">
{{if $item->reviewPageCount() > 1}}
<div class="ipsPos_left ipsResponsive_noFloat">
{$item->reviewPagination( array( 'tab', 'sort' ) )|raw}
@@ -6046,6 +6028,8 @@
{$item->reviewPagination( array( 'tab', 'sort' ) )|raw}
</div>
{{endif}}
{{elseif !$item->canReview()}}
<p class="ipsType_normal ipsType_light ipsType_reset" data-role="noReviews">{lang="no_reviews"}</p>
{{endif}}
</div>]]></template>
<template template_group="store" template_name="storeIndexProductsSetting" template_data="$key, $name, $value" template_location="admin" template_app="nexus"><![CDATA[{lang="$key" htmlsprintf="'<input type=\'number\' name=\'' . $name . '[0]\' value=\'' . $value[0] . '\' class=\'ipsField_tiny\'>', '<input type=\'number\' name=\'' . $name . '[1]\' value=\'' . ( isset( $value[1] ) ? $value[1] : '' ). '\' class=\'ipsField_tiny\'>'"}]]></template>
@@ -6080,7 +6064,11 @@
</select>
<label>{lang="ago"}</label>
<br><br>
{lang="or"} <input type="checkbox" name="{$name}[3]" {{if !$number}}checked{{endif}} data-control="unlimited" id="{$name}_unlimited"> <label for="{$name}_unlimited" class='ipsField_unlimited'>{lang="do_not_highlight_requests"}</label>]]></template>
{lang="or"}
<span class='ipsCustomInput'>
<input type="checkbox" name="{$name}[3]" {{if !$number}}checked{{endif}} data-control="unlimited" id="{$name}_unlimited">
<span></span>
</span> <label for="{$name}_unlimited" class='ipsField_unlimited'>{lang="do_not_highlight_requests"}</label>]]></template>
<template template_group="support" template_name="latestFeedback" template_data="$table, $headers, $rows" template_location="admin" template_app="nexus"><![CDATA[{{if $table->pages > 1}}
<div data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
@@ -6390,7 +6378,7 @@
</div>
</div>
</div>
<div class='ipsPad ipsAreaBackground_light' data-controller='core.front.core.commentFeed' data-baseURL='{$request->acpUrl()}' data-feedID='request-{$request->id}'>
<div class='ipsPad ipsAreaBackground_light' data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$request->acpUrl()}' data-feedID='request-{$request->id}'>
{{$order = isset( \IPS\Request::i()->order ) ? \IPS\Request::i()->order : ( isset( \IPS\Request::i()->cookie['support_order'] ) ? \IPS\Request::i()->cookie['support_order'] : 'desc' );}}
<div class="ipsType_right ipsType_small">
{{if $order === 'desc'}}
@@ -8620,20 +8608,20 @@ html[dir="rtl"] .cNexusPurchase {
background-repeat: no-repeat;
}
.cPayment_visa { background-image: url( {resource="cards/visa.png" app="nexus" location="front"} ); }
.cPayment_mastercard { background-image: url( {resource="cards/mastercard.png" app="nexus" location="front"} ); }
.cPayment_american_express { background-image: url( {resource="cards/amex.png" app="nexus" location="front"} ); }
.cPayment_discover { background-image: url( {resource="cards/discover.png" app="nexus" location="front"} ); }
.cPayment_diners_club { background-image: url( {resource="cards/dinersclub.png" app="nexus" location="front"} ); }
.cPayment_jcb { background-image: url( {resource="cards/jcb.png" app="nexus" location="front"} ); }
.cPayment_visa { background-image: url( "{resource="cards/visa.png" app="nexus" location="front"}" ); }
.cPayment_mastercard { background-image: url( "{resource="cards/mastercard.png" app="nexus" location="front"}" ); }
.cPayment_american_express { background-image: url( "{resource="cards/amex.png" app="nexus" location="front"}" ); }
.cPayment_discover { background-image: url( "{resource="cards/discover.png" app="nexus" location="front"}" ); }
.cPayment_diners_club { background-image: url( "{resource="cards/dinersclub.png" app="nexus" location="front"}" ); }
.cPayment_jcb { background-image: url( "{resource="cards/jcb.png" app="nexus" location="front"}" ); }
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
.cPayment_visa { background-image: url( {resource="cards/visa@2x.png" app="nexus" location="front"} ); }
.cPayment_mastercard { background-image: url( {resource="cards/mastercard@2x.png" app="nexus" location="front"} ); }
.cPayment_american_express { background-image: url( {resource="cards/amex@2x.png" app="nexus" location="front"} ); }
.cPayment_discover { background-image: url( {resource="cards/discover@2x.png" app="nexus" location="front"} ); }
.cPayment_diners_club { background-image: url( {resource="cards/dinersclub@2x.png" app="nexus" location="front"} ); }
.cPayment_jcb { background-image: url( {resource="cards/jcb@2x.png" app="nexus" location="front"} ); }
.cPayment_visa { background-image: url( "{resource="cards/visa@2x.png" app="nexus" location="front"}" ); }
.cPayment_mastercard { background-image: url( "{resource="cards/mastercard@2x.png" app="nexus" location="front"}" ); }
.cPayment_american_express { background-image: url( "{resource="cards/amex@2x.png" app="nexus" location="front"}" ); }
.cPayment_discover { background-image: url( "{resource="cards/discover@2x.png" app="nexus" location="front"}" ); }
.cPayment_diners_club { background-image: url( "{resource="cards/dinersclub@2x.png" app="nexus" location="front"}" ); }
.cPayment_jcb { background-image: url( "{resource="cards/jcb@2x.png" app="nexus" location="front"}" ); }
}]]></css>
<css css_location="front" css_app="nexus" css_attributes="" css_path="." css_name="donations.css">.cDonateProgressBar {
width: 100%;
@@ -8894,20 +8882,20 @@ ul.cInvoiceUnpaidConsequences ul {
background-repeat: no-repeat;
}
.cPayment_visa { background-image: url( {resource="cards/visa.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_mastercard { background-image: url( {resource="cards/mastercard.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_american_express { background-image: url( {resource="cards/amex.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_discover { background-image: url( {resource="cards/discover.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_diners_club { background-image: url( {resource="cards/dinersclub.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_jcb { background-image: url( {resource="cards/jcb.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_visa { background-image: url( "{resource="cards/visa.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_mastercard { background-image: url( "{resource="cards/mastercard.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_american_express { background-image: url( "{resource="cards/amex.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_discover { background-image: url( "{resource="cards/discover.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_diners_club { background-image: url( "{resource="cards/dinersclub.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_jcb { background-image: url( "{resource="cards/jcb.png" app="nexus" location="front" noprotocol="true"}" ); }
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
.cPayment_visa { background-image: url( {resource="cards/visa@2x.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_mastercard { background-image: url( {resource="cards/mastercard@2x.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_american_express { background-image: url( {resource="cards/amex@2x.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_discover { background-image: url( {resource="cards/discover@2x.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_diners_club { background-image: url( {resource="cards/dinersclub@2x.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_jcb { background-image: url( {resource="cards/jcb@2x.png" app="nexus" location="front" noprotocol="true"} ); }
.cPayment_visa { background-image: url( "{resource="cards/visa@2x.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_mastercard { background-image: url( "{resource="cards/mastercard@2x.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_american_express { background-image: url( "{resource="cards/amex@2x.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_discover { background-image: url( "{resource="cards/discover@2x.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_diners_club { background-image: url( "{resource="cards/dinersclub@2x.png" app="nexus" location="front" noprotocol="true"}" ); }
.cPayment_jcb { background-image: url( "{resource="cards/jcb@2x.png" app="nexus" location="front" noprotocol="true"}" ); }
}
.cNexusCard_expiry select {
@@ -9717,7 +9705,8 @@ html[dir="rtl"] .cNexusSupportForm_sendTo .ipsForm_horizontal .ipsFieldRow:not(
}
.cNexusAdminSupportMessage_author {
margin: 7px 15px 0 15px;
margin: 0 15px 0 15px;
padding-top: 7px;
padding-bottom: 7px;
border-bottom: 1px solid rgba(0,0,0,0.1);
}