Version 5.0.13

This commit is contained in:
Neo committed 2025-12-19 19:04:57 -08:00
1 parent b89858b2ff
commit 5efe744c5f
1407 files changed
+69690 -30177

No files matched your search

+256 -89
View File
@@ -88,7 +88,15 @@ IPSCONTENT;
foreach ( $comments as $comment ):
$return .= <<<IPSCONTENT
<li>
<li class='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->ui('css'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->ui('dataAttributes'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
>
<article class='ipsEntry ipsEntry--simple'>
<div class='ipsEntry__content'>
<header class='ipsEntry__header'>
@@ -173,25 +181,25 @@ IPSCONTENT;
$id = mt_rand();
$return .= <<<IPSCONTENT
<a href='#elBlogCommentFeed_
<button type="button" id="elBlogCommentFeed_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_menu' class='ipsEntry__topButton ipsEntry__topButton--ellipsis' id='elBlogCommentFeed_
" popovertarget="elBlogCommentFeed_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' title='
_menu" class='ipsEntry__topButton ipsEntry__topButton--ellipsis' title='
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'more_options', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
' data-ipsMenu><i class='fa-solid fa-ellipsis' aria-hidden="true"></i><span class='ipsInvisible'>
'><i class='fa-solid fa-ellipsis' aria-hidden="true"></i><span class='ipsInvisible'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'more_options', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span></a>
</span></button>
IPSCONTENT;
@@ -289,12 +297,14 @@ IPSCONTENT;
if ( $comment->canReportOrRevoke() === TRUE ):
$return .= <<<IPSCONTENT
<ul id='elBlogCommentFeed_
<i-dropdown popover id="elBlogCommentFeed_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_menu' class='ipsMenu ipsMenu_auto ipsHide'>
<li class='ipsMenu_item'><a href='
_menu">
<div class="iDropdown">
<ul class="iDropdown__items">
<li><a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->url('report'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -329,7 +339,9 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a></li>
</ul>
</ul>
</div>
</i-dropdown>
IPSCONTENT;
@@ -366,7 +378,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<h3 class='ipsWidget__header'>
<h3 class="ipsWidget__header">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -377,57 +389,65 @@ IPSCONTENT;
if ( isset($orientation) and $orientation == 'vertical' ):
$return .= <<<IPSCONTENT
<div class='ipsWidget__content'>
<div class="ipsWidget__content">
<i-data>
<ul class='ipsData ipsData--table ipsData--blogs-widget'>
<ul class="ipsData ipsData--table ipsData--blogs-widget">
IPSCONTENT;
foreach ( $blogs as $blog ):
$return .= <<<IPSCONTENT
<li class='ipsData__item'>
<div class='i-flex_11'>
<h4 class='i-font-weight_600 i-margin-bottom_2'><a href="
<li class="ipsData__item
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->ui('css'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->ui('dataAttributes'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
>
<div class="i-flex_11">
<h4 class="i-font-weight_600 i-margin-bottom_2"><a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" title='
" title="
IPSCONTENT;
$sprintf = array($blog->_title); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'view_this_blog', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<<IPSCONTENT
' class="i-color_hard">
" class="i-color_hard">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a></h4>
<ul class='ipsGrid ipsGrid--blog-stats ipsGrid--3'>
<li><strong class='i-font-weight_600 i-font-size_2 i-color_hard'>
<ul class="ipsGrid ipsGrid--blog-stats ipsGrid--3">
<li><strong class="i-font-weight_600 i-font-size_2 i-color_hard">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->_items, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</strong><br><span class='i-color_soft i-font-size_-1'>
</strong><br><span class="i-color_soft i-font-size_-1">
IPSCONTENT;
$pluralize = array( $blog->_items ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'blog_entries', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
</span></li>
<li><strong class='i-font-weight_600 i-font-size_2 i-color_hard'>
<li><strong class="i-font-weight_600 i-font-size_2 i-color_hard">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->_comments, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</strong><br><span class='i-color_soft i-font-size_-1'>
</strong><br><span class="i-color_soft i-font-size_-1">
IPSCONTENT;
$pluralize = array( $blog->_comments ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'blog_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
</span></li>
<li><strong class='i-font-weight_600 i-font-size_2 i-color_hard'>
<li><strong class="i-font-weight_600 i-font-size_2 i-color_hard">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->num_views, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</strong><br><span class='i-color_soft i-font-size_-1'>
</strong><br><span class="i-color_soft i-font-size_-1">
IPSCONTENT;
$pluralize = array( $blog->num_views ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'blog_views', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
@@ -459,8 +479,8 @@ IPSCONTENT;
foreach ( $blogs as $blog ):
$return .= <<<IPSCONTENT
<li class='ipsData__blog-item ipsColumns ipsColumns--lines'>
<div class='ipsColumns__secondary i-basis_380 i-background_2 i-text-align_center cBlogInfo'>
<li class="ipsData__blog-item ipsColumns ipsColumns--lines">
<div class="ipsColumns__secondary i-basis_380 i-background_2 i-text-align_center cBlogInfo">
IPSCONTENT;
@@ -468,31 +488,31 @@ IPSCONTENT;
$coverPhoto = $blog->coverPhoto();
$return .= <<<IPSCONTENT
<a href='
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsCoverPhoto ipsCoverPhoto--blog-listing' data-url="
" class="ipsCoverPhoto ipsCoverPhoto--blog-listing" data-url="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->url()->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" style='--offset:
" style="--offset:
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $coverPhoto->offset, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' aria-hidden="true" tabindex="-1">
" aria-hidden="true" tabindex="-1">
IPSCONTENT;
if ( $coverPhoto->file ):
$return .= <<<IPSCONTENT
<div class='ipsCoverPhoto__container'>
<img src='
<div class="ipsCoverPhoto__container">
<img src="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $coverPhoto->file->url, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' class='ipsCoverPhoto__image' alt='' loading='lazy'>
" class="ipsCoverPhoto__image" alt="" loading="lazy">
</div>
IPSCONTENT;
@@ -500,7 +520,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<div class='ipsCoverPhoto__container'>
<div class="ipsCoverPhoto__container">
<div class="ipsFallbackImage" style="--i-empty-image-random--ba-co:
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->coverPhotoBackgroundColor(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -515,25 +535,25 @@ $return .= <<<IPSCONTENT
</a>
<div class='i-padding_3'>
<h3 class='ipsTitle ipsTitle--h3'>
<a href='
<div class="i-padding_3">
<h3 class="ipsTitle ipsTitle--h3">
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' title='
" title="
IPSCONTENT;
$sprintf = array($blog->_title); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'go_to_blog', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<<IPSCONTENT
'>
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a>
</h3>
<div class='i-font-weight_500 i-color_soft i-margin-top_1'>
<div class="i-font-weight_500 i-color_soft i-margin-top_1">
IPSCONTENT;
@@ -552,7 +572,7 @@ IPSCONTENT;
elseif ( $club = $blog->club() ):
$return .= <<<IPSCONTENT
<i class='fa-solid fa-users'></i>
<i class="fa-solid fa-users"></i>
IPSCONTENT;
$sprintf = array($club->name); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'club_blog_for', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
@@ -564,7 +584,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<i class='fa-solid fa-users'></i>
<i class="fa-solid fa-users"></i>
IPSCONTENT;
$htmlsprintf = array(\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id ), $blog->category()->link()); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'group_blog_by', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
@@ -577,7 +597,7 @@ endif;
$return .= <<<IPSCONTENT
</div>
<ul class='ipsList ipsList--stats ipsList--stacked ipsList--fill i-margin-top_3'>
<ul class="ipsList ipsList--stats ipsList--stacked ipsList--fill i-margin-top_3">
<li><span class="ipsList__value">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->_items, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -615,7 +635,7 @@ IPSCONTENT;
if ( $blog->description ):
$return .= <<<IPSCONTENT
<div class='ipsTruncate_x ipsHide' style='--line-clamp: 9'>
<div class="ipsTruncate_x ipsHide" style="--line-clamp: 9">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->richText( $blog->description );
@@ -629,7 +649,7 @@ $return .= <<<IPSCONTENT
</div>
</div>
<div class='ipsColumns__primary i-padding_3'>
<div class="ipsColumns__primary i-padding_3">
IPSCONTENT;
@@ -637,7 +657,7 @@ IPSCONTENT;
if ( $blog->latestEntry() ):
$return .= <<<IPSCONTENT
<div class='ipsTitle--h4'>
<div class="ipsTitle--h4">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->latestEntry()->caption, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -645,7 +665,7 @@ $return .= <<<IPSCONTENT
<h3>
<span class='ipsBadges'>
<span class="ipsBadges">
IPSCONTENT;
@@ -658,16 +678,16 @@ endforeach;
$return .= <<<IPSCONTENT
</span>
<a href='
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->latestEntry()->url( "getPrefComment" ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' title='
" title="
IPSCONTENT;
$sprintf = array($blog->latestEntry()->name); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'view_this_entry', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<<IPSCONTENT
'>
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $blog->latestEntry()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -676,15 +696,15 @@ $return .= <<<IPSCONTENT
</a>
</h3>
</div>
<div class='ipsPhotoPanel ipsPhotoPanel--small i-margin-top_1 i-margin-bottom_2'>
<div class="ipsPhotoPanel ipsPhotoPanel--small i-margin-top_1 i-margin-bottom_2">
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $blog->latestEntry()->author(), '' );
$return .= <<<IPSCONTENT
<div class='ipsPhotoPanel__text'>
<p class='i-color_soft i-link-color_inherit'>
<div class="ipsPhotoPanel__text">
<p class="i-color_soft i-link-color_inherit">
IPSCONTENT;
$htmlsprintf = array(trim( $blog->latestEntry()->author()->link() )); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'latest_entry_by', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
@@ -698,7 +718,7 @@ $return .= <<<IPSCONTENT
</div>
</div>
<div class='ipsRichText cBlogInfo_content' data-controller="core.front.core.lightboxedImages">
<div class="ipsRichText cBlogInfo_content" data-controller="core.front.core.lightboxedImages">
{$blog->latestEntry()->content()}
</div>
@@ -708,7 +728,7 @@ IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<p class='ipsEmptyMessage'>
<p class="ipsEmptyMessage">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_entries_yet', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -733,38 +753,56 @@ IPSCONTENT;
if ( \count( $recentEntries ) > 1 ):
$return .= <<<IPSCONTENT
<h4 class='ipsTitle ipsTitle--h5 ipsTitle--margin i-margin-top_4'>
<h4 class="ipsTitle ipsTitle--h5 ipsTitle--margin i-margin-top_4">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'recent_entries', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h4>
<ul class='ipsBlogs__blog-listing-entries'>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/blogs", "recentEntries:before", [ $blogs,$title,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<ul class="ipsBlogs__blog-listing-entries" data-ips-hook="recentEntries">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/blogs", "recentEntries:inside-start", [ $blogs,$title,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
foreach ( $recentEntries as $entry ):
$return .= <<<IPSCONTENT
<li>
<li class="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->ui('css'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->ui('dataAttributes'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $entry->author(), 'fluid' );
$return .= <<<IPSCONTENT
<div class='i-flex_11 i-flex i-gap_2 i-row-gap_0 i-flex-wrap_wrap'>
<h4 class='i-font-weight_500 i-flex_11'>
<a href='
<div class="i-flex_11 i-flex i-gap_2 i-row-gap_0 i-flex-wrap_wrap">
<h4 class="i-font-weight_500 i-flex_11">
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->url( "getPrefComment" ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' title='
" title="
IPSCONTENT;
$sprintf = array($entry->name); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'view_this_entry', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<<IPSCONTENT
'>
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -778,7 +816,7 @@ IPSCONTENT;
if ( !( $blog->owner() instanceof \IPS\Member ) ):
$return .= <<<IPSCONTENT
<p class='i-font-size_-1 i-color_soft'>
<p class="i-font-size_-1 i-color_soft">
IPSCONTENT;
$htmlsprintf = array(trim( $blog->latestEntry()->author()->link() ), \IPS\DateTime::ts( $blog->latestEntry()->date )->html(TRUE)); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'byline_name_date', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
@@ -798,7 +836,17 @@ IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/blogs", "recentEntries:inside-end", [ $blogs,$title,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
</ul>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/blogs", "recentEntries:after", [ $blogs,$title,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
@@ -982,7 +1030,15 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<li class='ipsData__item'>
<li class="ipsData__item
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->ui('css'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->ui('dataAttributes'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
>
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->url('getLastComment'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -992,19 +1048,29 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</span></a>
<figure class='ipsData__image'>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "image:before", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<div class="ipsData__image" aria-hidden="true" data-ips-hook="image">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "image:inside-start", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $entry->cover_photo ):
$return .= <<<IPSCONTENT
<img src='
<img src="
IPSCONTENT;
$return .= \IPS\File::get( "blog_Entries", $entry->cover_photo )->url;
$return .= <<<IPSCONTENT
' alt='' loading='lazy'>
" alt="" loading="lazy">
IPSCONTENT;
@@ -1018,24 +1084,64 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</figure>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "image:inside-end", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "image:after", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<div class="ipsData__content">
<div class='ipsData__main'>
<div class='ipsData__title'><h4><a href="
<div class="ipsData__main">
<div class="ipsData__title">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "title:before", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<h4 data-ips-hook="title">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "title:inside-start", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->url('getLastComment'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
" title='
" title="
IPSCONTENT;
$sprintf = array($entry->_title); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'view_this_entry', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<<IPSCONTENT
'>
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a></h4></div>
<div class='ipsData__meta'>
</a>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "title:inside-end", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
</h4>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "title:after", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "metadata:before", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<div class="ipsData__meta" data-ips-hook="metadata">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "metadata:inside-start", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
$htmlsprintf = array($entry->author()->link()); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'byline_nodate', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
@@ -1045,15 +1151,25 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'in', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
<a href='
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->container()->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $entry->container()->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</a></div>
</a>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "metadata:inside-end", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
</div>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "metadata:after", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
IPSCONTENT;
@@ -1078,7 +1194,7 @@ IPSCONTENT;
if ( isset($orientation) and $orientation == 'horizontal' ):
$return .= <<<IPSCONTENT
<div class='ipsData__desc ipsRichText ipsTruncate_2'>{$entry->truncated()}</div>
<div class="ipsData__desc ipsRichText ipsTruncate_2">{$entry->truncated()}</div>
IPSCONTENT;
@@ -1086,14 +1202,25 @@ endif;
$return .= <<<IPSCONTENT
</div>
<ul class="ipsData__stats">
<li data-stattype="comments">
<span class='ipsData__stats-icon' data-stat-value="
<div class="ipsData__extra">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "stats:before", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<ul class="ipsData__stats" data-ips-hook="stats">
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "stats:inside-start", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
<li data-stattype="comments">
<span class="ipsData__stats-icon" data-stat-value="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $entry->num_comments );
$return .= <<<IPSCONTENT
" aria-hidden="true" data-ipstooltip title='
" aria-hidden="true" data-ipstooltip title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $entry->num_comments );
@@ -1103,8 +1230,8 @@ IPSCONTENT;
$pluralize = array( $entry->num_comments ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'blog_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
'></span>
<span class='ipsData__stats-label'>
"></span>
<span class="ipsData__stats-label">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $entry->num_comments );
@@ -1115,8 +1242,48 @@ IPSCONTENT;
$pluralize = array( $entry->num_comments ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'blog_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
</span>
</li>
</ul>
</li>
<li data-stattype="views">
<span class="ipsData__stats-icon" data-stat-value="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $entry->views );
$return .= <<<IPSCONTENT
" aria-hidden="true" data-ipstooltip title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $entry->views );
$return .= <<<IPSCONTENT
IPSCONTENT;
$pluralize = array( $entry->views ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'blog_views', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
"></span>
<span class="ipsData__stats-label">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $entry->views );
$return .= <<<IPSCONTENT
IPSCONTENT;
$pluralize = array( $entry->views ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'blog_views', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<<IPSCONTENT
</span>
</li>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "stats:inside-end", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
</ul>
IPSCONTENT;
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "blog/front/widgets/entryRow", "stats:after", [ $entry,$layout,$isCarousel ] );
$return .= <<<IPSCONTENT
</div>
</div>
</li>
IPSCONTENT;