Version 5.0.0 beta 3

This commit is contained in:
Neo committed 2025-12-19 16:47:22 -08:00
1 parent f61b0da85d
commit e86153356a
108 files changed
+2927 -1573

No files matched your search

+7 -7
View File
@@ -7,7 +7,7 @@ class class_calendar_front_browse extends \IPS\Theme\Template
<div class=''>
<div class='ipsPager cCalendarNav i-padding-block_2 i-padding-inline_3 i-background_2 i-position_sticky-top i-border-start-start-radius_box i-border-start-end-radius_box'>
<div class='ipsPager cCalendarNav i-padding-block_2 i-padding-inline_3 i-background_2 i-border-start-start-radius_box i-border-start-end-radius_box'>
<div class='ipsPager_prev'>
<a href="
IPSCONTENT;
@@ -325,7 +325,7 @@ $return .= <<<IPSCONTENT
<div class="ipsPageHeader ipsBox ipsPull" id='elCalendarsHeader'>
<div class='ipsPageHeader__row'>
<div class="ipsPageHeader__primary">
<span class="ipsTitle ipsTitle--h1">
<span class="ipsPageHeader__title">
IPSCONTENT;
@@ -343,7 +343,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<a href='#elCalendars_menu' id='elCalendars' data-ipsMenu data-ipsMenu-appendTo="#elCalendarsHeader">
<a href='#elCalendars_menu' id='elCalendars' data-ipsMenu>
IPSCONTENT;
if ( $thisCalendar ):
@@ -367,7 +367,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<i class='fa-solid fa-caret-down i-margin-start_icon'></i></a>
<i class='fa-solid fa-angle-down'></i></a>
IPSCONTENT;
@@ -395,7 +395,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<a href='#elCalendarSettings_menu' id='elCalendarSettings' data-ipsMenu data-ipsMenu-alignCenter data-ipsMenu-appendTo="#elCalendarsHeader" class='ipsButton ipsButton--inherit'><span>
<a href='#elCalendarSettings_menu' id='elCalendarSettings' data-ipsMenu data-ipsMenu-alignCenter class='ipsButton ipsButton--inherit'><span>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'subscribe_button', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -516,7 +516,7 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div>
<div class='ipsPager cCalendarNav i-padding-block_2 i-padding-inline_3 i-background_2 i-position_sticky-top i-border-start-start-radius_box i-border-start-end-radius_box'>
<div class='ipsPager cCalendarNav i-padding-block_2 i-padding-inline_3 i-background_2 i-border-start-start-radius_box i-border-start-end-radius_box'>
<div class='ipsPager_prev'>
<a href="
IPSCONTENT;
@@ -1026,7 +1026,7 @@ IPSCONTENT;
<div class=''>
<div class='ipsPager cCalendarNav i-padding-block_2 i-padding-inline_3 i-background_2 i-position_sticky-top i-border-start-start-radius_box i-border-start-end-radius_box'>
<div class='ipsPager cCalendarNav i-padding-block_2 i-padding-inline_3 i-background_2 i-border-start-start-radius_box i-border-start-end-radius_box'>
<div class='ipsPager_prev'>
<a href="
IPSCONTENT;
+9 -2
View File
@@ -665,7 +665,7 @@ if ( ( \IPS\Widget\Request::i()->root and !\IPS\Widget\Request::i()->noshowroot
$return .= <<<IPSCONTENT
<div class="ipsButtonBar ipsButtonBar--top">
<div class="ipsButtonBar__start i-font-size_1">
<div class="ipsButtonBar__start">
IPSCONTENT;
@@ -728,6 +728,13 @@ endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
elseif ( $pagination ):
$return .= <<<IPSCONTENT
{$pagination}
IPSCONTENT;
endif;
@@ -876,7 +883,7 @@ IPSCONTENT;
if ( $pagination ):
$return .= <<<IPSCONTENT
<div class="i-margin-top_1">
<div class="ipsButtonBar ipsButtonBar--bottom">
{$pagination}
</div>
+2 -2
View File
@@ -12333,7 +12333,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$active = $item->activeOrChildActive();
$active = $item->activeOrChildActive('smallscreen');
$return .= <<<IPSCONTENT
@@ -13777,7 +13777,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$active = $child->activeOrChildActive();
$active = $child->activeOrChildActive('smallscreen');
$return .= <<<IPSCONTENT
<a href='
+2 -2
View File
@@ -576,8 +576,8 @@ endif;
$return .= <<<IPSCONTENT
</div>
<div class="i-flex i-align-items_center">
<div class="i-text-align_start i-flex_11">
<div class="i-flex i-flex-wrap_wrap i-justify-content_space-between i-align-items_center">
<div>
<div class="i-color_soft i-font-weight_500">
IPSCONTENT;
+289 -297
View File
@@ -1,41 +1,34 @@
<?php
namespace IPS\Theme;
class class_core_front_staffdirectory extends \IPS\Theme\Template
{ function layout_blocks( $users ) {
{ function layout_blocks( $user ) {
$return = '';
$return .= <<<IPSCONTENT
<div class="ipsGrid ipsGrid--lines ipsGrid--staff i-basis_200">
IPSCONTENT;
foreach ( $users as $user ):
$return .= <<<IPSCONTENT
<div class="i-padding-block_3 i-flex i-flex-direction_column i-gap_2 i-text-align_center">
<div class="i-flex i-justify-content_center">
<div class="i-basis_120">
<div class="i-padding-block_3 i-flex i-flex-direction_column i-gap_2 i-text-align_center">
<div class="i-flex i-justify-content_center">
<div class="i-basis_120">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $user->member(), 'fluid' );
$return .= <<<IPSCONTENT
</div>
</div>
<div>
<h3 class="ipsTitle ipsTitle--h4">
</div>
<div>
<h3 class="ipsTitle ipsTitle--h4">
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_name_" . $user->id ) ):
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) ):
$return .= <<<IPSCONTENT
<a href="
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $user->member()->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -45,75 +38,75 @@ IPSCONTENT;
$val = "core_staff_directory_name_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
</a>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$val = "core_staff_directory_name_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
{$user->member()->link()}
{$user->member()->link()}
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</h3>
</h3>
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_title_" . $user->id ) ):
$return .= <<<IPSCONTENT
<p class="i-font-weight_500 i-color_soft i-margin-bottom_2">
<p class="i-font-weight_500 i-color_soft i-margin-bottom_2">
IPSCONTENT;
$val = "core_staff_directory_title_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
</p>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:before", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:before", [ $user ] );
$return .= <<<IPSCONTENT
<ul class="ipsList ipsList--inline i-justify-content_center i-gap_3 i-color_soft i-link-color_inherit i-font-weight_500 i-margin-top_auto" data-ips-hook="staffInfo">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:inside-start", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:inside-start", [ $user ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_bio_" . $user->id ) ):
$return .= <<<IPSCONTENT
<li><a href="#staffFull_
<li><a href="#staffFull_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $user->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -146,19 +139,19 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
: Bio"><i class="fa-regular fa-address-card i-margin-end_icon i-opacity_6"></i>Bio</a></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( !\IPS\Member::loggedIn()->members_disable_pm AND !$user->member()->members_disable_pm AND \IPS\Member::loggedIn()->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) ) ):
$return .= <<<IPSCONTENT
<li><a href="
<li><a href="
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=messaging&controller=messenger&do=compose&to={$user->member()->member_id}", null, "messenger_compose", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -179,42 +172,35 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'message_send', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:inside-end", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:inside-end", [ $user ] );
$return .= <<<IPSCONTENT
</ul>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:after", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_blocks", "staffInfo:after", [ $user ] );
$return .= <<<IPSCONTENT
<div id="staffFull_
<div id="staffFull_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $user->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" class="ipsHide i-padding_3 i-font-size_2">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->richText( \IPS\Member::loggedIn()->language()->addToStack('core_staff_directory_bio_' . $user->id) );
$return .= <<<IPSCONTENT
</div>
</div>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</div>
</div>
IPSCONTENT;
@@ -250,236 +236,19 @@ IPSCONTENT;
return $return;
}
function layout_full( $users ) {
function layout_full( $user ) {
$return = '';
$return .= <<<IPSCONTENT
<div class="ipsGrid ipsGrid--lines ipsGrid--staff-directory-full i-basis_100p">
IPSCONTENT;
foreach ( $users as $user ):
$return .= <<<IPSCONTENT
<div class="i-padding_3 i-flex i-gap_3 i-align-items_center">
<div class="i-basis_90 i-align-self_start">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $user->member(), 'fluid' );
$return .= <<<IPSCONTENT
</div>
<div class="i-flex_11">
<div class="i-flex i-flex-wrap_wrap i-gap_1">
<div class="i-flex_11">
<h3 class="ipsTitle ipsTitle--h4">
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_name_" . $user->id ) ):
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) ):
$return .= <<<IPSCONTENT
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $user->member()->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "core_staff_directory_name_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
</a>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$val = "core_staff_directory_name_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
{$user->member()->link()}
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</h3>
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_title_" . $user->id ) ):
$return .= <<<IPSCONTENT
<p class="i-font-weight_600">
IPSCONTENT;
$val = "core_staff_directory_title_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
</p>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
if ( !\IPS\Member::loggedIn()->members_disable_pm AND !$user->member()->members_disable_pm AND \IPS\Member::loggedIn()->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) ) ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:before", [ $users ] );
$return .= <<<IPSCONTENT
<ul class="ipsList ipsList--inline i-gap_3 i-color_soft i-link-color_inherit i-font-weight_500" data-ips-hook="staffInfo">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:inside-start", [ $users ] );
$return .= <<<IPSCONTENT
<li><a href="
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=messaging&controller=messenger&do=compose&to={$user->member()->member_id}", null, "messenger_compose", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
" data-ipsdialog data-ipsdialog-title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'compose_new', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" data-ipsdialog-forcereload data-ipsdialog-remotesubmit data-ipsdialog-flashmessage="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'message_sent', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
"><i class="fa-regular fa-message i-margin-end_icon i-opacity_6"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'message_send', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:inside-end", [ $users ] );
$return .= <<<IPSCONTENT
</ul>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:after", [ $users ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_bio_" . $user->id ) ):
$return .= <<<IPSCONTENT
<div class="i-margin-top_3">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->richText( \IPS\Member::loggedIn()->language()->addToStack('core_staff_directory_bio_' . $user->id) );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
return $return;
}
function layout_full_preview( ) {
$return = '';
$return .= <<<IPSCONTENT
<div class='cStaffDirPreview cStaffDirPreview_full'>
<div class='cStaffDirPreview_block cStaffDirPreview_row'>
<span class='cStaffDirPreview_photo'></span><br>
<span class='cStaffDirPreview_title'></span>
<span class='cStaffDirPreview_text'></span>
</div>
<div class='cStaffDirPreview_block cStaffDirPreview_row'>
<span class='cStaffDirPreview_photo'></span><br>
<span class='cStaffDirPreview_title'></span>
<span class='cStaffDirPreview_text'></span>
</div>
<div class='cStaffDirPreview_block cStaffDirPreview_row'>
<span class='cStaffDirPreview_photo'></span><br>
<span class='cStaffDirPreview_title'></span>
<span class='cStaffDirPreview_text'></span>
</div>
</div>
IPSCONTENT;
return $return;
}
function layout_half( $users ) {
$return = '';
$return .= <<<IPSCONTENT
<div class="ipsGrid ipsGrid--lines ipsGrid--staff-directory-half i-basis_300">
IPSCONTENT;
foreach ( $users as $user ):
$return .= <<<IPSCONTENT
<div class="i-padding_3 i-flex i-gap_3 i-align-items_center">
<div class="i-basis_90">
<div class="i-padding_3 i-flex i-gap_3 i-align-items_center">
<div class="i-basis_90 i-align-self_start">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $user->member(), 'fluid' );
$return .= <<<IPSCONTENT
</div>
<div class="i-flex_11">
<div class="i-flex i-flex-wrap_wrap i-gap_1">
<div class="i-flex_11">
<h3 class="ipsTitle ipsTitle--h4">
@@ -539,10 +308,10 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_title_" . $user->id ) ):
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_title_" . $user->id ) ):
$return .= <<<IPSCONTENT
<p class="i-font-weight_500 i-color_soft i-margin-bottom_2">
<p class="i-font-weight_600">
IPSCONTENT;
$val = "core_staff_directory_title_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
@@ -554,24 +323,220 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
if ( !\IPS\Member::loggedIn()->members_disable_pm AND !$user->member()->members_disable_pm AND \IPS\Member::loggedIn()->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) ) ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:before", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:before", [ $user ] );
$return .= <<<IPSCONTENT
<ul class="ipsList ipsList--inline i-gap_3 i-color_soft i-link-color_inherit i-font-weight_500 i-margin-top_1" data-ips-hook="staffInfo">
<ul class="ipsList ipsList--inline i-gap_3 i-color_soft i-link-color_inherit i-font-weight_500" data-ips-hook="staffInfo">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:inside-start", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:inside-start", [ $user ] );
$return .= <<<IPSCONTENT
<li><a href="
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=messaging&controller=messenger&do=compose&to={$user->member()->member_id}", null, "messenger_compose", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
$return .= <<<IPSCONTENT
" data-ipsdialog data-ipsdialog-title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'compose_new', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
" data-ipsdialog-forcereload data-ipsdialog-remotesubmit data-ipsdialog-flashmessage="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'message_sent', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
"><i class="fa-regular fa-message i-margin-end_icon i-opacity_6"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'message_send', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:inside-end", [ $user ] );
$return .= <<<IPSCONTENT
</ul>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_full", "staffInfo:after", [ $user ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_bio_" . $user->id ) ):
$return .= <<<IPSCONTENT
<li><a href="#staffFull_
<div class="i-margin-top_3">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->richText( \IPS\Member::loggedIn()->language()->addToStack('core_staff_directory_bio_' . $user->id) );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
IPSCONTENT;
return $return;
}
function layout_full_preview( ) {
$return = '';
$return .= <<<IPSCONTENT
<div class='cStaffDirPreview cStaffDirPreview_full'>
<div class='cStaffDirPreview_block cStaffDirPreview_row'>
<span class='cStaffDirPreview_photo'></span><br>
<span class='cStaffDirPreview_title'></span>
<span class='cStaffDirPreview_text'></span>
</div>
<div class='cStaffDirPreview_block cStaffDirPreview_row'>
<span class='cStaffDirPreview_photo'></span><br>
<span class='cStaffDirPreview_title'></span>
<span class='cStaffDirPreview_text'></span>
</div>
<div class='cStaffDirPreview_block cStaffDirPreview_row'>
<span class='cStaffDirPreview_photo'></span><br>
<span class='cStaffDirPreview_title'></span>
<span class='cStaffDirPreview_text'></span>
</div>
</div>
IPSCONTENT;
return $return;
}
function layout_half( $user ) {
$return = '';
$return .= <<<IPSCONTENT
<div class="i-padding_3 i-flex i-gap_3 i-align-items_center">
<div class="i-basis_90">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $user->member(), 'fluid' );
$return .= <<<IPSCONTENT
</div>
<div class="i-flex_11">
<h3 class="ipsTitle ipsTitle--h4">
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_name_" . $user->id ) ):
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) ):
$return .= <<<IPSCONTENT
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $user->member()->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$val = "core_staff_directory_name_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
</a>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$val = "core_staff_directory_name_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
{$user->member()->link()}
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</h3>
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_title_" . $user->id ) ):
$return .= <<<IPSCONTENT
<p class="i-font-weight_500 i-color_soft i-margin-bottom_2">
IPSCONTENT;
$val = "core_staff_directory_title_{$user->id}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'escape' => TRUE ) );
$return .= <<<IPSCONTENT
</p>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:before", [ $user ] );
$return .= <<<IPSCONTENT
<ul class="ipsList ipsList--inline i-gap_3 i-color_soft i-link-color_inherit i-font-weight_500 i-margin-top_1" data-ips-hook="staffInfo">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:inside-start", [ $user ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_bio_" . $user->id ) ):
$return .= <<<IPSCONTENT
<li><a href="#staffFull_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $user->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -610,13 +575,13 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( !\IPS\Member::loggedIn()->members_disable_pm AND !$user->member()->members_disable_pm AND \IPS\Member::loggedIn()->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) ) ):
$return .= <<<IPSCONTENT
<li><a href="
<li><a href="
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=messaging&controller=messenger&do=compose&to={$user->member()->member_id}", null, "messenger_compose", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -637,43 +602,36 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'message_send', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:inside-end", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:inside-end", [ $user ] );
$return .= <<<IPSCONTENT
</ul>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:after", [ $users ] );
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/staffdirectory/layout_half", "staffInfo:after", [ $user ] );
$return .= <<<IPSCONTENT
<div id="staffFull_
<div id="staffFull_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $user->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" class="i-padding_3 ipsHide">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->richText( \IPS\Member::loggedIn()->language()->addToStack('core_staff_directory_bio_' . $user->id) );
$return .= <<<IPSCONTENT
</div>
</div>
</div>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</div>
</div>
IPSCONTENT;
@@ -850,12 +808,46 @@ $return .= \IPS\Theme\Template::htmlspecialchars( $group->_title, ENT_QUOTES | E
$return .= <<<IPSCONTENT
</h2>
<div class="ipsBox__content">
<div class="ipsGrid ipsGrid--lines ipsGrid--staff
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "staffdirectory", "core", 'front' )->{$group->template}( $members );
if ( $group->template == 'layout_full' ):
$return .= <<<IPSCONTENT
-directory-full i-basis_100p
IPSCONTENT;
elseif ( $group->template == 'layout_half' ):
$return .= <<<IPSCONTENT
-directory-half i-basis_300
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
i-basis_200
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
IPSCONTENT;
foreach ( $members as $member ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "staffdirectory", "core", 'front' )->{$group->template}( $member );
$return .= <<<IPSCONTENT
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</div>
</div>
</section>
+38 -39
View File
@@ -81,16 +81,12 @@ IPSCONTENT;
if ( $category->hasSettings() and $category->hasColors() ):
$return .= <<<IPSCONTENT
<editor-tabs data-tabs='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
<editor-tabs>
<button type='button' aria-controls='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__settings' aria-expanded='true' data-on-click="changeTab"><i class='fa-solid fa-sliders'></i>
__settings' aria-expanded='true' data-ipscontrols><i class='fa-solid fa-sliders'></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_panel_settings', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -100,7 +96,7 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__colors' aria-expanded='false' data-on-click="changeTab"><i class='fa-solid fa-palette'></i>
__colors' aria-expanded='false' data-ipscontrols><i class='fa-solid fa-palette'></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_panel_colors', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -123,11 +119,11 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__settings' data-tabs-content='
__settings' data-ips-hidden-group='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' aria-hidden='false'>
'>
IPSCONTENT;
@@ -158,26 +154,21 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__colors' data-tabs-content='
__colors' data-ips-hidden-group='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' aria-hidden='
'
IPSCONTENT;
if ( $category->hasSettings() ):
$return .= <<<IPSCONTENT
true
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
false
hidden
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
'>
>
IPSCONTENT;
@@ -253,7 +244,8 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<label for='
<div class="theme-editor__align-setting">
<label for='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -262,7 +254,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</label>
<button class='theme-editor__revert' type='button' data-revert='
<button class='theme-editor__revert' type='button' data-revert='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -287,7 +279,7 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_revert', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></button>
<input type='text' id='
<input type='text' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -304,7 +296,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->defaultValue(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' hidden data-on-change="settingHasBeenChanged">
<input id='
<input id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -323,6 +315,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
data-on-change="syncInputsWithPseudo">
</div>
IPSCONTENT;
@@ -639,7 +632,8 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<label for='
<div class="theme-editor__align-setting">
<label for='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -648,7 +642,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</label>
<button class='theme-editor__revert' type='button' data-revert='
<button class='theme-editor__revert' type='button' data-revert='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -673,7 +667,7 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_revert', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></button>
<input type='number' inputmode='numeric' data-range-output='
<input type='number' inputmode='numeric' data-range-output='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -724,6 +718,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
data-on-change="syncInputsWithPseudo">
</div>
<input type='range' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -821,7 +816,8 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<label for='
<div class="theme-editor__align-setting">
<label for='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -830,7 +826,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</label>
<button class='theme-editor__revert' type='button' data-revert='
<button class='theme-editor__revert' type='button' data-revert='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -855,7 +851,7 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_revert', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></button>
<select id='
<select id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -868,13 +864,13 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->defaultValue(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" data-on-change="settingHasBeenChanged">
IPSCONTENT;
foreach ( $setting->data['options'] as $option ):
$return .= <<<IPSCONTENT
<option value='
<option value='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $option[0], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -893,13 +889,14 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $option[1], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</option>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</select>
</select>
</div>
IPSCONTENT;
@@ -942,7 +939,8 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<label for='
<div class="theme-editor__align-setting">
<label for='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -951,7 +949,7 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</label>
<button class='theme-editor__revert' type='button' data-revert='
<button class='theme-editor__revert' type='button' data-revert='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -976,6 +974,7 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_revert', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></button>
</div>
<input type='text' spellcheck='false' id='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -1444,21 +1443,21 @@ $return .= <<<IPSCONTENT
</h2>
</div>
</header>
<editor-tabs data-tabs='swatch-color-picker'>
<button type='button' aria-controls='content__colorSelector__swatches' aria-expanded='true' data-on-click="changeTab"><i class="fa-solid fa-swatchbook"></i>
<editor-tabs>
<button type='button' aria-controls='content__colorSelector__swatches' aria-expanded='true' data-ipscontrols><i class="fa-solid fa-swatchbook"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_swatches', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
<button type='button' aria-controls='content__colorSelector__colorPicker' aria-expanded='false' data-on-click="changeTab"><i class="fa-solid fa-eye-dropper"></i>
<button type='button' aria-controls='content__colorSelector__colorPicker' aria-expanded='false' data-ipscontrols><i class="fa-solid fa-eye-dropper"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_color_picker', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</editor-tabs>
<editor-tab-content id='content__colorSelector__swatches' data-tabs-content='swatch-color-picker' aria-hidden='false'>
<editor-tab-content id='content__colorSelector__swatches' data-ips-hidden-group='swatch-color-picker'>
<div data-swatches>
<ul class='theme-editor__swatches' data-swatch-category='base'>
@@ -1590,7 +1589,7 @@ $return .= <<<IPSCONTENT
</ul>
</div>
</editor-tab-content>
<editor-tab-content id='content__colorSelector__colorPicker' data-tabs-content='swatch-color-picker' aria-hidden='true'>
<editor-tab-content id='content__colorSelector__colorPicker' data-ips-hidden-group='swatch-color-picker' hidden>
<div data-color-picker>
<color-picker></color-picker>
<input type='text' id="color-picker-text" data-color-picker-text data-on-change="colorPickerTextBlur">
+64 -34
View File
@@ -4660,13 +4660,7 @@ if ( \count( $results ) ):
$return .= <<<IPSCONTENT
<i-data>
<ol class="ipsData ipsData--grid cTopContributors i-basis_320">
IPSCONTENT;
$idx = 1;
$return .= <<<IPSCONTENT
<ol class="ipsData ipsData--mini-grid cTopContributors i-basis_320">
IPSCONTENT;
@@ -4689,31 +4683,25 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $member->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span></a>
<strong class='i-color_soft'>
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $idx++, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</strong>
<div class='ipsData__content'>
<div class='ipsData__main'>
<div class='ipsPhotoPanel'>
<div class="ipsData__icon">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $member, 'fluid' );
$return .= <<<IPSCONTENT
<div class='ipsPhotoPanel__text'>
<div class='ipsPhotoPanel__primary'>{$member->link()}</div>
<div class='ipsPhotoPanel__secondary'>
</div>
<div class='ipsData__content'>
<div class='ipsData__main'>
<div class='ipsData__title'>{$member->link()}</div>
<div class='ipsData__meta'>
IPSCONTENT;
if ( \IPS\Member::loggedIn()->group['gbw_view_reps'] ):
$return .= <<<IPSCONTENT
<a href='
<a href='
IPSCONTENT;
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=profile&id={$member->member_id}&do=reputation", null, "profile_reputation", array( $member->members_seo_name ), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
@@ -4769,13 +4757,13 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Member::loggedIn()->language()->formatNumber( $rep ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<span title="
<span title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'reputation_badge_tooltip_period', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -4826,14 +4814,12 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Member::loggedIn()->language()->formatNumber( $rep ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
</div>
</div>
</div>
@@ -4913,10 +4899,28 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'b
$return .= <<<IPSCONTENT
</h3>
<div class='ipsWidget__content'>
<div class='ipsTabs ipsTabs--stretch' id='elTopContributors' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#elTopContributors_content'>
IPSCONTENT;
$tabID = mt_rand();
$return .= <<<IPSCONTENT
<div class='ipsTabs ipsTabs--stretch' id='elTopContributors_
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_
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' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
<a href='#ipsTabs_elTopContributors_el_topContributorsWeek_panel' id='el_topContributorsWeek_
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'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -4929,7 +4933,11 @@ 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" aria-selected='false'>
' id='el_topContributorsMonth_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' role="tab" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -4942,7 +4950,11 @@ 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" aria-selected='false'>
' id='el_topContributorsYear_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' role="tab" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -4955,7 +4967,11 @@ 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" aria-selected='false'>
' id='el_topContributorsAll_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsTabs__tab' role="tab" aria-selected='false'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'alltime', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -4963,9 +4979,23 @@ $return .= <<<IPSCONTENT
</a>
</li>
</ul>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
$return .= <<<IPSCONTENT
</div>
<section id='elTopContributors_content' class='ipsTabs__panels'>
<div id="ipsTabs_elTopContributors_el_topContributorsWeek_panel" class='ipsTabs__panel'>
<section id='elTopContributors_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_content' class='ipsTabs__panels'>
<div id="ipsTabs_elTopContributors_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_el_topContributorsWeek_panel" class='ipsTabs__panel'>
IPSCONTENT;
+55 -49
View File
@@ -1704,21 +1704,6 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( \IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on ):
$return .= <<<IPSCONTENT
data-ips-unread
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
data-ips-read
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $forum->ui( 'dataAttributes' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -1738,8 +1723,23 @@ endif;
$return .= <<<IPSCONTENT
>
<i-data class="ipsCategoryWithFeed__meta">
<div class="ipsData ipsData--grid ipsData--forum-feed-view-forum">
<div class="ipsData__item">
<div class="ipsData ipsData--grid ipsData--forumFeedViewParent">
<div class="ipsData__item"
IPSCONTENT;
if ( \IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on ):
$return .= <<<IPSCONTENT
data-ips-unread
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
data-ips-read
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
<a
IPSCONTENT;
@@ -2303,7 +2303,7 @@ IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "forums/front/index/forumSummaryRow", "latestPoster:before", [ $forum,$isSubForum ] );
$return .= <<<IPSCONTENT
<ul data-ips-hook="latestPoster" class="ipsData ipsData--table ipsData--forum-feed-view">
<ul data-ips-hook="latestPoster" class="ipsData ipsData--table ipsData--forumFeedView">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "forums/front/index/forumSummaryRow", "latestPoster:inside-start", [ $forum,$isSubForum ] );
@@ -2388,42 +2388,65 @@ $return .= <<<IPSCONTENT
</h4>
<small class="ipsData__meta">
</small>
</div>
<div class="ipsData__extra">
<ul class="ipsData__stats">
<li data-stattype="comments" data-v="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $lastPost['posts'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
<span class="ipsData__stats-label">
IPSCONTENT;
$pluralize = array( $lastPost['posts'] ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'num_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
</span>
</li>
</ul>
<div class="ipsData__last">
<div class="ipsData__last-text">
<div class="ipsData__last-primary">
IPSCONTENT;
if ( $lastPost['last_poster_anon'] ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$htmlsprintf = array($lastPost['author']->link( NULL, NULL, TRUE )); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'byline_nodate', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
$return .= <<<IPSCONTENT
,
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$htmlsprintf = array($lastPost['author']->link()); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'byline_nodate', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
$return .= <<<IPSCONTENT
,
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
<div class="ipsData__last-secondary">
IPSCONTENT;
if ( $lastPost['topic_title'] ):
$return .= <<<IPSCONTENT
<a href="
<a href="
IPSCONTENT;
if ( \IPS\Member::loggedIn()->member_id ):
@@ -2457,44 +2480,27 @@ IPSCONTENT;
$val = ( $lastPost['date'] instanceof \IPS\DateTime ) ? $lastPost['date'] : \IPS\DateTime::ts( $lastPost['date'] );$return .= $val->html();
$return .= <<<IPSCONTENT
</a>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$val = ( $lastPost['date'] instanceof \IPS\DateTime ) ? $lastPost['date'] : \IPS\DateTime::ts( $lastPost['date'] );$return .= $val->html();
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $lastPost['posts'] > 0 ):
$return .= <<<IPSCONTENT
·
IPSCONTENT;
$pluralize = array( $lastPost['posts'] ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'num_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</small>
</div>
</div>
</div>
</div>
</div>
</li>