Version 4.2.0

This commit is contained in:
Neo committed 2025-12-19 05:44:59 -08:00
1 parent 0dc2aee5ed
commit 96997ddd8e
2074 files changed
+125454 -55780

No files matched your search

+349 -173
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<theme name="Default" author_name="Invision Power Services, Inc" author_url="http://www.invisionpower.com">
<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"}
@@ -86,15 +86,13 @@
</div>
</form>
</div>]]></template>
<template template_group="blocks" template_name="previewBlock" template_data="" template_location="admin" template_app="cms"><![CDATA[<li class="ipsFieldRow">
<div id="elPages_block_preview_wrapper">
<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" protocol="\IPS\Http\Url::PROTOCOL_RELATIVE"}' data-base-url="{url="app=cms&module=pages&controller=builder&do=previewBlock" base="front" protocol="\IPS\Http\Url::PROTOCOL_RELATIVE"}" 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>
<div class="ipsPos_right">
<span data-role="refreshPreview" class="ipsButton ipsButton_light ipsButton_small">{lang="cms_block_preview_refresh"}</span>
</div>
<br />
<br />
<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="databases" template_name="downloadDialog" template_data="$database" template_location="admin" template_app="cms"><![CDATA[<div class='ipsBox ipsPad'>
@@ -108,10 +106,11 @@
</div>]]></template>
<template template_group="databases" template_name="fieldsWrapper" template_data="$tree" template_location="admin" template_app="cms"><![CDATA[<br />
<br />
<div class='acpBlock_title'>{lang="content_fields_fixed_title"}</div>
{$tree|raw}]]></template>
<template template_group="databases" template_name="manageDatabaseName" template_data="$database, $row, $page" template_location="admin" template_app="cms"><![CDATA[{{;}}
<strong>{$database->_title}</strong>
<div class='ipsBox'>
<div class='ipsBox_titleBar'>{lang="content_fields_fixed_title"}</div>
{$tree|raw}
</div>]]></template>
<template template_group="databases" template_name="manageDatabaseName" template_data="$database, $row, $page" template_location="admin" template_app="cms"><![CDATA[<strong>{$database->_title}</strong>
{{if $page}}
<a class="ipsPos_right ipsBadge ipsBadge_style1" href="{$page->url()}" target="_blank">{lang="cms_db_used_on_page" sprintf="$page->_title"}</a>
{{endif}}
@@ -132,7 +131,7 @@
{{$idField = $record::$databaseColumnId;}}
<div>
<h3 class='ipsType_sectionHead'>
<div class='ipsType_break ipsContained'>
<span class='ipsType_break ipsContained'>
{{if $record->unread()}}
<a href='{$record->url( 'getNewComment' )}' title='{lang="first_unread_post"}' data-ipsTooltip>
<span class='ipsItemStatus'><i class="fa {{if in_array( $record->$idField, $iposted )}}fa-star{{else}}fa-circle{{endif}}"></i></span>
@@ -147,9 +146,141 @@
{{if $record->container()->allow_rating}}
{template="rating" group="global" location="front" app="core" params="'large', $record->rating_hits ? ( $record->rating_total / $record->rating_hits ) : 0"}
{{endif}}
</div>
</span>
</h3>
<p class='ipsType_normal ipsType_light ipsType_blendLinks ipsType_reset'>{lang="in"} <a href='{$record->container()->url()}'>{$record->container()->_title}</a></p>
</div>]]></template>
<template template_group="global" template_name="embedRecord" template_data="$item, $url" template_location="front" template_app="cms"><![CDATA[
{{$image = NULL;}}
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
{template="embedHeader" group="embed" app="core" params="$item, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_cms_in_embed', FALSE, array( 'sprintf' => array( $item->author()->name, $item->indefiniteArticle(), $item->container()->_title ) ) ), $item->mapped('date')"}
{{if $item->record_image}}
{{$image = \IPS\File::get( "cms_Records", $item->record_image );}}
{{elseif count( $item->contentImages() )}}
{{$attachType = key( $item->contentImages()[0] );}}
{{$image = \IPS\File::get( $attachType, $item->contentImages()[0][ $attachType ] );}}
{{endif}}
{{if $image}}
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
<a href='{$item->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
<img src='{$image->url}' class='ipsHide' alt=''>
</a>
</div>
{{endif}}
<div class='ipsPad'>
<h3 class='ipsRichEmbed_itemTitle ipsTruncate ipsTruncate_line ipsType_blendLinks'>
<a href='{$item->url()}' title="{$item->mapped('title')}">{$item->mapped('title')}</a>
</h3>
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
{$item->truncated(TRUE)|raw}
</div>
{{if count( $item->customFieldsForDisplay('listing') )}}
<div class='ipsSpacer_top ipsSpacer_half ipsClearfix'>
{{foreach $item->customFieldsForDisplay('listing') as $fieldId => $fieldValue}}
{{if $fieldValue}}
{$fieldValue|raw}
{{endif}}
{{endforeach}}
</div>
{{endif}}
{template="embedItemStats" group="embed" app="core" params="$item"}
</div>
</div>]]></template>
<template template_group="global" template_name="embedRecordComment" template_data="$comment, $item, $url" template_location="front" template_app="cms"><![CDATA[
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_commented_cms_embed', FALSE, array( 'sprintf' => array( $comment->author()->name, $item->indefiniteArticle() ) ) ), $comment->mapped('date')"}
<div class='ipsPad'>
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
<div>
{{if $item->record_image}}
{{$image = \IPS\File::get( "cms_Records", $item->record_image );}}
{{elseif count( $item->contentImages() )}}
{{$attachType = key( $item->contentImages()[0] );}}
{{$image = \IPS\File::get( $attachType, $item->contentImages()[0][ $attachType ] );}}
{{endif}}
{{if $image}}
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
<a href='{$item->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
<img src='{$image->url}' class='ipsHide' alt=''>
</a>
</div>
{{endif}}
<div class='ipsPad'>
{template="embedOriginalItem" group="embed" app="core" params="$item, TRUE, \IPS\Theme::i()->getTemplate( 'global', 'cms' )->embedRecordItemSnippet( $item ) "}
</div>
</div>
</div>
<div class='ipsType_richText ipsType_medium' data-truncate='3'>
{$comment->truncated(TRUE)|raw}
</div>
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
<li>
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
</li>
</ul>
{{endif}}
</div>
</div>]]></template>
<template template_group="global" template_name="embedRecordItemSnippet" template_data="$item" template_location="front" template_app="cms"><![CDATA[
{{if count( $item->customFieldsForDisplay('listing') )}}
<div class='ipsSpacer_top ipsSpacer_half ipsClearfix'>
{{foreach $item->customFieldsForDisplay('listing') as $fieldId => $fieldValue}}
{{if $fieldValue}}
{$fieldValue|raw}
{{endif}}
{{endforeach}}
</div>
{{endif}}]]></template>
<template template_group="global" template_name="embedRecordReview" template_data="$comment, $item, $url" template_location="front" template_app="cms"><![CDATA[
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_reviewed_cms_embed', FALSE, array( 'sprintf' => array( $comment->author()->name, $item->indefiniteArticle() ) ) ), $comment->mapped('date')"}
<div class='ipsPad'>
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
<div>
{{if $item->record_image}}
{{$image = \IPS\File::get( "cms_Records", $item->record_image );}}
{{elseif count( $item->contentImages() )}}
{{$attachType = key( $item->contentImages()[0] );}}
{{$image = \IPS\File::get( $attachType, $item->contentImages()[0][ $attachType ] );}}
{{endif}}
{{if $image}}
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
<a href='{$item->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $image->url )"}" )'>
<img src='{$image->url}' class='ipsHide' alt=''>
</a>
</div>
{{endif}}
<div class='ipsPad'>
{template="embedOriginalItem" group="embed" app="core" params="$item, TRUE, \IPS\Theme::i()->getTemplate( 'global', 'cms' )->embedRecordItemSnippet( $item ) "}
</div>
</div>
</div>
{template="rating" app="core" params="'veryLarge', $comment->mapped('rating')" group="global"}
{{if $comment->mapped('votes_total')}}
<p class='ipsType_reset ipsType_medium'>{$comment->helpfulLine()|raw}</p>
{{endif}}
<hr class='ipsHr'>
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
{$comment->truncated(TRUE)|raw}
</div>
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
<li>
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
</li>
</ul>
{{endif}}
</div>
</div>]]></template>
<template template_group="global" template_name="uploadDisplay" template_data="$file, $record, $downloadUrl" template_location="front" template_app="cms"><![CDATA[{{if $file->isImage()}}
<img src="$file->url" class="ipsImage" data-ipsLightbox>
@@ -186,19 +317,81 @@
{{$rootButtons = call_user_func( $tree->getRootButtons );}}
<div data-controller='cms.admin.media.main' class='cMedia_manager'>
<div class='acpBlock_title acpBlock_titleDark ipsAreaBackground_dark ipsPad'>
<div class='ipsColumns ipsColumns_collapsePhone'>
<div class='ipsColumn ipsColumn_wide'>
<div class='ipsColumns ipsColumns_collapsePhone'>
<div class='ipsColumn ipsColumn_wide'>
<div class='cMedia_managerToolbar'>
{{if $rootButtons['add_folder']}}
<a href='{$rootButtons['add_folder']['link']}' data-ipsDialog data-ipsDialog-title='{lang="cms_add_media_folder"}' class='ipsButton ipsButton_light ipsButton_small' data-role='folderButton'><i class='fa fa-plus'></i> {lang="cms_add_media_folder"}</a>
<a href='{$rootButtons['add_folder']['link']}' data-ipsDialog data-ipsDialog-title='{lang="cms_add_media_folder"}' class='ipsButton ipsButton_light ipsButton_small ipsButton_fullWidth' data-role='folderButton'><i class='fa fa-plus'></i> {lang="cms_add_media_folder"}</a>
{{endif}}
</div>
<div class='ipsColumn ipsColumn_fluid'>
<div class="ipsTabs ipsTabs_stretch ipsClearfix acpFormTabBar" id="elMedia_sidebarTabs" data-ipsTabBar data-ipsTabBar-contentarea="#elMedia_sidebar" data-ipstabbar-updateurl="false">
<a href="#elMedia_sidebarTabs" data-action="expandTabs"><i class="fa fa-caret-down"></i></a>
<ul role='tablist'>
<li>
<a href="#" class="ipsTabs_item ipsTabs_activeItem" data-type="templates" id="elTab_folders" aria-selected="true">{lang="media_folders"}</a>
</li>
<li>
<a href="#" class="ipsTabs_item ipsTabs_itemDisabled" id='elTab_overview' data-type="css">{lang="media_file_overview"}</a>
</li>
</ul>
</div>
<div id='elMedia_sidebar' class='ipsAreaBackground_reset ipsScrollbar'>
<div id='ipsTabs_elMedia_sidebarTabs_elTab_folders_panel' class='ipsTabs_panel'>
{{$roots = call_user_func( $tree->getRoots );}}
<ul class='ipsTreeList' data-role='folderList'>
<li class='ipsTreeList_activeBranch ipsTreeList_activeNode' data-role="mediaFolder" data-folderID='0' data-loaded='true'>
<a href='{$tree->url->setQueryString( array('root' => 0 ) )}'>{lang="media_root_folder"}</a>
<ul>
{{foreach $roots as $id => $row}}
{template="folderRow" group="media" app="cms" params="$tree->url, $row"}
{{endforeach}}
</ul>
</li>
</ul>
</div>
<div id='ipsTabs_elMedia_sidebarTabs_elTab_overview_panel' class='ipsTabs_panel ipsPad' data-role='mediaSidebar'>
<div data-role='itemInformation'>
<div class='ipsAreaBackground_light cMedia_preview ipsType_center' data-role='itemPreview'></div>
<div class='ipsSpacer_top'>
<strong class='ipsType_minorHeading'>{lang="media_tag_title"}</strong>
<input type='text' class='ipsField_fullWidth' value='' data-role='itemTag'>
<p class='ipsType_small ipsType_light'>{lang="media_tag_desc"}</p>
</div>
<hr class='ipsHr'>
<ul class='ipsList_reset ipsSpacer_top'>
<li class='ipsSpacer_bottom ipsSpacer_half'>
<h3 class='ipsType_minorHeading'>{lang="media_filename"}</h3>
<p class='ipsType_reset ipsType_medium ipsType_break' data-role='itemFilename'></p>
</li>
<li class='ipsSpacer_bottom ipsSpacer_half'>
<h3 class='ipsType_minorHeading'>{lang="media_uploaded"}</h3>
<p class='ipsType_reset ipsType_medium' data-role='itemUploaded'></p>
</li>
<li class='ipsSpacer_bottom ipsSpacer_half'>
<h3 class='ipsType_minorHeading'>{lang="media_size"}</h3>
<p class='ipsType_reset ipsType_medium' data-role='itemFilesize'></p>
</li>
<li class='ipsSpacer_bottom ipsSpacer_half' data-role='itemDimensionsRow'>
<h3 class='ipsType_minorHeading'>{lang="media_dims"}</h3>
<p class='ipsType_reset ipsType_medium' data-role='itemDimensions'></p>
</li>
</ul>
</div>
<div data-role='multipleItems'>
<div class='ipsPad ipsType_large ipsType_light ipsType_center ipsSpacer_top ipsSpacer_double' data-role='multipleItemsMessage'></div>
</div>
</div>
</div>
</div>
<div class='ipsColumn ipsColumn_fluid'>
<div class='cMedia_managerToolbar'>
<ul class='ipsToolList ipsToolList_horizontal'>
{{if $rootButtons['add_page']}}
<li class='ipsPos_left'><a href='{url="app=cms&module=pages&controller=media&do=upload"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-remoteSubmit data-ipsDialog-title='{lang="cms_add_media"}' class='ipsButton ipsButton_normal ipsButton_small ipsButton_fullWidth' data-role='uploadButton'><i class='fa fa-cloud-upload'></i> &nbsp;{lang="cms_add_media"}</a></li>
{{endif}}
<li class='ipsPos_left ipsHide' data-action='deleteFolder'><a href='{url="app=cms&module=pages&controller=media&do=delete&deleteNode=1"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-remoteVerify="false" data-ipsDialog-title='{lang="delete"}' class='ipsButton ipsButton_negative ipsButton_small ipsButton_fullWidth'><i class='fa fa-times'></i> {lang="cms_delete_folder_media"}</a></li>
<li class='ipsPos_left ipsHide' data-action='deleteFolder'><a href='{url="app=cms&module=pages&controller=media&do=delete"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-remoteVerify="false" data-ipsDialog-title='{lang="delete"}' class='ipsButton ipsButton_negative ipsButton_small ipsButton_fullWidth'><i class='fa fa-times'></i> {lang="cms_delete_folder_media"}</a></li>
<li class='ipsPos_left ipsHide' data-action='deleteSelected'><a href='#' class='ipsButton ipsButton_negative ipsButton_small ipsButton_fullWidth'><i class='fa fa-times'></i> {lang="cms_delete_selected_media"}</a></li>
<li class='ipsResponsive_showPhone ipsResponsive_block'><hr class='ipsHr'></li>
<li class='ipsPos_right'>
@@ -206,83 +399,14 @@
</li>
</ul>
</div>
</div>
</div>
<div class='ipsAreaBackground ipsPad'>
<div class='ipsColumns ipsColumns_collapsePhone'>
<div class='ipsColumn ipsColumn_wide'>
<div class="ipsTabs ipsTabs_stretch ipsClearfix acpFormTabBar" id="elMedia_sidebarTabs" data-ipsTabBar data-ipsTabBar-contentarea="#elMedia_sidebar" data-ipstabbar-updateurl="false">
<a href="#elMedia_sidebarTabs" data-action="expandTabs"><i class="fa fa-caret-down"></i></a>
<ul role='tablist'>
<li>
<a href="#" class="ipsTabs_item ipsTabs_activeItem" data-type="templates" id="elTab_folders" aria-selected="true">{lang="media_folders"}</a>
</li>
<li>
<a href="#" class="ipsTabs_item ipsTabs_itemDisabled" id='elTab_overview' data-type="css">{lang="media_file_overview"}</a>
</li>
</ul>
</div>
<div id='elMedia_sidebar' class='ipsAreaBackground_reset ipsScrollbar'>
<div id='ipsTabs_elMedia_sidebarTabs_elTab_folders_panel' class='ipsTabs_panel ipsPad'>
{{$roots = call_user_func( $tree->getRoots );}}
<ul class='ipsTreeList' data-role='folderList'>
<li class='ipsTreeList_activeBranch ipsTreeList_activeNode' data-role="mediaFolder" data-folderID='0' data-loaded='true'>
<a href='{$tree->url->setQueryString( array('root' => 0 ) )}'>{lang="media_root_folder"}</a>
<ul>
{{foreach $roots as $id => $row}}
{template="folderRow" group="media" app="cms" params="$tree->url, $row"}
{{endforeach}}
</ul>
</li>
</ul>
</div>
<div id='ipsTabs_elMedia_sidebarTabs_elTab_overview_panel' class='ipsTabs_panel ipsPad' data-role='mediaSidebar'>
<div data-role='itemInformation'>
<div class='ipsAreaBackground_light cMedia_preview ipsType_center' data-role='itemPreview'></div>
<div class='ipsSpacer_top'>
<strong class='ipsType_minorHeading'>{lang="media_tag_title"}</strong>
<input type='text' class='ipsField_fullWidth' value='' data-role='itemTag'>
<p class='ipsType_small ipsType_light'>{lang="media_tag_desc"}</p>
</div>
<hr class='ipsHr'>
<ul class='ipsList_reset ipsSpacer_top'>
<li class='ipsSpacer_bottom ipsSpacer_half'>
<h3 class='ipsType_minorHeading'>{lang="media_filename"}</h3>
<p class='ipsType_reset ipsType_medium' data-role='itemFilename'></p>
</li>
<li class='ipsSpacer_bottom ipsSpacer_half'>
<h3 class='ipsType_minorHeading'>{lang="media_uploaded"}</h3>
<p class='ipsType_reset ipsType_medium' data-role='itemUploaded'></p>
</li>
<li class='ipsSpacer_bottom ipsSpacer_half'>
<h3 class='ipsType_minorHeading'>{lang="media_size"}</h3>
<p class='ipsType_reset ipsType_medium' data-role='itemFilesize'></p>
</li>
<li class='ipsSpacer_bottom ipsSpacer_half' data-role='itemDimensionsRow'>
<h3 class='ipsType_minorHeading'>{lang="media_dims"}</h3>
<p class='ipsType_reset ipsType_medium' data-role='itemDimensions'></p>
</li>
</ul>
</div>
<div data-role='multipleItems'>
<div class='ipsPad ipsType_large ipsType_light ipsType_center ipsSpacer_top ipsSpacer_double' data-role='multipleItemsMessage'></div>
</div>
</div>
</div>
</div>
<div class='ipsColumn ipsColumn_fluid'>
<div class='ipsPad ipsAreaBackground_reset ipsScrollbar' data-role="fileListing" id='elMedia_fileList' data-showing='root'>
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='100' data-ipsGrid-maxItemSize='200'>
{{foreach $roots as $id => $data}}
{template="fileListing" group="media" app="cms" params="$tree->url, $data"}
{{endforeach}}
</ul>
</div>
<div class='ipsPad ipsAreaBackground_reset ipsScrollbar ipsHide' data-role="searchResults" id='elMedia_searchResults'></div>
<div class='ipsPad ipsAreaBackground_reset ipsScrollbar' data-role="fileListing" id='elMedia_fileList' data-showing='root'>
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='100' data-ipsGrid-maxItemSize='200'>
{{foreach $roots as $id => $data}}
{template="fileListing" group="media" app="cms" params="$tree->url, $data"}
{{endforeach}}
</ul>
</div>
<div class='ipsPad ipsAreaBackground_reset ipsScrollbar ipsHide' data-role="searchResults" id='elMedia_searchResults'></div>
</div>
</div>
</div>]]></template>
@@ -295,7 +419,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}}' 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-controller='core.front.widgets.block'>{$widget|raw}</li>
<li class='{{if get_class( $widget ) != 'IPS\cms\widgets\Database'}}ipsWidget ipsWidget_{$orientation}{{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>
{{endforeach}}
{{endif}}
</ul>
@@ -394,8 +518,8 @@
</div>]]></template>
<template template_group="records" template_name="fieldBadge" template_data="$label, $value, $classes" template_location="global" template_app="cms"><![CDATA[<span class='ipsBadge {$classes}'>{$label}: {$value|raw}</span>]]></template>
<template template_group="records" template_name="fieldDefault" template_data="$label, $value" template_location="global" template_app="cms"><![CDATA[<div class='ipsType_reset ipsType_light'><strong>{$label}:</strong> {$value|raw}</div>]]></template>
<template template_group="records" template_name="soundcloud" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<iframe {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url={$url}&color=ff5500"></iframe>]]></template>
<template template_group="records" template_name="spotify" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<iframe src="https://embed.spotify.com/?uri={$url}" {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} frameborder="0" allowtransparency="true"></iframe>]]></template>
<template template_group="records" template_name="soundcloud" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<iframe {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} src="https://w.soundcloud.com/player/?url={$url}&amp;color=ff5500"></iframe>]]></template>
<template template_group="records" template_name="spotify" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<iframe src="https://embed.spotify.com/?uri={$url}" {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} allowtransparency="true"></iframe>]]></template>
<template template_group="records" template_name="title" template_data="$row, $title" template_location="admin" template_app="cms"><![CDATA[{{if $row['record_future_date'] or $row['record_approved'] === -1 or $row['record_approved'] === 0 or $row['record_pinned'] === 1 or $row['record_featured'] === 1}}
<span class='ipsPos_right'>
{{if $row['record_future_date']}}
@@ -417,7 +541,7 @@
</span>
{{endif}}
{$title}]]></template>
<template template_group="records" template_name="youtube" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<div class='ipsEmbeddedVideo {{if \IPS\Settings::i()->max_video_width > 0}}ipsEmbeddedVideo_limited{{endif}}' contenteditable="false"><div><iframe id="ytplayer" type="text/html" {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} src="$url" frameborder="0"></iframe></div></div>]]></template>
<template template_group="records" template_name="youtube" template_data="$url, $params" template_location="global" template_app="cms"><![CDATA[<div class='ipsEmbeddedVideo {{if \IPS\Settings::i()->max_video_width > 0}}ipsEmbeddedVideo_limited{{endif}}' contenteditable="false"><div><iframe id="ytplayer" type="text/html" {{foreach $params as $k => $v }}{$k}="{$v}" {{endforeach}} src="$url"></iframe></div></div>]]></template>
<template template_group="revisions" template_name="rows" template_data="$table, $headers, $rows" template_location="front" template_app="cms"><![CDATA[{{foreach $rows as $row}}
<article class='ipsComment ipsComment_parent ipsClearfix ipsClear'>
<div class='ipsComment_header ipsPhotoPanel ipsPhotoPanel_mini ipsPhotoPanel_notPhone'>
@@ -742,12 +866,12 @@
<input type="hidden" name="t_key" value="{$current->key}">
<input type="hidden" name="t_id" value="{$current->id}">
<div class='ipsAreaBackground ipsPad' id='elTemplateEditor' data-controller='cms.admin.templates.main' data-normalURL="{url="app=cms&module=pages&controller=templates"}" data-ajaxURL="{url="app=cms&module=pages&controller=ajax"}">
<div id='elTemplateEditor' data-controller='cms.admin.templates.main' data-normalURL="{url="app=cms&module=pages&controller=templates"}" data-ajaxURL="{url="app=cms&module=pages&controller=ajax"}">
<div class='ipsColumns'>
<div class='ipsColumn ipsColumn_wide' data-role="fileList" data-controller='cms.admin.templates.fileList'>
<ul class='ipsList_inline ipsClearfix'>
<li><a href='#elTemplateEditor_newItemMenu_menu' id='elTemplateEditor_newItemMenu' class='ipsButton ipsButton_normal ipsButton_small' data-ipsMenu>{lang="theme_template_new"} &nbsp;<i class='fa fa-caret-down'></i></a></li>
</ul>
<div class='cTemplateControls' id='elTemplateEditor_fileListControls'>
<a href='#elTemplateEditor_newItemMenu_menu' id='elTemplateEditor_newItemMenu' class='ipsButton ipsButton_normal ipsButton_small ipsButton_fullWidth' data-ipsMenu>{lang="theme_template_new"} &nbsp;<i class='fa fa-caret-down'></i></a>
</div>
<ul id='elTemplateEditor_newItemMenu_menu' role='menu' class='ipsMenu ipsMenu_auto ipsMenu_withStem ipsHide'>
<li class='ipsMenu_item'><a role='menuitem' href='{url="app=cms&module=pages&controller=templates&do=addTemplate&type=block"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-title='{lang="content_template_add_template_block_title"}'>{lang="content_template_add_template_block"}</a></li>
<li class='ipsMenu_item'><a role='menuitem' href='{url="app=cms&module=pages&controller=templates&do=addTemplate&type=page"}' data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-title='{lang="content_template_add_template_page_title""}'>{lang="content_template_add_template_page"}</a></li>
@@ -769,21 +893,22 @@
</div>
</div>
<div class='ipsColumn ipsColumn_fluid' data-controller='cms.admin.templates.fileEditor'>
<ul class='ipsList_inline ipsClearfix' id='elTemplateEditor_panelToolbar'>
<li class='ipsPos_right'>
<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>
</li>
<li>
<button type='submit' class='ipsButton ipsButton_primary ipsButton_small' data-action="save">{lang="save"}</button>
</li>
<li>
<span data-role='loading' class='ipsHide'><i class='icon-spinner2 ipsLoading_tinyIcon'></i> &nbsp;{lang="loading"}</span>
</li>
</ul>
<br>
<div class='cTemplateControls'>
<ul class='ipsList_inline ipsClearfix' id='elTemplateEditor_panelToolbar'>
<li class='ipsPos_right'>
<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>
</li>
<li>
<button type='submit' class='ipsButton ipsButton_primary ipsButton_small' data-action="save">{lang="save"}</button>
</li>
<li>
<span data-role='loading' class='ipsHide'><i class='icon-spinner2 ipsLoading_tinyIcon'></i> &nbsp;{lang="loading"}</span>
</li>
</ul>
</div>
<div id='elTemplateEditor_outerPanelWrap'>
<div id='elTemplateEditor_panelWrap'>
<ul id='elTemplateEditor_tabbar' class='ipsTabs ipsClearfix acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
@@ -798,11 +923,6 @@
</div>
</div>
</div>
<br>
<ul class='ipsList_inline ipsType_light ipsType_small'>
<li class='cTemplateState_changed'> {lang="content_templates_modified"}</li>
<li class='cTemplateState_custom'> {lang="content_templates_custom"}</li>
</ul>
<div id='elTemplateEditor_attributesDialog' class='ipsHide'>
<div data-controller='cms.admin.templates.variablesDialog'>
<div class='ipsPad'>
@@ -837,7 +957,11 @@
</div>
</div>
</div>
</form>]]></template>
</form>
<ul class='ipsList_inline ipsType_light ipsType_small' id='elTemplateEditor_info'>
<li class='cTemplateState_changed'> {lang="content_templates_modified"}</li>
<li class='cTemplateState_custom'> {lang="content_templates_custom"}</li>
</ul>]]></template>
<template template_group="templates" template_name="viewTemplate" template_data="$template" template_location="admin" template_app="cms"><![CDATA[<div class='ipsPad'>
<strong>{lang="content_template_editor_fields_params"}:</strong> <span class='ipsType_monospace'>{$template['template_params']}</span>
<pre data-controller='core.global.editor.customtags' class='ipsType_monospace ipsTemplate_box' data-control="codemirror" data-mode="htmlmixed">
@@ -902,7 +1026,7 @@
{template="userPhoto" group="global" app="core" params="$record->author(), 'tiny'"}
</div>
<div class='ipsDataItem_main cWidgetComments'>
<div class="ipsCommentCount ipsPos_right {{if ( $record->record_comments ) === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="replies_number" pluralize="$record->record_comments"}'>{expression="$record->record_comments"}</div>
<div class="ipsCommentCount ipsPos_right {{if ( $record->record_comments ) === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="num_replies" pluralize="$record->record_comments"}'>{expression="$record->record_comments"}</div>
<div class='ipsType_break ipsContained'>
<a href="{$record->url()->setQueryString( 'do', 'getLastComment' )}" title='{lang="view_this_cmsrecord" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'content_db_lang_sl_' . $record::$customDatabaseId, FALSE ), $record->_title"}' class='ipsDataItem_title'>{$record->_title}</a>
</div>
@@ -938,7 +1062,7 @@
</ul>
</div>
{{endif}}]]></template>
<template template_group="widgets" template_name="Wysiwyg" template_data="$content, $orientation='horizontal'" template_location="front" template_app="cms"><![CDATA[<div class='ipsWidget_inner {{if $orientation == 'vertical'}}ipsPad{{endif}}'>
<template template_group="widgets" template_name="Wysiwyg" template_data="$content, $orientation='horizontal'" template_location="front" template_app="cms"><![CDATA[<div class='ipsWidget_inner ipsPad ipsType_richText'>
{$content|raw}
</div>
]]></template>
@@ -946,10 +1070,12 @@
#elPages_block_preview_wrapper {
background: transparent;
z-index: 1;
margin-left: 355px;
}
#elpages_block_preview {
width: 100%;
max-width: 600px;
min-width: 450px;
min-height: 230px;
margin: 10px 0;
@@ -963,23 +1089,10 @@
z-index: 0;
}</css>
<css css_location="front" css_app="cms" css_attributes="" css_path="database_index" css_name="featured.css">/* ----- */
.cCmsCategoryFeaturedEntry
{
border-bottom: 2px solid #ebebeb;
padding: 20px 0 30px 0;
}
.cCmsCategoryFeaturedEntry:last-child
{
border-bottom: 0px;
padding-bottom: 0px;
}
.cCmsCategoryFeaturedEntry .cCmsRecord_image {
float: left;
margin-right: 15px;
margin-top: 4px;
border: 4px solid #e2e2e2;
}
.cCmsCategoryFeaturedEntry .cCmsRecord_image img {
@@ -1006,17 +1119,6 @@
max-width: 150px;
}
.cmsCategory2col .ipsGrid_span6:nth-of-type(1) {
border-right: 1px solid #e2e2e2;
padding-right: 10px;
}
.cmsCategory2col .cCmsCategoryFeaturedEntry
{
border-bottom: 0px;
padding: 0px 0 30px 0;
}
.cmsCategory2col {
margin-top: 20px;
}
@@ -1044,12 +1146,6 @@
margin-top: 20px;
}
.cmsCategory3col .ipsGrid_span4:nth-of-type(1),
.cmsCategory3col .ipsGrid_span4:nth-of-type(2) {
border-right: 1px solid #e2e2e2;
padding-right: 10px;
}
/* 2 col featured image */
.cCmsCategoryFeaturedEntry.cms2ColImageFeature .cCmsRecord_image {
width: 100%;
@@ -1087,8 +1183,37 @@
.cCmsCategoryFeaturedEntry.cms3ColImageFeature .ipsType_pageTitle {
font-size: 14px;
}</css>
<css css_location="admin" css_app="cms" css_attributes="" css_path="media" css_name="media.css"><![CDATA[.cMedia_manager .ipsToolList li {
margin-top: 0 !important;
<css css_location="admin" css_app="cms" css_attributes="" css_path="media" css_name="media.css"><![CDATA[.cMedia_manager {
margin: -30px;
}
.cMedia_managerToolbar {
background: #c1c1c7;
height: 66px;
padding-top: 15px;
}
.cMedia_manager > .ipsColumns > .ipsColumn {
padding: 0;
background: #fff;
}
html[dir="ltr"] .cMedia_manager > .ipsColumns > .ipsColumn_wide {
border-right: 4px solid #c1c1c7;
}
html[dir="rtl"] .cMedia_manager > .ipsColumns > .ipsColumn_wide {
border-left: 4px solid #c1c1c7;
}
.cMedia_manager > .ipsColumns > .ipsColumn_wide .cMedia_managerToolbar {
padding-left: 15px;
padding-right: 15px;
}
html[dir="ltr"] .cMedia_manager > .ipsColumns > .ipsColumn_fluid .cMedia_managerToolbar {
padding-right: 15px;
}
html[dir="rtl"] .cMedia_manager > .ipsColumns > .ipsColumn_fluid .cMedia_managerToolbar {
padding-left: 15px;
}
/* TABS */
@@ -1104,21 +1229,22 @@
#elMedia_sidebarTabs .ipsTabs_activeItem {
background: #fff;
color: #000;
}
#elMedia_sidebar {
height: 550px;
overflow: auto;
}
#elMedia_fileList,
#elMedia_searchResults {
height: 587px;
overflow: auto;
}
#elMedia_searchField {
color: #333;
line-height: 34px;
padding: 0 7px;
}
.cMedia_item {
@@ -1197,8 +1323,10 @@
}]]></css>
<css css_location="front" css_app="cms" css_attributes="" css_path="pages" css_name="page.css">/* ----- */
.ipsWidget.ipsWidget_horizontal[data-blockid^=&quot;app_cms&quot;]:not(.ipsBox) {
.ipsWidget.ipsWidget_horizontal[data-blockid^=&quot;app_cms&quot;] {
padding: 0px !important;
background: transparent;
border: none;
}
#elCmsPageWrap .cWidgetContainer_managing ul {
@@ -1280,16 +1408,65 @@ div[data-controller=&quot;core.front.core.commentsWrapper&quot;] .ipsTabs {
max-width: 20px;
}</css>
<css css_location="admin" css_app="cms" css_attributes="" css_path="templates" css_name="templates.css"><![CDATA[/* ----- */
#elTemplateEditor {
margin: -30px;
}
.cTemplateControls {
background: #c1c1c7;
height: 66px;
padding-top: 15px;
}
.cTemplateControls .ipsButton.ipsButton_disabled {
opacity: 0.2;
}
#elTemplateEditor_fileListControls {
padding-left: 15px;
padding-right: 15px;
}
html[dir="ltr"] #elTemplateEditor_panelWrap,
html[dir="ltr"] #elTemplateEditor_panelToolbar {
margin-left: 15px;
padding-right: 15px;
}
html[dir="rtl"] #elTemplateEditor_panelWrap,
html[dir="rtl"] #elTemplateEditor_panelToolbar {
margin-right: 15px;
padding-left: 15px;
}
#elTemplateEditor > .ipsColumns > .ipsColumn {
padding: 0;
}
html[dir="ltr"] #elTemplateEditor > .ipsColumns > .ipsColumn_wide {
border-right: 4px solid #c1c1c7;
}
html[dir="rtl"] #elTemplateEditor > .ipsColumns > .ipsColumn_wide {
border-left: 4px solid #c1c1c7;
}
#elTemplateEditor_info {
position: fixed;
bottom: 0;
background: #fff;
text-align: center;
padding: 7px;
border-top: 1px solid rgba(0,0,0,0.2);
}
html[dir="ltr"] #elTemplateEditor_info {
left: 270px;
right: 0;
}
html[dir="ltr"] body.cAdminHideMenu #elTemplateEditor_info {
left: 70px;
}
html[dir="rtl"] #elTemplateEditor_info {
right: 270px;
left: 0;
}
html[dir="rtl"] body.cAdminHideMenu #elTemplateEditor_info {
right: 70px;
}
#elTemplateEditor .ipsTabs {
padding: 0;
}
@@ -1299,6 +1476,11 @@ html[dir="rtl"] #elTemplateEditor_panelToolbar {
text-overflow: clip !important;
}
#elTemplateEditor .ipsTabs_item.ipsTabs_activeItem {
background: #fff;
color: #000;
}
#elTemplateEditor [data-role="editor"],
#elTemplateEditor .CodeMirror {
border-width: 0px !important;
@@ -1325,7 +1507,6 @@ html[dir="rtl"] #elTemplateEditor_panelToolbar {
#elTemplateEditor_outerPanelWrap {
position: relative;
height: 590px;
}
#elTemplateEditor [data-role="templatePanelWrap"] {
@@ -1361,14 +1542,9 @@ html[dir="rtl"] #elTemplateEditor_panelToolbar {
/* FILE LISTING STYLES */
#elTemplateEditor_fileList {
height: 550px;
overflow: auto;
}
#elTemplateEditor [data-role="fileList"] .ipsTabs {
margin-top: 15px;
}
.cTemplateList a:not(.ipsCms_templateOptions) {
padding: 5px 0;
display: block;
@@ -1459,7 +1635,7 @@ a.ipsCms_templateOptions {
}
.cTemplateList li.cTemplateList_activeNode > a:not(.ipsCms_templateOptions) {
background: #748391;
background: #2E3D49;
color: #fff;
}