Version 4.7.13

This commit is contained in:
Neo committed 2025-12-19 16:14:56 -08:00
1 parent fd22d99e69
commit 7124a02564
954 files changed
+29277 -59308

No files matched your search

+57 -21
View File
@@ -75,7 +75,12 @@
{{if $forum->sub_can_post and !$forum->password}}
<hr class='ipsHr ipsResponsive_hidePhone' />
<div class='ipsClearfix ipsResponsive_hidePhone'>
<div class='ipsPos_right'>{template="follow" app="core" group="global" params="'forums','forum', $forum->_id, $followerCount"}</div>
<div class='ipsPos_right'>
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="analyticsButton" app="cloud" group="analytics" params="$forum, $forum->_id"}
{{endif}}
{template="follow" app="core" group="global" params="'forums','forum', $forum->_id, $followerCount"}
</div>
</div>
{{endif}}
</header>
@@ -774,13 +779,7 @@
if ( IpsDataLayerConfig && !window.IpsDataLayerConfig && IpsDataLayerConfig._events.content_view.enabled ) {
$('body').trigger( 'ipsDataLayer', {
_key: 'content_view',
_properties: {
{{foreach $topic->getDataLayerProperties() as $key => $value}}
'{$key}' : {{if \is_numeric($value)}} {$value} {{else}} "{$value}" {{endif}},
{{endforeach}}
page_number : null,
view_location: 'hovercard',
}
_properties: {expression="json_encode(array_replace($topic->getDataLayerProperties(), ['view_location' => 'hovercard', 'page_number' => null]))" raw="true"}
} );
}
</script>
@@ -835,7 +834,7 @@
</li>
{{endif}}
{{else}}
<li class="ipsDataItem ipsDataItem_responsivePhoto {{if $row->groupsPosted}}ipsDataItem_highlighted{{endif}} {{if $row->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $row, 'tableClass' ) && $row->tableClass()}}ipsDataItem_{$row->tableClass()}{{endif}} {{if $row->hidden() or $row->isFutureDate()}}ipsModerated{{endif}} {{if $row->isFutureDate()}}ipsModerated_alternate{{endif}}" data-rowID='{$row->$idField}' data-location='{$row->locationHash}' data-controller='forums.front.forum.topicRow'>
<li class="ipsDataItem ipsDataItem_responsivePhoto {{if $row->groupsPosted}}ipsDataItem_highlighted{{endif}} {{if $row->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $row, 'tableClass' ) && $row->tableClass()}}ipsDataItem_{$row->tableClass()}{{endif}} {{if $row->hidden() or $row->isFutureDate()}}ipsModerated{{endif}} {{if $row->isFutureDate()}}ipsModerated_alternate{{endif}}" data-rowID='{$row->$idField}' data-location='{{if isset($row->locationHash)}}{$row->locationHash}{{endif}}' data-controller='forums.front.forum.topicRow'>
{{if member.member_id}}
<div class='ipsDataItem_icon ipsPos_top'>
{{if $row->unread()}}
@@ -879,7 +878,8 @@
{{if $row->isFutureDate() || $row->mapped('pinned') || $row->mapped('featured') || $row->hidden() === -1 || $row->hidden() === 1}}
{{if $row->isFutureDate()}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $row->hidden() === -1}}
{{endif}}
{{if $row->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $row->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
@@ -2125,7 +2125,8 @@
{{if $row->isFutureDate() || $row->mapped('pinned') || $row->mapped('featured') || $row->hidden() === -1 || $row->hidden() === 1 || $row->isSolved()}}
{{if $row->isFutureDate()}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $row->hidden() === -1}}
{{endif}}
{{if $row->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $row->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
@@ -3212,6 +3213,9 @@
{{endif}}
{{if $comment->item()->canSolve() AND ! $comment->item()->isSolved() AND ! $comment->item()->isNotModeratorButCanSolve()}}
<li><a href='{$item->url()->csrf()->setQueryString( array( 'do' => 'solve', 'answer' => $comment->pid ) )}' data-action="solveComment">{lang="solve_content"}</a></li>
{{endif}}
{{if \IPS\Application::appIsEnabled('cloud')}}
<li>{template="spam" app="cloud" group="spam" params="$comment, FALSE"}</li>
{{endif}}
{{endif}}
<li class='ipsHide' data-role='commentLoading'>
@@ -3460,7 +3464,8 @@
{{if $topic->isFutureDate() || $topic->mapped('pinned') || $topic->mapped('featured') || $topic->hidden() === -1 || $topic->hidden() === 1 || $topic->hidden() === -2 || $topic->isSolved() || ( $topic->canToggleItemModeration() and $topic->itemModerationEnabled() )}}
{{if $topic->isFutureDate()}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$topic->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $topic->hidden() === -1}}
{{endif}}
{{if $topic->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$topic->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $topic->hidden() === -2}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$topic->deletedBlurb()}'><i class='fa fa-trash'></i></span></span>
@@ -3538,6 +3543,10 @@
{{if !$topic->container()->disable_sharelinks}}
{template="shareButton" app="core" group="sharelinks" params="$topic"}
{{endif}}
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="spam" app="cloud" group="spam" params="$topic"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$topic"}
{template="promote" app="core" group="global" params="$topic"}
{template="follow" app="core" group="global" params="'forums', 'topic', $topic->tid, $topic->followersCount()"}
</div>
@@ -3679,8 +3688,8 @@
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$topic->url()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
{{endif}}
<li class="ipsMenu_item"><a data-ipsDialog data-ipsDialogTitle="{lang="moderation_log"}" href='{$topic->url()->setQueryString( array( 'do' => 'modLog' ) )}'>{lang="moderation_log"}</a></li>
{{endif}}
</ul>
</li>
{{endif}}
@@ -3836,7 +3845,7 @@
</div>
{{endif}}
{{if $topic->commentForm() || $topic->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings'] || !\IPS\Member::loggedIn()->checkPostsPerDay()}}
{{if ( $topic->commentForm() || $topic->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings'] || !\IPS\Member::loggedIn()->checkPostsPerDay()) && !$topic->isArchived()}}
<a id='replyForm'></a>
<div data-role='replyArea' class='cTopicPostArea ipsBox ipsResponsive_pull ipsPadding {{if !$topic->canComment()}}cTopicPostArea_noSize{{endif}} ipsSpacer_top' {{if \IPS\Application::appIsEnabled('cloud') AND \IPS\cloud\Application::featureIsEnabled( 'realtime' )}}data-controller='cloud.front.realtime.forumsReplyArea,cloud.front.realtime.whosTyping'{{endif}}>
{{if $topic->commentForm()}}
@@ -3866,7 +3875,11 @@
{{if !$topic->container()->disable_sharelinks}}
{template="shareButton" app="core" group="sharelinks" params="$topic, 'verySmall', 'light'"}
{{endif}}
{template="follow" app="core" group="global" params="'forums', 'topic', $topic->tid, $topic->followersCount()"}
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="spam" app="cloud" group="spam" params="$topic"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$topic"}
{template="follow" app="core" group="global" params="'forums', 'topic', $topic->tid, $topic->followersCount()"}
{{if $topic->canPromoteToSocialMedia() and ( $topic instanceof \IPS\Content or $topic instanceof \IPS\Node\Model )}}
{template="promote" app="core" group="global" params="$topic"}
{{endif}}
@@ -3936,11 +3949,11 @@
<li class="ipsMenu_item"><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'savedAction', 'action' => $action->_id ) )}' data-confirm>{$action->_title}</a></li>
{{endforeach}}
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$topic->url()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
{{endif}}
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a data-ipsDialog data-ipsDialogTitle="{lang="moderation_log"}" href='{$topic->url()->setQueryString( array( 'do' => 'modLog' ) )}'>{lang="moderation_log"}</a></li>
{{endif}}
{{endif}}
</ul>
</li>
</ul>
@@ -4869,6 +4882,7 @@
.cTopicList .ipsLiveActivity--small {
margin-inline-end: calc( var(--sp-2) * -1 );
display: inline-block;
}
.cTopicHovercard .cTopicHovercard_container {
@@ -5627,6 +5641,28 @@ html[dir="rtl"] .cForumFluidTable .ipsDataItem_loading > div > span:last-child:a
margin-inline-end: 15px;
}
}
/* Analytics and statistics */
.ipsFluidGrid--analytics-and-statistics{
--FluidGrid--width: 300px;
}
.ipsLayout_sidebarUsed .ipsFluidGrid--analytics-and-statistics{
--FluidGrid--width: 340px;
}
.analytics-and-statistics {
font-weight: normal;
}
.analytics-and-statistics--chart {
padding-bottom: 0px;
}
/* Hide empty page header on analytics page */
.ipsPageHeader:has(.ipsType_pageTitle:empty:only-child){
display: none;
}]]></css>
<css css_location="front" css_app="forums" css_attributes="" css_path="." css_name="posts.css"></css>
<css css_location="front" css_app="forums" css_attributes="" css_path="." css_name="topics.css"><![CDATA[/* Ensure border-radius is followed */