Version 5.0.0 release

This commit is contained in:
Neo committed 2025-12-19 18:37:58 -08:00
1 parent 90e8c7e903
commit a3a4a9ccbd
651 files changed
+7275 -9481

No files matched your search

+13 -5
View File
@@ -649,7 +649,7 @@
{template="includeMeta" app="core" group="global" location="global" params=""}
{template="includeCSS" app="core" group="global" location="global" params=""}
</head>
<body class="ipsApp ipsApp_front ipsLayout_noBackground" {{if output.globalControllers}}data-controller='{expression="implode( ',', output.globalControllers )"}'{{endif}}>
<body data-ips-hook="main" class="ipsApp ipsApp_front ipsLayout_noBackground" {{if output.globalControllers}}data-controller='{expression="implode( ',', output.globalControllers )"}'{{endif}}>
{$html|raw}
{template="includeJS" app="core" group="global" location="global" params=""}
</body>
@@ -1176,7 +1176,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{{if $review->hasAuthorResponse()}}
<div class='ipsReviewResponse i-padding_3 i-margin-bottom_3 i-background_2'>
<div class='i-flex i-align-items_center i-justify-content_space-between i-margin-bottom_2'>
<h4 class='ipsTitle ipsTitle--h3 '>{lang="review_response_title"}</h4>
<h4 class='ipsTitle ipsTitle--h5'>{lang="review_response_title"}</h4>
{{if $review->canEditResponse() OR $review->canDeleteResponse()}}
<a href='#elControlsReviews_{$review->id}_response_menu' class='ipsEntry__topButton ipsEntry__topButton--ellipsis' id='elControlsReviews_{$review->id}_response' title='{lang="more_options"}' data-ipsMenu data-ipsMenu-appendTo='#review-{$review->id}_wrap'><i class='fa-solid fa-ellipsis'></i></a>
{{endif}}
@@ -1715,10 +1715,18 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{template="filterMessage" group="listing" location="database" app="cms" params="$activeFilters, $category"}
{{endif}}]]></template>
<template template_key="database_listing_categoryTable" template_title="categoryTable" template_desc="" template_location="database" template_group="listing" template_params="$table, $headers, $rows, $quickSearch" template_app="" template_type="template"><![CDATA[<div class='ipsBox ipsPull' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}'>
{{if $table->title}}
<h2 class='ipsBox__header'>{lang="$table->title"}</h2>
{{if isset( $table->extra['db'] )}}
<h2 class='ipsBox__header'>
{{$recordWord = $table->extra['db']->recordWord( $table->count );}}
{{if $table->extra['db']->use_categories}}
{lang="x_records_in_this_category" sprintf="$table->count, $recordWord"}
{{else}}
{lang="x_records" sprintf="$table->count, $recordWord"}
{{endif}}
</h2>
{{endif}}
<div class="ipsButtonBar ipsButtonBar--top">
{{if $table->pages > 1}}
<div class="ipsButtonBar__pagination" data-role="tablePagination">
-1
View File
@@ -1 +0,0 @@
[]
+23 -19
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="5000043" 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="5000049" 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="5000043" 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="5000049" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -105,13 +105,17 @@
}
}).done( function(response){
$( itemContainer ).html( response );
if(!_.isUndefined(ips.getSetting('currentRecordId'))){
$( itemContainer ).find('a[data-id="' + ips.getSetting('currentRecordId') + '"]')
.attr('aria-current', 'page');
}
});
}
}
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000043" 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="5000049" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -156,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="5000043" 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="5000049" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -232,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="5000043" 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="5000049" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -367,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="5000043" 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="5000049" javascript_position="1000200"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -457,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="5000043" 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="5000049" javascript_position="1000300"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1096,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="5000043" 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="5000049" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1131,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="5000043" 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="5000049" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1253,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="5000043" 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="5000049" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1365,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="5000043" 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="5000049" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1420,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="5000043" 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="5000049" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1470,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="5000043" 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="5000049" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1542,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="5000043" 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="5000049" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2503,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="5000043" 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="5000049" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2795,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="5000043" 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="5000049" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2964,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="5000043" 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="5000049" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3009,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="5000043" 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="5000049" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
<ul class='ipsGrid ipsGrid--pages-media'>\
{{{contents}}}\
</ul>\
@@ -3026,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="5000043" 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="5000049" 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>\
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="cms" version="5000043">
<app key="cms" version="5000049">
<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>
+7 -3
View File
@@ -1217,9 +1217,13 @@
{{endif}}
</nav>
</div>]]></template>
<template template_group="widgets" template_name="databaseNavigationItems" template_data="$items" template_location="front" template_app="cms"><![CDATA[{{foreach $items as $item}}
<a href='{$item->url()}'>{$item->mapped( 'title' )}</a>
{{endforeach}}]]></template>
<template template_group="widgets" template_name="databaseNavigationItems" template_data="$items" template_location="front" template_app="cms"><![CDATA[{{if \count($items)}}
<ul>
{{foreach $items as $item}}
<li><a href='{$item->url()}' data-id="{$item->_id}">{$item->mapped( 'title' )}</a></li>
{{endforeach}}
</ul>
{{endif}}]]></template>
<template template_group="widgets" template_name="Editor" template_data="$content, $layout='table', $isCarousel=false" template_location="front" template_app="cms"><![CDATA[<div class='ipsWidget__content {{if isset($orientation) and $orientation == 'vertical'}}i-padding_3{{endif}}'>
{$content|raw}
</div>
-1
View File
@@ -1 +0,0 @@
{}
+7 -1
View File
@@ -628,5 +628,11 @@
"5000040": "5.0.0 Beta 9.1",
"5000041": "5.0.0 Beta 10",
"5000042": "5.0.0 Beta 11",
"5000043": "5.0.0 Beta 11.1"
"5000043": "5.0.0 Beta 11.1",
"5000044": "5.0.0 Beta 12",
"5000045": "5.0.0 Beta 13",
"5000046": "5.0.0 Beta 14",
"5000047": "5.0.0 Beta 14.1",
"5000048": "5.0.0 Beta 14.2",
"5000049": "5.0.0"
}
View File
Whitespace-only changes.
@@ -888,6 +888,19 @@ class templates extends Controller
{
$save['content'] = $values['template_content'];
}
elseif( $type == 'page' )
{
$templateBits = \IPS\cms\Theme::i()->getAllTemplates( 'cms', 'page', 'custom_wrappers', Theme::RETURN_ALL );
foreach( $templateBits['cms']['page']['custom_wrappers'] as $_template )
{
/* Use the first master wrapper that we find */
if( !$_template['template_user_created'] )
{
$save['content'] = $_template['template_content'];
break;
}
}
}
$save['location'] = $type;
@@ -258,20 +258,15 @@ class category extends Controller
/* Does the category have a custom layout? */
if( $category->template_listing == 0 )
{
$table->extra = [ 'layout' => $database->display_settings['listing']['layout'] ];
$layout = $database->display_settings['listing']['layout'];
}
else
elseif( $displaySettings = $category->display_settings )
{
if( $displaySettings = $category->display_settings )
{
$table->extra = [ 'layout' => $displaySettings['layout'] ];
}
else
{
$table->extra = [ 'layout' => 'table' ];
}
$layout = $displaySettings['layout'];
}
$table->extra = [ 'layout' => $layout ?? 'table', 'db' => $database ];
$table->hover = TRUE;
$table->sortBy = ( isset( Request::i()->sortby ) ) ? Request::i()->sortby : ( $database->field_sort ? $recordsClass::$databaseTable . '.' . $recordsClass::$databasePrefix . $database->field_sort : 'record_last_comment' );
$table->sortDirection = ( isset( Request::i()->sortdirection ) ) ? Request::i()->sortdirection : ( $database->field_direction ? $database->field_direction : 'desc' );
@@ -281,7 +276,6 @@ class category extends Controller
$table->defaultSortDirection = $database->field_direction;
}
$table->limit = $database->field_perpage ? $database->field_perpage : 25;
$table->title = Member::loggedIn()->language()->addToStack( $database->use_categories ? 'x_records_in_this_category' : 'x_records' , FALSE, array( 'sprintf' => array( $category->_items, $database->recordWord( $category->_items ) ) ) );
/* Set up sort fields to allow sorting numerically or by date */
$sortFields = $customFields;
@@ -0,0 +1,22 @@
{
"id": 5000044,
"name": "5.0.0 Beta 12",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeeditor": false,
"javascript": true,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"files": {
"added": [],
"edited": [
"cms\/front\/controllers\/blocks\/ips.blocks.navigation.js"
],
"removed": []
},
"orders": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [
"front\/widgets\/databaseNavigationItems"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000045,
"name": "5.0.0 Beta 13",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000046,
"name": "5.0.0 Beta 14",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000047,
"name": "5.0.0 Beta 14.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000048,
"name": "5.0.0 Beta 14.2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000049,
"name": "5.0.0",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -446,6 +446,13 @@ class Dispatcher extends SystemDispatcher
public function finish() : void
{
Output::i()->output = $this->output ?: Output::i()->output;
/* Loader Extension */
foreach( Application::allExtensions( 'core', 'Loader' ) as $loader )
{
$loader->onFinish();
}
parent::finish();
}
}
@@ -56,6 +56,7 @@ class DatabaseNavigation extends PermissionCache
public function init(): void
{
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'front_blocks.js', 'cms', 'front' ) );
Output::i()->jsVars['currentRecordId'] = Dispatcher::i()->recordId;
parent::init();
}