Version 4.1.19
This commit is contained in:
1 parent
28bd025b35
commit
2bd5025018
2674 files changed
+233518
-77766
No files matched your search
+237
-154
@@ -6,16 +6,18 @@
|
||||
<header class='ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_{$size} ipsSpacer_bottom'>
|
||||
{template="userPhoto" app="core" params="$record->author(), $size" group="global"}
|
||||
<div>
|
||||
<h2 class='ipsType_pageTitle'>
|
||||
<h2 class='ipsType_pageTitle ipsContained_container'>
|
||||
{{if $record->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}</span>
|
||||
{{endif}}
|
||||
<a href="{$record->url()}" 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}}
|
||||
{wordbreak="$record->_title"}
|
||||
</a>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href="{$record->url()}" 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>
|
||||
</div>
|
||||
{{if $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}
|
||||
{{if $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>
|
||||
@@ -47,7 +49,7 @@
|
||||
<section class='ipsType_normal ipsType_richText ipsType_break ipsSpacer_both' 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" extension="cms_Records"}">
|
||||
<img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}">
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
@@ -59,9 +61,9 @@
|
||||
<ul class='ipsList_inline'>
|
||||
<li><strong><a href='{$record->url()}' title="{lang="read_more_about" sprintf="$record->name"}">{lang="read_more"}</a></strong></li>
|
||||
{{if $record::database()->options['reviews']}}
|
||||
<li>{template="rating" app="core" params="'small', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of" group="global"}</li>
|
||||
<li>{template="rating" app="core" params="'small', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $record->memberReviewRating()" group="global"}</li>
|
||||
{{endif}}
|
||||
<li><a href='{$record->url()}#comments' title='{lang="view_comments"}'><i class='fa fa-comment'></i> {lang="num_comments" pluralize="$record->record_comments"}</a></li>
|
||||
{{if $record::database()->options['comments']}}<li><a href='{$record->url()}#comments' title='{lang="view_comments"}'><i class='fa fa-comment'></i> {lang="num_comments" pluralize="$record->record_comments"}</a></li>{{endif}}
|
||||
<li class='ipsType_light'>{lang="num_views_with_number" pluralize="$record->record_views"}</li>
|
||||
</ul>
|
||||
</article>
|
||||
@@ -103,7 +105,7 @@
|
||||
<div class='ipsGrid ipsGrid_collapsePhone cmsCategory2col'>
|
||||
{{endif}}
|
||||
{template="entry" app="cms" location="database" group="category_2_column_first_featured" params="$record, $database, $id"}
|
||||
{{if $id % 2 == 0}}
|
||||
{{if $id % 2 == 0 or ( count( $articles ) == ( $id + 1) )}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
@@ -117,15 +119,19 @@
|
||||
<article class='cCmsCategoryFeaturedEntry {{if $record->hidden()}}ipsModerated{{endif}} cms2ColImageFeature'>
|
||||
{{if $record->record_image}}
|
||||
<div class="cCmsRecord_image">
|
||||
<a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}"><img class="ipsImage" src="{file="$record->record_image" extension="cms_Records"}"></a>
|
||||
<a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}"><img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}"></a>
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $record->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
{{endif}}
|
||||
<h2 class='ipsType_pageTitle'><a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}">
|
||||
{wordbreak="$record->_title"}
|
||||
</a></h2>
|
||||
<h2 class='ipsType_pageTitle'>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}" class='ipsTruncate ipsTruncate_line'>
|
||||
{$record->_title}
|
||||
</a>
|
||||
</div>
|
||||
</h2>
|
||||
</article>
|
||||
</div>]]></template>
|
||||
<template template_key="database_category_2_column_image_feature_index" template_title="index" template_desc="" template_location="database" template_group="category_2_column_image_feature" template_params="$database, $articles, $url, $pagination" template_app="" template_type="template"><![CDATA[<div class='ipsPageHeader ipsClearfix ipsSpacer_bottom'>
|
||||
@@ -160,7 +166,7 @@
|
||||
<div class='ipsGrid ipsGrid_collapsePhone'>
|
||||
{{endif}}
|
||||
{template="entry" app="cms" location="database" group="category_2_column_image_feature" params="$record, $database, $id"}
|
||||
{{if $id % 2 == 1}}
|
||||
{{if $id % 2 == 1 or ( count( $articles ) == ( $id + 1) )}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
@@ -174,16 +180,18 @@
|
||||
<header class='{{if $id === 0}}ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_small{{endif}} ipsSpacer_bottom'>
|
||||
{{if $id === 0}}{template="userPhoto" app="core" params="$record->author(), 'small'" group="global"}{{endif}}
|
||||
<div>
|
||||
<h2 class='ipsType_pageTitle'>
|
||||
<h2 class='ipsType_pageTitle ipsContained_container'>
|
||||
{{if $record->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}</span>
|
||||
{{endif}}
|
||||
<a href="{$record->url()}" 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}}
|
||||
{wordbreak="$record->_title"}
|
||||
</a>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href="{$record->url()}" 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>
|
||||
</div>
|
||||
{{if $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}
|
||||
{{if $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>
|
||||
@@ -215,7 +223,7 @@
|
||||
<section class='ipsType_normal ipsType_richText ipsType_break ipsSpacer_both' 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" extension="cms_Records"}">
|
||||
<img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}">
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
@@ -227,9 +235,9 @@
|
||||
<ul class='ipsList_inline'>
|
||||
<li><strong><a href='{$record->url()}' title="{lang="read_more_about" sprintf="$record->name"}">{lang="read_more"}</a></strong></li>
|
||||
{{if $record::database()->options['reviews']}}
|
||||
<li>{template="rating" app="core" params="'small', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of" group="global"}</li>
|
||||
<li>{template="rating" app="core" params="'small', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $record->memberReviewRating()" group="global"}</li>
|
||||
{{endif}}
|
||||
<li><a href='{$record->url()}#comments' title='{lang="view_comments"}'><i class='fa fa-comment'></i> {lang="num_comments" pluralize="$record->record_comments"}</a></li>
|
||||
{{if $record::database()->options['comments']}}<li><a href='{$record->url()}#comments' title='{lang="view_comments"}'><i class='fa fa-comment'></i> {lang="num_comments" pluralize="$record->record_comments"}</a></li>{{endif}}
|
||||
<li class='ipsType_light'>{lang="num_views_with_number" pluralize="$record->record_views"}</li>
|
||||
</ul>
|
||||
</article>
|
||||
@@ -271,7 +279,7 @@
|
||||
<div class='ipsGrid ipsGrid_collapsePhone cmsCategory3col'>
|
||||
{{endif}}
|
||||
{template="entry" app="cms" location="database" group="category_3_column_first_featured" params="$record, $database, $id"}
|
||||
{{if ($id - 1) % 3 == 2}}
|
||||
{{if ($id - 1) % 3 == 2 or ( count( $articles ) == ( $id + 1) )}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
@@ -285,15 +293,19 @@
|
||||
<article class='cCmsCategoryFeaturedEntry {{if $record->hidden()}}ipsModerated{{endif}} cms3ColImageFeature'>
|
||||
{{if $record->record_image}}
|
||||
<div class="cCmsRecord_image">
|
||||
<a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}"><img class="ipsImage" src="{file="$record->record_image" extension="cms_Records"}"></a>
|
||||
<a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}"><img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}"></a>
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $record->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
{{endif}}
|
||||
<h2 class='ipsType_pageTitle'><a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}">
|
||||
{wordbreak="$record->_title"}
|
||||
</a></h2>
|
||||
<h2 class='ipsType_pageTitle'>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href="{$record->url()}" title="{lang="read_more_about" sprintf="$record->_title"}" class='ipsTruncate ipsTruncate_line'>
|
||||
{$record->_title}
|
||||
</a>
|
||||
</div>
|
||||
</h2>
|
||||
</article>
|
||||
</div>]]></template>
|
||||
<template template_key="database_category_3_column_image_feature_index" template_title="index" template_desc="" template_location="database" template_group="category_3_column_image_feature" template_params="$database, $articles, $url, $pagination" template_app="" template_type="template"><![CDATA[<div class='ipsPageHeader ipsClearfix ipsSpacer_bottom'>
|
||||
@@ -327,8 +339,8 @@
|
||||
{{if $id % 3 == 0}}
|
||||
<div class='ipsGrid ipsGrid_collapsePhone'>
|
||||
{{endif}}
|
||||
{template="entry" app="cms" location="database" group="category_3_column_image_feature" params="$record, $database, $id"}
|
||||
{{if $id % 3 == 2}}
|
||||
{template="entry" app="cms" location="database" group="category_3_column_image_feature" params="$record, $database, $id"} {$id}
|
||||
{{if $id % 3 == 2 or ( count( $articles ) == ( $id + 1) )}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
@@ -341,12 +353,14 @@
|
||||
<header class='ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_small ipsSpacer_bottom'>
|
||||
{template="userPhoto" app="core" params="$record->author()" group="global"}
|
||||
<div>
|
||||
<h2 class='ipsType_pageTitle'>
|
||||
<h2 class='ipsType_pageTitle ipsContained_container'>
|
||||
{{if $record->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}</span>
|
||||
{{endif}}
|
||||
{{if $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}
|
||||
{{if $record->hidden() === -1}}
|
||||
{{if $record->isFutureDate() || $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $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>
|
||||
@@ -359,12 +373,14 @@
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
|
||||
<a href="{$record->url()}" 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}}
|
||||
{wordbreak="$record->_title"}
|
||||
</a>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href="{$record->url()}" 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>
|
||||
</div>
|
||||
</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"}
|
||||
@@ -400,9 +416,9 @@
|
||||
<ul class='ipsList_inline ipsClear'>
|
||||
<li><strong><a href='{$record->url()}' title="{lang="read_more_about" sprintf="$record->name"}">{lang="read_more"}</a></strong></li>
|
||||
{{if $record::database()->options['reviews']}}
|
||||
<li>{template="rating" app="core" params="'small', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of" group="global"}</li>
|
||||
<li>{template="rating" app="core" params="'small', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $record->memberReviewRating()" group="global"}</li>
|
||||
{{endif}}
|
||||
<li><a href='{$record->url()}#comments' title='{lang="view_comments"}'><i class='fa fa-comment'></i> {lang="num_comments" pluralize="$record->record_comments"}</a></li>
|
||||
{{if $record::database()->options['comments']}}<li><a href='{$record->url()}#comments' title='{lang="view_comments"}'><i class='fa fa-comment'></i> {lang="num_comments" pluralize="$record->record_comments"}</a></li>{{endif}}
|
||||
<li class='ipsType_light'>{lang="num_views_with_number" pluralize="$record->record_views"}</li>
|
||||
</ul>
|
||||
|
||||
@@ -418,7 +434,19 @@
|
||||
<a href="{$url->setQueryString('show', 'categories')}" class="ipsButton ipsButton_medium ipsButton_fullWidth ipsButton_link"><i class="fa fa-folder-open"></i> {lang="cms_show_categories"}</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
{{if ! $database->use_categories}}
|
||||
<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom">
|
||||
<div class='ipsPos_right ipsResponsive_noFloat ipsResponsive_hidePhone'>
|
||||
{{$catClass = 'IPS\cms\Categories' . $database->id; $category = $catClass::load( $database->default_category );}}
|
||||
{template="follow" app="core" group="global" params="'cms','categories' . $database->id, $category->_id, \IPS\cms\Records::containerFollowerCount( $category )"}
|
||||
</div>
|
||||
<h1 class="ipsType_pageTitle">{$category->_title}</h1>
|
||||
</div>
|
||||
{{else}}
|
||||
<h1 class='ipsType_pageTitle'>{$database->_title}</h1>
|
||||
{{endif}}
|
||||
|
||||
{{if $database->_description}}
|
||||
<div class='ipsPageHeader_info ipsType_light'>
|
||||
{$database->_description}
|
||||
@@ -472,7 +500,7 @@
|
||||
</ul>
|
||||
{{endif}}
|
||||
{{if $category->_description}}
|
||||
<div class="ipsDataItem_meta ipsType_richText ipsType_light">{$category->_description|raw}</div>
|
||||
<div class="ipsDataItem_meta ipsType_richText">{$category->_description|raw}</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $lastPost}}
|
||||
@@ -485,7 +513,7 @@
|
||||
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
|
||||
{{if $lastPost}}
|
||||
<li>{template="userPhoto" app="core" group="global" params="$lastPost['author'], 'tiny'"}</li>
|
||||
<li><a href="{$lastPost['record_url']}" class='ipsType_break ipsContained' title='{$lastPost['record_title']}'>{truncate="$lastPost['record_title']" length="30"}</a></li>
|
||||
<li><div class='ipsType_break ipsContained'><a href="{$lastPost['record_url']}" class='ipsTruncate ipsTruncate_line' title='{$lastPost['record_title']}'>{$lastPost['record_title']}</a></li>
|
||||
<li class='ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$lastPost['author']->link()"}</li>
|
||||
<li data-short="1 dy" class="ipsType_light"><a href='{$lastPost['record_url']->setQueryString( 'do', 'getLastComment' )}' title='{lang="get_last_post"}' class='ipsType_blendLinks'>{datetime="$lastPost['date']"}</a></li>
|
||||
{{else}}
|
||||
@@ -502,7 +530,7 @@
|
||||
{{endif}}
|
||||
<h1 class='ipsType_pageTitle'>{$database->_title}</h1>
|
||||
{{if $database->_description}}
|
||||
<div class='ipsPageHeader_info ipsType_light'>
|
||||
<div class='ipsType_richText ipsType_normal'>
|
||||
{$database->_description}
|
||||
</div>
|
||||
{{endif}}
|
||||
@@ -539,7 +567,7 @@
|
||||
</html>]]></template>
|
||||
<template template_key="database_display_comment" template_title="comment" template_desc="" template_location="database" template_group="display" template_params="$item, $comment, $editorName, $app, $type, $class=''" template_app="" template_type="template"><![CDATA[{{$itemIdField = $item::$databaseColumnId; $idField = $comment::$databaseColumnId;}}
|
||||
<div id='comment-{$comment->$idField}_wrap' data-controller='core.front.core.comment' data-commentApp='{$app}' data-commentType='{$type}' data-commentID="{$comment->$idField}" data-quoteData='{expression="json_encode( array('userid' => $comment->author()->member_id, 'username' => $comment->author()->name, 'timestamp' => $comment->mapped('date'), 'contentapp' => $app, 'contenttype' => $type, 'contentclass' => $class, 'contentid' => $item->$itemIdField, 'contentcommentid' => $comment->$idField) )"}' class='cPost_content ipsComment_content ipsType_medium {{if $comment->hidden()}}ipsModerated{{endif}} ipsFaded_withHover'>
|
||||
{{if in_array( 'IPS\Content\Reputation', class_implements( $comment ) ) and settings.reputation_highlight and $comment->reputation() >= settings.reputation_highlight}}
|
||||
{{if in_array( 'IPS\Content\Reputation', class_implements( $comment ) ) and settings.reputation_highlight and $comment->reputation() >= settings.reputation_highlight and settings.reputation_enabled}}
|
||||
<strong class='ipsComment_popularFlag' data-ipsTooltip title='{lang="this_is_a_popular_comment"}'><i class='fa fa-heart'></i></strong>
|
||||
{{endif}}
|
||||
|
||||
@@ -547,10 +575,10 @@
|
||||
{template="userPhoto" app="core" group="global" params="$comment->author(), 'mini', $comment->warningRef()"}
|
||||
<div>
|
||||
<p class='ipsPos_right ipsType_reset ipsType_blendLinks'>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->id ) )}' data-ipsTooltip title='{lang="share_this_comment"}' data-ipsMenu data-ipsMenu-closeOnClick='false' id='elShareComment_{$comment->id}' data-role='shareComment'><i class='fa fa-share-alt'></i></a>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' data-ipsTooltip title='{lang="share_this_comment"}' data-ipsMenu data-ipsMenu-closeOnClick='false' id='elShareComment_{$comment->id}' data-role='shareComment'><i class='fa fa-share-alt'></i></a>
|
||||
{{if count( $item->commentMultimodActions() )}}
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" name="multimod[{$comment->$idField}]" value="1" data-role="moderation" data-actions="{{if $comment->canSplit()}}split merge{{endif}} {{if $comment->hidden() === -1 AND $comment->canUnhide()}}unhide{{elseif $comment->hidden() === 1 AND $comment->canUnhide()}}approve{{elseif $comment->canHide()}}hide{{endif}} {{if $comment->canDelete()}}delete{{endif}}" data-state='{{if $comment->tableStates()}}{$comment->tableStates()}{{endif}}'>
|
||||
<input type="checkbox" name="multimod[{$comment->$idField}]" value="1" data-role="moderation" data-actions="{{if $comment->canSplit()}}split merge{{endif}} {{if $comment->hidden() === -1 AND $comment->canUnhide()}}unhide{{elseif $comment->hidden() === 1 AND $comment->canUnhide()}}approve{{endif}} {{if $comment->hidden() !== -1 AND $comment->canHide()}}hide{{endif}} {{if $comment->canDelete()}}delete{{endif}}" data-state='{{if $comment->tableStates()}}{$comment->tableStates()}{{endif}}'>
|
||||
<span></span>
|
||||
</span>
|
||||
{{endif}}
|
||||
@@ -560,7 +588,7 @@
|
||||
{template="reputationBadge" group="global" app="core" params="$comment->author()"}
|
||||
</h3>
|
||||
<p class='ipsComment_meta ipsType_light ipsType_medium'>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->id ) )}' class='ipsType_blendLinks' title='{lang="share_this_comment"}'>{$comment->dateLine()|raw}</a>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a>
|
||||
{{if $comment->editLine()}}
|
||||
({lang="edited_lc"})
|
||||
{{endif}}
|
||||
@@ -599,9 +627,9 @@
|
||||
<li><a href='{$comment->url('unhide')->csrf()}' class='ipsButton ipsButton_verySmall ipsButton_positive' data-action='approveComment'><i class='fa fa-check'></i> {lang="approve"}</a></li>
|
||||
{{endif}}
|
||||
{{if $comment->canDelete()}}
|
||||
<li><a href='{$comment->url('delete')->csrf()}' data-confirm data-action='deleteComment' data-updateOnDelete="#commentCount" class='ipsButton ipsButton_verySmall ipsButton_negative'><i class='fa fa-times'></i> {lang="delete"}</a></li>
|
||||
<li><a href='{$comment->url('delete')->csrf()->setQueryString('page',\IPS\Request::i()->page)}' data-confirm data-action='deleteComment' data-updateOnDelete="#commentCount" class='ipsButton ipsButton_verySmall ipsButton_negative'><i class='fa fa-times'></i> {lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
{{if $comment->canEdit() || $comment->canSplit()}}
|
||||
{{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="options"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elControls_{$comment->$idField}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
|
||||
@@ -615,6 +643,9 @@
|
||||
{{if $comment->canSplit()}}
|
||||
<li class='ipsMenu_item'><a href='{$comment->url('split')}' data-action='splitComment' data-ipsDialog data-ipsDialog-title="{lang="split_to_new" sprintf="\IPS\Member::loggedIn()->language()->addToStack( $item::$title )"}">{lang="split"}</a></li>
|
||||
{{endif}}
|
||||
{{if $comment instanceof \IPS\Content\Hideable and $comment->canHide()}}
|
||||
<li class='ipsMenu_item'><a href='{$comment->url('hide')->csrf()}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
</li>
|
||||
{{endif}}
|
||||
@@ -649,7 +680,7 @@
|
||||
<li class='ipsMenu_item'><a href='{$comment->url('split')}' data-action='splitComment' data-ipsDialog data-ipsDialog-title="{lang="split_to_new" sprintf="\IPS\Member::loggedIn()->language()->addToStack( $item::$title )"}">{lang="split"}</a></li>
|
||||
{{endif}}
|
||||
{{if $comment->canDelete()}}
|
||||
<li class='ipsMenu_item'><a href='{$comment->url('delete')->csrf()}' data-action='deleteComment' data-updateOnDelete="#commentCount">{lang="delete"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$comment->url('delete')->csrf()->setQueryString('page',\IPS\Request::i()->page)}' data-action='deleteComment' data-updateOnDelete="#commentCount">{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
</li>
|
||||
@@ -682,16 +713,16 @@
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='showPost'><a href='#'>{lang="show_this_comment"}</a></li>
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='stopIgnoring'><a href='{url="app=core&module=system&controller=ignore&do=remove&id={$comment->author()->member_id}" seoTemplate="ignore"}'>{lang="stop_ignoring_posts_by" sprintf="$comment->author()->name"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{url="app=core&module=members&controller=ignore" seoTemplate="ignore"}'>{lang="change_ignore_preferences"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{url="app=core&module=system&controller=ignore" seoTemplate="ignore"}'>{lang="change_ignore_preferences"}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
<a id='comment-{$comment->$idField}'></a>
|
||||
<article itemscope itemtype="http://schema.org/Comment" id='elComment_{$comment->$idField}' class='ipsComment {{if $otherClasses}}{$otherClasses}{{endif}} {{if in_array( 'IPS\Content\Reputation', class_implements( $comment ) ) and settings.reputation_highlight and $comment->reputation() >= settings.reputation_highlight}}ipsComment_popular{{endif}} ipsComment_parent ipsClearfix ipsClear {{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden()}}ipsModerated{{endif}}'>
|
||||
<article {{if $comment->author()->hasHighlightedReplies()}}data-memberGroup="{$comment->author()->member_group_id}" {{endif}} itemscope itemtype="http://schema.org/Comment" id='elComment_{$comment->$idField}' class='ipsComment {{if $otherClasses}}{$otherClasses}{{endif}} {{if in_array( 'IPS\Content\Reputation', class_implements( $comment ) ) and settings.reputation_highlight and $comment->reputation() >= settings.reputation_highlight and settings.reputation_enabled}}ipsComment_popular{{endif}} ipsComment_parent ipsClearfix ipsClear {{if $comment->author()->hasHighlightedReplies()}}ipsComment_highlighted{{endif}} {{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden()}}ipsModerated{{endif}}'>
|
||||
{template="comment" group="display" location="database" app="cms" params="$item, $comment, $item::$formLangPrefix . 'comment', $item::$application, $item::$module, $itemClassSafe"}
|
||||
</article>]]></template>
|
||||
<template template_key="database_display_comments" template_title="comments" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='comments' data-baseURL='{$record->url()}' {{if $record->isLastPage()}}data-lastPage{{endif}} data-feedID='records{$record::$customDatabaseId}-{$record->_id}' id='comments'>
|
||||
<template template_key="database_display_comments" template_title="comments" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='comments' data-baseURL='{$record->url()}' {{if $record->isLastPage()}}data-lastPage{{endif}} data-feedID='records{$record::$customDatabaseId}-{$record->_id}' id='comments'>
|
||||
<br>
|
||||
{{if $record->commentPageCount() > 1}}
|
||||
{$record->commentPagination( array( 'tab' ) )|raw}
|
||||
@@ -748,43 +779,51 @@
|
||||
<p>{$line|raw}</p>
|
||||
{{endforeach}}
|
||||
</div>]]></template>
|
||||
<template template_key="database_display_record" template_title="record" template_desc="" template_location="database" template_group="display" template_params="$record, $commentsAndReviews, $updateForm=NULL, $nextUnread=NULL" template_app="" template_type="template"><![CDATA[<div class='ipsClearfix'>
|
||||
<template template_key="database_display_record" template_title="record" template_desc="" template_location="database" template_group="display" template_params="$record, $commentsAndReviews, $updateForm=NULL, $nextUnread=NULL" template_app="" template_type="template"><![CDATA[<div class='ipsPageHeader ipsClearfix'>
|
||||
|
||||
<div class='ipsPos_right ipsResponsive_noFloat ipsResponsive_hidePhone'>
|
||||
{template="follow" app="core" group="global" params="'cms', 'records'.$record::$customDatabaseId, $record->primary_id_field, $record->followers()->count( TRUE )"}
|
||||
</div>
|
||||
|
||||
<h1 class='ipsType_pageTitle ipsType_break'>
|
||||
{{if $record->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
{{endif}}
|
||||
{{if $record->locked()}}<i class='fa fa-lock'></i> {{endif}}
|
||||
<h1 class='ipsType_pageTitle ipsContained_container'>
|
||||
{{if $record->locked()}}<span><i class='fa fa-lock'></i></span> {{endif}}
|
||||
|
||||
{{if $record->isFutureDate() || $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $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>
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
|
||||
{{elseif $record->hidden() === -1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
|
||||
{{elseif $record->hidden() === 1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
|
||||
{{endif}}
|
||||
{{if $record->mapped('pinned')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span></span>
|
||||
{{endif}}
|
||||
{{if $record->mapped('featured')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span></span>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
|
||||
{wordbreak="$record->_title"}
|
||||
{{if $record->prefix() OR ( $record->canEdit() AND $record::canTag( NULL, $record->container() ) AND $record::canPrefix( NULL, $record->container() ) )}}
|
||||
<span {{if !$record->prefix()}}class='ipsHide'{{endif}} {{if ( $record->canEdit() AND $record::canTag( NULL, $record->container() ) AND $record::canPrefix( NULL, $record->container() ) )}}data-editablePrefix{{endif}}>
|
||||
{template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}
|
||||
</span>
|
||||
{{endif}}
|
||||
{{if $record->canEdit()}}
|
||||
<div class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
|
||||
<span data-role="editableTitle" title='{lang="click_hold_edit"}'>{$record->_title}</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='ipsType_break ipsContained'>{$record->_title}</div>
|
||||
{{endif}}
|
||||
</h1>
|
||||
|
||||
{{if $record::database()->options['reviews']}}
|
||||
<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<meta itemprop='ratingValue' content='{$record->averageReviewRating()}'>
|
||||
<meta itemprop='reviewCount' content='{$record->record_reviews}'>
|
||||
{template="rating" group="global" location="front" app="core" params="'large', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of"} <span class='ipsType_normal ipsType_light'>({lang="num_reviews" pluralize="$record->record_reviews"})</span>
|
||||
</span>
|
||||
{template="rating" group="global" location="front" app="core" params="'large', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $record->memberReviewRating()"} <span class='ipsType_normal ipsType_light'>({lang="num_reviews" pluralize="$record->record_reviews"})</span>
|
||||
</div>
|
||||
{{elseif $record->container()->allow_rating}}
|
||||
<div>{$record->rating()|raw}</div>
|
||||
{{endif}}
|
||||
@@ -814,8 +853,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{if count( $record->tags() )}}
|
||||
{template="tags" group="global" app="core" params="$record->tags()"}
|
||||
{{if count( $record->tags() ) OR ( $record->canEdit() AND $record::canTag( NULL, $record->container() ) )}}
|
||||
{template="tags" group="global" app="core" params="$record->tags(), FALSE, FALSE, ( $record->canEdit() AND $record::canTag( NULL, $record->container() ) ) ? $record->url() : NULL"}
|
||||
{{endif}}
|
||||
|
||||
<article class='ipsContained ipsSpacer_top'>
|
||||
@@ -830,6 +869,18 @@
|
||||
{{if $record->editLine()}}
|
||||
{$record->editLine()|raw}
|
||||
{{endif}}
|
||||
|
||||
{{if $records = $record->getReciprocalItems()}}
|
||||
{{$infoLineShown = FALSE;}}
|
||||
<br>
|
||||
{{foreach $records as $fieldId => $items}}
|
||||
<ul class="ipsList_inline ipsList_csv ipsList_noSpacing">
|
||||
{{foreach $items as $item}}
|
||||
<li>{{if ! $infoLineShown}}{{$infoLineShown=TRUE;}}{lang="records_linking_to_me" sprintf="$item::database()->recordWord(0,TRUE), $record::database()->recordWord(1)"}: {{endif}}<a href="{$item->url()}">{$item->_title}</a></li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{endforeach}}
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $bottomFields = $record->customFieldsForDisplay('display_bottom')}}
|
||||
<hr class='ipsHr ipsClear ipsClearfix'>
|
||||
@@ -838,14 +889,14 @@
|
||||
{$fieldValue|raw}
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
{{endif}}
|
||||
<hr class='ipsHr ipsClear ipsClearfix'>
|
||||
|
||||
{{if $record instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
|
||||
<div class='ipsPos_right'>
|
||||
{template="reputation" app="core" group="global" params="$record"}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $record instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
|
||||
<div class='ipsPos_right'>
|
||||
{template="reputation" app="core" group="global" params="$record"}
|
||||
<br>
|
||||
</div>
|
||||
{{endif}}
|
||||
<hr class='ipsHr ipsClear ipsClearfix'>
|
||||
{{if $record->isFutureDate() or $record->canPin() or $record->canUnpin() or $record->canFeature() or $record->canUnfeature() or $record->canHide() or $record->canUnhide() or $record->canMove() or $record->canLock() or $record->canUnlock() or $record->canDelete()}}
|
||||
<a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall' data-ipsMenu>{lang="content_record_actions" sprintf="$record::database()->recordWord( 1, TRUE )"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
@@ -909,21 +960,21 @@
|
||||
{{if $record::database()->use_categories}}
|
||||
<a href="{$record->container()->url()}" title="{lang="cms_back_to_category_with_title" sprintf="$record->container()->_title"}" rel="up">
|
||||
<span class="ipsPager_type">{lang="cms_back_to_category" sprintf="$record::database()->recordWord( 2 )"}</span>
|
||||
<span class="ipsPager_title ipsType_light ipsType_break">{lang="$record->container()->_title" wordbreak="true"}</span>
|
||||
<span class="ipsPager_title ipsType_light ipsTruncate ipsTruncate_line">{lang="$record->container()->_title"}</span>
|
||||
</a>
|
||||
{{else}}
|
||||
{{$page = \IPS\cms\Pages\Page::$currentPage;}}
|
||||
<a href="{$page->url()}" title="{lang="cms_back_to_category_with_title" sprintf="$page->_title"}" rel="up">
|
||||
<span class="ipsPager_type">{lang="cms_back_to_category" sprintf="$record::database()->recordWord( 2 )"}</span>
|
||||
<span class="ipsPager_title ipsType_light ipsType_break">{$page->_title}</span>
|
||||
<span class="ipsPager_title ipsType_light ipsTruncate ipsTruncate_line">{$page->_title}</span>
|
||||
</a>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $nextUnread !== NULL}}
|
||||
<div class='ipsGrid_span6 ipsType_right ipsPager_next'>
|
||||
<a href="{$nextUnread->url()->setQueryString( array( 'do' => 'getNewComment' ) )}" title='{lang="cms_view_next_unread_title" sprintf="$record::database()->recordWord( 1 )"}' rel='next'>
|
||||
<a href="{$nextUnread->url()->setQueryString( array( 'do' => 'getNewComment' ) )}" title='{lang="cms_view_next_unread_title" sprintf="$record::database()->recordWord( 1 )"}'>
|
||||
<span class="ipsPager_type">{lang="cms_next_unread_title" sprintf="$record::database()->recordWord( 1 )"}</span>
|
||||
<span class="ipsPager_title ipsType_light ipsType_break">{$nextUnread->mapped('title')}</span>
|
||||
<span class="ipsPager_title ipsType_light ipsTruncate ipsTruncate_line">{$nextUnread->mapped('title')}</span>
|
||||
</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
@@ -952,7 +1003,7 @@
|
||||
{{endif}}
|
||||
]]></template>
|
||||
<template template_key="database_display_recordEditLine" template_title="recordEditLine" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[
|
||||
<span class='ipsType_reset ipsType_medium ipsType_light' data-excludequote>
|
||||
<p class='ipsType_reset ipsType_medium ipsType_light' data-excludequote>
|
||||
<strong>{lang="date_edited" htmlsprintf="\IPS\DateTime::ts( $record->record_edit_time )->html(FALSE), htmlspecialchars( $record->record_edit_member_name, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE )"}</strong>
|
||||
{{if $record->edit_reason}}
|
||||
<br>{$record->edit_reason}
|
||||
@@ -963,7 +1014,7 @@
|
||||
<br>{lang="comment_edit_show_anyways"}
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</span>]]></template>
|
||||
</p>]]></template>
|
||||
<template template_key="database_display_review" template_title="review" template_desc="" template_location="database" template_group="display" template_params="$item, $review, $editorName, $app, $type" template_app="" template_type="template"><![CDATA[<div id='review-{$review->id}_wrap' data-controller='core.front.core.comment' data-commentApp='{$app}' data-commentType='{$type}-review' data-commentID="{$review->id}" data-quoteData='{expression="json_encode( array('userid' => $review->author()->member_id, 'username' => $review->author()->name, 'timestamp' => $review->mapped('date'), 'contentapp' => $app, 'contenttype' => $type, 'contentid' => $item->id, 'contentcommentid' => $review->id) )"}' class='ipsComment_content ipsType_medium' itemprop='review' itemscope itemtype="http://schema.org/Review">
|
||||
<div class='ipsComment_header ipsPhotoPanel ipsPhotoPanel_small ipsPhotoPanel_notPhone'>
|
||||
{template="userPhoto" app="core" group="global" params="$review->author(), 'small', $review->warningRef(), 'ipsPos_left'"}
|
||||
@@ -1029,7 +1080,7 @@
|
||||
<li><a href='{$review->url('unhide')->csrf()}' class='ipsButton ipsButton_verySmall ipsButton_positive' data-action='approve'><i class='fa fa-check'></i> {lang="approve"}</a></li>
|
||||
{{endif}}
|
||||
{{if $review->canDelete()}}
|
||||
<li><a href='{$review->url('delete')->csrf()}' data-confirm data-action='deleteComment' data-updateOnDelete="#commentCount" class='ipsButton ipsButton_verySmall ipsButton_negative'><i class='fa fa-times'></i> {lang="delete"}</a></li>
|
||||
<li><a href='{$review->url('delete')->csrf()->setQueryString('page',\IPS\Request::i()->page)}' data-confirm data-action='deleteComment' data-updateOnDelete="#commentCount" class='ipsButton ipsButton_verySmall ipsButton_negative'><i class='fa fa-times'></i> {lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
{{if $review->canEdit() || $review->canSplit()}}
|
||||
<li>
|
||||
@@ -1064,7 +1115,7 @@
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if $review->canDelete()}}
|
||||
<li class='ipsMenu_item'><a href='{$review->url('delete')->csrf()}' data-confirm data-action='deleteComment' data-updateOnDelete="#reviewCount">{lang="delete"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$review->url('delete')->csrf()->setQueryString('page',\IPS\Request::i()->page)}' data-confirm data-action='deleteComment' data-updateOnDelete="#reviewCount">{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
</li>
|
||||
@@ -1093,27 +1144,36 @@
|
||||
</div>
|
||||
{{else}}
|
||||
<article itemscope="" itemtype="http://schema.org/Comment" id="elComment_115" class="ipsComment ipsComment_parent ipsClearfix ipsClear {{if $review->hidden()}}ipsModerated{{endif}}">
|
||||
{{if !$item->printedAverageReviewRating}}
|
||||
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<meta itemprop="ratingValue" content="{$item->averageReviewRating()}">
|
||||
<meta itemprop="reviewCount" content="{$item->reviewCount()}">
|
||||
</div>
|
||||
{{$item->printedAverageReviewRating = true;}}
|
||||
{{endif}}
|
||||
<a id="review-{$review->id}"></a>
|
||||
{template="review" location="database" group="display" app="cms" params="$item, $review, $item::$formLangPrefix . 'review', $item::$application, $item::$module"}
|
||||
</article>
|
||||
{{endif}}]]></template>
|
||||
<template template_key="database_display_reviews" template_title="reviews" template_desc="" template_location="database" template_group="display" template_params="$record" template_app="" template_type="template"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$record->url()}' {{if $record->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='records{$record::$customDatabaseId}-{$record->id}-reviews' id='reviews'>
|
||||
{{if $record->canReview()}}
|
||||
{{if $record->reviewForm()}}
|
||||
{{if $record->locked()}}
|
||||
<strong class='ipsType_warning'><i class='fa fa-info-circle'></i> {lang="item_locked_can_review"}</strong>
|
||||
{{endif}}
|
||||
<div id='elFileReviewForm'>
|
||||
<div id='elRecordReviewForm'>
|
||||
{$record->reviewForm()|raw}
|
||||
</div>
|
||||
{{else}}
|
||||
{{if $record->locked()}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'item_locked_cannot_comment'"}
|
||||
{{elseif \IPS\Member::loggedin()->restrict_post}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
|
||||
{{elseif $record->hasReviewed()}}
|
||||
{{if $record->hasReviewed()}}
|
||||
<!-- Already reviewed -->
|
||||
{{elseif \IPS\Member::loggedIn()->restrict_post}}
|
||||
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment'"}
|
||||
{{elseif $record->locked()}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'item_locked_cannot_review'"}
|
||||
{{elseif \IPS\Member::loggedin()->restrict_post}}
|
||||
{{if \IPS\Member::loggedIn()->restrict_post == -1}}
|
||||
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment'"}
|
||||
{{else}}
|
||||
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
|
||||
{{endif}}
|
||||
{{elseif \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{template="reviewUnavailable" group="forms" location="front" app="core" params="'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE )"}
|
||||
{{endif}}
|
||||
@@ -1139,7 +1199,7 @@
|
||||
</div>
|
||||
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
|
||||
<form action="{$record->url()->setQueryString( 'do', 'multimodReview' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
<form action="{$record->url()->csrf()->setQueryString( 'do', 'multimodReview' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
{{$reviewCount=0; $timeLastRead = $record->timeLastRead(); $lined = FALSE;}}
|
||||
{{foreach $record->reviews() as $review}}
|
||||
{{if !$lined and $timeLastRead and $timeLastRead->getTimestamp() < $review->mapped('date')}}
|
||||
@@ -1198,13 +1258,13 @@
|
||||
{{foreach $elements as $name => $contents}}
|
||||
<div id='ipsTabs_tabs_{$id}_{$id}_tab_{$name}_panel' class="ipsTabs_panel ipsPad" aria-labelledby="{$id}_tab_{$name}" aria-hidden="false">
|
||||
|
||||
{{if $hasModOptions && $name == 'topic_mainTab'}}
|
||||
{{if $hasModOptions && ( $name == 'topic_mainTab' OR $name == 'content_record_form_mainTab' ) }}
|
||||
<div class='ipsColumns ipsColumns_collapsePhone'>
|
||||
<div class='ipsColumn ipsColumn_fluid'>
|
||||
{{endif}}
|
||||
<ul class='ipsForm ipsForm_vertical'>
|
||||
{{foreach $contents as $inputName => $input}}
|
||||
{{if $inputName == 'content_field_' . $database->field_title and isset( $collection['record_static_furl_set'] ) and isset( $collection['record_static_furl'] )}}
|
||||
{{if $inputName == 'content_field_' . $database->field_title and isset( $contents['record_static_furl_set'] ) and isset( $contents['record_static_furl'] )}}
|
||||
{template="customslug" app="cms" location="global" group="records" params="$collection, $input, $category, $page, $database, $record"}
|
||||
{{endif}}
|
||||
{{if !in_array( $inputName, $modOptions ) and $inputName !== 'record_static_furl_set' and $inputName !== 'record_static_furl'}}
|
||||
@@ -1212,7 +1272,7 @@
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{if $hasModOptions && $name == 'topic_mainTab'}}
|
||||
{{if $hasModOptions && $name == 'content_record_form_mainTab'}}
|
||||
</div>
|
||||
<div class='ipsColumn ipsColumn_wide'>
|
||||
<div class='ipsPad ipsAreaBackground_light'>
|
||||
@@ -1223,15 +1283,15 @@
|
||||
{{if in_array( $inputName, $modOptions )}}
|
||||
{{if $inputName == 'record_expiry_date' or $inputName == 'record_comment_cutoff'}}
|
||||
<li class='ipsFieldRow ipsClearfix'>
|
||||
<label class="ipsFieldRow_label" for="{inputName}">{lang="$input->name"}</label>
|
||||
<label class="ipsFieldRow_label" for="{$inputName}">{lang="$input->name"}</label>
|
||||
<ul class='ipsFieldRow_content ipsList_reset cCreateTopic_date'>
|
||||
<li>
|
||||
<i class='fa fa-calendar'></i>
|
||||
<input type="date" name="{$input->name}" value="" class="ipsField_short" data-control="date" placeholder='{expression="mb_strtoupper( str_replace( 'y', 'yy', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}'>
|
||||
<input type="date" name="{$input->name}" value="{{if $input->value instanceof \IPS\DateTime}}{$input->value->format('Y-m-d')}{{else}}{$input->value}{{endif}}" class="ipsField_short" data-control="date" placeholder='{expression="str_replace( array( 'YYYY', 'MM', 'DD' ), array( \IPS\Member::loggedIn()->language()->addToStack('_date_format_yyyy'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_mm'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_dd') ), str_replace( 'Y', 'YY', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}'>
|
||||
</li>
|
||||
<li>
|
||||
<i class='fa fa-clock-o'></i>
|
||||
<input name="{$input->name}_time" type="time" size="12" class="ipsField_short" placeholder="HH:MM" step="60" min="00:00">
|
||||
<input name="{$input->name}_time" type="time" size="12" class="ipsField_short" placeholder="{lang="_time_format_hhmm"}" step="60" min="00:00" value="{{if $input->value instanceof \IPS\DateTime}}{$input->value->format('H:i')}{{endif}}">
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -1278,17 +1338,31 @@
|
||||
{{if in_array( $inputName, $modOptions )}}
|
||||
{{if $inputName == 'record_expiry_date' or $inputName == 'record_comment_cutoff'}}
|
||||
<li class='ipsFieldRow ipsClearfix'>
|
||||
<label class="ipsFieldRow_label" for="{inputName}">{lang="$input->name"}</label>
|
||||
<ul class='ipsFieldRow_content ipsList_reset cCreateTopic_date'>
|
||||
<li>
|
||||
<i class='fa fa-calendar'></i>
|
||||
<input type="date" name="{$input->name}" value="" class="ipsField_short" data-control="date" placeholder='{expression="mb_strtoupper( str_replace( 'y', 'yy', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}'>
|
||||
</li>
|
||||
<li>
|
||||
<i class='fa fa-clock-o'></i>
|
||||
<input name="{$input->name}_time" type="time" size="12" class="ipsField_short" placeholder="HH:MM" step="60" min="00:00">
|
||||
</li>
|
||||
</ul>
|
||||
<div data-role="unlimitedCatch">
|
||||
<label class="ipsFieldRow_label" for="{$inputName}">{lang="$input->name"}</label>
|
||||
<ul class='ipsFieldRow_content ipsList_reset cCreateTopic_date'>
|
||||
<li>
|
||||
<i class='fa fa-calendar'></i>
|
||||
<input type="date" name="{$input->name}" value="{{if $input->value instanceof \IPS\DateTime}}{$input->value->format('Y-m-d')}{{else}}{$input->value}{{endif}}" class="ipsField_short" data-control="date" placeholder='{{if $input->placeholder !== NULL}}{$input->placeholder}{{else}}{expression="str_replace( array( 'YYYY', 'MM', 'DD' ), array( \IPS\Member::loggedIn()->language()->addToStack('_date_format_yyyy'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_mm'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_dd') ), str_replace( 'Y', 'YY', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}{{endif}}' data-preferredFormat="{{if $input->value instanceof \IPS\DateTime}}{$input->value->localeDate()}{{else}}{$input->value}{{endif}}" {{if $input->disabled}}disabled aria-disabled='true'{{endif}}>
|
||||
</li>
|
||||
<li>
|
||||
<i class='fa fa-clock-o'></i>
|
||||
<input name="{$input->name}_time" type="time" size="12" class="ipsField_short" placeholder="{lang="_time_format_hhmm"}" step="60" min="00:00" value="{{if $input->value instanceof \IPS\DateTime}}{$input->value->format('H:i')}{{endif}}">
|
||||
</li>
|
||||
<li>
|
||||
{{if $input->options['unlimited'] !== NULL and ( !$input->disabled or $input->options['unlimited'] === $input->value )}}
|
||||
|
||||
{lang="or"}
|
||||
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" role='checkbox' data-control="unlimited{{if count( $input->toggles )}} toggle{{endif}}" name="{$input->name}_unlimited" id='{$input->name}_unlimited' value="{$input->options['unlimited']}" {{if $input->options['unlimited'] === $input->value}}checked aria-checked='true'{{endif}} {{if $input->options['disabled']}}disabled{{endif}} {{if count( $input->toggles )}}{{if $input->toggleOn === FALSE}}data-togglesOff{{else}}data-togglesOn{{endif}}="{expression="implode( ',', $input->toggles )"}"{{endif}} aria-labelledby='label_{$input->name}_unlimited'>
|
||||
<span></span>
|
||||
</span>
|
||||
<label for='{$input->name}_unlimited' id='label_{$input->name}_unlimited' class='ipsField_unlimited'>{lang="never"}</label>
|
||||
{{endif}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
{{else}}
|
||||
{$input|raw}
|
||||
@@ -1334,13 +1408,13 @@
|
||||
<template template_key="database_listing_categoryHeader" template_title="categoryHeader" template_desc="" template_location="database" template_group="listing" template_params="$category, $table, $activeFilters" template_app="" template_type="template"><![CDATA[
|
||||
{{if !\IPS\Request::i()->advancedSearchForm}}
|
||||
<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom">
|
||||
<h1 class="ipsType_pageTitle">{$category->_title}</h1>
|
||||
<div class='ipsPos_right ipsResponsive_noFloat ipsResponsive_hidePhone'>
|
||||
{template="follow" app="core" group="global" params="'cms','categories' . $category->database_id, $category->_id, \IPS\cms\Records::containerFollowerCount( $category )"}
|
||||
</div>
|
||||
<h1 class="ipsType_pageTitle">{$category->_title}</h1>
|
||||
</div>
|
||||
<div class='ipsType_richText ipsType_medium'>
|
||||
{$category->_description|raw}
|
||||
<div class='ipsType_richText ipsType_normal'>
|
||||
{$category->_description|raw}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
@@ -1410,7 +1484,7 @@
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_{$table->uniqueId}_menu">
|
||||
{{$custom = TRUE;}}
|
||||
{{foreach $table->sortOptions as $k => $col}}
|
||||
<li class="ipsMenu_item {{if $col === $table->sortBy}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{{if $col == 'title'}}asc{{else}}desc{{endif}}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => ( $col == 'title' ) ? 'asc' : 'desc', 'page' => '1' ) )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{{if $col == 'title'}}asc{{else}}desc{{endif}}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => ( $col == 'title' ) ? 'asc' : 'desc', 'page' => '1' ) )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
|
||||
@@ -1443,7 +1517,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $table->canModerate()}}
|
||||
<form action="{$table->baseUrl}" method="post" data-role='moderationTools' data-ipsPageAction>
|
||||
<form action="{$table->baseUrl->csrf()}" method="post" data-role='moderationTools' data-ipsPageAction>
|
||||
{{endif}}
|
||||
{{if ! count($rows)}}
|
||||
<div class="ipsPad">
|
||||
@@ -1536,7 +1610,7 @@
|
||||
{{endif}}
|
||||
</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()->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>
|
||||
<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>
|
||||
{lang="cms_database_filtered_by"}
|
||||
{{foreach $activeFilters as $id => $data}}
|
||||
{$data['field']->_title} ({$data['value']})
|
||||
@@ -1568,41 +1642,42 @@
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsDataItem_main'>
|
||||
<h4 class='ipsDataItem_title ipsType_break'>
|
||||
<h4 class='ipsDataItem_title ipsContained_container'>
|
||||
{{if $row->locked()}}
|
||||
<i class='fa fa-lock' data-ipsTooltip title='{lang="content_locked_record"}'></i>
|
||||
<span><i class='fa fa-lock' data-ipsTooltip title='{lang="content_locked_record"}'></i></span>
|
||||
{{endif}}
|
||||
|
||||
{{if $row->isFutureDate() || $row->mapped('pinned') || $row->mapped('featured') || $row->hidden() === -1 || $row->hidden() === 1}}
|
||||
<span>
|
||||
{{if $row->isFutureDate()}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
|
||||
{{elseif $row->hidden() === -1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
|
||||
{{elseif $row->hidden() === 1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
|
||||
{{endif}}
|
||||
{{if $row->mapped('pinned')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
|
||||
{{endif}}
|
||||
{{if $row->mapped('featured')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
|
||||
{{endif}}
|
||||
</span>
|
||||
{{if $row->isFutureDate()}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
|
||||
{{elseif $row->hidden() === -1}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
|
||||
{{elseif $row->hidden() === 1}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
|
||||
{{endif}}
|
||||
{{if $row->mapped('pinned')}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span></span>
|
||||
{{endif}}
|
||||
{{if $row->mapped('featured')}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span></span>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
|
||||
{{if $row->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}</span>
|
||||
{{endif}}
|
||||
|
||||
<a href='{$row->url()}'>
|
||||
{{if $row->_title}}{$row->_title}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
|
||||
</a>
|
||||
<div class='ipsContained ipsType_break'>
|
||||
<a href='{$row->url()}'>
|
||||
{{if $row->_title or $row->_title == 0}}{$row->_title}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
|
||||
</a>
|
||||
|
||||
{{if $row->commentPageCount() > 1}}
|
||||
{$row->commentPagination( array(), 'miniPagination' )|raw}
|
||||
{{endif}}
|
||||
</div>
|
||||
</h4>
|
||||
|
||||
{{if $row->commentPageCount() > 1}}
|
||||
{$row->commentPagination( array(), 'miniPagination' )|raw}
|
||||
{{endif}}
|
||||
|
||||
{{if count( $row->customFieldsForDisplay('listing') )}}
|
||||
<div class='ipsDataItem_meta'>
|
||||
{{foreach $row->customFieldsForDisplay('listing') as $fieldId => $fieldValue}}
|
||||
@@ -1645,10 +1720,18 @@
|
||||
{{endif}}
|
||||
</li>
|
||||
<li>
|
||||
{{if $row->mapped('num_comments')}}
|
||||
{lang="cms_row_commented_by" htmlsprintf="$row->lastCommenter()->link()"}
|
||||
{{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()"}
|
||||
{{else}}
|
||||
{lang="cms_row_added_by" htmlsprintf="$row->author()->link()"}
|
||||
{{endif}}
|
||||
{{else}}
|
||||
{lang="cms_row_added_by" htmlsprintf="$row->author()->link()"}
|
||||
{{if $row->record_edit_time > 0}}
|
||||
{lang="cms_row_updated_by" htmlsprintf="$row->lastCommenter()->link()"}
|
||||
{{else}}
|
||||
{lang="cms_row_added_by" htmlsprintf="$row->author()->link()"}
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</li>
|
||||
|
||||
|
||||
Reference in new issue
Block a user