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

+128 -80
View File
@@ -1166,15 +1166,15 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $inputName, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<a href="#elSearch_
<button type="button" id="elSearch_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $inputName, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_menu" class="ipsButton ipsButton--small ipsButton--inherit" data-ipsMenu data-ipsMenu-appendTo='#elSearchFilters_content' data-ipsMenu-closeOnClick='false' id='elSearch_
" popovertarget="elSearch_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $inputName, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-role='
_menu" class="ipsButton ipsButton--small ipsButton--inherit" data-role='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $inputName, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -1197,22 +1197,26 @@ IPSCONTENT;
$val = "{$inputName}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
<i class='fa-solid fa-caret-down'></i></a>
<div class='ipsMenu ipsMenu_medium ipsFieldRow--fullWidth i-padding_3 ipsHide' id='elSearch_
<i class='fa-solid fa-caret-down'></i></button>
<i-dropdown popover id="elSearch_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $inputName, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_menu'>
<h4 class="ipsMinorTitle i-margin-bottom_2">
_menu" data-i-dropdown-persist>
<div class="iDropdown">
<div class='i-padding_2'>
<h4 class="ipsMinorTitle i-margin-bottom_2">
IPSCONTENT;
$val = "{$inputName}_title"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h4>
<div class='ipsFieldRow--fullWidth'>
{$input->html()}
<div class='ipsFieldRow--fullWidth'>
{$input->html()}
</div>
</div>
</div>
</div>
</i-dropdown>
</li>
IPSCONTENT;
@@ -2764,8 +2768,8 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div class='ipsBox ipsPull'>
<p class='ipsBox__header'>
<div class="ipsBox ipsBox--searchResultStream ipsPull">
<p class="ipsBox__header">
IPSCONTENT;
$pluralize = array( $count ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_found', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
@@ -2777,14 +2781,24 @@ IPSCONTENT;
if ( $pagination OR !$hideSort ):
$return .= <<<IPSCONTENT
<div class='ipsButtonBar ipsButtonBar--top'>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/resultStream", "buttonBar:before", [ $results,$pagination,$baseUrl,$hideSort,$count ] );
$return .= <<<IPSCONTENT
<div class="ipsButtonBar ipsButtonBar--top" data-ips-hook="buttonBar">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/resultStream", "buttonBar:inside-start", [ $results,$pagination,$baseUrl,$hideSort,$count ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $pagination ):
$return .= <<<IPSCONTENT
<div class='ipsButtonBar__pagination'>{$pagination}</div>
<div class="ipsButtonBar__pagination">{$pagination}</div>
IPSCONTENT;
@@ -2797,7 +2811,7 @@ IPSCONTENT;
if ( !$hideSort ):
$return .= <<<IPSCONTENT
<div class='ipsButtonBar__end'>
<div class="ipsButtonBar__end">
<ul class="ipsDataFilters">
<li>
@@ -2806,170 +2820,174 @@ IPSCONTENT;
if ( \IPS\Widget\Request::i()->type == 'core_members' or \IPS\Content\Search\Query::init()->canUseRelevancy() ):
$return .= <<<IPSCONTENT
<a href="#elSortByMenu_menu" class='ipsDataFilters__button' id="elSortByMenu_search_results" data-role="sortButton" data-ipsMenu data-ipsMenu-activeClass="ipsDataFilters__button--active" data-ipsMenu-selectable="radio"><span>
<button type="button" id="elSortByMenu_search_results" popovertarget="elSortByMenu_search_results_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>
</span><i class="fa-solid fa-caret-down"></i></button>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_search_results_menu">
<i-dropdown popover id="elSortByMenu_search_results_menu" data-i-dropdown-selectable="radio">
<div class="iDropdown">
<ul class="iDropdown__items">
IPSCONTENT;
if ( !isset( \IPS\Widget\Request::i()->type ) OR \IPS\Widget\Request::i()->type != 'core_members' ):
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \IPS\Content\Search\Query::init()->canUseRelevancy() ):
$return .= <<<IPSCONTENT
<li class="ipsMenu_item
<li><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'newest' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( \IPS\Widget\Request::i()->sortby == 'newest' ):
$return .= <<<IPSCONTENT
ipsMenu_itemChecked
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-sortDirection='desc'><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'newest' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
data-sortdirection="desc"><i class="iDropdown__input"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'date', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
<li class="ipsMenu_item
<li><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'relevancy' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( \IPS\Widget\Request::i()->sortby == 'relevancy' ):
$return .= <<<IPSCONTENT
ipsMenu_itemChecked
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-sortDirection='desc'><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'relevancy' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
data-sortdirection="desc"><i class="iDropdown__input"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'sort_relevancy', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<li class="ipsMenu_item
<li><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'joined', 'sortdirection' => 'desc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( \IPS\Widget\Request::i()->sortby == 'joined' ):
$return .= <<<IPSCONTENT
ipsMenu_itemChecked
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-sortDirection='desc'><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'joined', 'sortdirection' => 'desc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
data-sortdirection="desc"><i class="iDropdown__input"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'sort_joined', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
<li class="ipsMenu_item
<li><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'name', 'sortdirection' => 'asc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( \IPS\Widget\Request::i()->sortby == 'name' || !isset( \IPS\Widget\Request::i()->sortby ) ):
$return .= <<<IPSCONTENT
ipsMenu_itemChecked
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-sortDirection='asc'><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'name', 'sortdirection' => 'asc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
data-sortdirection="asc"><i class="iDropdown__input"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'sort_mname', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
<li class="ipsMenu_item
<li><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'member_posts', 'sortdirection' => 'desc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( \IPS\Widget\Request::i()->sortby == 'member_posts' ):
$return .= <<<IPSCONTENT
ipsMenu_itemChecked
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-sortDirection='desc'><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'member_posts', 'sortdirection' => 'desc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
data-sortdirection="desc"><i class="iDropdown__input"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'sort_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
<li class="ipsMenu_item
<li><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'pp_reputation_points', 'sortdirection' => 'desc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( \IPS\Widget\Request::i()->sortby == 'pp_reputation_points' ):
$return .= <<<IPSCONTENT
ipsMenu_itemChecked
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-sortDirection='desc'><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $baseUrl->setQueryString( array( 'sortby' => 'pp_reputation_points', 'sortdirection' => 'desc' ) )->setPage( 'page', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
data-sortdirection="desc"><i class="iDropdown__input"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'sort_reputation', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</ul>
</ul>
</div>
</i-dropdown>
</li>
</ul>
</div>
@@ -2979,7 +2997,17 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/resultStream", "buttonBar:inside-end", [ $results,$pagination,$baseUrl,$hideSort,$count ] );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/resultStream", "buttonBar:after", [ $results,$pagination,$baseUrl,$hideSort,$count ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
@@ -3002,7 +3030,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-role='resultsContents'>
" data-role="resultsContents">
IPSCONTENT;
@@ -3042,7 +3070,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<div class='ipsBox__padding i-text-align_center i-font-size_-2 i-color_soft' data-role='resultsContents'>
<div class="ipsBox__padding i-text-align_center i-font-size_-2 i-color_soft" data-role="resultsContents">
<p>
IPSCONTENT;
@@ -3062,8 +3090,8 @@ IPSCONTENT;
if ( $pagination ):
$return .= <<<IPSCONTENT
<div class='ipsButtonBar ipsButtonBar--bottom'>
<div class='ipsButtonBar__pagination'>{$pagination}</div>
<div class="ipsButtonBar ipsButtonBar--bottom">
<div class="ipsButtonBar__pagination">{$pagination}</div>
</div>
IPSCONTENT;
@@ -3082,20 +3110,20 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div data-controller='core.front.search.main' data-baseURL='
<div data-controller="core.front.search.main" data-baseurl="
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=search&controller=search", null, "search", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
'>
<header class='ipsPageHeader ipsPageHeader--search ipsResponsive_hidePhone'>
<h1 class='ipsPageHeader__title'>
">
<header class="ipsPageHeader ipsPageHeader--search ipsResponsive_hidePhone">
<h1 class="ipsPageHeader__title">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_the_community', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h1>
<p class='ipsPageHeader__desc
<p class="ipsPageHeader__desc
IPSCONTENT;
if ( $advanced ):
@@ -3105,7 +3133,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' data-role='searchBlurb'>
" data-role="searchBlurb">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -3131,11 +3159,21 @@ endif;
$return .= <<<IPSCONTENT
<div class='ipsBox ipsPull i-margin-top_3' data-controller='core.front.search.filters' id='elSearchFilters'>
<div class="ipsBox ipsBox--searchFilters ipsPull i-margin-top_3" data-controller="core.front.search.filters" id="elSearchFilters">
{$filters}
</div>
<div id="elSearch_main" class='i-margin-top_3' data-role='filterContent'>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/search", "main:before", [ $termArray,$title,$results,$pagination,$baseUrl,$types,$filters,$count,$advanced ] );
$return .= <<<IPSCONTENT
<div id="elSearch_main" class="i-margin-top_3" data-role="filterContent" data-ips-hook="main">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/search", "main:inside-start", [ $termArray,$title,$results,$pagination,$baseUrl,$types,$filters,$count,$advanced ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
@@ -3154,7 +3192,17 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/search", "main:inside-end", [ $termArray,$title,$results,$pagination,$baseUrl,$types,$filters,$count,$advanced ] );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/search/search", "main:after", [ $termArray,$title,$results,$pagination,$baseUrl,$types,$filters,$count,$advanced ] );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;