Version 4.7.0

This commit is contained in:
Neo committed 2025-12-19 16:00:35 -08:00
1 parent 517a5e1f70
commit 8ba7d43898
1933 files changed
+65613 -11332

No files matched your search

+2 -1
View File
@@ -31,7 +31,8 @@
"databases_manage": "databases_manage",
"databases_edit": "databases_edit",
"databases_delete": "databases_delete",
"databases_add": "databases_add"
"databases_add": "databases_add",
"databases_use": "databases_use"
},
"cms_fields": {
"cms_fields_manage": "cms_fields_manage",
+4 -4
View File
@@ -1833,11 +1833,11 @@
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_{$table->uniqueId}_menu">
{{$custom = TRUE;}}
{{foreach $table->sortOptions as $k => $col}}
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage('page',1)}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage('page',1)}" rel="nofollow">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
{{endforeach}}
{{if $table->advancedSearch}}
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}'>{lang="custom"}</a>
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' rel="nofollow" data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}'>{lang="custom"}</a>
</li>
{{endif}}
</ul>
@@ -1848,11 +1848,11 @@
<a href="#elFilterByMenu_menu" data-role="tableFilterMenu" id="elFilterByMenu_{$table->uniqueId}" data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active" data-ipsMenu-selectable="radio">{lang="filter_by"} <i class="fa fa-caret-down"></i></a>
<ul class='ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide' id='elFilterByMenu_{$table->uniqueId}_menu'>
<li data-action="tableFilter" data-ipsMenuValue='' class='ipsMenu_item {{if !$table->filter}}ipsMenu_itemChecked{{endif}}'>
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page',1)}'>{lang="{$table->langPrefix}all"}</a>
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page',1)}' rel="nofollow">{lang="{$table->langPrefix}all"}</a>
</li>
{{foreach $table->filters as $k => $q}}
<li data-action="tableFilter" data-ipsMenuValue='{$k}' class='ipsMenu_item {{if $k === $table->filter}}ipsMenu_itemChecked{{endif}}'>
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page',1)}'>{lang="{$table->langPrefix}{$k}"}</a>
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page',1)}' rel="nofollow">{lang="{$table->langPrefix}{$k}"}</a>
</li>
{{endforeach}}
</ul>
+53 -95
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="106107" 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="107014" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -16,75 +16,9 @@
this.on( 'change', '#elSelect_block_template_use_how', this.toggle );
this.on( 'click', '[data-role=viewTemplate]', this.viewTemplate );
if ( this.scope.find('input[name=block_type]:hidden').val() == 'plugin' )
{
this.on( 'click', 'a[id$=form_tab__content]', this.refreshPreview );
this.on( 'click', 'span[data-role=refreshPreview]', this.refreshPreview );
}
$('#elCodemirror_block_content-input').attr('loaded', 'false');
},
/**
* Refreshes block preview
*
* @param {event} e Event object
* @returns {void}
*/
refreshPreview: function () {
if ( ! $('#elPages_block_preview_form').length )
{
$('<form />').attr('method', 'post').attr('id', 'elPages_block_preview_form').attr('target', 'elpages_block_preview').addClass('ipsHide').appendTo( $('body') );
}
var iframe = $('#elpages_block_preview');
var form = $('#elPages_block_preview_form');
form.find('input[type=hidden]').remove();
var newSrc = iframe.attr('data-base-url');
if ( ! iframe.hasClass('ipsLoading') ){
iframe.addClass('ipsLoading');
}
var fields = '';
$.each( this.scope.find('form').serializeArray(), function( i, item )
{
if ( item.name == 'block_content' )
{
item.value = $('#elCodemirror_block_content-input').data('CodeMirrorInstance').getValue();
}
$('<input type="hidden" />').attr("name", item.name).attr("value", item.value).appendTo( form );
fields += item.name + ",";
Debug.log( "Adding " + item.name + " = " + item.value );
} );
form.attr('action', newSrc + '&__nocache=' + Math.random().toString(36).substr(2, 9) + "&_sending=" + fields );
Debug.log( form );
form.submit();
/* Stop links loading stuff when clicked */
iframe.load(function()
{
iframe.removeClass('ipsLoading');
iframe.removeClass('loading');
iframe.contents().find("a").each( function(index)
{
$( this ).on("click", function(event)
{
event.preventDefault();
event.stopPropagation();
} );
} );
} );
},
/**
* View a template. As the title of the method suggests.
*
@@ -142,7 +76,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="106107" 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="107014" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -187,7 +121,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="106107" 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="107014" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -263,7 +197,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="106107" 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="107014" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -398,7 +332,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="106107" javascript_position="1000200">/**
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="107014" javascript_position="1000200">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -435,7 +369,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="106107" 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="107014" javascript_position="1000300"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1075,7 +1009,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="106107" 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="107014" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1121,7 +1055,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="106107" 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="107014" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1243,7 +1177,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="106107" 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="107014" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1355,7 +1289,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="106107" 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="107014" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1410,7 +1344,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="106107" 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="107014" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1460,7 +1394,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="106107" 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="107014" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1532,7 +1466,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="106107" 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="107014" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1854,11 +1788,11 @@
panel.removeClass('ipsLoading');
// Add headers
var headers = $( ips.templates.render( 'templates.editor.diffHeaders' ) );
var headers = $( ips.templates.render( 'templates.editor.pagesDiffHeaders' ) );
panel.prepend( headers );
// Set size
var height = self._getTabContentHeight() - headers.outerHeight();
var height = self._getTabContentHeight() - panel.find('.cTemplateMergeHeaders').outerHeight();
self._cmInstances[ key ].edit.setSize( null, height );
self._cmInstances[ key ].left.orig.setSize( null, height );
$( self._cmInstances[ key ].left.gap ).css( 'height', height );
@@ -2238,9 +2172,9 @@
break;
case 'changed':
revert
.html( ips.getString('skin_revert') )
.html( ips.getString('skin_delete') )
.removeClass('ipsButton_disabled')
.attr('data-actionType', 'revert')
.attr('data-actionType', 'delete')
.show();
break;
}
@@ -2432,9 +2366,18 @@
// Get the height of it
var contentHeight = this._getTabContentHeight();
if ( this._tabContent.find('.cTemplateMergeHeaders').length )
{
/* We are viewing a diff, so we need to account for this bar too */
contentHeight -= this._tabContent.find('.cTemplateMergeHeaders').outerHeight();
}
// Find all codemirror instances and resize those
this._tabContent.find('.CodeMirror').css( { height: contentHeight + 'px' } );
// .. and any merge gap bars so they don't overrun
this._tabContent.find('.CodeMirror-merge-gap').css( { height: contentHeight + 'px' } );
this._currentHeight = tabHeight;
},
@@ -2479,7 +2422,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="106107" 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="107014" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2822,7 +2765,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="106107" 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="107014" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2950,15 +2893,19 @@
if ( this._lastValue ) {
this._textField.addClass('ipsField_loading');
}
$('#elTemplateEditor_fileList').find('li').addClass('ipsHide');
var type = $('#elTemplateEditor_typeTabs').find('.ipsTabs_activeItem').attr('data-type');
var type = ( type == 'templates' ) ? 'template' : type; // Because it's fun to be inconsistent, the database 'type' is 'template' yet in templates we use 'templates' - thanks past Matt
$('#elTemplateEditor_fileList').find('li[data-type=' + type + ']').addClass('ipsHide');
var filters = [];
$('#elTemplateFilterMenu_menu .ipsMenu_itemChecked').each(function(){
filters.push( $(this).attr('data-ipsMenuValue') );
});
var self = this;
this._ajax = ips.getAjax()( $(this.scope).attr('data-ajaxURL') + '&do=search' + $('#elTemplateEditor_typeTabs').find('.ipsTabs_activeItem').attr('data-type') + '&term=' + encodeURIComponent( this._lastValue ) + '&filters=' + filters.join(',') ).done(function(response){
this._ajax = ips.getAjax()( $(this.scope).attr('data-ajaxURL') + '&do=searchtemplates&type=' + type + '&term=' + encodeURIComponent( this._lastValue ) + '&filters=' + filters.join(',') ).done(function(response){
var i;
var j;
@@ -2987,7 +2934,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="106107" 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="107014" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3032,7 +2979,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.area.js" javascript_type="mixins" javascript_version="106107" javascript_position="1000050"><![CDATA[/**
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.area.js" javascript_type="mixins" javascript_version="107014" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3102,7 +3049,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.block.js" javascript_type="mixins" javascript_version="106107" javascript_position="1000050"><![CDATA[/**
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.block.js" javascript_type="mixins" javascript_version="107014" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3210,7 +3157,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.comment.js" javascript_type="mixins" javascript_version="106107" javascript_position="1000050">/**
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.comment.js" javascript_type="mixins" javascript_version="107014" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3237,7 +3184,7 @@
});
});
}(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="106107" 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="107014" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='100' data-ipsGrid-maxItemSize='200'>\
{{{contents}}}\
</ul>\
@@ -3254,7 +3201,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="106107" 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="107014" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
/* TEMPLATECEPTION */
ips.templates.set('templates.editor.newTab', " \
<li data-fileid='{{fileid}}' data-location='{{location}}'>\
@@ -3282,6 +3229,17 @@ ips.templates.set('templates.editor.unsaved', " \
ips.templates.set('templates.editor.saved', " \
<i class='fa fa-times'></i>\
");
ips.templates.set('templates.editor.pagesDiffHeaders', " \
<div class='cTemplateMergeHeaders ipsAreaBackground_light'>\
<div class='cTemplateMergeHeader'>\
<div class='ipsPad_half'><strong>{{#lang}}theme_diff_original_header{{/lang}}</strong> <span class='ipsType_small ipsType_light'>{{#lang}}theme_diff_original_desc{{/lang}}</span></div>\
</div>\
<div class='cTemplateMergeHeader ipsPos_right'>\
<div class='ipsPad_half'><strong>{{#lang}}theme_diff_custom_header{{/lang}}</strong> <span class='ipsType_small ipsType_light'>{{#lang}}theme_diff_custom_desc{{/lang}}</span></div>\
</div>\
</div>\
");]]></file>
<order app="global" path="/dev/js//framework/">templates
common/ips.loader.js
+7 -3
View File
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="cms" version="106107">
<app key="cms" version="107014">
<word key="__app_cms" js="0">Pages</word>
<word key="menutab__cms" js="0">Pages</word>
<word key="menutab__cms_icon" js="0">files-o</word>
<word key="__indefart_content_db_lang_sl" js="0">a %s</word>
<word key="__indefart_cms_page" js="0">a page</word>
<word key="__indefart_content_record_comments_title" js="0">a comment</word>
<word key="__indefart_content_record_reviews_title" js="0">a review</word>
<word key="__defart_content_db_lang_sl" js="0">%s</word>
@@ -91,6 +92,7 @@
<word key="r__databases_delete" js="0">Can delete databases?</word>
<word key="r__databases" js="0">Databases</word>
<word key="r__databases_manage" js="0">Can view databases?</word>
<word key="r__databases_use" js="0">Can use databases?</word>
<word key="r__records_add" js="0">Can create records?</word>
<word key="r__records_edit" js="0">Can edit records?</word>
<word key="r__records_delete" js="0">Can delete records?</word>
@@ -254,7 +256,7 @@
<word key="cms_database_group_name" js="0">Group Name</word>
<word key="cms_database_group_name_desc" js="0">Please use only a-z and 0-9 without any special characters or spaces. The group name must start with a letter or underscore. You can use an underscore, which will show as a space when viewing templates.</word>
<word key="cms_database_template_used_in" js="0">This template is used by: %s</word>
<word key="cms_template_group_exists" js="0">That template group already exists.</word>
<word key="cms_template_group_exists" js="0">That template group already exists. Group names must be unique across HTML/CSS and JS templates.</word>
<word key="cms_template_title_exists" js="0">That template title already exists.</word>
<word key="database_form_template_link" js="0">Edit Templates</word>
<word key="cms_block_list_key" js="0">{block=&quot;%s&quot;}</word>
@@ -290,7 +292,7 @@
<word key="page_type_manual" js="0">Manual HTML</word>
<word key="page_type_manual_desc" js="0">A code level editor for complete control</word>
<word key="page_ipb_wrapper" js="0">Use suite HTML wrapper</word>
<word key="page_ipb_wrapper_desc" js="0">Outputs your page within the suite header/footer wrapper. If you select 'No', you will be responsible for the full page html (including doctype, head, body, etc. tags)</word>
<word key="page_ipb_wrapper_desc" js="0">Outputs your page within the suite header/footer wrapper. If you select 'None', you will be responsible for the full page html (including doctype, head, body, etc. tags)</word>
<word key="content_err_no_page" js="0">Could not load a page to edit</word>
<word key="content_edit_page_content_title" js="0">Editing page content for %s</word>
<word key="page_content" js="0">Content</word>
@@ -489,6 +491,8 @@
<word key="cms_field_display_bottom" js="0">Under the item content</word>
<word key="field_number_decimals_on" js="0">Allow decimals</word>
<word key="field_number_decimals" js="0">Number of decimal places</word>
<word key="field_number_min" js="0">Min</word>
<word key="field_number_max" js="0">Max</word>
<word key="field_date_tz_utc" js="0">UTC</word>
<word key="field_date_tz_set" js="0">Manually select a timezone</word>
<word key="field_date_tz_user" js="0">Use the viewing member's timezone</word>
+12
View File
@@ -2000,6 +2000,18 @@
"length": [
null
]
},
"comment_indexing": {
"type": "key",
"name": "comment_indexing",
"columns": [
"comment_record_id",
"comment_user"
],
"length": [
null,
null
]
}
},
"comment": "",
+58 -43
View File
@@ -1,34 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<theme name="Default" author_name="Invision Power Services, Inc" author_url="https://www.invisioncommunity.com">
<template template_group="blocks" template_name="embedCode" template_data="$block, $embedKey" template_location="admin" template_app="cms"><![CDATA[
<div class="ipsMessage ipsMessage_info">
{lang="embed_message"}
</div>
<div data-controller='cms.admin.pages.embed'>
<div class='ipsPhotoPanel ipsPhotoPanel_mini ipsSpacer_top ipsSpacer_double'>
<span class='ipsPos_left ipsBadge ipsBadge_large ipsBadge_icon ipsBadge_positive'>1</span>
<div>
<h2 class='ipsType_sectionHead'>{lang="embed_1_title"}</h2>
<p>{lang="embed_1_desc"}</p>
<div class='ipsAreaBackground ipsPad'>
<input type='checkbox' id='elEmbedInherit' checked> <span class='ipsType_medium'>{lang="embed_1_toggle"}</span>
<textarea rows='2' spellcheck='false' class='ipsType_monospace ipsSpacer_top ipsSpacer_half' data-role='blockCode'>&lt;div id='block_{$embedKey}' data-blockID='{$block->key}' class='ipsExternalWidget' data-inheritStyle='true'&gt;&lt;/div&gt;</textarea>
<template template_group="blocks" template_name="embedCode" template_data="$block, $embedKey" template_location="admin" template_app="cms"><![CDATA[<div class="ipsPad">
<div class="ipsMessage ipsMessage_info">
{lang="embed_message"}
</div>
<div data-controller='cms.admin.pages.embed'>
<div class='ipsPhotoPanel ipsPhotoPanel_mini ipsSpacer_top ipsSpacer_double'>
<span class='ipsPos_left ipsBadge ipsBadge_large ipsBadge_icon ipsBadge_positive'>1</span>
<div>
<h2 class='ipsType_sectionHead'>{lang="embed_1_title"}</h2>
<p>{lang="embed_1_desc"}</p>
<div class='ipsAreaBackground ipsPad' data-ipsCopy>
<input type='checkbox' id='elEmbedInherit' checked> <span class='ipsType_medium'>{lang="embed_1_toggle"}</span>
<textarea rows='2' spellcheck='false' id="embed_block" class='ipsType_monospace ipsSpacer_top ipsSpacer_half' data-role='blockCode'>&lt;div id='block_{$embedKey}' data-blockID='{$block->key}' class='ipsExternalWidget' data-inheritStyle='true'&gt;&lt;/div&gt;</textarea>
<div class="ipsPadding_vertical:half">
<button type="button" class="ipsButton ipsButton_light ipsButton_veryVerySmall ipsPos_right" data-role="copyButton" data-clipboard-target="#embed_block">{lang="copy"}</button>
</div>
</div>
</div>
</div>
</div>
<hr class='ipsHr'>
<div class='ipsPhotoPanel ipsPhotoPanel_mini'>
<span class='ipsPos_left ipsBadge ipsBadge_large ipsBadge_icon ipsBadge_positive'>2</span>
<div>
<h2 class='ipsType_sectionHead'>{lang="embed_2_title"}</h2>
<p>{lang="embed_2_desc"}</p>
<div class='ipsAreaBackground ipsPad'>
<textarea rows='2' spellcheck='false' class='ipsType_monospace'>&lt;script type='text/javascript' src='{url="applications/cms/interface/external/external.js" base="none"}' id='ipsWidgetLoader'&gt;&lt;/script&gt;</textarea>
<hr class='ipsHr'>
<div class='ipsPhotoPanel ipsPhotoPanel_mini'>
<span class='ipsPos_left ipsBadge ipsBadge_large ipsBadge_icon ipsBadge_positive'>2</span>
<div>
<h2 class='ipsType_sectionHead'>{lang="embed_2_title"}</h2>
<p>{lang="embed_2_desc"}</p>
<div class='ipsAreaBackground ipsPad' data-ipsCopy>
<textarea rows='2' spellcheck='false' id="embed_loader" class='ipsType_monospace'>&lt;script type='text/javascript' src='{url="applications/cms/interface/external/external.js" base="none"}' id='ipsWidgetLoader'&gt;&lt;/script&gt;</textarea>
<div class="ipsPadding_vertical:half">
<button type="button" class="ipsButton ipsButton_light ipsButton_veryVerySmall ipsPos_right" data-role="copyButton" data-clipboard-target="#embed_loader">{lang="copy"}</button>
</div>
</div>
</div>
</div>
</div>
@@ -86,14 +94,6 @@
</div>
</form>
</div>]]></template>
<template template_group="blocks" template_name="previewBlock" template_data="" template_location="admin" template_app="cms"><![CDATA[<li class="ipsFieldRow ipsFieldRow_noFlex">
<div id="elPages_block_preview_wrapper" class='ipsSpacer_bottom'>
<iframe class='loading' src='{url="app=cms&module=pages&controller=builder&do=previewBlock" base="front"}' data-base-url="{url="app=cms&module=pages&controller=blocks&do=storeTemporaryBlock"}" frameborder="0" name="elpages_block_preview" id="elpages_block_preview"></iframe>
<p class='ipsType_reset'>
<span data-role="refreshPreview" class="ipsButton ipsButton_light ipsButton_small">{lang="cms_block_preview_refresh"}</span>
</p>
</div>
<li>]]></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_light ipsButton_verySmall'>{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_neutral">{lang="cms_block_list_key" sprintf="$block->key"}</span>{{endif}}]]></template>
<template template_group="databases" template_name="downloadDialog" template_data="$database" template_location="admin" template_app="cms"><![CDATA[<div class='ipsBox ipsPad'>
@@ -460,7 +460,7 @@
<ul class='ipsList_reset'>
{{if isset( $widgets[ $id ] )}}
{{foreach $widgets[ $id ] as $widget}}
<li class='{{if \get_class( $widget ) != 'IPS\cms\widgets\Database'}}ipsWidget ipsWidget_{$orientation}{{endif}} {{if isset($widget->configuration['devices_to_show'])}}ipsResponsive_block{{foreach array_diff( array( 'Phone', 'Tablet', 'Desktop' ), $widget->configuration['devices_to_show'] ) as $device }} ipsResponsive_hide{$device}{{endforeach}} {{endif}}' data-blockTitle="{$widget->title()}" data-blockID='{{if isset($widget->app)}}app_{$widget->app}_{{else}}plugin_{$widget->plugin}_{{endif}}{$widget->key}_{$widget->uniqueKey}'{{if $widget->hasConfiguration()}} data-blockConfig="true"{{endif}} data-blockErrorMessage="{lang="$widget->errorMessage" escape="true"}" data-controller='core.front.widgets.block'>{$widget|raw}</li>
<li class='{{if \get_class( $widget ) != 'IPS\cms\widgets\Database'}}ipsWidget ipsWidget_{$orientation}{{endif}} {{if isset($widget->configuration['devices_to_show'])}}ipsResponsive_block{{foreach array_diff( array( 'Phone', 'Tablet', 'Desktop' ), $widget->configuration['devices_to_show'] ) as $device }} ipsResponsive_hide{$device}{{endforeach}} {{endif}}' data-blockTitle="{$widget->title()}" data-blockID='{{if isset($widget->app)}}app_{$widget->app}_{{else}}plugin_{$widget->plugin}_{{endif}}{$widget->key}_{$widget->uniqueKey}'{{if $widget->hasConfiguration()}} data-blockConfig="true"{{endif}} data-blockErrorMessage="{lang="$widget->errorMessage" escape="true"}" data-controller='core.front.widgets.block' {{if \in_array( 'IPS\Widget\Builder', class_implements( $widget ) )}}data-blockBuilder="true"{{endif}}>{$widget|raw}</li>
{{endforeach}}
{{endif}}
</ul>
@@ -888,14 +888,14 @@
<ul class='ipsList_reset'>
{{if isset( $templates[ $type ] ) and \is_array( $templates[ $type ] )}}
{{foreach $templates[ $type ] as $group => $childTemplates}}
<li {{if $request['t_group'] == $group}}class="cTemplateList_activeBranch"{{else}}class="cTemplateList_inactiveBranch"{{endif}} data-group="{$group}">
<li {{if $request['t_group'] == $group}}class="cTemplateList_activeBranch"{{else}}class="cTemplateList_inactiveBranch"{{endif}} data-group="{$group}" data-type="{$current->type}">
{{if $type == 'database' and ! \in_array( $group, array_values( \IPS\cms\Templates::$databaseDefaults ) )}}
<a class="ipsCms_templateOptions" href="{url="app=cms&module=pages&controller=templates&do=databaseTemplateGroupOptions&group={$group}&t_location={$type}"}" id="elTemplateEditor_options_{$group}" data-ipsDialog><i class="fa fa-cog"></i></a>
{{endif}}
<a href='{url="app=cms&module=pages&controller=templates&t_location={$type}&t_group={$group}"}' data-action="toggleBranch">{expression="\IPS\cms\Templates::readableGroupName( $group )"}</a>
<ul class='ipsList_reset'>
{{foreach $childTemplates as $key => $child}}
<li {{if $request['t_key'] == $child->key && !\IPS\Request::i()->isAjax()}}class="cTemplateList_activeNode"{{endif}}>
<li {{if $request['t_key'] == $child->key && !\IPS\Request::i()->isAjax()}}class="cTemplateList_activeNode"{{endif}} data-type="{$current->type}">
<a data-type="{$child->type}" data-location="{$child->location}" href='{url="app=cms&module=pages&controller=templates&t_location={$child->location}&t_group={$child->group}&t_key={$child->key}"}' data-action="openFile" data-group="{$child->group}" data-name="{$child->title}" data-inherited-value="{$child->_inherited}" data-key="{$child->key}" data-itemID="{$child->id}">{$child->title}</a>
</li>
{{endforeach}}
@@ -993,7 +993,7 @@
<ul role="tablist">
<li><a href='{url="app=cms&module=pages&controller=templates&do=manage&t_type=templates"}' class='ipsTabs_item ipsType_center {{if $current->type == 'templates'}}ipsTabs_activeItem{{endif}}' data-tabURL='{url="app=cms&module=pages&controller=ajax&do=loadMenu&t_type=templates"}' data-type='templates'>{lang="theme_html"}</a></li>
<li><a href='{url="app=cms&module=pages&controller=templates&do=manage&t_type=css"}' class='ipsTabs_item ipsType_center {{if $current->type == 'css'}}ipsTabs_activeItem{{endif}}' data-tabURL='{url="app=cms&module=pages&controller=ajax&do=loadMenu&t_type=css"}' data-type='css'>{lang="theme_css"}</a></li>
<li><a href='{url="app=cms&module=pages&controller=templates&do=manage&t_type=js"}' class='ipsTabs_item ipsType_center {{if $current->type == 'js'}}ipsTabs_activeItem{{endif}}' data-tabURL='{url="app=cms&module=pages&controller=ajax&do=loadMenu&t_type=js"}' data-type='css'>{lang="theme_js"}</a></li>
<li><a href='{url="app=cms&module=pages&controller=templates&do=manage&t_type=js"}' class='ipsTabs_item ipsType_center {{if $current->type == 'js'}}ipsTabs_activeItem{{endif}}' data-tabURL='{url="app=cms&module=pages&controller=ajax&do=loadMenu&t_type=js"}' data-type='js'>{lang="theme_js"}</a></li>
</ul>
</div>
<section id='elTemplateEditor_fileList'>
@@ -1019,7 +1019,7 @@
<a href='#' id='elTemplateEditor_variables' class='ipsButton ipsButton_veryLight ipsButton_small' data-ipsDialog data-ipsDialog-title='{lang="content_template_editor_fields_title"}' data-ipsDialog-content="#elTemplateEditor_attributesDialog" data-ipsDialog-size='narrow'>{lang="theme_attributes"}</a>
</li>
<li class='ipsPos_right'>
<a href='{url="app=cms&module=pages&controller=templates&do=delete&t_location={$current->location}&t_key={$current->id}"}' class='ipsButton ipsButton_veryLight ipsButton_small {{if $current->user_edited == 'original'}}ipsButton_disabled{{endif}}' data-action="revert">{{if ! $current->user_edited}}{lang="delete"}{{else}}{lang="revert"}{{endif}}</a>
<a href='{url="app=cms&module=pages&controller=templates&do=delete&t_location={$current->location}&t_key={$current->id}"}' class='ipsButton ipsButton_veryLight ipsButton_small {{if $current->user_edited == 'original' or $current->user_edited === 0}}ipsButton_disabled{{endif}}' data-action="revert">{{if $current->user_created == 1}}{lang="delete"}{{else}}{lang="revert"}{{endif}}</a>
</li>
<li>
<button type='submit' class='ipsButton ipsButton_primary ipsButton_small' data-action="save">{lang="save"}</button>
@@ -1144,12 +1144,13 @@
]]></template>
<template template_group="widgets" template_name="pagebuilderoembed" template_data="$video" template_location="front" template_app="cms"><![CDATA[<div class='ipsPos_center'>{$video|raw}</div>]]></template>
<template template_group="widgets" template_name="pagebuildertext" template_data="$text" template_location="front" template_app="cms"><![CDATA[<div>{$text|raw}</div>]]></template>
<template template_group="widgets" template_name="pagebuilderupload" template_data="$images, $captions, $urls, $autoPlay, $maxHeight" template_location="front" template_app="cms"><![CDATA[{{if ! \is_array( $images )}}
<template template_group="widgets" template_name="pagebuilderupload" template_data="$images, $captions, $urls, $autoPlay, $maxHeight, $title='', $orientation='vertical'" template_location="front" template_app="cms"><![CDATA[
{{if ! \is_array( $images )}}
<div>
{{if isset( $urls[0] )}}
<a href="{$urls[0]}">
{{endif}}
<img src="{$images}" alt='' class="ipsPageBuilderUpload">
<img src="{$images}" {{if $maxHeight}}style="max-height: {$maxHeight}px; max-width: 100%; width: auto"{{endif}} alt='' class="ipsPageBuilderUpload">
{{if isset( $captions[0] )}}
<span class="ipsWidget_imageCarousel__caption">{$captions[0]}</span>
{{endif}}
@@ -1158,7 +1159,7 @@
{{endif}}
</div>
{{else}}
<div class="ipsCarousel ipsClearfix" data-ipsCarousel {{if $autoPlay}}data-ipsCarousel-slideshow{{endif}} {{if ! $maxHeight}}data-ipsCarousel-fullSizeItems{{endif}} data-ipsCarousel-shadows='false'>
<div class="ipsCarousel ipsClearfix" data-ipsCarousel {{if $autoPlay}}data-ipsCarousel-slideshow{{endif}} {{if !$maxHeight || $orientation}}data-ipsCarousel-fullSizeItems{{endif}} data-ipsCarousel-shadows='false'>
<div class='ipsCarousel_inner'>
<ul class='ipsClearfix ipsList_reset' data-role='carouselItems'>
{{foreach $images as $id => $image}}
@@ -1618,6 +1619,20 @@ html[dir="rtl"] #elTemplateEditor > .ipsColumns > .ipsColumn_wide {
border-color: var(--c1);
}
.cTemplateMergeHeaders {
border: 1px solid var(--c3);
border-bottom: 0;
}
.cTemplateMergeHeader {
width: 47%;
display: inline-block;
}
.cTemplateMergeHeader_spacer {
width: 6%;
display: inline-block;
}
.cTemplateControls {
height: 66px;
padding-top: 15px;
+76 -1
View File
@@ -421,5 +421,80 @@
"106104": "4.6.0 Beta 3",
"106105": "4.6.0 Beta 3.1",
"106106": "4.6.0 Beta 4",
"106107": "4.6.0"
"106107": "4.6.0",
"106108": "4.6.0",
"106109": "4.6.0",
"106110": "4.6.1",
"106111": "4.6.1",
"106112": "4.6.1",
"106113": "4.6.2",
"106114": "4.6.2",
"106115": "4.6.2",
"106116": "4.6.3",
"106117": "4.6.3",
"106118": "4.6.4",
"106119": "4.6.4",
"106120": "4.6.4",
"106121": "4.6.4",
"106122": "4.6.5",
"106123": "4.6.5.1",
"106125": "4.6.5.1",
"106126": "4.6.5.1",
"106127": "4.6.5.1",
"106128": "4.6.5.1",
"106129": "4.6.5.1",
"106130": "4.6.5.1",
"106131": "4.6.5.1",
"106132": "4.6.6",
"106133": "4.6.6",
"106134": "4.6.7 Beta 1",
"106135": "4.6.7 Beta 2",
"106136": "4.6.7",
"106137": "4.6.7",
"106138": "4.6.8 Beta 1",
"106139": "4.6.8 Beta 2",
"106140": "4.6.8",
"106141": "4.6.8",
"106142": "4.6.8",
"106143": "4.6.8",
"106144": "4.6.9 Beta 1",
"106145": "4.6.9 Beta 2",
"106146": "4.6.9 Beta 3",
"106147": "4.6.9",
"106148": "4.6.9",
"106149": "4.6.10 Beta 1",
"106150": "4.6.10 Beta 2",
"106151": "4.6.10",
"106152": "4.6.10",
"106153": "4.6.10",
"106154": "4.6.10",
"106155": "4.6.10",
"106156": "4.6.11 Beta 1",
"106157": "4.6.11 Beta 1",
"106158": "4.6.11 Beta 2",
"106159": "4.6.11",
"106160": "4.6.11",
"106161": "4.6.12 Beta 1",
"106162": "4.6.12 Beta 1",
"106163": "4.6.12 Beta 2",
"106164": "4.6.12",
"106165": "4.6.12",
"106166": "4.6.12",
"106167": "4.6.12.1",
"106168": "4.6.13 Beta 1",
"107000": "4.7.0 Beta 1",
"107001": "4.7.0 Beta 1",
"107002": "4.7.0 Beta 2",
"107003": "4.7.0 Beta 2",
"107004": "4.7.0 Beta 3",
"107005": "4.7.0 Beta 4",
"107006": "4.7.0 Beta 4.1",
"107007": "4.7.0 Beta 5",
"107008": "4.7.0 Beta 6",
"107009": "4.7.0 Beta 7",
"107010": "4.7.0 Beta 8",
"107011": "4.7.0 Beta 9",
"107012": "4.7.0 Beta 10",
"107013": "4.7.0",
"107014": "4.7.0"
}