Version 5.0.0 beta 5

This commit is contained in:
Neo committed 2025-12-19 17:04:22 -08:00
1 parent 2f24f9de48
commit 57d9db6ce2
218 files changed
+5331 -7416

No files matched your search

+42 -29
View File
@@ -212,102 +212,115 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'entry_information', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h2>
<div class='ipsTabs ipsJS_show' id='tabs_
<i-tabs class='ipsTabs' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
' class="ipsTabs__tab" role="tab" aria-controls='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab" role="tab">
_panel' aria-selected="
IPSCONTENT;
if ( $name == 'blog_entry_mainTab' ):
$return .= <<<IPSCONTENT
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels'>
_content' class='ipsTabs__panels'>
IPSCONTENT;
foreach ( $elements as $name => $contents ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel ipsTabs__panel--
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-labelledby="
" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $name != 'blog_entry_mainTab' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul class='ipsForm ipsForm--blog-submit-content ipsForm--vertical'>
IPSCONTENT;
+11 -11
View File
@@ -148,7 +148,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
if ( $event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ):
if ( $event->nextOccurrence( $date, 'startDate' ) ):
$return .= <<<IPSCONTENT
<span class='ipsCalendarDate__month'>
@@ -806,7 +806,7 @@ endif;
$return .= <<<IPSCONTENT
</div>
<h4 class='ipsData__title'><a href='
<h3 class='ipsData__title'><a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -814,7 +814,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a></h4>
</a></h3>
<p class="ipsData__desc">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->truncated(TRUE, 400), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -929,7 +929,7 @@ $return .= <<<IPSCONTENT
<section class="ipsBox cEvents__overview-featured">
<header class="ipsBox__header">
<h3>Featured Events</h3>
<h2>Featured Events</h2>
IPSCONTENT;
@@ -1019,7 +1019,7 @@ endif;
$return .= <<<IPSCONTENT
<div class='ipsData__item'>
<li class='ipsData__item'>
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -1120,7 +1120,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<h4 class='ipsData__title'>
<h3 class='ipsData__title'>
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -1130,7 +1130,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a>
</h4>
</h3>
<p class='i-font-weight_500 i-font-size_-2 i-text-transform_uppercase'>
<time datetime='
IPSCONTENT;
@@ -1586,7 +1586,7 @@ endif;
$return .= <<<IPSCONTENT
</div>
</div>
</li>
IPSCONTENT;
return $return;
@@ -1640,7 +1640,7 @@ IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=calendar&do=search&form_submitted=1&lat=0&lon=0", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' data-role='nearMeLink' data-action='moreNearMe'>
' data-role='nearMeLink' data-action='moreNearMe' class="i-font-weight_500 i-text-decoration_underline">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_more_events_near_you', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -1760,7 +1760,7 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'e
$return .= <<<IPSCONTENT
</h2>
<div class='i-padding_3 i-background_2 i-border-end-start-radius_box i-border-end-end-radius_box'>
<ul class='ipsEventList'>
<ul class='ipsEventList ipsData ipsData--grid ipsData--events-list'>
IPSCONTENT;
@@ -1907,7 +1907,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
></div>
<ul class='ipsEventList
<ul class='ipsEventList ipsData ipsData--grid ipsData--events-list
IPSCONTENT;
if ( !\count( $results ) ):
+35 -28
View File
@@ -904,70 +904,71 @@ if ( $key === 'location' ):
$return .= <<<IPSCONTENT
<li class='cEvents__search__field cEvents__search__field--location'>
<label class='cEvents__search__label'>
<div class="i-flex i-justify-content_space-between">
<label class='cEvents__search__label' for="elInput_location">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<div class='cEvents__search__searchWrap i-flex i-gap_1'>
<div class='i-flex i-gap_1'>
IPSCONTENT;
if ( $byLocation ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$input->options['placeholder'] = \IPS\Member::loggedIn()->language()->addToStack( "events_search_your_location" );
$return .= <<<IPSCONTENT
IPSCONTENT;
$input->options['disabled'] = TRUE;
$return .= <<<IPSCONTENT
{$input->html()}
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' hidden data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
<button type="button" class='ipsEventSearch__searchLocation' hidden data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_use_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></a>
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' data-action='cancelLocation'><span>
</span></button>
<button type="button" class='ipsEventSearch__searchLocation' data-action='cancelLocation'><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_cancel_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></a>
</span></button>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
{$input->html()}
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
<button type="button" class='ipsEventSearch__searchLocation' data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_use_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></a>
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' hidden data-action='cancelLocation'><span>
</span></button>
<button type="button" class='ipsEventSearch__searchLocation' hidden data-action='cancelLocation'><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_cancel_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></a>
</span></button>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
{$input->html()}
</li>
IPSCONTENT;
@@ -976,13 +977,15 @@ elseif ( $key === 'show' ):
$return .= <<<IPSCONTENT
<li class='cEvents__search__field cEvents__search__field--show'>
<label class='cEvents__search__label'>
<label class="cEvents__search__input">
<span class='cEvents__search__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_type', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
{$input->html()}
</span>
{$input->html()}
</label>
</li>
IPSCONTENT;
@@ -991,22 +994,26 @@ elseif ( $key === 'date' ):
$return .= <<<IPSCONTENT
<li class='cEvents__search__field cEvents__search__field--date cEvents__search__field--from'>
<label class='cEvents__search__label'>
<label class="cEvents__search__input">
<span class='cEvents__search__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_from', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
{$input->start->html()}
</span>
{$input->start->html()}
</label>
</li>
<li class='cEvents__search__field cEvents__search__field--date cEvents__search__field--to'>
<label class='cEvents__search__label'>
<label class="cEvents__search__input">
<span class='cEvents__search__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_to', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
{$input->end->html()}
</span>
{$input->end->html()}
</label>
</li>
IPSCONTENT;
@@ -1021,12 +1028,12 @@ endforeach;
$return .= <<<IPSCONTENT
<li class='cEvents__search__field cEvents__search__field--submit'>
<button type='submit' class='ipsButton ipsButton--primary i-width_100p'>
<button type='submit' class='ipsButton ipsButton--large ipsButton--primary i-width_100p'><i class="fa-solid fa-magnifying-glass"></i><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_search', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</span></button>
</li>
</ul>
</form>
+44 -26
View File
@@ -690,7 +690,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "view", "calendar" )->reminder( $event, $reminder );
$return .= \IPS\Theme::i()->getTemplate( "view", "calendar" )->reminder( $event, $event->getReminder() );
$return .= <<<IPSCONTENT
@@ -1864,11 +1864,11 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rsvp_attendees', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h3>
<div class="ipsTabs ipsTabs_small ipsTabs--stretch" id="elAttendees
<i-tabs class="ipsTabs ipsTabs--small ipsTabs--stretch" id="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" data-ipstabbar data-ipstabbar-contentarea="#elAttendees
" data-ipstabbar data-ipstabbar-contentarea="#ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -1878,18 +1878,21 @@ IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:before", [ $event,$attendees,$tabId,$address ] );
$return .= <<<IPSCONTENT
<ul data-ips-hook="rsvpTabs" role="tablist">
<div data-ips-hook="rsvpTabs" role="tablist">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:inside-start", [ $event,$attendees,$tabId,$address ] );
$return .= <<<IPSCONTENT
<li>
<a href="#ipsTabs_elAttendees
<button type="button" id="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elGoing_panel" id="elGoing" class="ipsTabs__tab ipsTabs__tab--active" role="tab" aria-selected="true">
_elGoing" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elGoing_panel" aria-selected="true">
IPSCONTENT;
if ( $event->hasPassed() ):
@@ -1929,20 +1932,22 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
if ( $event->rsvp_limit == -1 ):
$return .= <<<IPSCONTENT
<li>
<a href="#ipsTabs_elAttendees
<button type="button" id="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elMaybe_panel" id="elMaybe" class="ipsTabs__tab" role="tab" aria-selected="false">
_elMaybe" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elMaybe_panel" aria-selected="false">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_maybe_attendees', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -1962,20 +1967,22 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<li>
<a href="#ipsTabs_elAttendees
<button type="button" id="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elNotGoing_panel" id="elNotGoing" class="ipsTabs__tab" role="tab" aria-selected="false">
_elNotGoing" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elNotGoing_panel" aria-selected="false">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_notgoing_attendees', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -1995,14 +2002,13 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:inside-end", [ $event,$attendees,$tabId,$address ] );
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:after", [ $event,$attendees,$tabId,$address ] );
@@ -2014,8 +2020,8 @@ IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id="elAttendees
</i-tabs>
<div id="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -2029,7 +2035,11 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elGoing_panel" class="ipsTabs__panel">
_elGoing_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elGoing">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpAttendees:inside-start", [ $event,$attendees,$tabId,$address ] );
@@ -2184,7 +2194,11 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elMaybe_panel" class="ipsTabs__panel">
_elMaybe_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elMaybe" hidden>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpMaybeWrapper:inside-start", [ $event,$attendees,$tabId,$address ] );
@@ -2351,7 +2365,11 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elNotGoing_panel" class="ipsTabs__panel">
_elNotGoing_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_elAttendees
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_elNotGoing" hidden>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpNotGoingWrapper:inside-start", [ $event,$attendees,$tabId,$address ] );
+10 -14
View File
@@ -204,34 +204,30 @@ endif;
$return .= <<<IPSCONTENT
</div>
<div class="ipsTabs ipsTabs--stretch acpFormTabBar" id="elMedia_sidebarTabs" data-ipsTabBar data-ipsTabBar-contentarea="#elMedia_sidebar" data-ipstabbar-updateurl="false">
<ul role='tablist'>
<li>
<a href="#" class="ipsTabs__tab ipsTabs__tab--active" data-type="templates" id="elTab_folders" aria-selected="true">
<i-tabs class="ipsTabs ipsTabs--stretch acpFormTabBar" id="ipsTabs_mediaSidebar" data-ipsTabBar data-ipsTabBar-contentarea="#elMedia_sidebar" data-ipstabbar-updateurl="false">
<div role='tablist'>
<button type="button" class="ipsTabs__tab" id="ipsTabs_mediaSidebar_folders" role="tab" aria-controls="ipsTabs_mediaSidebar_folders_panel" aria-selected="true" data-type="templates">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'media_folders', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href="#" class="ipsTabs__tab ipsTabs__tabDisabled" id='elTab_overview' data-type="css">
</button>
<button type="button" class="ipsTabs__tab" id='ipsTabs_mediaSidebar_overview' role="tab" aria-controls="ipsTabs_mediaSidebar_overview_panel" aria-selected="false" data-type="css">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'media_file_overview', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</button>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
<div id='elMedia_sidebar' class='i-background_1 ipsScrollbar'>
<div id='ipsTabs_elMedia_sidebarTabs_elTab_folders_panel' class='ipsTabs__panel'>
<div id='ipsTabs_mediaSidebar_folders_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_mediaSidebar_folders">
IPSCONTENT;
@@ -273,7 +269,7 @@ $return .= <<<IPSCONTENT
</li>
</ul>
</div>
<div id='ipsTabs_elMedia_sidebarTabs_elTab_overview_panel' class='ipsTabs__panel i-padding_3' data-role='mediaSidebar'>
<div id='ipsTabs_mediaSidebar_overview_panel' class='ipsTabs__panel i-padding_3' data-role='mediaSidebar' role="tabpanel" aria-labelledby="ipsTabs_mediaSidebar_overview" hidden>
<div data-role='itemInformation'>
<div class='cMedia_preview i-margin-bottom_3' data-role='itemPreview'></div>
<div class=''>
+53 -32
View File
@@ -21,11 +21,15 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<div class='ipsTabs__panel' data-role="templatePanel" id='ipsTabs_elTemplateEditor_tabbar_tab_
<div class='ipsTabs__panel' id='ipsTabs_elTemplateEditor_tabbar_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' data-fileid="
_panel' role="tabpanel" aria-labelledby="tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" data-role="templatePanel" data-fileid="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -744,24 +748,29 @@ $return .= <<<IPSCONTENT
</a></li>
</ul>
</div>
<div class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
<ul role="tablist">
<li><a href='
<i-tabs class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
<div role="tablist">
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=templates&do=manage&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab i-text-align_center
' class='ipsTabs__tab' role="tab" aria-selected="
IPSCONTENT;
if ( $current->type == 'templates' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' data-tabURL='
" data-tabURL='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=ajax&do=loadMenu&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -771,23 +780,28 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_html', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
<li><a href='
</a>
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=templates&do=manage&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab i-text-align_center
' class='ipsTabs__tab' role="tab" aria-selected="
IPSCONTENT;
if ( $current->type == 'css' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' data-tabURL='
" data-tabURL='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=ajax&do=loadMenu&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -797,23 +811,28 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_css', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
<li><a href='
</a>
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=templates&do=manage&t_type=js", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab i-text-align_center
' class='ipsTabs__tab' role="tab" aria-selected="
IPSCONTENT;
if ( $current->type == 'js' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' data-tabURL='
" data-tabURL='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=ajax&do=loadMenu&t_type=js", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -823,15 +842,15 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_js', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
</ul>
</a>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
<section id='elTemplateEditor_fileList'>
IPSCONTENT;
@@ -969,9 +988,17 @@ $return .= <<<IPSCONTENT
</li>
</ul>
</div>
<div id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
<ul role='tablist'>
<li data-fileid='
<i-tabs id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
<div role='tablist'>
<a href='#' class='ipsTabs__tab' id='tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' role="tab" aria-controls="ipsTabs_elTemplateEditor_tabbar_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="true" data-fileid='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -988,18 +1015,12 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->group, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
<a href='#' class='ipsTabs__tab' id='tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current->title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
<span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>
</li>
</ul>
</div>
</div>
</i-tabs>
<section data-role="templatePanelWrap" id='elTemplateEditor_panels' data-haseditor="
IPSCONTENT;
+61 -29
View File
@@ -142,98 +142,130 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show' id='tabs_
<i-tabs class='ipsTabs' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
$checkedTab = NULL;
$return .= <<<IPSCONTENT
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<a href='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
_panel' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab" role="tab">
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( !$checkedTab ):
$return .= <<<IPSCONTENT
true
IPSCONTENT;
$checkedTab = $name;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</a>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels ipsTabs__panels--padded'>
_content' class='ipsTabs__panels ipsTabs__panels--padded'>
IPSCONTENT;
foreach ( $elements as $name => $contents ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' class="ipsTabs__panel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $checkedTab != $name ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
+2 -12
View File
@@ -581,7 +581,7 @@ IPSCONTENT;
return $return;
}
function pagebuilderupload( $images, $captions, $urls, $autoPlay, $maxHeight, $layout='table', $isCarousel=false ) {
function pagebuilderupload( $images, $captions, $urls, $maxHeight, $layout='table', $isCarousel=false ) {
$return = '';
$return .= <<<IPSCONTENT
@@ -695,17 +695,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $carouselID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
IPSCONTENT;
if ( $autoPlay ):
$return .= <<<IPSCONTENT
data-ipsCarousel-slideshow
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
tabindex="0">
' tabindex="0">
IPSCONTENT;
+47 -14
View File
@@ -2207,8 +2207,14 @@ IPSCONTENT;
<div class='i-padding_2'>
<div class='ipsBox'>
<div class='ipsTabs' id='tabs_hooks' data-ipsTabBar data-ipsTabBar-contentArea='#elWebhookReference' data-ipstabbar-updateurl="false">
<ul role='tablist'>
<i-tabs class='ipsTabs' id='ipsTabs_hooks' data-ipsTabBar data-ipsTabBar-contentArea='#elWebhookReference' data-ipstabbar-updateurl="false">
<div role='tablist'>
IPSCONTENT;
$checkedTab = NULL;
$return .= <<<IPSCONTENT
IPSCONTENT;
@@ -2221,24 +2227,42 @@ IPSCONTENT;
if ( \count($appWebhooks) ):
$return .= <<<IPSCONTENT
<li role='presentation'>
<a href='#ipsTabs_tabs_hooks_elTab_
<button type="button" class='ipsTabs__tab' role='tab' id='ipsTabs_hooks_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' role='tab' id='elTab_
' aria-controls="ipsTabs_hooks_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' aria-selected="true">
_panel" aria-selected="
IPSCONTENT;
if ( !$checkedTab ):
$return .= <<<IPSCONTENT
true
IPSCONTENT;
$checkedTab = $app;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "__app_{$app}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
@@ -2251,15 +2275,14 @@ IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
<section id='elWebhookReference' class='acpFormTabContent'>
IPSCONTENT;
@@ -2279,15 +2302,25 @@ IPSCONTENT;
if ( \count($appWebhooks) ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_hooks_elTab_
<div id='ipsTabs_hooks_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="elTab_
_panel' role="tabpanel" class="ipsTabs__panel" aria-labelledby="ipsTabs_hooks_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $checkedTab != $app ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<div class="i-padding_3">
IPSCONTENT;
+34 -28
View File
@@ -2442,24 +2442,29 @@ $return .= <<<IPSCONTENT
</ul>
</div>
<div class='i-background_1'>
<div class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
<ul role="tablist">
<li><a href='
<i-tabs class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
<div role="tablist">
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=themes&do=templates&id={$theme->_id}&t_type={$current['type']}&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab i-text-align_center
' class='ipsTabs__tab' aria-selected="
IPSCONTENT;
if ( $current['type'] == 'templates' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' data-tabURL='
" data-tabURL='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=ajax&id={$theme->_id}&do=loadMenu&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -2469,23 +2474,28 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_templates', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
<li><a href='
</a>
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=themes&do=templates&id={$theme->_id}&t_type={$current['type']}&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab i-text-align_center
' class='ipsTabs__tab' aria-selected="
IPSCONTENT;
if ( $current['type'] == 'css' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' data-tabURL='
" data-tabURL='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=ajax&id={$theme->_id}&do=loadMenu&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -2495,15 +2505,15 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_css', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
</ul>
</a>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
<section id='elTemplateEditor_fileList'>
IPSCONTENT;
@@ -2675,20 +2685,19 @@ $return .= <<<IPSCONTENT
</div>
<div id='elTemplateEditor_outerPanelWrap'>
<div id='elTemplateEditor_panelWrap'>
<div id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
<ul role='tablist'>
<i-tabs id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
<div role='tablist'>
IPSCONTENT;
if ( $current['type'] == 'templates' ):
$return .= <<<IPSCONTENT
<li data-fileid='
<a href='#' class='ipsTabs__tab' id='tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<a href='#' class='ipsTabs__tab' id='tab_
' role="tab" data-fileid='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -2697,19 +2706,17 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $current['template'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
<span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>
</li>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<li data-fileid='
<a href='#' class='ipsTabs__tab' id='tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $template['jsDataKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<a href='#' class='ipsTabs__tab' id='tab_
' role="tab" data-fileid='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $template['jsDataKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -2718,15 +2725,14 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $template['css_name'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
<span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>
</li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</ul>
</div>
</div>
</i-tabs>
<section data-role="templatePanelWrap" id='elTemplateEditor_panels'>
IPSCONTENT;
@@ -2937,11 +2943,11 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<div class='ipsTabs__panel' data-role="templatePanel" id='ipsTabs_elTemplateEditor_tabbar_tab_
<div class='ipsTabs__panel' role="tabpanel" id='ipsTabs_elTemplateEditor_tabbar_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' data-fileid="
_panel' data-role="templatePanel" data-fileid="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
+37 -61
View File
@@ -1384,88 +1384,59 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show acpFormTabBar
<i-tabs class='ipsTabs acpFormTabBar
IPSCONTENT;
if ( $usingIcons ):
$return .= <<<IPSCONTENT
ipsTabs_withIcons
ipsTabs--withIcons
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' id='tabs_
' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
IPSCONTENT;
if ( $activeTab ):
$return .= <<<IPSCONTENT
data-ipsTabBar-defaultTab="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
IPSCONTENT;
if ( $name == $activeTab ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
$return .= <<<IPSCONTENT
ipsTabs_error
ipsTabs__tab--error
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab" aria-selected="
" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( $activeTab == $name ):
@@ -1481,7 +1452,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
@@ -1511,54 +1482,59 @@ IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='acpFormTabContent'>
_content' class='acpFormTabContent'>
IPSCONTENT;
foreach ( $tabs as $name => $contents ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div class="ipsTabs__panel" role="tabpanel" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( !$activeTab != $name ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
+40 -38
View File
@@ -3800,21 +3800,21 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div class='ipsBox'>
<div class='ipsTabs
<i-tabs class='ipsTabs
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabClasses, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
acpFormTabBar' id='elTabs_
acpFormTabBar' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
_content'
IPSCONTENT;
if ( \IPS\Widget\Request::i()->isAjax() ):
@@ -3825,15 +3825,14 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul role='tablist'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabNames as $i => $name ):
$return .= <<<IPSCONTENT
<li>
<a href='
<a href='
IPSCONTENT;
if ( $i ):
@@ -3856,31 +3855,30 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' id='
' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
IPSCONTENT;
if ( $i == $activeId ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" title='
' class="ipsTabs__tab" title='
IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
' role="tab" aria-selected="
' role="tab" aria-controls='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' aria-selected="
IPSCONTENT;
if ( $i == $activeId ):
@@ -3896,13 +3894,13 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \IPS\IN_DEV ):
@@ -3918,28 +3916,27 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</a>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='ipsTabs_content_
</i-tabs>
<section id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='acpFormTabContent'>
_content' class='acpFormTabContent'>
IPSCONTENT;
@@ -3952,34 +3949,39 @@ IPSCONTENT;
if ( $i == $activeId ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_elTabs_
<div role="tabpanel" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $panelClasses, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-labelledby="
" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $i != $activeId ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
{$defaultContent}
</div>
File diff suppressed because it is too large. Load diff
+93 -86
View File
@@ -103,41 +103,31 @@ $return .= <<<IPSCONTENT
</div>
<div id='permission_form_wrapper'>
<div class='ipsTabs ipsJS_show acpFormTabBar' id='elRestrictions_tab' data-ipsTabBar data-ipsTabBar-contentArea="#elRestrictions_content">
<ul role="tablist">
<i-tabs class='ipsTabs acpFormTabBar' id='ipsTabs_restrictions' data-ipsTabBar data-ipsTabBar-contentArea="#ipsTabs_restrictions_content">
<div role="tablist">
IPSCONTENT;
foreach ( $restrictions['applications'] as $appKey => $appId ):
$return .= <<<IPSCONTENT
<li><a class="ipsTabs__tab
IPSCONTENT;
if ( $appKey === 'core' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" id='
<button type="button" class="ipsTabs__tab" id='ipsTabs_restrictions_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' href='#ipsTabs_elRestrictions_tab_
' role="tab" aria-controls="ipsTabs_restrictions_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' role="tab" aria-selected="
_panel" aria-selected="
IPSCONTENT;
if ( $appKey == 'core' ):
@@ -157,60 +147,55 @@ IPSCONTENT;
$val = "__app_$appKey"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div class='acpFormTabContent' id='elRestrictions_content'>
</i-tabs>
<div class='acpFormTabContent' id='ipsTabs_restrictions_content'>
IPSCONTENT;
foreach ( $restrictions['applications'] as $appKey => $appId ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_elRestrictions_tab_
<div id='ipsTabs_restrictions_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class='ipsTabs__panel' aria-labelledby="
_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_restrictions_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="
"
IPSCONTENT;
if ( $appKey === 'core' ):
if ( $appKey != 'core' ):
$return .= <<<IPSCONTENT
false
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
true
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
>
<div class='i-padding_3' data-controller='core.admin.members.restrictions'>
<div class='i-background_3 i-padding_3 acpAppRestrictions_header'>
<input type="checkbox" class="ipsSwitch" id='elRestrict_
@@ -634,38 +619,34 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div class='ipsBox'>
<div class='ipsTabs ipsJS_show acpFormTabBar' id='tabs_bulkmail' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_bulkmail'>
<ul role='tablist'>
<li>
<a href='#ipsTabs_tabs_bulkmail_bulkmail_tab_overview_panel' id='bulkmail_tab_overview' class="ipsTabs__tab ipsTabs__tab--active" role="tab" aria-selected="true">
<i-tabs class='ipsTabs acpFormTabBar' id='ipsTabs_bulkmail' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_bulkmail_content'>
<div role='tablist'>
<button type="button" id='ipsTabs_bulkmail_overview' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_bulkmail_overview_panel" aria-selected="true">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'bm_send_overview', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='#ipsTabs_tabs_bulkmail_bulkmail_tab_memberlist_panel' id='bulkmail_tab_memberlist' class="ipsTabs__tab" role="tab" aria-selected="false">
</button>
<button type="button" id='ipsTabs_bulkmail_memberlist' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_bulkmail_memberlist_panel" aria-selected="false">
IPSCONTENT;
$sprintf = array($count); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'bm_send_recipients', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</button>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_bulkmail' class='acpFormTabContent'>
<div id='ipsTabs_tabs_bulkmail_bulkmail_tab_overview_panel' class="ipsTabs__panel" aria-labelledby="bulkmail_tab_overview" aria-hidden="false">
</i-tabs>
<div id='ipsTabs_bulkmail_content' class='acpFormTabContent'>
<div id='ipsTabs_bulkmail_overview_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_bulkmail_overview">
<ul class='ipsForm ipsForm--horizontal ipsForm--bulk-overview'>
<li class='ipsJS_hide'>
IPSCONTENT;
@@ -714,7 +695,7 @@ $return .= <<<IPSCONTENT
</li>
</ul>
</div>
<div id='ipsTabs_tabs_bulkmail_bulkmail_tab_memberlist_panel' class="ipsTabs__panel" aria-labelledby="bulkmail_tab_memberlist" aria-hidden="false">
<div id='ipsTabs_bulkmail_memberlist_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_bulkmail_memberlist" hidden>
<div class='ipsJS_hide'>
IPSCONTENT;
@@ -2320,16 +2301,22 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div class='ipsTabs i-background_2 acpFormTabBar' id='tabs_
<i-tabs class='ipsTabs i-background_2 acpFormTabBar' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
$checkedTab = NULL;
$return .= <<<IPSCONTENT
IPSCONTENT;
@@ -2342,25 +2329,12 @@ IPSCONTENT;
if ( $name ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
@@ -2368,13 +2342,41 @@ IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
$return .= <<<IPSCONTENT
ipsTabs_error
ipsTabs__tab--error
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab" aria-selected="false">
" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( !$checkedTab ):
$return .= <<<IPSCONTENT
true
IPSCONTENT;
$checkedTab = $name;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
@@ -2390,8 +2392,7 @@ IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
@@ -2404,19 +2405,19 @@ IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='acpFormTabContent'>
_content' class='acpFormTabContent'>
IPSCONTENT;
@@ -2429,27 +2430,33 @@ IPSCONTENT;
if ( $name ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $checkedTab != $name ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul class='ipsForm
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $formClass, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
+22 -15
View File
@@ -2276,57 +2276,64 @@ $return .= <<<IPSCONTENT
{$club->coverPhoto(TRUE, 'full')}
<div id='elClubControls'>
<div class='cClubControls__tabs'>
<div class='ipsTabs ipsTabs--stretch ipsJS_show' id='tabs_club' data-ipsTabBar data-ipsTabBar-disableNav data-controller="core.front.clubs.navbar" data-clubID="
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_club' data-ipsTabBar data-ipsTabBar-disableNav data-controller="core.front.clubs.navbar" data-clubID="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $club->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
<ul role='tablist' data-club-menu>
<div role='tablist' data-club-menu>
IPSCONTENT;
foreach ( $club->tabs( $container ) as $id => $tab ):
$return .= <<<IPSCONTENT
<li data-tab="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
<a href="
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['href'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" class="ipsTabs__tab
" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_club_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( isset( $tab['isActive'] ) AND $tab['isActive'] ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-tab="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['title'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
<div id='elClubTabs_tab_content' class='ipsTabs__panels ipsHide'>
IPSCONTENT;
@@ -2334,11 +2341,11 @@ IPSCONTENT;
foreach ( $club->tabs( $container ) as $id => $tab ):
$return .= <<<IPSCONTENT
<div id="ipsTabs_tabs_club_elClubTabs_tab_tab_
<div id="ipsTabs_club_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class="ipsTabs__panel" aria-hidden="false"></div>
_panel" class="ipsTabs__panel" role="tabpanel" hidden></div>
IPSCONTENT;
+144 -139
View File
@@ -1000,55 +1000,55 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show' id='tabs_
<i-tabs class='ipsTabs' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
_panel" aria-selected="
IPSCONTENT;
if ( $name == \IPS\Widget\Request::i()->tab ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab">
">
IPSCONTENT;
foreach ( $content as $element ):
@@ -1079,55 +1079,60 @@ IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels'>
_content' class='ipsTabs__panels'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
<ul class=''>
"
IPSCONTENT;
if ( $name != \IPS\Widget\Request::i()->tab ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul>
IPSCONTENT;
@@ -1471,55 +1476,55 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show' id='tabs_
<i-tabs class='ipsTabs' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
_panel" aria-selected="
IPSCONTENT;
if ( $name == \IPS\Widget\Request::i()->tab ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab">
">
IPSCONTENT;
foreach ( $content as $element ):
@@ -1550,55 +1555,60 @@ IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels'>
_content' class='ipsTabs__panels'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
<ul class=''>
"
IPSCONTENT;
if ( $name != \IPS\Widget\Request::i()->tab ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul>
IPSCONTENT;
@@ -2143,55 +2153,55 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show' id='tabs_
<i-tabs class='ipsTabs' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
_panel" aria-selected="
IPSCONTENT;
if ( $name == \IPS\Widget\Request::i()->tab ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab">
">
IPSCONTENT;
foreach ( $content as $element ):
@@ -2222,54 +2232,59 @@ IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels ipsTabs__panels--padded'>
_content' class='ipsTabs__panels ipsTabs__panels--padded'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $name != \IPS\Widget\Request::i()->tab ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul>
IPSCONTENT;
@@ -3798,74 +3813,59 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show
<i-tabs class='ipsTabs
IPSCONTENT;
if ( $usingIcons ):
$return .= <<<IPSCONTENT
ipsTabs_withIcons
ipsTabs--withIcons
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' id='tabs_
' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
IPSCONTENT;
if ( $name == $activeTab ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
$return .= <<<IPSCONTENT
ipsTabs_error
ipsTabs__tab--error
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab" aria-selected="
" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( $activeTab == $name ):
@@ -3881,7 +3881,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
@@ -3911,58 +3911,63 @@ IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels'>
_content' class='ipsTabs__panels'>
IPSCONTENT;
foreach ( $tabs as $name => $contents ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel ipsTabs__panel--
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-labelledby="
" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $activeTab != $name ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
+73 -84
View File
@@ -2307,7 +2307,6 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
{$comment->menu()}
IPSCONTENT;
@@ -2379,6 +2378,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
{$comment->menu()}
IPSCONTENT;
@@ -2390,7 +2390,12 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->$idField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-expanded="false" data-ipscontrols aria-label="Author stats" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
" aria-expanded="false" data-ipscontrols aria-label="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'author_stats', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
IPSCONTENT;
@@ -16812,17 +16817,17 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div class='ipsTabs cReactionTabs' id='elTabs_
<i-tabs class='ipsTabs cReactionTabs' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
_content'
IPSCONTENT;
if ( \IPS\Widget\Request::i()->isAjax() ):
@@ -16833,24 +16838,23 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul role='tablist'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $i => $tab ):
$return .= <<<IPSCONTENT
<li>
<a href='
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( $tabParam, $i ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' id='
' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -16859,17 +16863,7 @@ IPSCONTENT;
if ( isset( $tab['count'] ) && $tab['count'] == 0 ):
$return .= <<<IPSCONTENT
ipsTabs__tabDisabled
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $i == $activeId ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
ipsTabs__tab--disabled
IPSCONTENT;
endif;
@@ -16899,7 +16893,16 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' role="tab" aria-selected="
' role="tab" aria-controls='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' aria-selected="
IPSCONTENT;
if ( $i == $activeId ):
@@ -16915,13 +16918,13 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
if ( isset( $tab['icon'] ) ):
$return .= <<<IPSCONTENT
<img src='
<img src='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab["icon"]->url, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -16936,13 +16939,13 @@ IPSCONTENT;
$val = "reaction_title_{$i}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" loading="lazy">
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $parseNames ):
@@ -16963,45 +16966,44 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( isset( $tab['count'] ) ):
$return .= <<<IPSCONTENT
<span class='i-opacity_8'>(
<span class='i-opacity_8'>(
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['count'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
)</span>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</a>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='ipsTabs_content_
</i-tabs>
<section id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels
_content' class='ipsTabs__panels
IPSCONTENT;
if ( $contained ):
@@ -17024,30 +17026,25 @@ IPSCONTENT;
if ( $i == $activeId ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_elTabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' class="ipsTabs__panel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
">
{$defaultContent}
</div>
@@ -19990,7 +19987,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
if ( isset( \IPS\Output::i()->sidebar['contextual'] ) and !empty( \IPS\Output::i()->sidebar['contextual'] ) ):
if ( isset( \IPS\Output::i()->sidebar['contextual'] ) and !empty( trim( \IPS\Output::i()->sidebar['contextual'] ) ) ):
$return .= <<<IPSCONTENT
@@ -20461,7 +20458,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<div class='ipsTabs
<i-tabs class='ipsTabs
IPSCONTENT;
if ( $extraClasses ):
@@ -20475,17 +20472,17 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' id='elTabs_
' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
_content'
IPSCONTENT;
if ( \IPS\Widget\Request::i()->isAjax() ):
@@ -20496,38 +20493,27 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul role='tablist'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabNames as $i => $name ):
$return .= <<<IPSCONTENT
<li>
<a href='
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( $tabParam, $i ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' id='
' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
IPSCONTENT;
if ( $i == $activeId ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" title='
' class="ipsTabs__tab" title='
IPSCONTENT;
if ( $parseNames ):
@@ -20552,7 +20538,16 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' role="tab" aria-selected="
' role="tab" aria-controls='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' aria-selected="
IPSCONTENT;
if ( $i == $activeId ):
@@ -20568,7 +20563,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
if ( $parseNames ):
@@ -20589,28 +20584,27 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</a>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='ipsTabs_content_
</i-tabs>
<section id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels
_content' class='ipsTabs__panels
IPSCONTENT;
if ( $contained ):
@@ -20633,30 +20627,25 @@ IPSCONTENT;
if ( $i == $activeId ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_elTabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
'>
{$defaultContent}
</div>
@@ -23109,7 +23098,7 @@ IPSCONTENT;
IPSCONTENT;
if ( !$area->isEmpty() OR \IPS\Dispatcher::i()->application->canManageWidgets() ):
if ( !$area->isEmpty() OR \IPS\Dispatcher::i()->application?->canManageWidgets() ):
$return .= <<<IPSCONTENT
@@ -23406,7 +23395,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
if ( ( ( isset( $widgets[ $id ] ) ) || \IPS\Dispatcher::i()->application->canManageWidgets() ) ):
if ( ( ( isset( $widgets[ $id ] ) ) || \IPS\Dispatcher::i()->application?->canManageWidgets() ) ):
$return .= <<<IPSCONTENT
+17 -2
View File
@@ -192,13 +192,13 @@ $return .= \IPS\Theme\Template::htmlspecialchars( $conversation->title, ENT_QUOT
$return .= <<<IPSCONTENT
</h1>
<ul class='i-flex_11 ipsButtons'>
<li class='ipsResponsive_showPhone'><a href='#' data-action='filterBarSwitch' data-switchTo='filterBar' class='ipsButton ipsButton--soft'><i class='fa-solid fa-caret-left'></i><span>
<li><a href='#' data-action='filterBarSwitch' data-switchTo='filterBar' class='ipsButton ipsButton--secondary ipsButton-backToInbox'><i class='fa-solid fa-caret-left'></i><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'messenger_list', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></a></li>
<li><a href='#' id='elConvoActions' data-ipsMenu class='ipsButton ipsButton--inherit'><span>
<li><a href='#' id='elConvoActions' data-ipsMenu class='ipsButton ipsButton--text i-margin-start_auto'><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'options', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -1589,6 +1589,21 @@ $return .= <<<IPSCONTENT
filterBar
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' data-ipsFilterBar-viewing='
IPSCONTENT;
if ( \IPS\Widget\Request::i()->id && !isset( \IPS\Widget\Request::i()->_list) ):
$return .= <<<IPSCONTENT
filterContent
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
filterBar
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
'>
+91 -85
View File
@@ -4007,36 +4007,28 @@ IPSCONTENT;
<div class='ipsBox__padding i-border-bottom_1 ipsFieldRow ipsFieldRow--primary' id='elModCPMemberSearch'>
{$form}
</div>
<div class=''>
<div class='ipsTabs' id='elmodCPTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elModCPMemberTabContent'>
<ul role='tablist'>
<i-tabs class='ipsTabs' id='elmodCPTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elmodCPTabs_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $key => $tab ):
$return .= <<<IPSCONTENT
<li>
<a href='
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=modcp&tab=members&area=$key", null, "modcp_members", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' id='modcp_
' id='elmodCPTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab
' class='ipsTabs__tab' role="tab" aria-controls="elmodCPTabs_
IPSCONTENT;
if ( $activeTab === $key ):
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' role="tab" aria-selected="
_panel" aria-selected="
IPSCONTENT;
if ( $activeTab == $tab ):
@@ -4052,42 +4044,40 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "modcp_members_{$key}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</a>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</i-tabs>
<section id='elmodCPTabs_content' class='ipsTabs__panels ipsTabs__panels--padded'>
<div id="elmodCPTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="elmodCPTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
{$content}
</div>
<section id='elModCPMemberTabContent' class='ipsTabs__panels ipsTabs__panels--padded'>
<div id="ipsTabs_elmodCPTabs_modcp_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class="ipsTabs__panel" aria-labelledby="modcp_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
{$content}
</div>
</section>
</div>
</section>
IPSCONTENT;
return $return;
@@ -5966,58 +5956,74 @@ endif;
$return .= <<<IPSCONTENT
<div data-controller="core.front.core.commentsWrapper" data-tabsId='elTabsReport'>
<div class="ipsTabs" id="elTabsReport" data-ipsTabBar data-ipstabbar-contentarea="#elReportComments">
<ul role="tablist">
<li>
<a href="#" id="elUserReports" class="ipsTabs__tab
<i-tabs class="ipsTabs" id="ipsTabs_report" data-ipsTabBar data-ipstabbar-contentarea="#ipsTabs_report_content">
<div role="tablist">
<button type="button" id="ipsTabs_report_reports" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_report_reports_panel" aria-selected="
IPSCONTENT;
if ( ! isset( \IPS\Widget\Request::i()->activeTab ) or \IPS\Widget\Request::i()->activeTab != 'comments' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" title="" role="tab" aria-selected="true">
">
IPSCONTENT;
$pluralize = array( \count( $report->reports( $filterByType ) ) ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report_user_reports', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href="#" id="elTabsReport_tab_mod_comments" class="ipsTabs__tab
</button>
<button type="button" id="ipsTabs_report_comments" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_report_comments_panel" aria-selected="
IPSCONTENT;
if ( isset( \IPS\Widget\Request::i()->activeTab ) and \IPS\Widget\Request::i()->activeTab == 'comments' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" title="" role="tab" aria-selected="false">
">
IPSCONTENT;
$pluralize = array( $report->num_comments ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report_mod_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</button>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id="elReportComments" class="ipsTabs__panels">
<div id="ipsTabs_elTabsReport_elUserReports_panel" class="ipsTabs__panel" aria-labelledby="elUserReports" aria-hidden="false">
</i-tabs>
<div id="ipsTabs_report_content" class="ipsTabs__panels">
<div id="ipsTabs_report_reports_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_report_reports"
IPSCONTENT;
if ( isset( \IPS\Widget\Request::i()->activeTab ) and \IPS\Widget\Request::i()->activeTab == 'comments' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<div data-role="commentFeed">
IPSCONTENT;
@@ -6245,7 +6251,17 @@ $return .= <<<IPSCONTENT
</div>
</div>
<div id="ipsTabs_elTabsReport_elTabsReport_tab_mod_comments_panel" class="ipsTabs__panel" aria-labelledby="elTabsReport_tab_mod_comments" aria-hidden="false">
<div id="ipsTabs_report_comments_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_report_comments"
IPSCONTENT;
if ( ! isset( \IPS\Widget\Request::i()->activeTab ) or \IPS\Widget\Request::i()->activeTab != 'comments' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<div data-controller='core.front.core.commentFeed'
IPSCONTENT;
@@ -7402,36 +7418,28 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<div class=''>
<div class='ipsTabs' id='elmodCPTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elModCPHiddenTabContent'>
<ul role='tablist'>
<i-tabs class='ipsTabs' id='ipsTabs_unapproved' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_unapproved_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $key => $tab ):
$return .= <<<IPSCONTENT
<li>
<a href='
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=modcp&tab=approval&area=$key", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' id='modcp_
' id='ipsTabs_unapproved_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab
' class='ipsTabs__tab' role="tab" aria-controls="ipsTabs_unapproved_
IPSCONTENT;
if ( $activeTab === $key ):
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' role="tab" aria-selected="
_panel" aria-selected="
IPSCONTENT;
if ( $activeTab == $tab ):
@@ -7447,39 +7455,37 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "{$tab}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</a>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</div>
<section id='elModCPHiddenTabContent' class='i-padding_3'>
<div id="ipsTabs_elmodCPTabs_modcp_
</i-tabs>
<section id='ipsTabs_unapproved_content' class='ipsTabs__panels ipsTabs__panels--padded'>
<div id="ipsTabs_unapproved_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class="ipsTabs__panel" aria-labelledby="modcp_
_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_unapproved_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
">
{$content}
</div>
</section>
+21 -28
View File
@@ -2073,19 +2073,14 @@ IPSCONTENT;
$icons = array('leaderboard' => 'trophy', 'history' => 'clock', 'members' => 'star', 'trending' => 'line-chart');
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs_withIcons ipsTabs_large ipsTabs--stretch' id='elTabBar' data-ipsTabBar data-ipsTabbar-defaultTab="elTab
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" data-ipsTabBar-contentArea='#elLeaderboardContent'>
<ul role='tablist'>
<i-tabs class='ipsTabs ipsTabs--withIcons ipsTabs--stretch' id='ipsTabs_leaderboard' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_leaderboard_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $key ):
$return .= <<<IPSCONTENT
<li role='presentation'>
IPSCONTENT;
@@ -2097,31 +2092,30 @@ IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=discover&controller=popular&tab={$key}", null, "$seoTemplate", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' role='tab' id='elTab
' role='tab' id='ipsTabs_leaderboard_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab
' aria-controls="ipsTabs_leaderboard_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class='ipsTabs__tab' aria-selected="
IPSCONTENT;
if ( $key == $activeTab ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
'
IPSCONTENT;
if ( $key == $activeTab ):
$return .= <<<IPSCONTENT
aria-selected="true"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
">
<i class='fa-solid fa-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $icons[$key], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -2134,31 +2128,30 @@ $val = "leaderboard_tabs_{$key}"; $return .= \IPS\Member::loggedIn()->language()
$return .= <<<IPSCONTENT
</a>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='elLeaderboardContent' class="ipsTabs__panels">
<div id='ipsTabs_elTabBar_elTab
</i-tabs>
<section id='ipsTabs_leaderboard_content' class="ipsTabs__panels">
<div id='ipsTabs_leaderboard_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' aria-labelledby='elTab
_panel' aria-labelledby='ipsTabs_leaderboard_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' aria-hidden='false' class='ipsTabs__panel'>
' role="tabpanel" class='ipsTabs__panel'>
{$content}
</div>
</section>
+15 -19
View File
@@ -3776,16 +3776,15 @@ IPSCONTENT;
if ( \count( $tabs ) > 1 ):
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs--sticky ipsTabs--profile ipsTabs--stretch' id='elProfileTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elProfileTabs_content'>
<ul role="tablist">
<i-tabs class='ipsTabs ipsTabs--sticky ipsTabs--profile ipsTabs--stretch' id='elProfileTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elProfileTabs_content'>
<div role="tablist">
IPSCONTENT;
foreach ( $tabs as $tab => $title ):
$return .= <<<IPSCONTENT
<li>
<a href='
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $member->url()->setQueryString( 'tab', $tab ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -3793,17 +3792,11 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab
' class='ipsTabs__tab' role="tab" aria-controls="elProfileTab_
IPSCONTENT;
if ( $activeTab == $tab ):
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' role="tab" aria-selected="
_panel" aria-selected="
IPSCONTENT;
if ( $activeTab == $tab ):
@@ -3824,28 +3817,27 @@ IPSCONTENT;
$val = "{$title}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div id='elProfileTabs_content' class='ipsTabs__panels'>
<div id='elProfileTabs_content' class='ipsTabs__panels ipsTabs__panels--profile'>
IPSCONTENT;
@@ -3858,11 +3850,15 @@ IPSCONTENT;
if ( $activeTab == $tab ):
$return .= <<<IPSCONTENT
<div id="ipsTabs_elProfileTabs_elProfileTab_
<div id="elProfileTab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class='ipsTabs__panel'>
_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="elProfileTab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
{$activeTabContents}
</div>
+54 -48
View File
@@ -148,94 +148,90 @@ IPSCONTENT;
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) ):
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs--stretch' id='elTabs_search' data-ipsTabBar data-ipsTabBar-contentArea='#elTabs_search_content'>
<ul role='tablist'>
<li>
<a href='#' id="elTab_searchContent" class="ipsTabs__tab
IPSCONTENT;
if ( \IPS\Widget\Request::i()->type != 'core_members' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
i-text-align_center" title="
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_search' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_search_content'>
<div role='tablist'>
<button type="button" id="ipsTabs_search_searchContent" class="ipsTabs__tab" title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_content_search_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" role="tab"
" role="tab" aria-controls="ipsTabs_search_searchContent_panel" aria-selected="
IPSCONTENT;
if ( \IPS\Widget\Request::i()->type != 'core_members' ):
$return .= <<<IPSCONTENT
aria-selected="true"
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_content_search', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='#' id="elTab_searchMembers" class="ipsTabs__tab
IPSCONTENT;
if ( \IPS\Widget\Request::i()->type == 'core_members' ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
i-text-align_center" title="
</button>
<button type="button" id="ipsTabs_search_searchMembers" class="ipsTabs__tab" title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_member_search_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" role="tab"
" role="tab" aria-controls="ipsTabs_search_searchMembers_panel" aria-selected="
IPSCONTENT;
if ( \IPS\Widget\Request::i()->type == 'core_members' ):
$return .= <<<IPSCONTENT
aria-selected="true"
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_member_search', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</button>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<section id='elTabs_search_content' class='ipsTabs__panels'>
<div id='ipsTabs_elTabs_search_elTab_searchContent_panel' class='ipsTabs__panel' data-tabType='content'>
<section id='ipsTabs_search_content' class='ipsTabs__panels'>
<div id='ipsTabs_search_searchContent_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_search_searchContent" data-tabType='content'
IPSCONTENT;
if ( \IPS\Widget\Request::i()->type == 'core_members' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<div class='i-padding_4'>
<div class=''>
<ul>
@@ -641,7 +637,7 @@ IPSCONTENT;
foreach ( $elements['search_tab_content']['search_in']->options['options'] as $k => $lang ):
$return .= <<<IPSCONTENT
<li>
<li role="none">
<span class='ipsSideMenu_item
IPSCONTENT;
@@ -714,7 +710,7 @@ IPSCONTENT;
foreach ( $elements['search_tab_content']['search_and_or']->options['options'] as $k => $lang ):
$return .= <<<IPSCONTENT
<li>
<li role="none">
<span class='ipsSideMenu_item
IPSCONTENT;
@@ -793,7 +789,7 @@ IPSCONTENT;
foreach ( $elements['search_tab_content']['startDate']->options['options'] as $k => $lang ):
$return .= <<<IPSCONTENT
<li>
<li role="none">
<span class='ipsSideMenu_item
IPSCONTENT;
@@ -977,7 +973,7 @@ IPSCONTENT;
foreach ( $elements['search_tab_content']['updatedDate']->options['options'] as $k => $lang ):
$return .= <<<IPSCONTENT
<li>
<li role="none">
<span class='ipsSideMenu_item
IPSCONTENT;
@@ -1242,7 +1238,17 @@ IPSCONTENT;
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_elTabs_search_elTab_searchMembers_panel' class='ipsTabs__panel' data-tabType='members'>
<div id='ipsTabs_search_searchMembers_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_search_searchMembers"
IPSCONTENT;
if ( \IPS\Widget\Request::i()->type != 'core_members' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
data-tabType='members'>
IPSCONTENT;
@@ -1303,7 +1309,7 @@ IPSCONTENT;
foreach ( $elements['search_tab_member']['joinedDate']->options['options'] as $k => $lang ):
$return .= <<<IPSCONTENT
<li>
<li role="none">
<span class='ipsSideMenu_item
IPSCONTENT;
+41 -26
View File
@@ -691,10 +691,15 @@ if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'co
$return .= <<<IPSCONTENT
<div class="ipsSubmitRow">
<a href="
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=search&controller=search&tags={$tag->text}", null, "search", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$searchUrl = \IPS\Http\Url::internal( 'app=core&module=search&controller=search', 'front', 'search' )->setQueryString( 'tags', $tag->text );
$return .= <<<IPSCONTENT
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $searchUrl, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" class="ipsButton ipsButton--secondary"><span>
IPSCONTENT;
@@ -1406,87 +1411,97 @@ IPSCONTENT;
if ( count( $tabs ) > 1 ):
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs--sticky' id='tabs_tag' data-ipsTabBar data-ipsTabBar-contentArea="#elTagTabs_tab_content">
<ul role='tablist'>
<li data-tab="all">
<a href="
<i-tabs class='ipsTabs ipsTabs--sticky' id='ipsTabs_tag' data-ipsTabBar data-ipsTabBar-contentArea="#ipsTabs_tag_content">
<div role='tablist'>
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" class="ipsTabs__tab
" class="ipsTabs__tab" id="ipsTabs_tag_all" data-tab="all" role="tab" aria-controls="ipsTabs_tag_all_panel" aria-selected="
IPSCONTENT;
if ( !isset( \IPS\Widget\Request::i()->tab ) ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" id="elTag_all">
">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'tag_all_content', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
IPSCONTENT;
foreach ( $tabs as $type ):
$return .= <<<IPSCONTENT
<li data-tab="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
<a href="
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->url()->setQueryString( 'tab', $type ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" class="ipsTabs__tab
" class="ipsTabs__tab" id="ipsTabs_tag_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" data-tab="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" role="tab" aria-controls="ipsTabs_tag_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( isset( \IPS\Widget\Request::i()->tab ) and \IPS\Widget\Request::i()->tab == $type ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" id="elTag_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "{$type}_pl"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div id='elTagTabs_tab_content' class='ipsTabs__panels'>{$content}</div>
<div id='ipsTabs_tag_content' class='ipsTabs__panels'>{$content}</div>
</div>
IPSCONTENT;
+260 -214
View File
@@ -413,82 +413,21 @@ if ( $advertisement!==null ):
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $isCarousel ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$carouselID = 'widget--clubs_' . mt_rand();
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->carouselNavigation( $carouselID );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<section class="ipsWidget__content">
<i-data>
<ul class='ipsData ipsData--
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $layout, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $isCarousel ):
$return .= <<<IPSCONTENT
ipsData--carousel
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
ipsData--widget-ads'
IPSCONTENT;
if ( $isCarousel ):
$return .= <<<IPSCONTENT
id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $carouselID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' tabindex="0"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<section class="ipsWidget__content ipsWidget__content--tnemesitrevda i-text-align_center">
IPSCONTENT;
foreach ( $advertisement as $ad ):
$return .= <<<IPSCONTENT
<li class='ipsData__item i-padding_0'>
<div class="ipsData__content">
{$ad}
</div>
</li>
{$ad}
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</i-data>
</section>
</section>
IPSCONTENT;
@@ -1447,128 +1386,152 @@ endforeach;
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show' id='tabs_
<i-tabs class='ipsTabs' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
_content'>
<div role='tablist'>
IPSCONTENT;
$checkedTab = NULL;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $hasSettings ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
_settings' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_settings_panel' id='
_settings_panel" aria-selected="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
if ( !$checkedTab ):
$return .= <<<IPSCONTENT
_tab_settings' class="ipsTabs__tab" role="tab" aria-selected="true">
true
IPSCONTENT;
$checkedTab = 'settings';
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'settings', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
_visibility' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_visibility_panel' id='
_visibility_panel" aria-selected="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
if ( !$checkedTab ):
$return .= <<<IPSCONTENT
_tab_visibility' class="ipsTabs__tab" role="tab" aria-selected="true">
true
IPSCONTENT;
$checkedTab = 'visibility';
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'visibility', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
if ( $widget->isBuilderWidget() ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
_advanced' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_advanced_panel' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_advanced' class="ipsTabs__tab" role="tab" aria-selected="false">
_advanced_panel" aria-selected="false">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'widget_tab_advanced', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
</i-tabs>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels'>
<div id='ipsTabs_tabs_
_content' class='ipsTabs__panels'>
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_settings_panel' class="
_settings_panel' class="
IPSCONTENT;
if ( $widget->menuStyle !== 'modal' ):
@@ -1578,11 +1541,21 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
ipsTabs__panel" aria-labelledby="
ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_settings" aria-hidden="false">
_settings"
IPSCONTENT;
if ( $checkedTab != 'settings' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul class='ipsForm ipsForm--vertical ipsForm--widget-template'>
IPSCONTENT;
@@ -1642,15 +1615,11 @@ $return .= <<<IPSCONTENT
</ul>
</div>
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_visibility_panel' class="
_visibility_panel' class="
IPSCONTENT;
if ( $widget->menuStyle !== 'modal' ):
@@ -1660,11 +1629,21 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
ipsTabs__panel" aria-labelledby="
ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_visibility" aria-hidden="false">
_visibility"
IPSCONTENT;
if ( $checkedTab != 'visibility' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<ul class='ipsForm ipsForm--vertical ipsForm--widget-template'>
IPSCONTENT;
@@ -1719,15 +1698,11 @@ IPSCONTENT;
if ( $widget->isBuilderWidget() ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
<div id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_advanced_panel' class="
_advanced_panel' class="
IPSCONTENT;
if ( $widget->menuStyle !== 'modal' ):
@@ -1737,11 +1712,11 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
ipsTabs__panel" aria-labelledby="
ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_advanced" aria-hidden="false">
_advanced" hidden>
<ul class='ipsForm ipsForm--vertical ipsForm--widget-template'>
IPSCONTENT;
@@ -2370,10 +2345,10 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$tabID = 'widget-mostSolved_' . mt_rand();
$tabID = 'ipsTabs_mostSolved' . mt_rand();
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs_small ipsTabs--stretch' id='
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -2382,25 +2357,27 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content'>
<ul role="tablist">
<li>
<a href='#ipsTabs_
<div role="tablist">
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=week&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_el_MostSolvedWeek_panel' id='
_week' class='ipsTabs__tab' role="tab" aria-controls="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
-el_MostSolvedWeek' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
_week_panel" aria-selected='true'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='
</button>
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=month&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -2409,15 +2386,17 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
-el_MostSolvedMonth' class='ipsTabs__tab' role="tab" aria-selected='false'>
_month' class='ipsTabs__tab' role="tab" aria-controls="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_month_panel" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='
</button>
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=year&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -2426,15 +2405,17 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
-el_MostSolvedYear' class='ipsTabs__tab' role="tab" aria-selected='false'>
_year' class='ipsTabs__tab' role="tab" aria-controls="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_year_panel" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='
</button>
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=all&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -2443,32 +2424,38 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
-el_MostSolvedAll' class='ipsTabs__tab' role="tab" aria-selected='false'>
_all' class='ipsTabs__tab' role="tab" aria-controls="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_all_panel" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'alltime', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</button>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
<section id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content' class='ipsTabs__panels ipsWidget__content'>
<div id="ipsTabs_
<div id="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_el_MostSolvedWeek_panel" class='ipsTabs__panel'>
_week_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_week">
IPSCONTENT;
@@ -3603,15 +3590,15 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'b
$return .= <<<IPSCONTENT
</h3>
<div class='ipsWidget__content'>
<ul class='ipsList ipsList--stacked ipsList--border ipsList--fill'>
<ul class='ipsList ipsList--stats ipsList--stacked ipsList--border ipsList--fill'>
<li>
<strong class='ipsList__label'>
<strong class='ipsList__value'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['member_count'] );
$return .= <<<IPSCONTENT
</strong>
<span class='ipsList__value'>
<span class='ipsList__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'stats_total_members', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -3619,7 +3606,7 @@ $return .= <<<IPSCONTENT
</span>
</li>
<li>
<strong class='ipsList__label' data-ipsTooltip title='<time data-norelative="true">
<strong class='ipsList__value' data-ipsTooltip title='<time data-norelative="true">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $stats['most_online']['time'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -3629,7 +3616,7 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['most_online']['count'] );
$return .= <<<IPSCONTENT
</strong>
<span class='ipsList__value'>
<span class='ipsList__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'stats_most_online', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -4409,7 +4396,7 @@ IPSCONTENT;
if ( in_array($layout, array("wallpaper", "featured", "grid")) ):
$return .= <<<IPSCONTENT
<figure class='ipsData__image' data-show-on="wallpaper featured grid">
<figure class='ipsData__image'>
IPSCONTENT;
@@ -4445,7 +4432,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<figure class='ipsData__icon' data-hide-on="wallpaper featured grid">
<figure class='ipsData__icon'>
IPSCONTENT;
@@ -4478,7 +4465,7 @@ $return .= <<<IPSCONTENT
</a></h4>
</div>
<div class='ipsData__desc ipsRichText' data-controller='core.front.core.lightboxedImages'>{$item->truncated()}</div>
<p class='ipsData__meta' data-hide-on="mini-grid">
<p class='ipsData__meta'>
IPSCONTENT;
@@ -4524,62 +4511,90 @@ IPSCONTENT;
if ( count( $data ) > 1 ):
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs--stretch' id='el
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#el
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content'>
<ul role="tablist">
<div role="tablist">
IPSCONTENT;
$checked = NULL;
$return .= <<<IPSCONTENT
IPSCONTENT;
foreach ( $data as $tag => $items ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$tabId = $key . \str_replace( ' ', '-', $tag );
$tabId = \str_replace( ' ', '-', $tag );
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_el
<button type="button" id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_el
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='el
' class='ipsTabs__tab' role="tab" aria-controls="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
_panel" aria-selected="
IPSCONTENT;
if ( !$checked ):
$return .= <<<IPSCONTENT
true
IPSCONTENT;
$checked = $tabId;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tag, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='el
</i-tabs>
<section id='ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -4590,28 +4605,46 @@ IPSCONTENT;
foreach ( $data as $tag => $items ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$tabId = $key . \str_replace( ' ', '-', $tag );
$tabId = \str_replace( ' ', '-', $tag );
$return .= <<<IPSCONTENT
<div id="ipsTabs_el
<div id="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_el
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class='ipsTabs__panel'>
_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( $checked != $tabId ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "widgets", "core" )->tagRows( $items, $layout );
$return .= <<<IPSCONTENT
</div>
</div>
IPSCONTENT;
@@ -4911,97 +4944,110 @@ IPSCONTENT;
$tabID = mt_rand();
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs--stretch' id='elTopContributors_
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#elTopContributors_
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content'>
<ul role="tablist">
<li>
<a href='#ipsTabs_elTopContributors_el_topContributorsWeek_panel' id='el_topContributorsWeek_
<div role="tablist">
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=week&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
_week' aria-controls="ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_week_panel" aria-selected='true'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='
</button>
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=month&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' id='el_topContributorsMonth_
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' role="tab" aria-selected='false'>
_month' aria-controls="ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_month_panel" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='
</button>
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=year&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' id='el_topContributorsYear_
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' role="tab" aria-selected='false'>
_year' aria-controls="ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_year_panel" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='
</button>
<button type="button" data-taburl='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=all&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
' id='el_topContributorsAll_
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' role="tab" aria-selected='false'>
_all' aria-controls="ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_all_panel" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'alltime', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</button>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='elTopContributors_
</i-tabs>
<section id='ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content' class='ipsTabs__panels'>
<div id="ipsTabs_elTopContributors_
<div id="ipsTabs_topContributors
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_el_topContributorsWeek_panel" class='ipsTabs__panel'>
_week_panel" class='ipsTabs__panel' role="tabpanel">
IPSCONTENT;
+24 -44
View File
@@ -6501,62 +6501,50 @@ IPSCONTENT;
if ( $clubs ):
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs_small ipsTabs--stretch ipsJS_show' id='tabs_nodeSelect_
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_nodeSelect_
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
<li>
<a href='#ipsTabs_tabs_nodeSelect_
_content'>
<div role='tablist'>
<button type="button" id='ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_nodeSelect_
_global' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_global_panel' id='nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_global' class="ipsTabs__tab" role="tab">
_global_panel" aria-selected="true">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'club_node_selector_global', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='#ipsTabs_tabs_nodeSelect_
</button>
<button type="button" id='ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_nodeSelect_
_clubs' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_clubs_panel' id='nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_clubs' class="ipsTabs__tab" role="tab">
_clubs_panel" aria-selected="false">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'club_node_selector_clubs', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</div>
</button>
</div>
</i-tabs>
IPSCONTENT;
@@ -6570,24 +6558,20 @@ IPSCONTENT;
if ( $clubs ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_content_nodeSelect_
<div id='ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels'>
<div id='ipsTabs_tabs_nodeSelect_
_content' class='ipsTabs__panels'>
<div id='ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_nodeSelect_
_global_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_global_panel' class="ipsTabs__panel" aria-labelledby="nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_global" aria-hidden="false" data-role="globalNodeList">
_global" data-role="globalNodeList">
IPSCONTENT;
@@ -6595,19 +6579,15 @@ $return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'global' )->nodeCascad
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_tabs_nodeSelect_
<div id='ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_nodeSelect_
_clubs_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_clubs_panel' class="ipsTabs__panel" aria-labelledby="nodeSelect_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_clubs" aria-hidden="false" data-role="clubNodeList">
_clubs" data-role="clubNodeList" hidden>
IPSCONTENT;
+3 -3
View File
@@ -16,7 +16,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\IPS::mb_ucfirst(\IPS\SUITE_UNIQUE_KEY), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
i-margin-block_2'>
i-text-align_center'>
<ul>
IPSCONTENT;
@@ -1234,13 +1234,13 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $chart->baseURL->setQueryString( array( 'deleteChart' => \IPS\Request::i()->chartId ) )->csrf() , ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsButton--tiny ipsButton ipsButton--negative'>
' class='ipsButton--small ipsButton ipsButton--negative'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mychart_remove', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
<button data-role="renameChart" class='ipsButton--tiny ipsButton ipsButton--inherit' data-ipsMenu data-ipsMenu-closeOnClick='false' id='el
<button data-role="renameChart" class='ipsButton--small ipsButton ipsButton--inherit' data-ipsMenu data-ipsMenu-closeOnClick='false' id='el
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $chart->identifier, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
+37 -24
View File
@@ -1991,6 +1991,12 @@ $return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Session::i()->csrfKey, EN
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$checked = NULL;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \count( $acceptableHandlers ) > 1 ):
@@ -2013,35 +2019,28 @@ $return .= <<<IPSCONTENT
</p>
</div>
<div class='ipsTabs ipsTabs_small ipsTabs--stretch ipsJS_show' id='tabs_2fa' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_2fa'>
<ul role='tablist'>
IPSCONTENT;
$checked = NULL;
$return .= <<<IPSCONTENT
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='ipsTabs_2fa' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_2fa_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $acceptableHandlers as $key => $handler ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_2fa_2fa_tab_
<button type="button" id='ipsTabs_2fa_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='2fa_tab_
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_2fa_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
_panel" aria-selected="
IPSCONTENT;
if ( !$checked ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
$checked = $key;
@@ -2049,10 +2048,15 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab">
<input class='ipsJS_hide' type="radio" name="mfa_method" value="
">
<input class='ipsJS_hide' type="radio" name="mfa_method" value="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -2071,28 +2075,27 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
$val = "mfa_{$key}_title"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
</i-tabs>
</div>
IPSCONTENT;
@@ -2100,22 +2103,32 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div id='ipsTabs_content_2fa' class='ipsTabs__panels'>
<div id='ipsTabs_2fa_content' class='ipsTabs__panels'>
IPSCONTENT;
foreach ( $acceptableHandlers as $key => $handler ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_2fa_2fa_tab_
<div id='ipsTabs_2fa_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="2fa_tab_
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_2fa_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $checked and $checked != $key ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
{$handler->configurationScreen( $member, ( \count( $acceptableHandlers ) > 1 ), $url )}
</div>
+26 -30
View File
@@ -754,12 +754,12 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
data-datalayer-postfetch>
data-datalayer-postfetch><i class="fa-solid fa-download"></i><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'download_now', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</span></a>
IPSCONTENT;
@@ -3217,56 +3217,50 @@ IPSCONTENT;
if ( \count( $tabs ) ):
$return .= <<<IPSCONTENT
<div class="ipsTabs ipsJS_show" id="tabs_file" data-ipstabbar data-ipstabbar-contentarea="#ipsTabs_content_file">
<ul role="tablist">
<li>
<a href="#ipsTabs_tabs_file_file_tab_desc_panel" id="file_tab_desc" class="ipsTabs__tab" role="tab" aria-selected="true">
<i-tabs class="ipsTabs" id="ipsTabs_file" data-ipstabbar data-ipstabbar-contentarea="#ipsTabs_file_content">
<div role="tablist">
<button type="button" id="ipsTabs_file_desc" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_file_desc_panel" aria-selected="true">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'file_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
foreach ( $tabs as $name ):
$return .= <<<IPSCONTENT
<li>
<a href="#ipsTabs_tabs_file_file_tab_
<button type="button" id="ipsTabs_file_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" id="file_tab_
" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_file_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" class="ipsTabs__tab" role="tab" aria-selected="false">
_panel" aria-selected="false">
IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id="ipsTabs_content_file" class="ipsTabs__panels ipsTabs__panels--padded">
<div id="ipsTabs_tabs_file_file_tab_desc_panel" class="ipsTabs__panel" aria-labelledby="file_tab_desc" aria-hidden="false">
</i-tabs>
<div id="ipsTabs_file_content" class="ipsTabs__panels ipsTabs__panels--padded">
<div id="ipsTabs_file_desc_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_file_desc">
IPSCONTENT;
@@ -3503,15 +3497,15 @@ IPSCONTENT;
if ( $field['location'] == 'tab' ):
$return .= <<<IPSCONTENT
<div id="ipsTabs_tabs_file_file_tab_downloads_
<div id="ipsTabs_file_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $field['key'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" class="ipsTabs__panel" aria-labelledby="file_tab_
_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_file_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $field['key'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
" hidden>
<div class="ipsRichText" data-controller="core.front.core.lightboxedImages">
{$field['value']}
</div>
@@ -3845,12 +3839,12 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'dl_get_support_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" class="ipsButton ipsButton--inherit i-width_100p">
" class="ipsButton ipsButton--large ipsButton--text i-width_100p"><i class="fa-regular fa-life-ring"></i><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'dl_get_support', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
</span></a></li>
IPSCONTENT;
@@ -4095,13 +4089,14 @@ $return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $file->canViewDownloaders() and $file->downloads ):
$return .= <<<IPSCONTENT
<div class="i-margin-top_3">
<a href="
<ul class="ipsButtons i-margin-top_3">
<li><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $file->url('log'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -4115,19 +4110,20 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'downloaders', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
"><i class="fa-solid fa-users"></i><span>
"><i class="fa-regular fa-circle-user"></i><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'who_downloaded', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></a>
</div>
</span></a></li>
</ul>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</aside>
</div>
+106 -33
View File
@@ -733,15 +733,15 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'b
$return .= <<<IPSCONTENT
</h3>
<div class='ipsWidget__content'>
<ul class='ipsList ipsList--stats ipsList--stacked ipsList--border ipsList--fill'>
<ul class='ipsList ipsList--stats ipsList--stats ipsList--stacked ipsList--border ipsList--fill'>
<li>
<span class='i-font-size_3 i-font-weight_600 i-color_hard'>
<span class='ipsList__value'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['totalFiles'] );
$return .= <<<IPSCONTENT
</span><br>
<span class='i-color_soft i-font-weight_500'>
<span class='ipsList__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'total_files_front', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -755,13 +755,13 @@ if ( $stats['totalComments'] ):
$return .= <<<IPSCONTENT
<li>
<span class='i-font-size_3 i-font-weight_600 i-color_hard'>
<span class='ipsList__value'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['totalComments'] );
$return .= <<<IPSCONTENT
</span><br>
<span class='i-color_soft i-font-weight_500'>
<span class='ipsList__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'total_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -781,13 +781,13 @@ if ( $stats['totalReviews'] ):
$return .= <<<IPSCONTENT
<li>
<span class='i-font-size_3 i-font-weight_600 i-color_hard'>
<span class='ipsList__value'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['totalReviews'] );
$return .= <<<IPSCONTENT
</span><br>
<span class='i-color_soft i-font-weight_500'>
<span class='ipsList__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'total_reviews', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -1352,51 +1352,100 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'block_topDownloads', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h3>
<div class='ipsTabs ipsTabs_small ipsTabs--stretch' id='elDownloadsTopDownloads' data-ipsTabBar data-ipsTabBar-contentArea='#elDownloadsTopDownloads_content'>
<ul role="tablist">
<li>
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsWeek_panel' id='elDownloads_topDownloadsWeek' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
IPSCONTENT;
$tabID = mt_rand();
$return .= <<<IPSCONTENT
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content'>
<div role="tablist">
<button type="button" id='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Week' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Week_panel' aria-selected='true'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsMonth_panel' id='elDownloads_topDownloadsMonth' class='ipsTabs__tab' role="tab" aria-selected='false'>
</button>
<button type="button" id='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Month' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Month_panel' aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsYear_panel' id='elDownloads_topDownloadsYear' class='ipsTabs__tab' role="tab" aria-selected='false'>
</button>
<button type="button" id='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Year' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Year_panel' aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
<li>
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsAll_panel' id='elDownloads_topDownloadsAll' class='ipsTabs__tab' role="tab" aria-selected='false'>
</button>
<button type="button" id='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_All' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_All_panel' aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_alltime', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</ul>
</button>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='elDownloadsTopDownloads_content' class='ipsTabs__panels'>
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsWeek_panel" class='ipsTabs__panel'>
</i-tabs>
<section id='ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content' class='ipsTabs__panels'>
<div id="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Week_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Week">
IPSCONTENT;
@@ -1444,7 +1493,15 @@ endif;
$return .= <<<IPSCONTENT
</div>
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsMonth_panel" class='ipsTabs__panel'>
<div id="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Month_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Month" hidden>
IPSCONTENT;
@@ -1492,7 +1549,15 @@ endif;
$return .= <<<IPSCONTENT
</div>
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsYear_panel" class='ipsTabs__panel'>
<div id="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Year_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_Year" hidden>
IPSCONTENT;
@@ -1540,7 +1605,15 @@ endif;
$return .= <<<IPSCONTENT
</div>
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsAll_panel" class='ipsTabs__panel'>
<div id="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_All_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_All" hidden>
IPSCONTENT;
File diff suppressed because it is too large. Load diff
+28 -56
View File
@@ -187,40 +187,15 @@ IPSCONTENT;
if ( \count( $elements ) > 1 ):
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsJS_show' id='tabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<ul role='tablist'>
<i-tabs class='ipsTabs' id='ipsTabs_topicForm' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_topicForm_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $elements as $name => $content ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_tabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
<button type="button" id='ipsTabs_topicForm_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -229,15 +204,19 @@ IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
$return .= <<<IPSCONTENT
ipsTabs_error
ipsTabs__tab--error
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" role="tab" aria-selected="
" role="tab" aria-controls="ipsTabs_topicForm_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( $name == 'mainTab' ):
if ( $name == 'topic_mainTab' ):
$return .= <<<IPSCONTENT
true
IPSCONTENT;
@@ -250,7 +229,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
if ( \in_array( $name, $errorTabs ) ):
@@ -266,42 +245,29 @@ IPSCONTENT;
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__panels'>
</i-tabs>
<div id='ipsTabs_topicForm_content' class='ipsTabs__panels'>
IPSCONTENT;
foreach ( $elements as $name => $contents ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_tabs_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
<div id='ipsTabs_topicForm_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -309,15 +275,21 @@ _panel' class="ipsTabs__panel ipsTabs__panel--
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-labelledby="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_tab_
" role="tabpanel" aria-labelledby="ipsTabs_topicForm_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $name != 'topic_mainTab' ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
+6 -1
View File
@@ -2886,7 +2886,12 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->$idField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-expanded="false" data-ipscontrols aria-label="Author stats" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
" aria-expanded="false" data-ipscontrols aria-label="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'author_stats', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
IPSCONTENT;
+5 -5
View File
@@ -697,7 +697,7 @@ IPSCONTENT;
if ( in_array($layout, array("wallpaper", "featured", "grid")) ):
$return .= <<<IPSCONTENT
<figure class='ipsData__image' data-show-on="wallpaper featured grid">
<figure class='ipsData__image'>
IPSCONTENT;
@@ -733,7 +733,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<figure class='ipsData__icon' data-hide-on="wallpaper featured grid">
<figure class='ipsData__icon'>
IPSCONTENT;
@@ -978,7 +978,7 @@ IPSCONTENT;
if ( in_array($layout, array("wallpaper", "featured", "grid")) ):
$return .= <<<IPSCONTENT
<figure class="ipsData__image" data-show-on="wallpaper featured grid">
<figure class="ipsData__image">
IPSCONTENT;
@@ -1014,7 +1014,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<figure class="ipsData__icon" data-hide-on="wallpaper featured grid">
<figure class="ipsData__icon">
IPSCONTENT;
@@ -1172,7 +1172,7 @@ endif;
$return .= <<<IPSCONTENT
</div>
<div class="ipsData__meta" data-hide-on="mini-grid">
<div class="ipsData__meta">
IPSCONTENT;
+52 -38
View File
@@ -110,40 +110,48 @@ $return .= <<<IPSCONTENT
</div>
<div class='ipsBox'>
<div class='ipsTabs ipsTabs--stretch' id='elCustomerTabs' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_elCustomerTabs'>
<ul role='tablist'>
<i-tabs class='ipsTabs ipsTabs--stretch ipsTabs--customerTabs' id='ipsTabs_customer' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_customer_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $k => $tab ):
$return .= <<<IPSCONTENT
<li>
<a href='
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $customer->acpUrl()->setQueryString( array( 'do' => 'view', 'blockKey' => 'nexus_AccountInformation', 'block[nexus_AccountInformation]' => $k ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab i-text-align_center
' class='ipsTabs__tab' id='ipsTabs_customer_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' role="tab" aria-controls="ipsTabs_customer_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( $activeTabKey == $k ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' id='customer_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsTooltip title='
" data-ipsTooltip title='
IPSCONTENT;
$val = "customer_tab_{$k}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
'>
<i class='fa-solid fa-
<i class='fa-solid fa-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['icon'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -153,7 +161,7 @@ IPSCONTENT;
$val = "customer_tab_{$k}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
IPSCONTENT;
if ( $tab['count'] ):
@@ -168,32 +176,31 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</a>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_elCustomerTabs' class='ipsTabs__panels acpFormTabContent'>
<div id='ipsTabs_elCustomerTabs_customer_tab_
</i-tabs>
<div id='ipsTabs_customer_content' class='ipsTabs__panels acpFormTabContent'>
<div id='ipsTabs_customer_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class='ipsTabs__panel' aria-labelledby='customer_tab_
_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby='ipsTabs_customer_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' aria-hidden='false'>
'>
{$activeTabContents}
</div>
</div>
@@ -2229,34 +2236,42 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'purchases', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h2>
<div class='ipsTabs ipsTabs--stretch' id='elPurchasesTabs' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_elPurchasesTabs'>
<ul role='tablist'>
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_purchases' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_purchases_content'>
<div role='tablist'>
IPSCONTENT;
foreach ( $tabs as $k => $tab ):
$return .= <<<IPSCONTENT
<li>
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $customer->acpUrl()->setQueryString( array( 'do' => 'view', 'blockKey' => 'nexus_Purchases', 'block[nexus_Purchases]' => $k ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab i-text-align_center
' class='ipsTabs__tab' role="tab" id='ipsTabs_purchases_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' aria-controls="ipsTabs_purchases_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel" aria-selected="
IPSCONTENT;
if ( $activeTabKey == $k ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
' id='purchase_tab_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
">
IPSCONTENT;
@@ -2269,31 +2284,30 @@ $return .= \IPS\Theme\Template::htmlspecialchars( $tab['count'], ENT_QUOTES | EN
$return .= <<<IPSCONTENT
)
</a>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<div id='ipsTabs_content_elPurchasesTabs' class='ipsTabs__panels acpFormTabContent'>
<div id='ipsTabs_elPurchasesTabs_purchase_tab_
</i-tabs>
<div id='ipsTabs_purchases_content' class='ipsTabs__panels acpFormTabContent'>
<div id='ipsTabs_purchases_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class='ipsTabs__panel' aria-labelledby='purchase_tab_
_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby='ipsTabs_purchases_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' aria-hidden='false'>
'>
{$activeTabContents}
</div>
</div>
+2 -2
View File
@@ -2065,7 +2065,7 @@ $return .= <<<IPSCONTENT
<tr>
<td colspan="3">
<div class='ipsPhotoPanel ipsPhotoPanel_tiny'>
<div class='ipsPhotoPanel ipsPhotoPanel--tiny'>
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $customer->acpUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -2117,7 +2117,7 @@ $return .= <<<IPSCONTENT
<tr>
<td colspan="3">
<div class='ipsPhotoPanel ipsPhotoPanel_tiny'>
<div class='ipsPhotoPanel ipsPhotoPanel--tiny'>
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $commission['referrer']->acpUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
+24 -27
View File
@@ -88,38 +88,27 @@ IPSCONTENT;
if ( \count( $images ) > 1 ):
$return .= <<<IPSCONTENT
<div class='ipsTabs acpFormTabBar' id='elTabs_adView' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_adView' data-ipsTabBar-updateURL='false'>
<ul role='tablist'
<i-tabs class='ipsTabs acpFormTabBar' id='ipsTabs_adView' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_adView_content' data-ipsTabBar-updateURL='false'>
<div role='tablist'>
IPSCONTENT;
foreach ( $images as $key => $image ):
$return .= <<<IPSCONTENT
<li>
<a href='#ipsTabs_elTabs_adView_adView_tab_
<button type="button" id='ipsTabs_adView_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' id='adView_tab_
' class="ipsTabs__tab" title='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class="ipsTabs__tab
IPSCONTENT;
if ( $key == "large" ):
$return .= <<<IPSCONTENT
ipsTabs__tab--active
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" title='
' role="tab" aria-controls='ipsTabs_adView_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' role="tab" aria-selected="
_panel' aria-selected="
IPSCONTENT;
if ( $key == "large" ):
@@ -135,7 +124,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
if ( $key === 'large' ):
@@ -161,38 +150,47 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
</button>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='ipsTabs_content_adView' class='acpFormTabContent'>
</i-tabs>
<section id='ipsTabs_adView_content' class='acpFormTabContent'>
IPSCONTENT;
foreach ( $images as $key => $image ):
$return .= <<<IPSCONTENT
<div id='ipsTabs_elTabs_adView_adView_tab_
<div id='ipsTabs_adView_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_panel' class="ipsTabs__panel" aria-labelledby="adView_tab_
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_adView_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" aria-hidden="false">
"
IPSCONTENT;
if ( $key != "large" ):
$return .= <<<IPSCONTENT
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<div class="i-padding_3">
<a href="
IPSCONTENT;
@@ -258,7 +256,6 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $advertisement->link, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a></div>
&nbsp;
</div>
IPSCONTENT;