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

+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;