Version 4.6.0

This commit is contained in:
Neo committed 2025-12-19 05:55:31 -08:00
1 parent f79dcf067a
commit 517a5e1f70
2036 files changed
+110041 -26162

No files matched your search

+2 -1
View File
@@ -4,5 +4,6 @@
"app_directory": "cms",
"app_protected": 0,
"app_website": null,
"app_update_check": null
"app_update_check": null,
"app_hide_tab": 0
}
+1
View File
@@ -46,4 +46,5 @@
<hook key="Topic"><![CDATA[{"type":"C","class":"\\IPS\\forums\\Topic"}]]></hook>
<hook key="FriendlyUrl"><![CDATA[{"type":"C","class":"\\IPS\\Http\\Url\\Friendly"}]]></hook>
<hook key="Output"><![CDATA[{"type":"C","class":"\\IPS\\Output"}]]></hook>
<hook key="apiForum"><![CDATA[{"type":"C","class":"\\IPS\\forums\\api\\forums"}]]></hook>
</build>
+81 -81
View File
@@ -10,17 +10,11 @@
{{if $record->prefix()}}
<span>{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}</span>
{{endif}}
<span class='ipsType_break ipsContained'>
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}" class='ipsTruncate ipsTruncate_line'>
{{if $record->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="cms_unread_record"}"><i class="fa fa-circle"></i></span>
{{endif}}
{$record->_title}
</a>
</span>
{{if $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}
{{if $record->isFutureDate() || $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}
<span>
{{if $record->hidden() === -1}}
{{if $record->isFutureDate()}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
{{elseif $record->hidden() === -1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$record->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
{{elseif $record->hidden() === 1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
@@ -33,9 +27,16 @@
{{endif}}
</span>
{{endif}}
<span class='ipsType_break ipsContained'>
{{if $record->unread()}}
<a href='{$record->url('getNewComment')}'><span class='ipsItemStatus' data-ipsTooltip title="{lang="cms_unread_record"}"><i class="fa fa-circle"></i></span></a>
{{endif}}
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}">{wordbreak="$record->_title"}</a>
</span>
</h2>
<p class='ipsType_light ipsType_reset cmsInformation'>
{lang="cms_byline" htmlsprintf="$record->author()->link(), $record->container()->url(), $record->container()->_title"}{datetime="$record->record_publish_date"}
{lang="cms_byline" htmlsprintf="$record->author()->link( NULL, NULL, $record->isAnonymous() ), $record->container()->url(), $record->container()->_title"}{datetime="$record->record_publish_date"}
</p>
</div>
</header>
@@ -48,7 +49,7 @@
{{endforeach}}
</div>
{{endif}}
<section class='ipsType_normal ipsType_richText ipsType_break ipsSpacer_both' data-ipsTruncate data-ipsTruncate-size='7 lines' data-ipsTruncate-type='remove'>
<section class='ipsType_normal ipsType_richText ipsType_break ipsSpacer_both ipsClearfix' data-ipsTruncate data-ipsTruncate-size='7 lines' data-ipsTruncate-type='remove'>
{{if $record->record_image}}
<div class="cCmsRecord_image">
<img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}">
@@ -135,8 +136,8 @@
{{endif}}
<h2 class='ipsType_pageTitle'>
<div class='ipsType_break ipsContained'>
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}" class='ipsTruncate ipsTruncate_line'>
{$record->_title}
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}">
{wordbreak="$record->_title"}
</a>
</div>
</h2>
@@ -196,11 +197,11 @@
<span>{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}</span>
{{endif}}
<span class='ipsType_break ipsContained'>
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}" class='ipsTruncate ipsTruncate_line'>
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}">
{{if $record->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="cms_unread_record"}"><i class="fa fa-circle"></i></span>
{{endif}}
{$record->_title}
{wordbreak="$record->_title"}
</a>
</span>
{{if $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}
@@ -220,7 +221,7 @@
{{endif}}
</h2>
<p class='ipsType_light ipsType_reset cmsInformation'>
{lang="cms_byline" htmlsprintf="$record->author()->link(), $record->container()->url(), $record->container()->_title"}{datetime="$record->record_publish_date"}
{lang="cms_byline" htmlsprintf="$record->author()->link( NULL, NULL, $record->isAnonymous() ), $record->container()->url(), $record->container()->_title"}{datetime="$record->record_publish_date"}
</p>
</div>
</header>
@@ -233,7 +234,7 @@
{{endforeach}}
</div>
{{endif}}
<section class='ipsType_normal ipsType_richText ipsType_break ipsSpacer_both' data-ipsTruncate data-ipsTruncate-size='7 lines' data-ipsTruncate-type='remove'>
<section class='ipsType_normal ipsType_richText ipsType_break ipsSpacer_both ipsClearfix' data-ipsTruncate data-ipsTruncate-size='7 lines' data-ipsTruncate-type='remove'>
{{if $record->record_image}}
<div class="cCmsRecord_image">
<img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}">
@@ -320,8 +321,8 @@
{{endif}}
<h2 class='ipsType_pageTitle'>
<span class='ipsType_break ipsContained'>
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}" class='ipsTruncate ipsTruncate_line'>
{$record->_title}
<a href="{$record->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$record->_title"}">
{wordbreak="$record->_title"}
</a>
</span>
</h2>
@@ -405,7 +406,7 @@
</span>
</h2>
<p class='ipsType_light ipsType_reset'>
{lang="cms_byline" htmlsprintf="$record->author()->link(), $record->container()->url(), $record->container()->_title"}{datetime="$record->record_publish_date"}
{lang="cms_byline" htmlsprintf="$record->author()->link( NULL, NULL, $record->isAnonymous() ), $record->container()->url(), $record->container()->_title"}{datetime="$record->record_publish_date"}
</p>
</div>
</header>
@@ -608,7 +609,10 @@
{template="userPhoto" app="core" group="global" params="$comment->author(), 'mini', $comment->warningRef()"}
<div>
<h3 class='ipsComment_author ipsType_blendLinks'>
<strong class='ipsType_normal'>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef()"}</strong>
<strong class='ipsType_normal'>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef(), NULL, $comment->isAnonymous()"}</strong>
{{if $comment instanceof \IPS\Content\Anonymous and $comment->isAnonymous() and \IPS\Member::loggedIn()->modPermission('can_view_anonymous_posters')}}
<a data-ipsHover data-ipsHover-width="370" data-ipsHover-onClick href="{$comment->url( 'reveal' )->csrf()}"><span class="cAuthorPane_badge cAuthorPane_badge_small cAuthorPane_badge--anon" data-ipsTooltip title="{lang="post_anonymously_reveal"}"></span></a>
{{endif}}
{template="reputationBadge" group="global" app="core" params="$comment->author()"}
</h3>
<p class='ipsComment_meta ipsType_light ipsType_medium'>
@@ -648,15 +652,12 @@
{{if $comment->hidden() !== 1 && ( $comment->canReportOrRevoke() === TRUE || $comment->canEdit() || \count( $comment->sharelinks() ) || $comment->canPromoteToSocialMedia() || $comment->canDelete() || $comment->canSplit() || ( $comment instanceof \IPS\Content\Hideable AND ( ( !$comment->hidden() and $comment->canHide() ) || ( $comment->hidden() and $comment->canUnhide() ) ) ) || ( $comment->hidden() == -2 and \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || \count( $item->commentMultimodActions() ) )}}
<ul class='ipsList_reset ipsComment_tools'>
<li>
<a href='#elControls_{$comment->$idField}_menu' id='elControls_{$comment->$idField}' class='ipsComment_ellipsis' data-ipsMenu data-ipsMenu-appendTo='#comment-{$comment->$idField}_wrap'><i class='fa fa-ellipsis-h'></i></a>
<ul id='elControls_{$comment->$idField}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
<a href='#elControlsComments_{$comment->$idField}_menu' id='elControlsComments_{$comment->$idField}' class='ipsComment_ellipsis' data-ipsMenu data-ipsMenu-appendTo='#comment-{$comment->$idField}_wrap'><i class='fa fa-ellipsis-h'></i></a>
<ul id='elControlsComments_{$comment->$idField}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
{{if $comment->canReportOrRevoke() === TRUE}}
<li class='ipsMenu_item'><a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report_reply"}</a></li>
<li class='ipsMenu_item'><a href='{$comment->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}"{{endif}} data-action='reportComment' title='{lang="report_content"}'>{lang="report_reply"}</a></li>
{{endif}}
{{if \count( $comment->sharelinks() )}}
<li class='ipsMenu_item'><a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-content='#elShareComment_{$comment->$idField}_menu' id='elShareComment_{$comment->$idField}' data-ipsDialog-title="{lang="share_this_comment"}" data-role='shareComment'>{lang="share_this_comment"}</a></li>
{{endif}}
{{if $comment->canReportOrRevoke() === TRUE || \count( $comment->sharelinks() )}}
{{if $comment->canEdit() || $comment->canPromoteToSocialMedia() || $comment->canDelete() || $comment->canSplit() || ( $comment instanceof \IPS\Content\Hideable AND ( ( !$comment->hidden() and $comment->canHide() ) || ( $comment->hidden() and $comment->canUnhide() ) ) ) || ( $comment->hidden() == -2 and \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
@@ -679,7 +680,7 @@
{{else}}
{{if $comment instanceof \IPS\Content\Hideable}}
{{if !$comment->hidden() and $comment->canHide()}}
<li class='ipsMenu_item'><a href='{$comment->url('hide')->csrf()}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
<li class='ipsMenu_item'><a href='{$comment->url('hide')}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
{{elseif $comment->hidden() and $comment->canUnhide()}}
<li class='ipsMenu_item'><a href='{$comment->url('unhide')->csrf()}'>{lang="unhide"}</a></li>
{{endif}}
@@ -694,7 +695,7 @@
<li class='ipsMenu_item'><a href='{$comment->url('unfeature')->csrf()->setPage('page',\IPS\Request::i()->page)}'>{lang="unrecommend_content"}</a></li>
{{endif}}
{{if !$comment->isFeatured() AND $item->canFeatureComment()}}
<li class='ipsMenu_item'><a href='{$comment->url('feature')->csrf()->setPage('page',\IPS\Request::i()->page)}' data-ipsDialog data-ipsDialog-title='{lang="recommend_comment"}' data-ipsDialog-remoteSubmit data-ipsDialog-size='narrow'>{lang="recommend_content"}</a></li>
<li class='ipsMenu_item'><a href='{$comment->url('feature')->setPage('page',\IPS\Request::i()->page)}' data-ipsDialog data-ipsDialog-title='{lang="recommend_comment"}' data-ipsDialog-remoteSubmit data-ipsDialog-size='narrow'>{lang="recommend_content"}</a></li>
{{endif}}
{{if $comment->canPromoteToSocialMedia()}}
<li class='ipsMenu_item'>{template="promoteLink" app="core" group="global" params="$comment"}</li>
@@ -738,8 +739,8 @@
{{endif}}
{{if $comment->canEdit() || $comment->canSplit() || $comment->canHide()}}
<li>
<a href='#elControls_{$comment->$idField}_menu' id='elControls_{$comment->$idField}' data-ipsMenu data-ipsMenu-appendTo='#comment-{$comment->$idField}_wrap'>{lang="moderator_tools"} &nbsp;<i class='fa fa-caret-down'></i></a>
<ul id='elControls_{$comment->$idField}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
<a href='#elControlsCommentsSub_{$comment->$idField}_menu' id='elControlsCommentsSub_{$comment->$idField}' data-ipsMenu data-ipsMenu-appendTo='#comment-{$comment->$idField}_wrap'>{lang="moderator_tools"} &nbsp;<i class='fa fa-caret-down'></i></a>
<ul id='elControlsCommentsSub_{$comment->$idField}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
{{if $comment->canEdit()}}
{{if $comment->mapped('first') and $comment->item()->canEdit()}}
<li class='ipsMenu_item'><a href='{$comment->item()->url()->setQueryString( 'do', 'edit' )}'>{lang="edit"}</a></li>
@@ -780,15 +781,8 @@
<a href='{url="app=core&module=modcp&controller=modcp&tab=ip_tools&ip=$comment->ip_address" seoTemplate="modcp_ip_tools"}' class='ipsButton ipsButton_light ipsButton_small ipsButton_fullWidth'>{lang="more_about_ip_address"} <i class='fa fa-angle-right'></i></a>
</div>
{{endif}}
<div class='ipsPadding ipsHide cPostShareMenu' id='elShareComment_{$comment->$idField}_menu'>
<h5 class='ipsType_normal ipsType_reset'>{lang="link_to_comment"}</h5>
<input type='text' value='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' class='ipsField_fullWidth'>
{{if !$comment->item()->container()->disable_sharelinks}}
<h5 class='ipsType_normal ipsType_reset ipsSpacer_top'>{lang="share_externally"}</h5>
{template="sharelinks" group="global" app="core" params="$comment"}
{{endif}}
</div>
{template="sharemenu" group="global" app="core" params="$comment"}
</div>]]></template>
<template template_key="database_display_commentContainer" template_title="commentContainer" template_desc="" template_location="database" template_group="display" template_params="$item, $comment, $votes=array(), $otherClasses=''" template_app="" template_type="template"><![CDATA[{{$idField = $comment::$databaseColumnId;}}
{{$itemClassSafe = str_replace( '\\', '_', mb_substr( $comment::$itemClass, 4 ) );}}
@@ -931,7 +925,10 @@
{template="userPhoto" app="core" group="global" params="$record->author(), 'tiny', $record->warningRef()"}
<div>
<p class='ipsType_reset ipsType_large ipsType_blendLinks'>
{lang="content_record_started_by" htmlsprintf="$record->author()->link()"}
{lang="content_record_started_by" htmlsprintf="$record->author()->link( NULL, NULL, $record->isAnonymous() )"}
{{if $record->isAnonymous() and \IPS\Member::loggedIn()->modPermission('can_view_anonymous_posters')}}
<a data-ipsHover data-ipsHover-width="370" data-ipsHover-onClick href="{$record->url( 'reveal' )->csrf()}"><span class="cAuthorPane_badge cAuthorPane_badge_small cAuthorPane_badge--anon" data-ipsTooltip title="{lang="post_anonymously_reveal"}"></span></a>
{{endif}}
{{if $record->editLine()}}
<span class='ipsType_light ipsType_medium ipsType_reset'>
({lang="edited_lc"})
@@ -977,7 +974,7 @@
<img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}">
</div>
{{endif}}
<section class="ipsType_richText ipsType_normal" data-controller='core.front.core.lightboxedImages'>{$record->_content|raw}</section>
<section class="ipsType_richText ipsContained ipsType_normal" data-controller='core.front.core.lightboxedImages'>{$record->_content|raw}</section>
{{if $record->editLine()}}
{$record->editLine()|raw}
@@ -1019,7 +1016,7 @@
<li class='ipsMenu_item'><a href='{$record->url('edit')}' title='{lang="edit"}'>{lang="edit"}</a></li>
{{endif}}
{{if $record->canReportOrRevoke() === TRUE}}
<li class='ipsMenu_item'><a href='{$record->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}">{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}</a></li>
<li class='ipsMenu_item'><a href='{$record->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}"{{endif}} title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}">{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}</a></li>
{{endif}}
{{if ( $record->canEdit() || $record->canReportOrRevoke() === TRUE ) AND ( (\IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') AND $record->hidden() == -2 ) OR ( $record->isFutureDate() and $record::canFuturePublish( NULL, $record->container() ) ) OR $record->canFeature() OR $record->canUnfeature() OR $record->canPin() OR $record->canUnpin() OR $record->canHide() OR $record->canUnhide() OR $record->canLock() OR $record->canUnlock() OR $record->canMove() OR $record->canDelete() OR $record->canOnMessage( 'add' ) OR \IPS\Member::loggedIn()->modPermission('can_view_moderation_log') )}}
<li class='ipsMenu_sep'><hr></li>
@@ -1045,7 +1042,7 @@
<li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unpin' ) )}' title='{lang="unpin_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unpin"}</a></li>
{{endif}}
{{if $record->canHide()}}
<li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'hide' ) )}' title='{lang="hide_title_record" sprintf="$record::database()->recordWord(1)"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
<li class='ipsMenu_item'><a href='{$record->url('moderate')->setQueryString( array( 'action' => 'hide' ) )}' title='{lang="hide_title_record" sprintf="$record::database()->recordWord(1)"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
{{endif}}
{{if $record->canUnhide()}}
<li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unhide' ) )}' title='{{if $record->hidden() === 1}}{lang="approve_title_record" sprintf="$record::database()->recordWord(1)"}{{else}}{lang="unhide_title_record" sprintf="$record::database()->recordWord(1)"}{{endif}}'>{{if $record->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
@@ -1057,23 +1054,23 @@
<li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unlock' ) )}' title='{lang="unlock_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unlock"}</a></li>
{{endif}}
{{if $record->canMove()}}
<li class='ipsMenu_item'><a href='{$record->url('move')->csrf()}' data-ipsDialog data-ipsDialog-title="{lang="move"}" title='{lang="move_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="move"}</a></li>
<li class='ipsMenu_item'><a href='{$record->url('move')}' data-ipsDialog data-ipsDialog-title="{lang="move"}" title='{lang="move_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="move"}</a></li>
{{endif}}
{{if $record->canDelete()}}
<li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'delete' ) )}' data-confirm title='{lang="delete_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="delete"}</a></li>
{{endif}}
{{if $record->canOnMessage( 'add' )}}
<li class='ipsMenu_item'><a href='{$record->url('messageForm')->csrf()}' data-ipsDialog data-ipsDialog-title='{lang="add_message"}'>{lang="add_message"}</a></li>
<li class='ipsMenu_item'><a href='{$record->url('messageForm')}' data-ipsDialog data-ipsDialog-title='{lang="add_message"}'>{lang="add_message"}</a></li>
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$record->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
<li class="ipsMenu_item"><a href='{$record->url()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
{{endif}}
{{endif}}
</ul>
</li>
{{elseif $record->canReportOrRevoke() === TRUE}}
<li><a href='{$record->url('report')}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}">{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}</a></li>
<li><a href='{$record->url('report')}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}"{{endif}} title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}">{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}</a></li>
{{endif}}
{{if $record->canManageRevisions()}}
@@ -1185,11 +1182,11 @@
<div class='ipsType_reset ipsType_light ipsType_blendLinks ipsComment_toolWrap'>
<ul class='ipsList_reset ipsComment_tools'>
<li>
<a href='#elControls_{$review->id}_menu' class='ipsComment_ellipsis' id='elControls_{$review->id}' title='{lang="more_options"}' data-ipsMenu data-ipsMenu-appendTo='#review-{$review->id}_wrap'><i class='fa fa-ellipsis-h'></i></a>
<ul id='elControls_{$review->id}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
<a href='#elControlsReviews_{$review->id}_menu' class='ipsComment_ellipsis' id='elControlsReviews_{$review->id}' title='{lang="more_options"}' data-ipsMenu data-ipsMenu-appendTo='#review-{$review->id}_wrap'><i class='fa fa-ellipsis-h'></i></a>
<ul id='elControlsReviews_{$review->id}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
{{if $review->canReportOrRevoke() === TRUE}}
<li class='ipsMenu_item'>
<a href='{$review->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report"}'>{lang="report"}</a>
<a href='{$review->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}"{{endif}} data-action='reportComment' title='{lang="report"}'>{lang="report"}</a>
</li>
{{endif}}
<li class='ipsMenu_item'>
@@ -1211,7 +1208,7 @@
{{else}}
{{if $review instanceof \IPS\Content\Hideable}}
{{if !$review->hidden() and $review->canHide()}}
<li class='ipsMenu_item'><a href='{$review->url('hide')->csrf()}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
<li class='ipsMenu_item'><a href='{$review->url('hide')}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
{{elseif $review->hidden() and $review->canUnhide()}}
<li class='ipsMenu_item'><a href='{$review->url('unhide')->csrf()}'>{lang="unhide"}</a></li>
{{endif}}
@@ -1243,14 +1240,14 @@
<div class='ipsFlex ipsFlex-ai:center ipsFlex-jc:between ipsMargin_bottom:half'>
<h4 class='ipsType_sectionHead ipsType_medium ipsType_bold'>{lang="review_response_title"}</h4>
<a href='#elControls_{$review->id}_response_menu' class='ipsComment_ellipsis ipsType_light' id='elControls_{$review->id}_response' title='{lang="more_options"}' data-ipsMenu data-ipsMenu-appendTo='#review-{$review->id}_wrap'><i class='fa fa-ellipsis-h'></i></a>
<a href='#elControlsReviews_{$review->id}_response_menu' class='ipsComment_ellipsis ipsType_light' id='elControlsReviews_{$review->id}_response' title='{lang="more_options"}' data-ipsMenu data-ipsMenu-appendTo='#review-{$review->id}_wrap'><i class='fa fa-ellipsis-h'></i></a>
</div>
<div data-role="reviewResponse" class="ipsType_richText ipsType_normal ipsContained" data-controller='core.front.core.lightboxedImages'>
{$review->mapped('author_response')|raw}
</div>
{{if $review->canEditResponse() OR $review->canDeleteResponse()}}
<ul class='ipsMenu ipsMenu_narrow ipsHide' id='elControls_{$review->id}_response_menu'>
<ul class='ipsMenu ipsMenu_narrow ipsHide' id='elControlsReviews_{$review->id}_response_menu'>
{{if $review->canEditResponse()}}
<li class='ipsMenu_item'><a href='{$review->url('editResponse')}' data-ipsDialog data-ipsDialog-title='{lang="review_author_respond"}'>{lang="edit"}</a></li>
{{endif}}
@@ -1269,12 +1266,12 @@
{{endif}}
{{endif}}
</div>
{{if ( member.member_id and ( !$review->mapped('votes_data') or !array_key_exists( member.member_id, json_decode( $review->mapped('votes_data'), TRUE ) ) ) ) || $review->canEdit() || $review->canDelete() || $review->canHide() || $review->canUnhide() || ( $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( $review->hidden() !== 1 && \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Reactable' ) and settings.reputation_enabled and $review->hasReactionBar() )}}
{{if ( member.member_id and ( !$review->mapped('votes_data') or !array_key_exists( member.member_id, json_decode( $review->mapped('votes_data'), TRUE ) ) ) ) || $review->canEdit() || $review->canDelete() || $review->canHide() || $review->canUnhide() || $review->canRespond() || ( $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( $review->hidden() !== 1 && \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Reactable' ) and settings.reputation_enabled and $review->hasReactionBar() )}}
<div class='ipsItemControls'>
{{if $review->hidden() !== 1 && \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Reactable' ) and settings.reputation_enabled}}
{template="reputation" group="global" app="core" params="$review"}
{{endif}}
{{if $review->canEdit() || $review->canDelete() || $review->canHide() || $review->canUnhide() || ( $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
{{if $review->canEdit() || $review->canDelete() || $review->canHide() || $review->canUnhide() || $review->canRespond() || ( $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
<ul class='ipsComment_controls ipsClearfix ipsItemControls_left' data-role="commentControls">
{{if $review->hidden() === 1 && ( $review->canUnhide() || $review->canDelete() )}}
{{if $review->canUnhide()}}
@@ -1285,8 +1282,8 @@
{{endif}}
{{if $review->canEdit() || $review->canSplit() || ( $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
<li>
<a href='#elControls_{$review->id}_menu' id='elControls_{$review->id}' data-ipsMenu data-ipsMenu-appendTo='#review-{$review->id}_wrap'>{lang="options"} &nbsp;<i class='fa fa-caret-down'></i></a>
<ul id='elControls_{$review->id}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
<a href='#elControlsReviewsSub_{$review->id}_menu' id='elControlsReviewsSub_{$review->id}' data-ipsMenu data-ipsMenu-appendTo='#review-{$review->id}_wrap'>{lang="options"} &nbsp;<i class='fa fa-caret-down'></i></a>
<ul id='elControlsReviewsSub_{$review->id}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
{{if $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content')}}
<li class='ipsMenu_item'><a href='{$review->url('restore')->csrf()}' data-confirm data-confirmSubMessage='{lang="restore_as_visible_desc"}'>{lang="restore_as_visible"}</a></li>
<li class='ipsMenu_item'><a href='{$review->url('restore')->csrf()->setQueryString( 'restoreAsHidden', 1 )}' data-confirm data-confirmSubMessage='{lang="restore_as_hidden_desc"}'>{lang="restore_as_hidden"}</a></li>
@@ -1320,11 +1317,8 @@
{{endif}}
</div>
{{endif}}
<div class='ipsPadding ipsHide cPostShareMenu' id='elShareReview_{$review->id}_menu'>
<h5 class='ipsType_normal ipsType_reset'>{lang="link_to_comment"}</h5>
<input type='text' value='{$review->item()->url()->setQueryString( array( 'do' => 'findReview', 'review' => $review->id ) )}' class='ipsField_fullWidth'>
</div>
{template="sharemenu" group="global" app="core" params="$review"}
</div>]]></template>
<template template_key="database_display_reviewContainer" template_title="reviewContainer" template_desc="" template_location="database" template_group="display" template_params="$item, $review" template_app="" template_type="template"><![CDATA[{{if $review->isIgnored()}}
<div class='ipsComment ipsComment_ignored ipsPad_half ipsType_light'>
@@ -1865,11 +1859,9 @@
</li>
{{endif}}
</ul>
{{if $table->pages > 1}}
<div data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
</div>
{{endif}}
<div data-role="tablePagination" {{if $table->pages <= 1}}class='ipsHide'{{endif}}>
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
</div>
</div>
{{if $table->canModerate()}}
<form action="{$table->baseUrl->csrf()}" method="post" data-role='moderationTools' data-ipsPageAction>
@@ -1956,13 +1948,9 @@
</form>
{{endif}}
{{if $table->pages > 1}}
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
<div data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
</div>
{{endif}}
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear {{if $table->pages <= 1}}ipsHide{{endif}}" data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
</div>]]></template>
<template template_key="database_listing_filterMessage" template_title="filterMessage" template_desc="" template_location="database" template_group="listing" template_params="$activeFilters, $category" template_app="" template_type="template"><![CDATA[<div class='ipsMessage ipsMessage_general'>
<a href='{$category->url()->csrf()->setQueryString( array( "do" => "clearFilters", 'd' => \IPS\cms\Databases\Dispatcher::i()->databaseId ) )}' class='ipsPos_right ipsButton ipsButton_veryLight ipsButton_verySmall'>{lang="cms_database_filtered_clear"}</a>
@@ -1996,6 +1984,9 @@
</div>
{{endif}}
<div class='ipsDataItem_main'>
{{if $row->groupsPosted}}
{template="groupPostedBadges" group="global" app="core" location="front" params="$row->groupsPosted, 'topic_posted_in_groups', 'ipsResponsive_hidePhone ipsMargin_left ipsPos_right'"}
{{endif}}
<h4 class='ipsDataItem_title ipsContained_container'>
{{if $row->locked()}}
<span><i class='fa fa-lock' data-ipsTooltip title='{lang="content_locked_record"}'></i></span>
@@ -2041,7 +2032,7 @@
</div>
{{endif}}
<div class='ipsDataItem_meta ipsType_reset ipsType_light ipsType_blendLinks'>
<span>{lang="byline" htmlsprintf="$row->author()->link( $row->warningRef() )"}{datetime="$row->_publishDate"}</span>
<span>{lang="byline" htmlsprintf="$row->author()->link( $row->warningRef(), NULL, $row->isAnonymous() )"}{datetime="$row->_publishDate"}</span>
{{if \count( $row->tags() )}}
&nbsp;&nbsp;
{template="tags" group="global" app="core" params="$row->tags(), true"}
@@ -2049,6 +2040,11 @@
</div>
</div>
<ul class='ipsDataItem_stats'>
{{if $row->groupsPosted}}
<li class='ipsResponsive_showPhone ipsMargin:none'>
{template="groupPostedBadges" group="global" app="core" location="front" params="$row->groupsPosted, 'topic_posted_in_groups'"}
</li>
{{endif}}
{{foreach $row->stats(TRUE) as $k => $v}}
<li {{if \in_array( $k, $row->hotStats )}}class="ipsDataItem_stats_hot" data-text='{lang="hot_item"}' data-ipsTooltip title='{lang="hot_item_desc"}'{{endif}}>
<span class='ipsDataItem_stats_number'>{number="$v"}</span>
@@ -2082,9 +2078,13 @@
<li>
{{if $row->database()->_comment_bump & \IPS\cms\Databases::BUMP_ON_COMMENT}}
{{if $row->mapped('num_comments')}}
{lang="cms_row_commented_by" htmlsprintf="$row->lastCommenter()->link()"}
{{if $row->mapped('last_comment_anon')}}
{template="userLink" app="core" group="global" params="$row->author(), NULL, NULL, TRUE"}
{{else}}
{lang="cms_row_commented_by" htmlsprintf="$row->lastCommenter()->link()"}
{{endif}}
{{else}}
{lang="cms_row_added_by" htmlsprintf="$row->author()->link()"}
{lang="cms_row_added_by" htmlsprintf="$row->author()->link( NULL, NULL, $row->isAnonymous() )"}
{{endif}}
{{elseif $row->database()->_comment_bump & \IPS\cms\Databases::BUMP_ON_EDIT}}
{{if $row->record_edit_time > 0}}
@@ -2155,10 +2155,10 @@
<template template_key="page_page_builder_two_columns" template_title="two_columns" template_desc="" template_location="page" template_group="page_builder" template_params="$page, $widgets" template_app="" template_type="template"><![CDATA[<div>
<div class='ipsGrid ipsGrid_collapsePhone'>
<div class='ipsGrid_span6'>
{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'horizontal'"}
{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'vertical'"}
</div>
<div class='ipsGrid_span6'>
{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'horizontal'"}
{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'vertical'"}
</div>
</div>
</div>]]></template>
+28
View File
@@ -751,6 +751,34 @@
"zerofill": false,
"auto_increment": false,
"binary": false
},
"record_author_name": {
"name": "record_author_name",
"type": "VARCHAR",
"length": 255,
"decimals": null,
"values": null,
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"auto_increment": false
},
"record_is_anon": {
"allow_null": false,
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": "0",
"length": 1,
"name": "record_is_anon",
"type": "TINYINT",
"unsigned": true,
"values": [
],
"zerofill": false
}
},
"indexes": {
+4
View File
@@ -50,5 +50,9 @@
"Output": {
"type": "C",
"class": "\\IPS\\Output"
},
"apiForum": {
"type": "C",
"class": "\\IPS\\forums\\api\\forums"
}
}
+55 -20
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="105100" 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="106107" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -142,7 +142,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="105100" 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="106107" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -187,7 +187,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="105100" 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="106107" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -263,7 +263,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="105100" 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="106107" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -398,7 +398,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="105100" 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="106107" javascript_position="1000200">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -435,7 +435,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="105100" 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="106107" javascript_position="1000300"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1075,7 +1075,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="105100" 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="106107" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1121,7 +1121,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="105100" 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="106107" javascript_position="1000250"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1243,7 +1243,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="105100" 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="106107" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1355,7 +1355,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="105100" 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="106107" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1410,7 +1410,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="105100" 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="106107" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1460,7 +1460,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="105100" 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="106107" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1532,7 +1532,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="105100" 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="106107" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2479,7 +2479,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="105100" 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="106107" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2822,7 +2822,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="105100" 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="106107" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2987,7 +2987,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="105100" 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="106107" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3012,6 +3012,13 @@
* @returns {void}
*/
submitChange: function (e) {
var key = this.scope.find('[name=&quot;_variables_fileid&quot;]').val();
$('[data-fileid=&quot;' + key + '&quot;]')
.attr('data-state', 'unsaved')
.find('[data-action=&quot;closeTab&quot;]')
.html( ips.templates.render('templates.editor.unsaved') );
this.trigger( 'variablesUpdated.templates', {
fileID: this.scope.find('[name=&quot;_variables_fileid&quot;]').val(),
value: this.scope.find('[data-role=&quot;variables&quot;]').val(),
@@ -3025,7 +3032,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="105100" 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="106107" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3075,6 +3082,7 @@
} );
ips.getAjax()( ips.getSetting('baseURL') + 'index.php?app=cms&module=pages&controller=builder&do=saveOrder&orientation=' + this._orientation, {
method: 'POST',
data: {
order: order,
pageID: $('#elCmsPageWrap').attr('data-pageid'),
@@ -3094,7 +3102,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="105100" 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="106107" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -3202,7 +3210,34 @@
});
}(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="105100" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
<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">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
* ips.cms.comment.js - Front-end mixin for comments
*
* Author: Matt Mecham
*/
;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.mixin('comment', 'core.front.core.comment', true, function () {
/**
* Switch off table loading after results are fetched
*
* @returns {void}
*/
this.after('saveEditCommentDone', function () {
this.scope
.find('[data-role=&quot;commentContent&quot;]')
.addClass('sm:ipsPadding_vertical:half')
.addClass('ipsPadding_vertical')
.addClass('ipsPadding_horizontal')
.removeClass('ipsPadding_bottom')
});
});
}(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', "\
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='100' data-ipsGrid-maxItemSize='200'>\
{{{contents}}}\
</ul>\
@@ -3219,7 +3254,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="105100" 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="106107" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
/* TEMPLATECEPTION */
ips.templates.set('templates.editor.newTab', " \
<li data-fileid='{{fileid}}' data-location='{{location}}'>\
+18 -5
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="cms" version="105100">
<app key="cms" version="106107">
<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>
@@ -9,7 +9,9 @@
<word key="__indefart_content_record_reviews_title" js="0">a review</word>
<word key="__defart_content_db_lang_sl" js="0">%s</word>
<word key="__defart_content_record_comments_title" js="0">comment</word>
<word key="__defart_content_record_comments_title_plural" js="0">{!#[1:comment][?:comments]}</word>
<word key="__defart_content_record_reviews_title" js="0">review</word>
<word key="__defart_content_record_reviews_title_plural" js="0">{!#[1:review][?:reviews]}</word>
<word key="rebuilding_cms_database_categories" js="0">Rebuilding %s categories</word>
<word key="rebuilding_cms_database_reciprocal_map" js="0">Rebuilding %s reciprocal maps (field ID %s)</word>
<word key="rebuilding_cms_database_records" js="0">Rebuilding %s records</word>
@@ -64,7 +66,7 @@
<word key="can_feature_comments_record" js="0">Can recommend comments on %s?</word>
<word key="can_unfeature_comments_record" js="0">Can remove comments recommendations on %s?</word>
<word key="can_add_item_message_record" js="0">Can add messages to %s?</word>
<word key="can_edit_item_message_record" js="0">Can edit messages on %S?</word>
<word key="can_edit_item_message_record" js="0">Can edit messages on %s?</word>
<word key="can_delete_item_message_record" js="0">Can delete messages on %s?</word>
<word key="can_copy_topic_database" js="0">Can copy topics to a database?</word>
<word key="can_copy_topic_database_desc" js="0">If enabled, then the user can copy topics in forums they are allowed to moderate in, to databases they are allowed to create records in</word>
@@ -258,6 +260,7 @@
<word key="cms_block_list_key" js="0">{block=&quot;%s&quot;}</word>
<word key="cms_theme_template_custom" js="0">Custom Templates</word>
<word key="cms_theme_template_default" js="0">Default Templates</word>
<word key="delete_db_confirm_detail_msg" js="0">Any fields in other databases linking to this database will be deleted automatically.</word>
<word key="page_database_display" js="0">Contains database: %s</word>
<word key="content_edit_folder" js="0">Edit Folder</word>
<word key="content_add_folder" js="0">Add Folder</word>
@@ -435,10 +438,10 @@
<word key="field_display_display_json_badge" js="0">Display View Format</word>
<word key="field_display_custom" js="0">Custom</word>
<word key="field_display_display_json_custom" js="0">Display Custom Format</word>
<word key="field_display_display_json_custom_desc" js="0"><![CDATA[Use {$label} to show the field label, {$value} to show the display field value and {$formValue} to show the value from the form.<br />For example, your dropdown may use a key of 'open' with a value of 'Open Record'. In this example, {$formValue} would contain 'open' and {$value} would contain 'Open Record'. You may need to add the '|raw' modifier to preserve HTML, i.e. {$value|raw}, but this can introduce security issues if not used carefully. You may use Invision Community template logic such as {{if}}.<br>If using an Address field, you can show a map by using {map} and the address with {address}.<br>If using mulitple uploads, $value is an array of File Objects.]]></word>
<word key="field_display_display_json_custom_desc" js="0"><![CDATA[Use {$label} to show the field label, {$value} to show the display field value and {$formValue} to show the value from the form.<br />For example, your dropdown may use a key of 'open' with a value of 'Open Record'. In this example, {$formValue} would contain 'open' and {$value} would contain 'Open Record'. You may need to add the '|raw' modifier to preserve HTML, i.e. {$value|raw}, but this can introduce security issues if not used carefully. You may use Invision Community template logic such as {{if}}.<br>If using an Address field, you can show a map by using {map} and the address with {address}.<br>If using multiple uploads, $value is an array of File Objects.]]></word>
<word key="field_display_listing_json_badge" js="0">Listing View Format</word>
<word key="field_display_listing_json_custom" js="0">Listing Custom Format</word>
<word key="field_display_listing_json_custom_desc" js="0"><![CDATA[Use {$label} to show the field label, {$value} to show the display field value and {$formValue} to show the value from the form.<br />For example, your dropdown may use a key of 'open' with a value of 'Open Record'. In this example, {$formValue} would contain 'open' and {$value} would contain 'Open Record'. You may need to add the '|raw' modifier to preserve HTML, i.e. {$value|raw}, but this can introduce security issues if not used carefully. You may use Invision Community template logic such as {{if}}.<br>If using an Address field, you can show a map by using {map} and the address with {address}.<br>If using mulitple uploads, $value is an array of File Objects.]]></word>
<word key="field_display_listing_json_custom_desc" js="0"><![CDATA[Use {$label} to show the field label, {$value} to show the display field value and {$formValue} to show the value from the form.<br />For example, your dropdown may use a key of 'open' with a value of 'Open Record'. In this example, {$formValue} would contain 'open' and {$value} would contain 'Open Record'. You may need to add the '|raw' modifier to preserve HTML, i.e. {$value|raw}, but this can introduce security issues if not used carefully. You may use Invision Community template logic such as {{if}}.<br>If using an Address field, you can show a map by using {map} and the address with {address}.<br>If using multiple uploads, $value is an array of File Objects.]]></word>
<word key="field_display_listing_json_badge_right" js="0">Show to the right of the listing area</word>
<word key="cms_field_error_bad_syntax" js="0">The HTML syntax for the custom format is incorrect.</word>
<word key="field_key" js="0">Template Key</word>
@@ -741,7 +744,7 @@
<word key="database_record_approve" js="0">Moderate new records</word>
<word key="database_record_image" js="0">Enable record image upload</word>
<word key="database_record_image_desc" js="0">This adds an image upload field to the record form. The image is displayed within the record text area by default.</word>
<word key="cms_no_db_page_no_forum_link" js="0">These settings will have no affect until this database is added to a page.</word>
<word key="cms_no_db_page_no_forum_link" js="0">These settings will have no effect until this database is added to a page.</word>
<word key="cms_database_no_forum_selected" js="0">You have post topic enabled but have not selected a forum.</word>
<word key="cms_database_promote" js="0">Promote from Forums</word>
<word key="cms_promote_enabled" js="0">Enable</word>
@@ -966,6 +969,16 @@
<word key="acplogs__cms_added_database" js="0">Added Database: %s</word>
<word key="acplogs__cms_edited_database" js="0">Edited Database: %s</word>
<word key="acplogs__cms_deleted_database" js="0">Deleted Database: %s</word>
<word key="acplogs__cms_deleted_media" js="0">Deleted %s media files in Pages</word>
<word key="acplogs__cms_replaced_media" js="0">Replaced media file in Pages: %s</word>
<word key="acplogs__cms_uploaded_media" js="0">Uploaded %s media files in Pages</word>
<word key="acplogs__cms_imported_templates" js="0">Imported Pages templates</word>
<word key="acplogs__cms_exported_templates" js="0">Exported Pages templates</word>
<word key="acplogs__cms_template_add" js="0">Added Pages template: %s</word>
<word key="acplogs__cms_template_container" js="0">Added Pages template container: %s</word>
<word key="acplogs__cms_template_delete" js="0">Deleted Pages template: %s</word>
<word key="acplogs__cms_template_save" js="0">Edited Pages template: %s</word>
<word key="acplogs__cms_template_group_delete" js="0">Deleted Pages template group: %s</word>
<word key="block_embed_options" js="0">External embed</word>
<word key="block_embed_title" js="0">External Embed</word>
<word key="embed_message" js="0"><![CDATA[This feature allows you to embed this block on an external page that <strong>isn't</strong> part of your Invision Community. For pages created within Invision Community, use the normal embedding method instead.]]></word>
+24
View File
@@ -1671,6 +1671,18 @@
"unsigned": true,
"values": [],
"zerofill": false
},
"category_allow_anonymous": {
"name": "category_allow_anonymous",
"type": "TINYINT",
"length": null,
"decimals": null,
"values": null,
"allow_null": false,
"default": "0",
"comment": "",
"unsigned": true,
"auto_increment": false
}
},
"indexes": {
@@ -1920,6 +1932,18 @@
"zerofill": false,
"auto_increment": false,
"binary": false
},
"comment_is_anon": {
"name": "comment_is_anon",
"type": "TINYINT",
"length": null,
"decimals": null,
"values": null,
"allow_null": false,
"default": "0",
"comment": "",
"unsigned": true,
"auto_increment": false
}
},
"indexes": {
+10 -15
View File
@@ -88,7 +88,7 @@
</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" 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>
<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>
@@ -648,13 +648,9 @@
{{if $table->title}}
<h2 class='ipsType_sectionTitle ipsType_reset ipsClear'>{lang="$table->title"}</h2>
{{endif}}
{{if $table->pages > 1}}
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
<div data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
</div>
{{endif}}
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear {{if $table->pages <= 1}}ipsHide{{endif}}" data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
{{if \count( $rows )}}
@@ -665,13 +661,9 @@
</div>
{{endif}}
{{if $table->pages > 1}}
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
<div data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear {{if $table->pages <= 1}}ipsHide{{endif}}" data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
{{endif}}
</div>]]></template>
<template template_group="revisions" template_name="view" template_data="$record, $revision, $conflicts, $id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $formClass='', $attributes=array(), $sidebar=''" template_location="front" template_app="cms"><![CDATA[<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom">
<h1 class="ipsType_pageTitle">{lang="content_record_revision_title" sprintf="\IPS\DateTime::ts($revision->date)->relative(), $record->_title"}</h1>
@@ -1055,6 +1047,9 @@
<div id='elTemplateEditor_attributesDialog' class='ipsHide'>
<div data-controller='cms.admin.templates.variablesDialog'>
<div class='ipsPad'>
<div class='ipsMessage ipsMessage_information'>
{lang="template_variables_save_warning_msg"}
</div>
<p class='ipsType_textBlock' id='elTemplateEditor_attributes_title'>
{lang="content_template_editor_fields_params"}
</p>
@@ -1208,7 +1203,7 @@
<a href="{$record->url( "getPrefComment" )}" 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>
<p class='ipsType_reset ipsType_medium ipsType_blendLinks'>
<span>{lang="byline_nodate" htmlsprintf="$record->author()->link()"}</span><br>
<span>{lang="byline_nodate" htmlsprintf="$record->author()->link( NULL, NULL, $record->isAnonymous() )"}</span><br>
<span class="ipsType_light">{datetime="$record->mapped('date')"}</span>
</p>
</div>
+39 -1
View File
@@ -363,6 +363,7 @@
"104067": "4.4.10",
"104068": "4.4.10",
"104069": "4.4.10",
"104070": "4.4.11",
"105013": "4.5.0 Beta 1",
"105014": "4.5.0 Beta 1",
"105015": "4.5.0 Beta 2",
@@ -383,5 +384,42 @@
"105030": "4.5.0 Beta 11",
"105031": "4.5.0 Beta 11",
"105032": "4.5.0 Beta 12",
"105100": "4.5.0"
"105100": "4.5.0",
"105101": "4.5.0",
"105102": "4.5.1 Beta 1",
"105103": "4.5.1 Beta 1",
"105104": "4.5.1 Beta 2",
"105105": "4.5.1 Beta 3",
"105106": "4.5.1",
"105107": "4.5.2",
"105108": "4.5.2",
"105109": "4.5.2",
"105110": "4.5.2",
"105111": "4.5.2",
"105112": "4.5.3",
"105113": "4.5.3",
"105114": "4.5.3",
"105115": "4.5.3",
"105116": "4.5.4",
"105117": "4.5.4",
"105118": "4.5.4",
"105119": "4.5.4",
"105120": "4.5.4",
"105121": "4.5.4",
"105122": "4.5.4",
"105123": "4.5.4",
"105124": "4.5.4.1",
"105125": "4.5.4.2",
"105126": "4.5.4.2",
"105127": "4.5.4.2",
"105128": "4.5.4.2",
"105129": "4.5.4.2",
"105130": "4.5.4.2",
"106100": "4.6.0 Beta 1",
"106101": "4.6.0 Beta 1.1",
"106103": "4.6.0 Beta 2",
"106104": "4.6.0 Beta 3",
"106105": "4.6.0 Beta 3.1",
"106106": "4.6.0 Beta 4",
"106107": "4.6.0"
}