Version 5.0.6

This commit is contained in:
Neo committed 2025-12-19 18:55:49 -08:00
1 parent a3a4a9ccbd
commit b89858b2ff
1214 files changed
+92828 -14859

No files matched your search

+56 -31
View File
@@ -94,7 +94,7 @@
</ul>
{{endif}}
<section class='ipsCmsEntries {{if !$database->featured_settings['pagination'] || $pagination['page'] === 1}}ipsCmsEntries--feature{{endif}} ipsCmsEntries--2'>
<section class='ipsCmsEntries {{if $pagination['page'] === 1}}ipsCmsEntries--feature{{endif}} ipsCmsEntries--2'>
{{if \count($articles)}}
{{foreach $articles as $id => $record}}
{{if $id === 0 && $pagination['page'] === 1}}
@@ -105,8 +105,8 @@
{{endforeach}}
{{endif}}
</section>
{{if $database->featured_settings['pagination'] and ( $pagination['pages'] > 1 )}}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
{{if $pagination['pages'] > 1}}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], ( $database->field_perpage ?? 25 ), TRUE, 'page'"}
{{endif}}]]></template>
<template template_key="database_category_2_column_image_feature_entry" template_title="entry" template_desc="" template_location="database" template_group="category_2_column_image_feature" template_params="$record, $database" template_app="" template_type="template"><![CDATA[<article class='ipsCmsEntries__item ipsBox {{if $record->hidden()}}ipsModerated{{endif}}'>
<div class="ipsCmsEntries__align">
@@ -212,8 +212,8 @@
{{endforeach}}
{{endif}}
</section>
{{if $database->featured_settings['pagination'] and ( $pagination['pages'] > 1 )}}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
{{if $pagination['pages'] > 1 }}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], ( $database->field_perpage ?? 25 ), TRUE, 'page'"}
{{endif}}]]></template>
<template template_key="database_category_3_column_first_featured_entry" template_title="entry" template_desc="" template_location="database" template_group="category_3_column_first_featured" template_params="$record, $database, $id, $featured = TRUE" template_app="" template_type="template"><![CDATA[<article class='ipsCmsEntries__item ipsBox {{if $record->hidden()}}ipsModerated{{endif}} {{if $featured}}ipsCmsEntries__item--featured{{endif}}'>
<div class="ipsCmsEntries__align">
@@ -309,7 +309,7 @@
</ul>
{{endif}}
<section class='ipsCmsEntries {{if !$database->featured_settings['pagination'] || $pagination['page'] === 1}}ipsCmsEntries--feature{{endif}} ipsCmsEntries--3'>
<section class='ipsCmsEntries {{if $pagination['page'] === 1}}ipsCmsEntries--feature{{endif}} ipsCmsEntries--3'>
{{if \count($articles)}}
{{foreach $articles as $id => $record}}
{{if $id === 0 && $pagination['page'] === 1}}
@@ -320,8 +320,8 @@
{{endforeach}}
{{endif}}
</section>
{{if $database->featured_settings['pagination'] and ( $pagination['pages'] > 1 )}}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
{{if $pagination['pages'] > 1}}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], ( $database->field_perpage ?? 25 ), TRUE, 'page'"}
{{endif}}]]></template>
<template template_key="database_category_3_column_image_feature_entry" template_title="entry" template_desc="" template_location="database" template_group="category_3_column_image_feature" template_params="$record, $database" template_app="" template_type="template"><![CDATA[<article class='ipsCmsEntries__item ipsBox {{if $record->hidden()}}ipsModerated{{endif}}'>
<div class="ipsCmsEntries__align">
@@ -424,8 +424,8 @@
{{endforeach}}
{{endif}}
</section>
{{if $database->featured_settings['pagination'] and ( $pagination['pages'] > 1 )}}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
{{if $pagination['pages'] > 1}}
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], ( $database->field_perpage ?? 25 ), TRUE, 'page'"}
{{endif}}]]></template>
<template template_key="database_category_articles_entry" template_title="entry" template_desc="" template_location="database" template_group="category_articles" template_params="$record, $database" template_app="" template_type="template"><![CDATA[<article class="ipsData__item {{if $record->hidden()}}ipsModerated{{endif}}" {{if $record->unread()}}data-ips-unread{{else}}data-ips-read{{endif}}>
<a href='{$record->url( "getPrefComment" )}' class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{wordbreak="$record->_title"}</span></a>
@@ -550,7 +550,7 @@
{{if $image = $category->primaryImage()}}
<img src="{$image->url}" alt="" loading="lazy">
{{else}}
<i></i>
<span class='ipsIcon ipsIcon--fa' aria-hidden="true"><i class="fa-ips"></i></span>
{{endif}}
</figure>
<div class="ipsData__content">
@@ -669,12 +669,23 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $comment->getVi
{{if !$comment->isAnonymous() and $comment->author()->canHaveAchievements() and \IPS\core\Achievements\Rank::show() and $rank = $comment->author()->rank()}}
{$rank->html( 'ipsAvatarStack__rank' )|raw}
{{endif}}
{{if $comment->author()->isOnline() AND ( !$comment->author()->isOnlineAnonymously() OR ( $comment->author()->isOnlineAnonymously() AND \IPS\Member::loggedIn()->isAdmin() ) )}}
<span class='ipsOnline' data-ipsTooltip title='{{if $comment->author()->isOnlineAnonymously()}}{lang="online_now_anon" sprintf="$comment->author()->name"}{{elseif $comment->author()->isOnline()}}{lang="online_now" sprintf="$comment->author()->name"}{{endif}}'></span>
{{endif}}
</div>
<div class='ipsPhotoPanel__text'>
<div class='ipsEntry__username'>
<h3>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef(), NULL, $comment->isAnonymous()"}</h3>
{{if !$comment->isAnonymous()}}
<span class='ipsEntry__group'>{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}</span>
<span class='ipsEntry__group'>
{{if $comment->author()->modShowBadge()}}
<a href='{url="app=core&module=staffdirectory&controller=directory" seoTemplate="staffdirectory"}' class="ipsEntry__moderatorBadge" data-ipsTooltip title='{lang="member_is_moderator" sprintf="$comment->author()->name"}'>
{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}
</a>
{{else}}
{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}
{{endif}}
</span>
{{endif}}
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Anonymous' ) and $comment->isAnonymous() and \IPS\Member::loggedIn()->modPermission('can_view_anonymous_posters')}}
<a data-ipsHover data-ipsHover-width="370" data-ipsHover-onClick href="{$comment->url( 'reveal' )->csrf()}"><span class="ipsAnonymousIcon" data-ipsTooltip title='{lang="post_anonymously_reveal"}'></span></a>
@@ -814,16 +825,20 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $comment->getVi
<article id='elComment_{$comment->$idField}' class="ipsEntry js-ipsEntry ipsEntry--simple {{if $otherClasses}}{$otherClasses}{{endif}} {{if (\IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and $comment->isHighlighted()) or $comment->isFeatured()}}ipsEntry--popular{{endif}} {{if $comment->author()->hasHighlightedReplies()}}ipsEntry--highlighted{{endif}} {{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden() OR $item->hidden() == -2}}ipsModerated{{endif}}" {{if $comment->author()->hasHighlightedReplies()}}data-memberGroup="{$comment->author()->member_group_id}"{{endif}}>
{template="comment" group="display" location="database" app="cms" params="$item, $comment, $item::$formLangPrefix . 'comment', $item::$application, $item::$module, $itemClassSafe"}
</article>]]></template>
<template template_key="database_display_comments" template_title="comments" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='comments' data-baseURL='{$record->url()}' {{if $record->isLastPage()}}data-lastPage{{endif}} data-feedID='{$record->feedId}' id='comments'>
<template template_key="database_display_comments" template_title="comments" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='comments' data-baseURL='{$record->url()}' {{if $record->isLastPage()}}data-lastPage{{endif}} data-feedID='{$record->feedId}' id='comments' data-follow-area-id="records{$record::$customDatabaseId}-{$record->primary_id_field}">
{template="featuredComments" group="global" app="core" params="$record->featuredComments(), $record->url()->setQueryString('tab', 'comments')->setQueryString('recommended', 'comments'), 'recommended_replies', '__defart_comment', false"}
<div class='ipsButtonBar ipsButtonBar--top'>
{{if $record->commentPageCount() > 1}}
<div class='ipsButtonBar__pagination'>{$record->commentPagination( array('tab') )|raw}</div>
{{endif}}
<div class='ipsButtonBar__end'>{template="commentMultimodHeader" app="core" group="global" params="$record, '#comments'"}</div>
</div>
{{if $record->commentPageCount() > 1 OR \count( $record->commentMultimodActions())}}
<div class='ipsButtonBar ipsButtonBar--top'>
{{if $record->commentPageCount() > 1}}
<div class='ipsButtonBar__pagination'>{$record->commentPagination( array('tab') )|raw}</div>
{{endif}}
{{if \count( $record->commentMultimodActions() )}}
<div class='ipsButtonBar__end'>{template="commentMultimodHeader" app="core" group="global" params="$record, '#comments'"}</div>
{{endif}}
</div>
{{endif}}
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
<form action="{$record->url()->csrf()->setQueryString( 'do', 'multimodComment' )->setPage('page',\IPS\Request::i()->page)}" method="post" data-ipsPageAction data-role='moderationTools'>
@@ -1038,7 +1053,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $comment->getVi
{{if $commentsAndReviews}}
<h2 class='ipsHide'>{lang="user_feedback"}</h2>
<div class='ipsBox ipsBox--commentsAndReviews ipsPull' id="replies">
<div class='ipsBox ipsBox--commentsAndReviews ipsBox--clip ipsPull' id="replies">
{$commentsAndReviews|raw}
</div>
{{endif}}
@@ -1052,7 +1067,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $comment->getVi
]]></template>
<template template_key="database_display_recordEditLine" template_title="recordEditLine" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[
<p class='i-color_soft i-font-size_-1 ipsEdited' data-excludequote data-el='edited'>
<i class="fa-regular fa-pen-to-square i-margin-end_icon"></i> <strong class='i-font-weight_500'>{lang="date_edited" htmlsprintf="\IPS\DateTime::ts( $record->record_edit_time )->html(FALSE), htmlspecialchars( $record->record_edit_member_name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE )"}</strong>
<i class="fa-solid fa-pen-to-square i-margin-end_icon"></i> <strong class='i-font-weight_500'>{lang="date_edited" htmlsprintf="\IPS\DateTime::ts( $record->record_edit_time )->html(FALSE), htmlspecialchars( $record->record_edit_member_name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE )"}</strong>
{{if $record->record_edit_reason}}
<br>{$record->record_edit_reason}
{{endif}}
@@ -1082,7 +1097,15 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
<div class='ipsEntry__username'>
<h3>{template="userLink" app="core" group="global" params="$review->author(), $review->warningRef(), NULL, \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Anonymous' ) AND $review->isAnonymous()"}</h3>
{{if \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Anonymous' ) and !$review->isAnonymous()}}
<span class='ipsEntry__group'>{expression="\IPS\Member\Group::load( $review->author()->member_group_id )->formattedName" raw="true"}</span>
<span class='ipsEntry__group'>
{{if $review->author()->modShowBadge()}}
<a href='{url="app=core&module=staffdirectory&controller=directory" seoTemplate="staffdirectory"}' class="ipsEntry__moderatorBadge" data-ipsTooltip title='{lang="member_is_moderator" sprintf="$review->author()->name"}'>
{expression="\IPS\Member\Group::load( $review->author()->member_group_id )->formattedName" raw="true"}
</a>
{{else}}
{expression="\IPS\Member\Group::load( $review->author()->member_group_id )->formattedName" raw="true"}
{{endif}}
</span>
{{endif}}
</div>
<p class='ipsPhotoPanel__secondary'>
@@ -1267,7 +1290,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{template="review" location="database" group="display" app="cms" params="$item, $review, $item::$formLangPrefix . 'review', $item::$application, $item::$module"}
</article>
{{endif}}]]></template>
<template template_key="database_display_reviews" template_title="reviews" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$record->url()}' {{if $record->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='{$record->reviewFeedId}' id='reviews'>
<template template_key="database_display_reviews" template_title="reviews" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$record->url()}' {{if $record->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='{$record->reviewFeedId}' id='reviews' data-follow-area-id="records{$record::$customDatabaseId}-{$record->primary_id_field}">
{{if $record->reviewForm()}}
<div class="ipsComposeAreaWrapper">
{{if $record->locked()}}
@@ -1687,7 +1710,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
<div class="ipsBox ipsPull i-margin-bottom_3">
<h2 class='ipsBox__header'>{lang="content_subcategories_title"}</h2>
<i-data>
<ol class="ipsData ipsData--table ipsData--category ipsData--database-listing">
<ol class="ipsData {{if $category::database()->display_settings['categories']['layout'] != 'custom'}}ipsData--{$category::database()->display_settings['categories']['layout']}{{else}}ipsData--table{{endif}} ipsData--category ipsData--database-listing">
{{foreach $category->children() as $cat}}
{template="categoryRow" group="category_index" location="database" app="cms" params="$cat"}
{{endforeach}}
@@ -1960,13 +1983,15 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{template="groupPostedBadges" group="global" app="core" location="front" params="$row->groupsPosted, 'topic_posted_in_groups'"}
{{endif}}
{{if $row::database()->options['reviews'] and $row->averageReviewRating() > 0}}
<ul class='ipsRating ipsRating_small'>
{{foreach range( 1, \IPS\Settings::i()->reviews_rating_out_of ) as $i}}
<li class='{{if $row->averageReviewRating() >= $i}}ipsRating_on{{else}}ipsRating_off{{endif}}'>
<i class='fa-solid fa-star'></i>
</li>
{{endforeach}}
</ul>
<div class="ipsRating ipsRating_small">
<ul>
{{foreach range( 1, \IPS\Settings::i()->reviews_rating_out_of ) as $i}}
<li class='{{if $row->averageReviewRating() >= $i}}ipsRating_on{{else}}ipsRating_off{{endif}}'>
<i class='fa-solid fa-star'></i>
</li>
{{endforeach}}
</ul>
</div>
{{elseif $row->container()->allow_rating and $row->rating_value > 0}}
{template="rating" group="global" location="front" app="core" params="'small', $row->rating_value, \IPS\Settings::i()->reviews_rating_out_of"}
{{endif}}