Version 5.0.0 beta 4
This commit is contained in:
1 parent
e86153356a
commit
2f24f9de48
276 files changed
+8614
-6044
No files matched your search
@@ -53,7 +53,8 @@ IPSCONTENT;
|
||||
if ( $location == 'sidebar' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsWidget cTopicOverview cTopicOverview--sidebar i-flex i-flex-direction_column i-overflow_hidden ipsResponsive_showDesktop"
|
||||
<div class="ipsWidget cTopicOverviewContainer">
|
||||
<div class="cTopicOverview cTopicOverview--sidebar ipsResponsive_showDesktop"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $hasAnyContent ):
|
||||
@@ -70,7 +71,7 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="cTopicOverview cTopicOverview--row i-flex
|
||||
<div class="ipsBox ipsPull cTopicOverviewContainer
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $topic->showSummaryOnDesktop() != 'post' ):
|
||||
@@ -90,7 +91,8 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
">
|
||||
<div class="cTopicOverview cTopicOverview--main"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $hasAnyContent ):
|
||||
@@ -107,225 +109,106 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__header i-background_1 i-flex_00 i-flex i-flex-wrap_wrap'>
|
||||
<ul class="iTopicOverview__header i-flex_91 i-padding_3 i-flex i-flex-wrap_wrap i-justify-content_space-around i-gap_3 i-text-align_center">
|
||||
<li>
|
||||
<span class="i-color_soft i-font-weight_500 i-display_block">
|
||||
<div class="cTopicOverview__content">
|
||||
<ul class='cTopicOverview__item cTopicOverview__item--stats'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $topic->posts > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<span class="i-color_soft i-font-weight_500">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'replies', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class="i-color_hard i-font-weight_700 i-display_block i-font-size_3">
|
||||
<span class="i-color_hard i-font-weight_700 i-font-size_3">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumberShort( $topic->posts-1 );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="i-color_soft i-font-weight_500 i-display_block">
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<span class="i-color_soft i-font-weight_500">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'views', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class="i-color_hard i-font-weight_700 i-font-size_3">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumberShort( $topic->views );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="i-color_soft i-font-weight_500">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_created', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class="i-color_hard i-font-weight_700 i-display_block i-font-size_3">
|
||||
<span class="i-color_hard i-font-weight_700 i-font-size_3">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = ( $topic->start_date instanceof \IPS\DateTime ) ? $topic->start_date : \IPS\DateTime::ts( $topic->start_date );$return .= $val->html(TRUE, TRUE);
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="i-color_soft i-font-weight_500 i-display_block">
|
||||
</li>
|
||||
<li>
|
||||
<span class="i-color_soft i-font-weight_500">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'last_reply', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class="i-color_hard i-font-weight_700 i-display_block i-font-size_3">
|
||||
<span class="i-color_hard i-font-weight_700 i-font-size_3">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = ( $topic->last_post instanceof \IPS\DateTime ) ? $topic->last_post : \IPS\DateTime::ts( $topic->last_post );$return .= $val->html(TRUE, TRUE);
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $location != 'sidebar' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='#' data-action='toggleOverview' class='cTopicOverview__toggle cTopicOverview__toggle--row i-flex_10 i-basis_80 i-color_soft i-font-size_2'><span class="ipsInvisible">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_expand', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><i class='fa-solid fa-chevron-down'></i></a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $location !== 'sidebar' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__preview i-flex_10' data-role="preview">
|
||||
<div class='cTopicOverview__previewInner i-padding_3 i-flex i-gap_3 ipsResponsive_hidePhone'>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $members ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__section--users i-flex_00'>
|
||||
<h4 class='cTopicOverview__sectionTitle i-font-size_-1 i-color_hard i-text-transform_uppercase i-font-weight_600'>
|
||||
<div class='cTopicOverview__item cTopicOverview__item--topPosters'>
|
||||
<h4 class='cTopicOverview__title'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_topposters', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h4>
|
||||
<ul class='cTopicOverview__dataList i-flex i-justify-content_space-between i-align-items_center i-gap_3 i-margin-top_1'>
|
||||
|
||||
<ul class='cTopicOverview__dataList'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $members as $data ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="cTopicOverview__dataItem i-flex i-justify-content_start i-align-items_center i-gap_2">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $data['member'], 'tiny' );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['count'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $busy ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__section--popularDays i-flex_00'>
|
||||
<h4 class='cTopicOverview__sectionTitle i-font-size_-1 i-color_hard i-text-transform_uppercase i-font-weight_600'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_populardays', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h4>
|
||||
<ul class='cTopicOverview__dataList i-flex i-justify-content_space-between i-align-items_center i-gap_3 i-margin-top_1'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $busy as $row ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='i-flex_10'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $topic->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $row['commentId'] ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow" class='cTopicOverview__dataItem i-flex i-justify-content_space-between i-align-items_center i-gap_2'>
|
||||
<span class='i-color_soft'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $row['date']->dayAndShortMonth(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class='i-font-weight_500 i-color_hard'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $row['count'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__body i-padding_3 i-gap_3
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $location !== 'sidebar' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsHide i-flex i-flex_11 i-flex-direction_column
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-role="overview">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $members ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__section--users'>
|
||||
<h4 class='ipsTitle ipsTitle--hr ipsTitle--h6 i-font-weight_600 i-text-transform_uppercase i-font-size_-2 i-margin-bottom_2'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_topposters', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h4>
|
||||
<ul class='cTopicOverview__dataList ipsGrid i-basis_140 i-gap_2'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $members as $data ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsPhotoPanel">
|
||||
|
||||
<li class="ipsPhotoPanel">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $data['member'], 'fluid' );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsPhotoPanel__text'>
|
||||
<strong class='ipsPhotoPanel__primary'><a href='
|
||||
<div class='ipsPhotoPanel__text'>
|
||||
<strong class='ipsPhotoPanel__primary i-color_hard'><a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['member']->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -334,55 +217,55 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['member']->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></strong>
|
||||
<span class='ipsPhotoPanel__secondary'>
|
||||
<span class='ipsPhotoPanel__secondary'>
|
||||
IPSCONTENT;
|
||||
|
||||
$pluralize = array( $data['count'] ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_number_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $busy ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__section--popularDays'>
|
||||
<h4 class='ipsTitle ipsTitle--hr ipsTitle--h6 i-font-weight_600 i-text-transform_uppercase i-font-size_-2 i-margin-top_4 i-margin-bottom_2'>
|
||||
<div class='cTopicOverview__item cTopicOverview__item--popularDays'>
|
||||
<h4 class='cTopicOverview__title'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_populardays', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h4>
|
||||
<ul class='cTopicOverview__dataList ipsGrid i-basis_140 i-gap_2'>
|
||||
|
||||
<ul class='cTopicOverview__dataList'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $busy as $row ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href="
|
||||
<li>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $topic->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $row['commentId'] ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $topic->shareableUrl( $row['commentId'] ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow" class='cTopicOverview__dataItem i-flex i-justify-content_start i-align-items_center i-gap_2'>
|
||||
<span class='i-font-weight_bold'>
|
||||
" rel="nofollow" class='cTopicOverview__dataItem i-grid i-color_soft'>
|
||||
<span class='i-font-weight_bold i-color_hard'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $row['date']->dayAndShortMonth(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -391,60 +274,52 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $row['date']->format('Y'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class='i-color_soft'>
|
||||
<span>
|
||||
IPSCONTENT;
|
||||
|
||||
$pluralize = array( $row['count'] ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_number_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $reacted ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__section--topPost'>
|
||||
<h4 class='ipsTitle ipsTitle--hr ipsTitle--h6 i-font-weight_600 i-text-transform_uppercase i-font-size_-2 i-margin-top_4'>
|
||||
<div class='cTopicOverview__item cTopicOverview__item--popularPosts'>
|
||||
<h4 class='cTopicOverview__title'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_popularposts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h4>
|
||||
|
||||
<ul class='cTopicOverview__dataList'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $reacted as $data ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-position_relative'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow" class="i-position_cover" aria-hidden='true'><span class='ipsInvisible'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--tiny i-margin-top_3'>
|
||||
<span class='ipsUserPhoto'>
|
||||
<img src='
|
||||
<li>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--tiny'>
|
||||
<span class='ipsUserPhoto'>
|
||||
<img src='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->photo, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -453,74 +328,73 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' loading='lazy'>
|
||||
</span>
|
||||
<div class="ipsPhotoPanel__text">
|
||||
<h5 class='ipsPhotoPanel__primary'>
|
||||
</span>
|
||||
<div class="ipsPhotoPanel__text">
|
||||
<h5 class='ipsPhotoPanel__primary i-color_hard'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h5>
|
||||
<p class='ipsPhotoPanel__secondary'>
|
||||
<p class='ipsPhotoPanel__secondary'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = ( $data['comment']->mapped('date') instanceof \IPS\DateTime ) ? $data['comment']->mapped('date') : \IPS\DateTime::ts( $data['comment']->mapped('date') );$return .= $val->html();
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class='i-margin-top_2 ipsRichText ipsTruncate_3'>
|
||||
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class='i-margin-top_2 ipsRichText ipsTruncate_3'>
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->truncated(true, 200), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</p>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $helpful ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__section--topPost'>
|
||||
<h4 class='ipsTitle ipsTitle--hr ipsTitle--h6 i-font-weight_600 i-text-transform_uppercase i-font-size_-2 i-margin-top_4'>
|
||||
<div class='cTopicOverview__item cTopicOverview__item--helpfulPosts'>
|
||||
<h4 class='cTopicOverview__title'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_helpfulposts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h4>
|
||||
|
||||
<ul class='cTopicOverview__dataList'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $helpful as $data ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-position_relative'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow" class="i-position_cover" aria-hidden='true'><span class='ipsInvisible'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--tiny i-margin-top_3'>
|
||||
<span class='ipsUserPhoto'>
|
||||
<img src='
|
||||
<li>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--tiny'>
|
||||
<span class='ipsUserPhoto'>
|
||||
<img src='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->photo, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -529,57 +403,63 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' loading='lazy'>
|
||||
</span>
|
||||
<div>
|
||||
<h5 class='i-font-weight_bold'>
|
||||
</span>
|
||||
<div class="ipsPhotoPanel__text">
|
||||
<h5 class="ipsPhotoPanel__primary i-color_hard">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->author()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h5>
|
||||
<p class='i-color_soft'>
|
||||
<p class="ipsPhotoPanel__secondary">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->shareableUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = ( $data['comment']->mapped('date') instanceof \IPS\DateTime ) ? $data['comment']->mapped('date') : \IPS\DateTime::ts( $data['comment']->mapped('date') );$return .= $val->html();
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class='i-margin-top_2 ipsRichText ipsTruncate_3'>
|
||||
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class='i-margin-top_2 ipsRichText ipsTruncate_3'>
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $data['comment']->truncated(true, 200), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</p>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $images ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='cTopicOverview__section--images'>
|
||||
<h4 class='ipsTitle ipsTitle--hr ipsTitle--h6 i-font-weight_600 i-text-transform_uppercase i-font-size_-2 i-margin-top_4'>
|
||||
<div class='cTopicOverview__item cTopicOverview__item--images'>
|
||||
<h4 class='cTopicOverview__title'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_images', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h4>
|
||||
<div class="i-margin-top_2" data-controller='core.front.core.lightboxedImages'>
|
||||
<ul class='cTopicOverview__imageGrid ipsGrid i-basis_120 i-gap_1'>
|
||||
<ul class='cTopicOverview__imageGrid' data-controller='core.front.core.lightboxedImages'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -613,7 +493,25 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $hasAnyContent ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<button type="button" data-action='toggleOverview' class='cTopicOverview__toggle'><span class="ipsInvisible">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_expand', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><i class='fa-solid fa-chevron-down'></i></button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -621,46 +519,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $location !== 'sidebar' and $hasAnyContent ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='#' data-action='toggleOverview' class='cTopicOverview__toggle cTopicOverview__toggle--afterStats i-font-size_2 i-color_soft i-padding_3 i-flex i-align-items_center i-justify-content_center'><span class="ipsInvisible">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'topicactivity_expand', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><i class='fa-solid fa-chevron-down'></i></a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $location == 'sidebar' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
@@ -819,11 +678,31 @@ $return .= <<<IPSCONTENT
|
||||
>
|
||||
<div class="ipsEntry__post">
|
||||
<div class="ipsEntry__meta">
|
||||
<a href="
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
|
||||
if ( ! \IPS\Output::i()->reduceLinks() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsEntry__date" rel="nofollow">{$comment->dateLine()}</a>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->shareableUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsEntry__date" rel="nofollow">
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
{$comment->dateLine()}
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ! \IPS\Output::i()->reduceLinks() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<!-- Traditional badges -->
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -1611,11 +1490,23 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ! \IPS\Output::i()->reduceLinks() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->sharemenu( $comment );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1727,6 +1618,11 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a id="findComment-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->$idField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"></a>
|
||||
<div id="comment-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->$idField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -2816,11 +2712,31 @@ $return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "forums/fr
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class="ipsPhotoPanel__secondary">
|
||||
<a href="
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
|
||||
if ( ! \IPS\Output::i()->reduceLinks() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow">{$comment->dateLine()}</a>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->shareableUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" rel="nofollow">
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
{$comment->dateLine()}
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ! \IPS\Output::i()->reduceLinks() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user