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}}
+25 -26
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="cms">
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000100"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -67,7 +67,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000050"><![CDATA[/**
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -84,10 +84,10 @@
initialize: function () {
this.on( 'click', 'details', this.loadNavigationItems );
var openSection = $( this.scope ).find( 'details[open]:first' );
if( openSection.length ){
this.loadNavigationItems( null, openSection );
}
let self = this;
$.each(self.scope.find('details[open]'), function(){
self.loadNavigationItems(null,this);
});
},
loadNavigationItems: function (e, details=null) {
@@ -115,7 +115,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000150">/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -160,7 +160,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000150"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -236,7 +236,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000150"><![CDATA[/**
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -371,7 +371,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000200"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000200"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -408,7 +408,7 @@
// for these, several of the listing/display format options don't apply
if (typeSelector?.value?.match(/^(youtube|spotify|soundcloud)$/i)) {
form
.querySelectorAll("#field_display_listing_json_badge, #field_display_listing_badge_bgcolor, #field_display_listing_badge_color, #field_display_display_json_badge, #field_display_display_badge_bgcolor, #field_display_display_badge_color, #field_display_display_json_where")
.querySelectorAll("#field_display_listing_json_badge, #field_display_listing_badge_bgcolor, #field_display_listing_badge_color, #field_display_display_json_badge, #field_display_display_badge_bgcolor, #field_display_display_badge_color")
.forEach(el => {
e.detail.togglesOff.add(el);
e.detail.togglesOn.delete(el);
@@ -461,7 +461,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000300"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000300"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1100,7 +1100,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000250"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1135,7 +1135,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000250"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1257,7 +1257,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000100"><![CDATA[/**
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1369,7 +1369,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000100">/**
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1424,7 +1424,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000050">/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1474,7 +1474,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000050">/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1546,7 +1546,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000050"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2507,7 +2507,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000050"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2799,7 +2799,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000050"><![CDATA[/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2968,7 +2968,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000049" javascript_position="1000050">/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3013,7 +3013,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000049" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000074" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
<ul class='ipsGrid ipsGrid--pages-media'>\
{{{contents}}}\
</ul>\
@@ -3030,7 +3030,7 @@ ips.templates.set( 'templates.media.noSearchResults', "\
{{#lang}}mediaNoResults{{/lang}}\
</div>\
");]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000049" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000074" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
/* TEMPLATECEPTION */
ips.templates.set('templates.editor.newTab', " \
<a href='#' class='ipsTabs__tab' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' role='tab' aria-controls='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' aria-selected='false' data-fileid='{{fileid}}' data-location='{{location}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>\
@@ -3080,8 +3080,7 @@ mustache
Debug.js
app.js</order>
<order app="global" path="/dev/js//library//jquery">jquery.js
jquery-migrate.js
jquery.transform.js</order>
jquery-migrate.js</order>
<order app="global" path="/dev/js//library//linkify">linkify.min.js
linkify-jquery.min.js</order>
</javascript>
+4 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="cms" version="5000049">
<app key="cms" version="5000074">
<word key="__app_cms" js="0">Pages</word>
<word key="menutab__cms" js="0">Pages</word>
<word key="menutab__cms_icon" js="0">file</word>
@@ -1110,6 +1110,9 @@
<word key="pagebuilderupload_urls" js="0">URLs</word>
<word key="pagebuilderupload_urls_desc" js="0">These must be ordered the same as the uploaded photos</word>
<word key="pagebuilderupload_height" js="0">Block Height</word>
<word key="pagebuilderupload_backdrop" js="0">Apply Backdrop</word>
<word key="pagebuilderupload_backdrop_desc" js="0">Use a backdrop behind the image so that it better stands out from the background</word>
<word key="pagebuilderupload_tab" js="0">Open links in new tab</word>
<word key="cms_download_db" js="1">Download Database</word>
<word key="cms_download_db_explain" js="1"><![CDATA[This will download a file with the database settings, templates, custom fields and categories which can be uploaded to another community.<br>Records are <em>not</em> included.]]></word>
<word key="index_as_categories" js="1">Show categories</word>
+19 -17
View File
@@ -83,7 +83,7 @@
</div>]]></template>
<template template_group="blocks" template_name="previewTemplateLink" template_data="$plugin" template_location="admin" template_app="cms"><![CDATA[<span data-role="viewTemplate" data-plugin="{$plugin}" class='ipsButton ipsButton--inherit ipsButton--tiny'>{lang="cms_block_view_template"}</span>]]></template>
<template template_group="blocks" template_name="rowHtml" template_data="$block" template_location="admin" template_app="cms"><![CDATA[{{if $block->category}}
<span class="ipsBadge ipsBadge--new">{lang="cms_block_list_key" sprintf="$block->key"}</span>
<span class="ipsBadge ipsBadge--new i-text-transform_none">{lang="cms_block_list_key" sprintf="$block->key"}</span>
{{if $pages = $block->getPages()}}
<div class="i-flex i-gap_1 i-flex-wrap_wrap i-margin-top_2 i-link-color_inherit">
<span class="i-color_soft">{lang="cms_block_list_pages"}</span>
@@ -139,8 +139,8 @@
<div class="ipsBox ipsBox--padding">{lang="cms_no_records_to_show" sprintf="\IPS\cms\Databases::load( \IPS\cms\Databases\Dispatcher::i()->databaseId )->recordWord()"}</div>
{{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_group="databases" template_name="downloadDialog" template_data="$database" template_location="admin" template_app="cms"><![CDATA[<div class='ipsBox i-padding_3'>
<i class="fa-solid fa-download ipsAlert_icon"></i>
@@ -1168,7 +1168,7 @@
<li>
<a href="{$category->url()}" class='ipsSideMenu_item'>
<strong class='ipsSideMenu__text'>{$category->_title}</strong>
<span>{expression="\IPS\cms\Records::contentCount( $category )"}</span>
<span class="ipsSideMenu__count">{expression="\IPS\cms\Records::contentCount( $category )"}</span>
</a>
{{if $category->hasChildren()}}
<ul class="ipsSideMenu__list">
@@ -1182,7 +1182,7 @@
{{else}}
<a href="{$subcategory->url()}" class='ipsSideMenu_item'>
<span class='ipsSideMenu__text'>{$subcategory->_title}</span>
<span>{expression="\IPS\cms\Records::contentCount( $subcategory )"}</span>
<span class="ipsSideMenu__count">{expression="\IPS\cms\Records::contentCount( $subcategory )"}</span>
</a>
{{endif}}
</li>
@@ -1250,7 +1250,7 @@
<template template_group="widgets" template_name="folderNavigationItems" template_data="$items" template_location="front" template_app="cms"><![CDATA[{{foreach $items as $item}}
<a href='{$item->url()}'>{$item->_title}</a>
{{endforeach}}]]></template>
<template template_group="widgets" template_name="navigationLine" template_data="$container, $title=null, $currentContainer=null" template_location="front" template_app="cms"><![CDATA[<details {{if $container->_id == $currentContainer}}open{{endif}} data-container="{$container->_id}">
<template template_group="widgets" template_name="navigationLine" template_data="$container, $title=null, $currentContainer=null" template_location="front" template_app="cms"><![CDATA[<details {{if $currentContainer !== null and \in_array( $container->_id, $currentContainer )}}open{{endif}} data-container="{$container->_id}">
<summary>{{if $title}}{$title}{{else}}{$container->_title}{{endif}}</summary>
{{if $container->hasChildren( 'view', null, false )}}
{{foreach $container->children( 'view', null, false ) as $child}}
@@ -1261,11 +1261,11 @@
</details>]]></template>
<template template_group="widgets" template_name="pagebuilderoembed" template_data="$video, $layout='table', $isCarousel=false" template_location="front" template_app="cms"><![CDATA[<div class='i-margin-inline_auto'>{$video|raw}</div>]]></template>
<template template_group="widgets" template_name="pagebuildertext" template_data="$text, $layout='table', $isCarousel=false" template_location="front" template_app="cms"><![CDATA[<div>{$text|raw}</div>]]></template>
<template template_group="widgets" template_name="pagebuilderupload" template_data="$images, $captions, $urls, $maxHeight, $layout='table', $isCarousel=false" template_location="front" template_app="cms"><![CDATA[
<template template_group="widgets" template_name="pagebuilderupload" template_data="$images, $captions, $urls, $options, $layout='table', $isCarousel=false" template_location="front" template_app="cms"><![CDATA[
{{if ! \is_array( $images )}}
<figure class="ipsFigure ipsFigure--contain" {{if $maxHeight}}style="--_height: {$maxHeight}px;"{{endif}}>
<figure class="ipsFigure {{if !$options['showBackdrop']}}ipsFigure--transparent{{endif}} ipsFigure--contain" style="{{if $options['showBackdrop']}}--_backdrop: url('{$images}');{{endif}} {{if $options['maxHeight']}}--_height: {$options['maxHeight']}px;{{endif}}">
{{if isset( $urls[0] )}}
<a href="{$urls[0]}" class='ipsFigure__main' aria-label="{$captions[0]}">
<a href="{$urls[0]}" {{if $options['tab']}}target='_blank'{{endif}} class='ipsFigure__main' aria-label="{$captions[0]}">
{{else}}
<div class='ipsFigure__main'>
{{endif}}
@@ -1275,29 +1275,30 @@
{{else}}
</div>
{{endif}}
{{if isset( $captions[0] )}}
{{if !empty( $captions[0] )}}
<figcaption class="ipsFigure__footer i-text-align_center">{$captions[0]}</figcaption>
{{endif}}
</figure>
{{else}}
{{$carouselID = 'page-builder-image-widget_' . mt_rand();}}
<ul class='ipsCarousel ipsCarousel--page-builder-image-widget' id='{$carouselID}' tabindex="0">
<!-- Lazy loading isn't used here as it prevents the carousel arrows from showing -->
<ul class='ipsCarousel ipsCarousel--padding ipsCarousel--images ipsCarousel--page-builder-image-widget' id='{$carouselID}' tabindex="0">
{{foreach $images as $id => $image}}
<li>
<figure class='ipsFigure ipsFigure--contain' style="--_backdrop: url('{$image}'); {{if $maxHeight}}--_height: {$maxHeight}px;{{endif}}">
<figure class='ipsFigure {{if !$options['showBackdrop']}}ipsFigure--transparent{{endif}} ipsFigure--contain' style="{{if $options['showBackdrop']}}--_backdrop: url('{$image}');{{endif}} {{if $options['maxHeight']}}--_height: {$options['maxHeight']}px;{{endif}}">
{{if isset( $urls[ $id ] )}}
<a href="{$urls[ $id ]}" class='ipsFigure__main' aria-label="{$captions[0]}">
<a href="{$urls[ $id ]}" {{if $options['tab']}}target='_blank'{{endif}} class='ipsFigure__main' aria-label="{$captions[0]}">
{{else}}
<div class='ipsFigure__main'>
{{endif}}
<img src="{$image}" alt='' loading="lazy">
<img src="{$image}" alt=''>
{{if isset( $urls[ $id ] )}}
</a>
{{else}}
</div>
{{endif}}
{{if isset( $captions[ $id ] )}}
{{if !empty( $captions[ $id ] )}}
<figcaption class="ipsFigure__footer i-text-align_center">{$captions[ $id ]}</figcaption>
{{endif}}
</figure>
@@ -1728,10 +1729,12 @@
flex: 1 1 100%;
display: flex;
flex-direction: column;
container-type: size;
container-name: templateeditor;
}
#elTemplateEditor .CodeMirror{
height: 100%;
height: 100cqh;
}
#elTemplateEditor [data-role="editor"],
@@ -1857,7 +1860,6 @@ a.ipsCms_templateOptions {
.cTemplateList li.cTemplateList_inactiveBranch > a:not(.ipsCms_templateOptions)::before,
.cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before {
font-family: var(--i-font-awesome);
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: auto;
font-weight: 900;
+33 -1
View File
@@ -586,6 +586,13 @@
"107785": "4.7.19",
"107786": "4.7.19",
"107787": "4.7.19",
"107795": "4.7.20 Beta 1",
"107796": "4.7.20 Beta 2",
"107797": "4.7.20 Beta 3",
"107798": "4.7.20 Beta 4",
"107799": "4.7.20 Beta 5",
"107800": "4.7.20",
"107801": "4.7.20",
"500001": "5.0.0 Alpha 1",
"500002": "5.0.0 Alpha 2",
"5000003": "5.0.0 Alpha 3",
@@ -634,5 +641,30 @@
"5000046": "5.0.0 Beta 14",
"5000047": "5.0.0 Beta 14.1",
"5000048": "5.0.0 Beta 14.2",
"5000049": "5.0.0"
"5000049": "5.0.0",
"5000050": "5.0.0",
"5000051": "5.0.0",
"5000052": "5.0.1",
"5000053": "5.0.1",
"5000054": "5.0.2",
"5000055": "5.0.2",
"5000056": "5.0.2",
"5000057": "5.0.3",
"5000058": "5.0.3",
"5000059": "5.0.3",
"5000060": "5.0.3",
"5000061": "5.0.4 Beta 1",
"5000062": "5.0.4 Beta 1",
"5000063": "5.0.4 Beta 1",
"5000064": "5.0.4 Beta 2",
"5000065": "5.0.4 Beta 3",
"5000066": "5.0.4",
"5000067": "5.0.5 Beta 1",
"5000068": "5.0.5 Beta 2",
"5000069": "5.0.5",
"5000070": "5.0.6 Beta 1",
"5000071": "5.0.6 Beta 2",
"5000072": "5.0.6 Beta 3",
"5000073": "5.0.6 Beta 4",
"5000074": "5.0.6"
}