Version 4.1.19

This commit is contained in:
Neo committed 2025-12-19 05:38:56 -08:00
1 parent 28bd025b35
commit 2bd5025018
2674 files changed
+233518 -77766

No files matched your search

+111 -100
View File
@@ -4,7 +4,7 @@
<div class='ipsBox ipsSpacer_bottom'>
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="featured_entries"}</h2>
<div class='ipsClearfix'>
<div class="cFeaturedTopics ipsCarousel ipsClearfix" data-ipsCarousel data-ipsCarousel-fullSizeItems data-ipsCarousel-shadows='false'>
<div class="cFeaturedTopics ipsCarousel ipsClearfix" data-ipsCarousel data-ipsCarousel-slideshow data-ipsCarousel-fullSizeItems data-ipsCarousel-shadows='false'>
<ul class='cTopicCarousel ipsClearfix ipsList_reset' data-role='carouselItems'>
{{foreach $featured as $entry}}
<li class='ipsCarousel_item ipsAreaBackground_reset ipsClearfix'>
@@ -121,14 +121,14 @@
<ul class='ipsDataList ipsDataList_reducedSpacing ipsType_medium ipsList_reset ipsType_light'>
{{foreach $blog->_recentEntries as $entry}}
<li class='ipsDataItem'>
<div class='ipsDataItem_main'>
<div class='ipsDataItem_main ipsType_break ipsContained'>
{{if $entry->unread()}}
<a href='{$entry->url()}' title='{lang="view_this_entry" sprintf="$entry->name"}' class=''>
<span class='ipsItemStatus ipsItemStatus_tiny'><i class='fa fa-circle'></i></span>
</a>
{{endif}}
<a href='{$entry->url()}' title='{lang="view_this_entry" sprintf="$entry->name"}' class='ipsType_break'>
{wordbreak="$entry->name"}
<a href='{$entry->url()}' title='{lang="view_this_entry" sprintf="$entry->name"}'>
{truncate="$entry->name" length="50"}
</a>
</div>
</li>
@@ -148,33 +148,35 @@
{template="userPhoto" app="core" params="$blog->latestEntry()->author(), 'mini'" group="global"}
<div>
<strong class='ipsType_minorHeading'>{lang="latest_entry"}</strong><br>
<h3 class='ipsType_reset ipsType_sectionHead ipsType_blendLinks'>
{{if $blog->latestEntry()->locked()}}<i class='fa fa-lock'></i> {{endif}}{$blog->latestEntry()->caption}
<h3 class='ipsType_reset ipsType_sectionHead ipsType_blendLinks ipsContained_container'>
{{if $blog->latestEntry()->locked()}}<span><i class='fa fa-lock'></i></span> {{endif}}{$blog->latestEntry()->caption}
{{if $blog->latestEntry()->isFutureDate() || $blog->latestEntry()->mapped('pinned') || $blog->latestEntry()->mapped('featured') || $blog->latestEntry()->hidden() === -1 || $blog->latestEntry()->hidden() === 1 || $blog->latestEntry()->status === 'draft'}}
{{if $blog->latestEntry()->isFutureDate()}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $blog->latestEntry()->hidden() === -1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $blog->latestEntry()->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 $blog->latestEntry()->status === 'draft'}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="unpublished"}'><i class='fa fa-pencil-square-o'></i></span>
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="unpublished"}'><i class='fa fa-pencil-square-o'></i></span></span>
{{endif}}
{{if $blog->latestEntry()->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 $blog->latestEntry()->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}}
<a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}'>
{{if $blog->latestEntry()->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
{{endif}}
{wordbreak="$blog->latestEntry()->name"}
</a>
<div class='ipsType_break ipsContained'>
<a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}' class='ipsTruncate ipsTruncate_line'>
{{if $blog->latestEntry()->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
{{endif}}
{$blog->latestEntry()->name}
</a>
</div>
</h3>
{{if !( $blog->owner() instanceof \IPS\Member )}}
<p class='ipsType_medium ipsType_reset ipsType_light'>{lang="byline" htmlsprintf="trim( $blog->latestEntry()->author()->link() )"} {datetime="$blog->latestEntry()->date"}</p>
@@ -189,7 +191,7 @@
<strong><a href='{$blog->latestEntry()->url()}' title='{lang="read_more_entry"}'>{lang="read_more"}</a></strong>
</li>
{{if \IPS\Settings::i()->blog_enable_rating}}
<li>{template="rating" app="core" params="'small', $blog->latestEntry()->averageRating()" group="global"}</li>
<li>{template="rating" app="core" params="'small', $blog->latestEntry()->averageRating(), 5, $blog->latestEntry()->memberRating()" group="global"}</li>
{{endif}}
{{if !$blog->latestEntry()->num_comments}}
<li class='ipsType_light'>{lang="num_comments" pluralize="$blog->latestEntry()->num_comments"}</li>
@@ -249,7 +251,7 @@
</div>
<div class='ipsEmbedded_content'>
<div class='ipsPhotoPanel ipsPhotoPanel_mini ipsClearfix ipsType_medium'>
<div class='ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_mini ipsClearfix ipsType_medium'>
{{if $blog->owner() instanceof \IPS\Member}}
{template="userPhoto" group="global" app="core" params="$blog->owner(), 'mini', NULL, '', FALSE"}
{{endif}}
@@ -281,7 +283,7 @@
<div class='ipsColumns ipsColumns_collapsePhone'>
<div class='ipsColumn ipsColumn_fluid'>
<h3 class='ipsType_sectionHead ipsType_break ipsTruncate ipsTruncate_line'>
<a href='{$blog->url()}'>{lang="blogs_blog_{$blog->id}" wordbreak="true"}</a> {{if $showSmall && !($blog->owner() instanceof \IPS\Member)}}&nbsp;&nbsp;<span class='ipsType_light ipsType_medium' data-ipsTooltip title='{lang="this_is_group"}'><i class='fa fa-users'></i> {lang="byline_nodate" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}</span>{{endif}}
<a href='{$blog->url()}'>{{if $blog->member_id}}{$blog->_title}{{else}}{lang="blogs_blog_{$blog->id}"}{{endif}}</a> {{if $showSmall && !($blog->owner() instanceof \IPS\Member)}}&nbsp;&nbsp;<span class='ipsType_light ipsType_medium' data-ipsTooltip title='{lang="this_is_group"}'><i class='fa fa-users'></i> {lang="byline_nodate" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}</span>{{endif}}
</h3>
<ul class='ipsGrid cProfileBlog_stats'>
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->_items}</strong><br>{lang="blog_entries" pluralize="$blog->_items"}</li>
@@ -296,12 +298,12 @@
{{if $blog->latestEntry()->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
{{endif}}
{wordbreak="$blog->latestEntry()->name"}
{$blog->latestEntry()->name}
</a>
<ul class='ipsList_inline ipsType_medium ipsType_light'>
<li>{datetime="$blog->latestEntry()->date"}</li>
{{if \IPS\Settings::i()->blog_enable_rating}}
<li>{template="rating" app="core" params="'small', $blog->latestEntry()->averageRating()" group="global"}</li>
<li>{template="rating" app="core" params="'small', $blog->latestEntry()->averageRating(), 5, $blog->latestEntry()->memberRating()" group="global"}</li>
{{endif}}
{{if !$blog->latestEntry()->num_comments}}
<li class='ipsType_light'>{lang="num_comments" pluralize="$blog->latestEntry()->num_comments"}</li>
@@ -357,8 +359,7 @@
{template="pageHeader" if="!\IPS\Request::i()->isAjax()" group="global" app="core" params="\IPS\Member::loggedIn()->language()->addToStack( 'create_blog_entry' )"}
{$form|raw}
]]></template>
<template template_group="submit" template_name="submitFormTemplate" template_data="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class=''" template_location="front" template_app="blog"><![CDATA[{{$modOptions=array('blog_entry_date');}}
<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm>
<template template_group="submit" template_name="submitFormTemplate" template_data="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class=''" template_location="front" template_app="blog"><![CDATA[<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm>
<input type="hidden" name="{$id}_submitted" value="1">
{{foreach $hiddenValues as $k => $v}}
<input type="hidden" name="{$k}" value="{$v}">
@@ -386,7 +387,7 @@
<div id='ipsTabs_tabs_{$id}_{$id}_tab_{$name}_panel' class="ipsTabs_panel ipsPad" aria-labelledby="{$id}_tab_{$name}" aria-hidden="false">
<ul class='ipsForm ipsForm_vertical'>
{{foreach $contents as $inputName => $input}}
{$input|raw}
{$input|raw}
{{endforeach}}
</ul>
</div>
@@ -396,9 +397,7 @@
<ul class='ipsForm ipsForm_vertical'>
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
{{if !in_array( $inputName, $modOptions )}}
{$input|raw}
{{endif}}
{$input|raw}
{{endforeach}}
{{endforeach}}
</ul>
@@ -432,7 +431,7 @@
</li>
</ul>
</div>
{{if !( $blog->owner() instanceof \IPS\Member )}}
{{if !( $blog->owner() instanceof \IPS\Member ) and count( $blog->contributors() )}}
<div class='cBlogContributors ipsClearfix ipsResponsive_hidePhone'>
<h2 class='ipsType_minorHeading'>{lang="contributors_to_this"}</h2>
<ul class='cBlogView_contributors'>
@@ -523,7 +522,7 @@
{{endif}}
{{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>
<div class='ipsClear ipsPad {{foreach $table->classes as $class}}{$class} {{endforeach}}' id='elTable_{$table->uniqueId}' data-role="tableRows" data-controller='blog.front.browse.list'>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
</div>
@@ -611,7 +610,7 @@
{{endif}}
</div>]]></template>
<template template_group="view" template_name="blogViewLarge" template_data="$entry, $table, $first = FALSE" template_location="front" template_app="blog"><![CDATA[
<article class='cBlogView_entry ipsContained {{if $entry->hidden()}}ipsModerated{{endif}}' data-controller="core.front.core.lightboxedImages">
<article class='cBlogView_entry ipsContained ipsType_break {{if $entry->hidden()}}ipsModerated{{endif}}' data-controller="core.front.core.lightboxedImages">
<header class='ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_small ipsSpacer_bottom'>
{template="userPhoto" app="core" params="$entry->author()" group="global"}
<div>
@@ -639,11 +638,11 @@
{{if $entry->prefix()}}
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
{{endif}}
<a href="{$entry->url()}" class='ipsType_blendLinks' title="{lang="read_more_about" sprintf="$entry->name"}" {{if $entry->canEdit()}}data-role="editableTitle"{{endif}}>
<a href="{$entry->url()}" class='ipsType_blendLinks' title="{lang="read_more_about" sprintf="$entry->name"} {{if $entry->canEdit()}}{lang="click_hold_edit"}{{endif}}" {{if $entry->canEdit()}}data-role="editableTitle"{{endif}}>
{{if $entry->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
{{endif}}
{{if $entry->canEdit()}}<span data-role="editableTitle">{wordbreak="$entry->name"}</span>{{else}}{wordbreak="$entry->name"}{{endif}}
{{if $entry->canEdit()}}<span data-role="editableTitle">{$entry->name}</span>{{else}}{$entry->name}{{endif}}
</a>
</h2>
<p class='ipsType_light ipsType_reset ipsType_blendLinks'>
@@ -653,7 +652,7 @@
</header>
<section class='ipsType_normal ipsType_richText ipsType_break ipsSpacer_both' data-ipsTruncate {{if $first}}data-ipsTruncate-size='20 lines'{{else}}data-ipsTruncate-size='7 lines'{{endif}}>
{$entry->content|raw}
{$entry->content()|raw}
</section>
{{if count( $entry->tags() )}}
<div class='ipsSpacer_top'>
@@ -670,47 +669,49 @@
{{endif}}
<li><strong><a href='{$entry->url()}' title="{lang="read_more_about" sprintf="$entry->name"}">{lang="read_more"}</a></strong></li>
{{if \IPS\Settings::i()->blog_enable_rating}}
<li>{template="rating" app="core" params="'small', $entry->averageRating()" group="global"}</li>
<li>{template="rating" app="core" params="'small', $entry->averageRating(), 5, $entry->memberRating()" group="global"}</li>
{{endif}}
<li><a href='{$entry->url()}#comments' title='{lang="view_comments"}' class='ipsType_light'>{lang="num_comments" pluralize="$entry->num_comments"}</a></li>
<li class='ipsType_light'>{lang="num_views_with_number" pluralize="$entry->views"}</li>
</ul>
</article>]]></template>
<template template_group="view" template_name="blogViewMedium" template_data="$entry, $table" template_location="front" template_app="blog"><![CDATA[
<article class='cBlogView_entry ipsContained {{if $entry->hidden()}}ipsModerated{{endif}}' data-controller="core.front.core.lightboxedImages">
<article class='cBlogView_entry {{if $entry->hidden()}}ipsModerated{{endif}}' data-controller="core.front.core.lightboxedImages">
<header class='ipsPhotoPanel ipsPhotoPanel_mini ipsPhotoPanel_notPhone'>
{template="userPhoto" app="core" params="$entry->author(), 'mini'" group="global"}
<div>
<h2 class='ipsType_sectionHead ipsType_blendLinks ipsTruncate ipsTruncate_line'>
<h2 class='ipsType_sectionHead ipsType_blendLinks ipsContained_container'>
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1}}
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $entry->hidden() === 1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
<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 $entry->mapped('pinned')}}
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
<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 $entry->mapped('featured')}}
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
<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 $entry->prefix()}}
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
<span>{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}</span>
{{endif}}
<a href="{$entry->url()}" title="{lang="read_more_about" sprintf="$entry->name"}" {{if $entry->canEdit()}}data-role="editableTitle"{{endif}}>
{{if $entry->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
{{endif}}
{wordbreak="$entry->name"}
</a>
<div class='ipsContained ipsType_break'>
<a href="{$entry->url()}" title="{lang="read_more_about" sprintf="$entry->name"} {{if $entry->canEdit()}}{lang="click_hold_edit"}{{endif}}" {{if $entry->canEdit()}}data-role="editableTitle"{{endif}}>
{{if $entry->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
{{endif}}
{$entry->name}
</a>
</div>
</h2>
<p class='ipsType_light ipsType_reset ipsType_blendLinks'>
{lang="byline" htmlsprintf="$entry->author()->link()"}{datetime="$entry->date"}
</p>
{{if \IPS\Settings::i()->blog_enable_rating}}
{template="rating" app="core" params="'large', $entry->averageRating()" group="global"}
{template="rating" app="core" params="'large', $entry->averageRating(), 5, $entry->memberRating()" group="global"}
{{endif}}
</div>
</header>
@@ -732,12 +733,12 @@
</ul>
</article>]]></template>
<template template_group="view" template_name="comments" template_data="$entry" template_location="front" template_app="blog"><![CDATA[<div class='ipsBox'>
<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$entry->url()}' data-feedID='entry-{$entry->id}' id='comments'>
<div data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$entry->url()}' data-feedID='entry-{$entry->id}' id='comments'>
<div class='ipsPad'>
<h2 class='ipsType_sectionHead' data-role="comment_count">{lang="num_comments_uc" pluralize="$entry->num_comments"}</h2>
<hr class='ipsHr'>
{{if $entry->commentPageCount() > 1}}
{$entry->commentPagination()|raw}
{$entry->commentPagination( array('tab') )|raw}
<br><br>
{{endif}}
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
@@ -761,7 +762,7 @@
</div>
{{if $entry->commentPageCount() > 1}}
<hr class='ipsHr'>
{$entry->commentPagination()|raw}
{$entry->commentPagination( array('tab') )|raw}
{{endif}}
{{if $entry->commentForm() || $entry->locked() || \IPS\Member::loggedin()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
<div class='ipsAreaBackground ipsPad ipsClear ipsSpacer_top' data-role='replyArea'>
@@ -783,7 +784,8 @@
{{endif}}
</div>
</div>
</div>]]></template>
</div>
]]></template>
<template template_group="view" template_name="coverPhotoOverlay" template_data="$blog" template_location="front" template_app="blog"><![CDATA[{{if ( $blog->owner() instanceof \IPS\Member ) && \IPS\Request::i()->module == 'view'}}
<div class='ipsPhotoPanel ipsPhotoPanel_mini'>
{template="userPhoto" group="global" app="core" params="$blog->owner(), 'mini'"}
@@ -814,33 +816,40 @@
{template="blogHeader" group="view" app="blog" params="$entry->container()"}
</header>
<article class='ipsBox ipsPad ipsSpacer_top'>
<article class='ipsBox ipsPad ipsSpacer_top ipsType_break'>
<header>
<h1 class='ipsType_pageTitle ipsType_largeTitle ipsType_break'>
<h1 class='ipsType_pageTitle ipsType_largeTitle ipsContained_container'>
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1 || $entry->status === 'draft'}}
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $entry->hidden() === -1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $entry->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 $entry->status === 'draft'}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="unpublished"}'><i class='fa fa-pencil-square-o'></i></span>
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="unpublished"}'><i class='fa fa-pencil-square-o'></i></span></span>
{{endif}}
{{if $entry->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 $entry->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}}
{{if $entry->prefix()}}
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
{{if $entry->prefix() OR ( $entry->canEdit() AND $entry::canTag() AND $entry::canPrefix() )}}
<span {{if !$entry->prefix()}}class='ipsHide'{{endif}} {{if ( $entry->canEdit() AND $entry::canTag() AND $entry::canPrefix() )}}data-editablePrefix{{endif}}>
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
</span>
{{endif}}
{{if $entry->canEdit()}}
<div class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}<span data-role="editableTitle" title='{lang="click_hold_edit"}'>{$entry->name}</span>
</div>
{{else}}
<div class='ipsType_break ipsContained'>{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->name}</div>
{{endif}}
{wordbreak="$entry->name"}
{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->caption}
</h1>
<div class='ipsPhotoPanel ipsPhotoPanel_tiny ipsSpacer_top'>
@@ -854,8 +863,8 @@
{{if \IPS\Settings::i()->blog_enable_rating}}
{$entry->rating()|raw}
{{endif}}
{{if count( $entry->tags() )}}
{template="tags" group="global" app="core" params="$entry->tags()"}
{{if count( $entry->tags() ) OR ( $entry->canEdit() AND $entry::canTag() )}}
{template="tags" group="global" app="core" params="$entry->tags(), FALSE, FALSE, ( $entry->canEdit() AND $entry::canTag() ) ? $entry->url() : NULL"}
{{endif}}
</div>
</div>
@@ -867,7 +876,7 @@
{$poll|raw}
{{endif}}
{$entry->content|raw}
{$entry->content()|raw}
</div>
{{if $entry->_album}}
@@ -929,7 +938,7 @@
{{endif}}
</ul>
{{endif}}
{{if !\IPS\Member::loggedIn()->group['gbw_no_report'] }}
{{if ! $entry->container()->social_group and !\IPS\Member::loggedIn()->group['gbw_no_report'] }}
&nbsp;&nbsp;<a href='{$entry->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_entry"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_entry"}">{lang="report_entry"}</a>
{{endif}}
@@ -942,21 +951,21 @@
{{if $previous or $next}}
<nav class="ipsPager ipsGrid ipsClearFix ipsList_inline">
<div class="ipsGrid_span6 ipsPager_prev">
{{if $previous}}
<a href="{$previous->url()}" title="{lang="prev_entry"}" rel="prev">
<span class="ipsPager_type">{lang="prev_entry"}</span>
<span class="ipsPager_title ipsType_break">{wordbreak="$previous->name"}</span>
</a>
<div class="ipsGrid_span6 ipsPager_prev">
<a href="{$previous->url()}" title="{lang="prev_entry"}">
<span class="ipsPager_type">{lang="prev_entry"}</span>
<span class="ipsPager_title ipsTruncate ipsTruncate_line">{$previous->name}</span>
</a>
</div>
{{endif}}
</div>
{{if $next}}
<div class="ipsGrid_span6 ipsType_right ipsPager_next">
<a href="{$next->url()}" title="{lang="next_entry"}" rel="next">
<span class="ipsPager_type">{lang="next_entry"}</span>
<span class="ipsPager_title ipsType_break">{wordbreak="$next->name"}</span>
</a>
</div>
<div class="ipsGrid_span6 ipsType_right ipsPager_next">
<a href="{$next->url()}" title="{lang="next_entry"}">
<span class="ipsPager_type">{lang="next_entry"}</span>
<span class="ipsPager_title ipsTruncate ipsTruncate_line">{$next->name}</span>
</a>
</div>
{{endif}}
</nav>
<hr class='ipsHr'>
@@ -976,7 +985,7 @@
<div class='ipsType_center'>
<p class='ipsType_large'>{lang="no_entries"}</p>
{{if $container->can('add')}}
<a href='{url="app=blog&module=blog&controller=submit&id={$container->_id}" seoTemplate="blog_submit"}' class='ipsButton ipsButton_primary ipsButton_medium'>{lang="submit_entry"}</a>
<a href='{url="app=blog&module=blogs&controller=submit&id={$container->_id}" seoTemplate="blog_submit"}' class='ipsButton ipsButton_primary ipsButton_medium'>{lang="submit_entry"}</a>
{{endif}}
</div>]]></template>
<template template_group="view" template_name="rows" template_data="$table, $headers, $entries" template_location="front" template_app="blog"><![CDATA[{{if count( $entries ) > 0}}
@@ -1035,7 +1044,7 @@
<a href='#elBlogManage_menu' id='elBlogManage' data-ipsMenu class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth'>{lang="manage_blog"} <i class='fa fa-caret-down'></i></a>
<ul id='elBlogManage_menu' class='ipsMenu ipsMenu_normal ipsHide'>
{{if $blog->canEdit() }}
{{if $blog->canEdit() AND !$blog->groupblog_ids}}
<li class='ipsMenu_item'>
<a href='{$blog->url()->setQueryString( array( 'do' => 'editBlog', 'csrfKey' => \IPS\Session::i()->csrfKey ) )}' title="{lang="edit_blog"}" data-ipsDialog data-ipsDialog-title="{lang="edit_blog"}">{lang="edit_blog"}</a>
</li>
@@ -1059,7 +1068,7 @@
{{if $blog->canDelete() }}
<li class='ipsMenu_item'>
<a href='{$blog->url()->setQueryString( array( 'do' => 'deleteBlog', 'csrfKey' => \IPS\Session::i()->csrfKey ) )}' data-confirm title="{lang="delete_blog"}">{lang="delete_blog"}</a>
<a href='{$blog->url()->setQueryString( array( 'do' => 'deleteBlog', 'csrfKey' => \IPS\Session::i()->csrfKey ) )}' data-confirm title="{lang="delete_blog"}" data-confirmMessage="{lang="delete_blog_confirm"}" >{lang="delete_blog"}</a>
</li>
{{endif}}
</ul>
@@ -1084,7 +1093,7 @@
{template="userPhoto" group="global" app="core" params="$comment->author(), 'tiny'"}
</div>
<div class='ipsDataItem_main'>
<a href="{$comment->url()}" class='ipsType_medium ipsType_break'>{wordbreak="$comment->item()->name"}</a><br>
<div class='ipsType_break ipsContained'><a href="{$comment->url()}" class='ipsType_medium ipsTruncate ipsTruncate_line'>{$comment->item()->name}</a></div>
<p class='ipsType_reset ipsType_medium ipsType_light ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$comment->author()->link()"} &middot; <a href="{$comment->url()}" class='ipsDataItem_title ipsType_break ipsType_blendLinks'>{$comment->dateLine()|raw}</a></p>
<div class='ipsType_medium ipsType_textBlock ipsType_richText ipsType_break ipsContained ipsSpacer_top ipsSpacer_half' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='{{if $orientation == 'vertical'}}6 lines{{else}}2 lines{{endif}}'>
{$comment->truncated( true )|raw}
@@ -1110,7 +1119,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->id ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a>
{{if $comment->editLine()}}
({lang="edited_lc"})
{{endif}}
@@ -1129,10 +1138,10 @@
</div>
<div class='ipsPad ipsClearfix'>
{{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-star'></i></strong>
{{endif}}
<a href="{$comment->url()}" class='ipsDataItem_title ipsType_break'>{wordbreak="$comment->item()->name"}</a><br>
<div class='ipsType_break ipsContained'><a href="{$comment->url()}" class='ipsDataItem_title ipsTruncate ipsTruncate_line'>{$comment->item()->name}</a></div><br>
<div data-role='commentContent' class='ipsType_normal ipsType_richText ipsType_break ipsContained' data-controller='core.front.core.lightboxedImages'>
{{if $comment->hidden() === 1 && $comment->author()->member_id == \IPS\Member::loggedIn()->member_id}}
<strong class='ipsType_medium ipsType_warning'><i class='fa fa-info-circle'></i> {lang="comment_awaiting_approval"}</strong>
@@ -1162,7 +1171,7 @@
{{foreach $blogs as $blog}}
<li class='ipsDataItem'>
<div class='ipsColumns ipsColumns_collapsePhone'>
<h4 class='ipsType_large ipsType_reset'>{$blog->_title}</h4>
<h4 class='ipsSpacer_top ipsSpacer_half ipsType_reset ipsTruncate ipsTruncate_line'><a href="{$blog->url()}" title='{lang="view_this_blog" sprintf="$blog->_title"}'>{$blog->_title}</a></h4>
<div>
<ul class='ipsGrid'>
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->_items}</strong><br>{lang="blog_entries" pluralize="$blog->_items"}</li>
@@ -1199,9 +1208,11 @@
<span class='ipsItemStatus ipsItemStatus_tiny'><i class='fa fa-circle'></i></span>
</a>
{{endif}}
<a href='{$entry->url()}' title='{lang="view_this_entry" sprintf="$entry->name"}' class='ipsType_break'>
{wordbreak="$entry->name"}
</a>
<div class='ipsContained ipsType_break'>
<a href='{$entry->url()}' title='{lang="view_this_entry" sprintf="$entry->name"}' class='ipsType_break'>
{$entry->name}
</a>
</div>
</div>
</li>
{{endforeach}}
@@ -1216,12 +1227,12 @@
<div>
<strong class='ipsType_minorHeading'>{lang="latest_entry"}</strong><br>
<h3 class='ipsType_reset ipsType_sectionHead ipsType_blendLinks'>
<a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}'>
<div class='ipsType_break ipsContained'><a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}'>
{{if $blog->latestEntry()->unread()}}
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
{{endif}}
{wordbreak="$blog->latestEntry()->name"}
</a>
{$blog->latestEntry()->name}
</a></div>
{{if $blog->latestEntry()->locked()}}<i class='fa fa-lock'></i> {{endif}}{$blog->latestEntry()->caption}
{{if $blog->latestEntry()->isFutureDate() || $blog->latestEntry()->mapped('pinned') || $blog->latestEntry()->mapped('featured') || $blog->latestEntry()->hidden() === -1 || $blog->latestEntry()->hidden() === 1 || $blog->latestEntry()->status === 'draft'}}
{{if $blog->latestEntry()->isFutureDate()}}
@@ -1255,7 +1266,7 @@
<strong><a href='{$blog->latestEntry()->url()}' title='{lang="read_more_entry"}'>{lang="read_more"}</a></strong>
</li>
{{if \IPS\Settings::i()->blog_enable_rating}}
<li>{template="rating" app="core" params="'small', $blog->latestEntry()->averageRating()" group="global"}</li>
<li>{template="rating" app="core" params="'small', $blog->latestEntry()->averageRating(), 5, $blog->latestEntry()->memberRating()" group="global"}</li>
{{endif}}
{{if !$blog->latestEntry()->num_comments}}
<li class='ipsType_light'>{lang="num_comments" pluralize="$blog->latestEntry()->num_comments"}</li>
@@ -1324,10 +1335,10 @@
{template="userPhoto" app="core" params="$entry->author(), 'tiny'" group="global"}
</div>
<div class='ipsDataItem_main'>
<a href="{$entry->url('getLastComment')}" title='{lang="view_this_entry" sprintf="$entry->_title"}' class='ipsType_medium ipsType_break'>{wordbreak="$entry->name"}</a><br>
<span class='ipsType_blendLinks ipsType_light ipsType_medium ipsType_break ipsContained'>{lang="byline_nodate" htmlsprintf="$entry->author()->link()"} {lang="in"} <a href='{$entry->container()->url()}' class='ipsType_blendLinks'>{$entry->container()->_title}</a></span>
<div class='ipsContained ipsType_break'><a href="{$entry->url('getLastComment')}" title='{lang="view_this_entry" sprintf="$entry->_title"}' class='ipsType_medium ipsTruncate ipsTruncate_line'>{$entry->name}</a></div>
<span class='ipsType_blendLinks ipsType_light ipsType_medium ipsType_break ipsContained'>{lang="byline_nodate" htmlsprintf="$entry->author()->link()"} {lang="in"} <a href='{$entry->container()->url()}' class='ipsType_blendLinks ipsTruncate ipsTruncate_line'>{$entry->container()->_title}</a></span>
{{if \IPS\Settings::i()->blog_enable_rating}}
{template="rating" group="global" location="front" app="core" params="'small', $entry->averageRating()"} &nbsp;&nbsp;
{template="rating" group="global" location="front" app="core" params="'small', $entry->averageRating(), 5, $entry->memberRating()"} &nbsp;&nbsp;
{{endif}}
<span class='ipsType_medium ipsType_reset'>{{if !$entry->num_comments}}<span class='ipsType_light'>{{endif}}<i class='fa fa-comment'></i> {number="$entry->num_comments"}{{if !$entry->num_comments}}</span>{{endif}}</span>
{{if $orientation == 'horizontal'}}