Version 4.2.0

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

No files matched your search

+340 -158
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<theme name="Default" author_name="Invision Power Services, Inc" author_url="http://www.invisionpower.com">
<theme name="Default" author_name="Invision Power Services, Inc" author_url="https://www.invisioncommunity.com">
<template template_group="browse" template_name="featuredEntries" template_data="$featured" template_location="front" template_app="blog"><![CDATA[
<div class='ipsBox ipsSpacer_bottom'>
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="featured_entries"}</h2>
@@ -12,12 +12,14 @@
{template="userPhoto" group="global" app="core" params="$entry->author(), 'small'"}
<div>
<h3 class='ipsType_sectionHead'>
<a href='{$entry->url()}'>
{{if $entry->unread()}}
<span class='ipsItemStatus ' data-ipsTooltip title='{{if !$entry->unread()}}{lang="no_new_posts"}{{else}}{lang="new_posts"}{{endif}}'><i class="fa fa-circle"></i></span>
{{endif}}
{$entry->mapped('title')}
</a>
<span class='ipsType_break ipsContained'>
<a href='{$entry->url()}'>
{{if $entry->unread()}}
<span class='ipsItemStatus ' data-ipsTooltip title='{{if !$entry->unread()}}{lang="no_new_posts"}{{else}}{lang="new_posts"}{{endif}}'><i class="fa fa-circle"></i></span>
{{endif}}
{$entry->mapped('title')}
</a>
</span>
</h3>
<p class='ipsType_reset ipsType_medium ipsType_light'>{lang="byline_nodate" htmlsprintf="$entry->author()->link()"} {datetime="$entry->mapped('date')"}</p>
<div class='ipsType_medium ipsType_richText ipsSpacer_both' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines'>
@@ -169,14 +171,14 @@
{{endif}}
{{endif}}
<div class='ipsType_break ipsContained'>
<span 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>
</span>
</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>
@@ -238,46 +240,148 @@
<p class='ipsType_normal ipsType_light ipsType_blendLinks ipsType_reset'>
{{if $entry->container()->owner() instanceof \IPS\Member}}
{lang="blog_by" htmlsprintf="$entry->container()->owner()->link()"}
{{else}}
{{elseif !$entry->container()->club()}}
<i class='fa fa-users'></i> {lang="group_blog_by" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $entry->container()->id )"}
{{endif}}
</p>
</div>
</div>
</div>]]></template>
<template template_group="global" template_name="embedBlogs" template_data="$blog, $url" template_location="front" template_app="blog"><![CDATA[<div class='ipsEmbedded'>
<div class='ipsEmbedded_headerArea'>
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-file' data-ipsTooltip title='{lang="embed_blog"}'></i> &nbsp;<a href='{$url}' title='{lang="view_this_blog"}' target='_top'>{$blog->_title}</a></h4>
<template template_group="global" template_name="embedBlogs" template_data="$blog, $url" template_location="front" template_app="blog"><![CDATA[
<div data-embedInfo-maxSize='500' class='ipsRichEmbed cBlogEmbed'>
<div class='ipsRichEmbed_header ipsAreaBackground_light ipsClearfix'>
<a href='{$blog->url()}' class='ipsRichEmbed_openItem'><i class='fa fa-external-link-square'></i></a>
{{if !( $blog->owner() instanceof \IPS\Member ) and count( $blog->contributors() )}}
<p class='ipsRichEmbed_title ipsType_reset ipsTruncate ipsTruncate_line ipsType_blendLinks'>
<a href='{$blog->url()}'>{lang="group_blog_by" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}</a>
</p>
{{if $blog->latestEntry()}}
<p class='ipsRichEmbed_author ipsType_reset ipsType_light ipsTruncate ipsTruncate_line ipsType_blendLinks'>
<a href='{$blog->url()}'>{lang="blog_last_entry_date" htmlsprintf="\IPS\DateTime::ts( $blog->latestEntry()->mapped('date') )->html()"}</a>
</p>
{{endif}}
{{else}}
<div class='ipsPhotoPanel ipsPhotoPanel_tiny ipsType_blendLinks'>
{template="userPhoto" app="core" group="global" params="$blog->owner(), 'tiny'"}
<div>
<p class='ipsRichEmbed_title ipsType_reset ipsTruncate ipsTruncate_line'>
<a href='{$blog->url()}'>{lang="x_created_blog" sprintf="$blog->owner()->name"}</a>
</p>
{{if $blog->latestEntry()}}
<p class='ipsRichEmbed_author ipsType_reset ipsType_light ipsTruncate ipsTruncate_line'>
<a href='{$blog->url()}'>{lang="blog_last_entry_date" htmlsprintf="\IPS\DateTime::ts( $blog->latestEntry()->mapped('date') )->html()"}</a>
</p>
{{endif}}
</div>
</div>
{{endif}}
</div>
{{if $blog->coverPhoto() && $blog->coverPhoto()->file}}
{{$photo = $blog->coverPhoto()->file;}}
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
<a href='{$blog->url()}' title='{$blog->_title}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
<img src='{$photo->url}' alt='{$blog->_title}' class='ipsHide'>
</a>
</div>
{{endif}}
<div class='ipsPad ipsClearfix'>
<p class='ipsRichEmbed_itemTitle ipsType_reset ipsTruncate ipsTruncate_line ipsType_blendLinks'>
<a href='{$blog->url()}'>{$blog->_title}</a>
</p>
<ul class='ipsList_inline'>
<li>{lang="num_blog_entries" pluralize="$blog->_items"}</li>
<li>{lang="num_blog_comments" pluralize="$blog->_comments"}</li>
<li>{lang="num_blog_views" pluralize="$blog->num_views"}</li>
</ul>
{{if $blog->description}}
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
{$blog->description|raw}
</div>
{{endif}}
{{if $blog->latestEntry()}}
<hr class='ipsHr'>
<p class='ipsType_medium ipsType_reset ipsSpacer_top ipsSpacer_half ipsType_blendLinks'>
<span class='ipsType_light'>{lang="latest_entry"}:</span> <a href='{$blog->latestEntry()->url}' title="{$blog->latestEntry()->mapped('title')}">{$blog->latestEntry()->mapped('title')}</a>
</p>
{{endif}}
</div>
<div class='ipsEmbedded_content'>
<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}}
<div>
<strong>
{{if $blog->owner() instanceof \IPS\Member}}
{lang="blog_byline_nodate" htmlsprintf="$blog->owner()->link()"}
{{else}}
<i class='fa fa-users' data-ipsTooltip title='{lang="this_is_group"}'></i> {lang="blog_byline_nodate" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}
{{endif}}
</strong>
{{if $blog->latestEntry()}}
<br>
<span class='ipsType_light ipsType_small'>
{lang="blog_last_entry_date" htmlsprintf="\IPS\DateTime::ts( $blog->latestEntry()->date )->html()"}
</span>
{{endif}}
<ul class='ipsGrid cBlogEmbedded_stats'>
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->_items}</strong><br>{lang="blog_entries" pluralize="$blog->_items"}</li>
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->_comments}</strong><br>{lang="blog_comments" pluralize="$blog->_comments"}</li>
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->num_views}</strong><br>{lang="blog_views" pluralize="$blog->num_views"}</li>
</ul>
</div>
{{if !( $blog->owner() instanceof \IPS\Member ) and count( $blog->contributors() )}}
<div class='ipsAreaBackground_light ipsPad ipsClearfix ipsRichEmbed_moreInfo'>
<h3 class='ipsType_minorHeading ipsTruncate ipsTruncate_line ipsType_blendLinks'>{lang="num_contributors_to_this" pluralize="count( $blog->contributors() )"}</h3>
<ul class='ipsList_inline ipsList_noSpacing ipsSpacer_top ipsSpacer_half ipsType_noBreak'>
{{foreach $blog->contributors() as $idx => $contributor}}
<li>
{template="userPhoto" group="global" app="core" params="$contributor['member'], 'mini'"}<span class='ipsNotificationCount'>{$contributor['contributions']}</span>
</li>
{{endforeach}}
</ul>
</div>
{{endif}}
</div>]]></template>
<template template_group="global" template_name="embedEntry" template_data="$entry, $blog, $url" template_location="front" template_app="blog"><![CDATA[
<div data-embedInfo-maxSize='500' class='ipsRichEmbed cBlogEmbed'>
{template="embedHeader" group="embed" app="core" params="$entry, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_entry_in', FALSE, array( 'sprintf' => array( $entry->author()->name, $entry->container()->_title ) ) ), $entry->mapped('date')"}
{{if $blog->coverPhoto() && $blog->coverPhoto()->file}}
{{$photo = $blog->coverPhoto()->file;}}
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
<a href='{$blog->url()}' title='{$blog->_title}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
<img src='{$photo->url}' alt='{$blog->_title}' class='ipsHide'>
</a>
</div>
{{endif}}
<div class='ipsPad ipsClearfix'>
<p class='ipsRichEmbed_itemTitle ipsType_reset ipsTruncate ipsTruncate_line ipsType_blendLinks'>
<a href='{$entry->url()}'>{$entry->mapped('title')}</a>
</p>
{template="embedEntryItemSnippet" group="global" app="blog" params="$blog"}
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
{$entry->truncated(TRUE)|raw}
</div>
{template="embedItemStats" group="embed" app="core" params="$entry"}
</div>
</div>]]></template>
<template template_group="global" template_name="embedEntryComment" template_data="$comment, $entry, $blog, $url" template_location="front" template_app="blog"><![CDATA[
<div data-embedInfo-maxSize='500' class='ipsRichEmbed cBlogEmbed'>
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_commented_blog_entry', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date')"}
<div class='ipsPad ipsClearfix'>
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
<div>
{{if $blog->coverPhoto() && $blog->coverPhoto()->file}}
{{$photo = $blog->coverPhoto()->file;}}
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
<a href='{$blog->url()}' title='{$blog->_title}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
<img src='{$photo->url}' alt='{$blog->_title}' class='ipsHide'>
</a>
</div>
{{endif}}
<div class='ipsPad'>
{template="embedOriginalItem" group="embed" app="core" params="$entry, TRUE, \IPS\Theme::i()->getTemplate( 'global', 'blog' )->embedEntryItemSnippet( $blog )"}
</div>
</div>
</div>
<div class='ipsType_richText ipsType_medium' data-truncate='3'>
{$comment->truncated(TRUE)|raw}
</div>
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
<li>
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
</li>
</ul>
{{endif}}
</div>
</div>]]></template>
<template template_group="global" template_name="embedEntryItemSnippet" template_data="$blog" template_location="front" template_app="blog"><![CDATA[
<p class='ipsType_reset ipsType_medium ipsType_light'>
{lang="from_the_blog"} "{$blog->_title}"
</p>]]></template>
<template template_group="global" template_name="profileBlogRows" template_data="$table, $headers, $blogs, $showSmall" template_location="front" template_app="blog"><![CDATA[{{foreach $blogs AS $blog}}
<li class='ipsAreaBackground_light ipsPad cProfileBlog'>
<div class='ipsColumns ipsColumns_collapsePhone'>
@@ -355,10 +459,20 @@
<div class='ipsBox ipsPad'>
{$form|raw}
</div>]]></template>
<template template_group="submit" template_name="submit" template_data="$form" template_location="front" template_app="blog"><![CDATA[
<template template_group="submit" template_name="submit" template_data="$form, $blog=NULL" template_location="front" template_app="blog"><![CDATA[
{{if $blog and $club = $blog->club()}}
{{if settings.clubs and settings.clubs_header == 'full'}}
{template="header" app="core" group="clubs" params="$club, $blog"}
{{endif}}
<div id='elClubContainer'>
{{endif}}
{template="pageHeader" if="!\IPS\Request::i()->isAjax()" group="global" app="core" params="\IPS\Member::loggedIn()->language()->addToStack( 'create_blog_entry' )"}
{$form|raw}
]]></template>
{{if $blog and $blog->club()}}
</div>
{{endif}}]]></template>
<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}}
@@ -408,7 +522,7 @@
</div>
</form>]]></template>
<template template_group="view" template_name="blogHeader" template_data="$blog" template_location="front" template_app="blog"><![CDATA[
<div id='elBlogHeader'>
<div id='elBlogHeader' {{if $blog->club()}}class="cBlogHeader_withClub"{{endif}}>
{$blog->coverPhoto()|raw}
</div>
<div id='elBlogHeaderStats' class='ipsPad'>
@@ -445,10 +559,16 @@
</ul>
</div>
{{endif}}
</div>]]></template>
<template template_group="view" template_name="blogSidebar" template_data="$sidebar=NULL" template_location="front" template_app="blog"><![CDATA[<div class='ipsBox' id='elBlogSidebarBox'>
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="blog_sidebar_title"}</h2>
<div class='ipsPad_half ipsWidget_inner'>
{$sidebar|raw}
</div>
</div>]]></template>
<template template_group="view" template_name="blogTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="blog"><![CDATA[<div class='ipsBox' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}' id='elTable_{$table->uniqueId}'>
{{if $table->title}}
<h2 class='ipsType_sectionTitle ipsType_reset ipsClear'>{lang="$table->title"}</h2>
<h2 class='ipsType_sectionTitle ipsType_reset ipsClear ipsHide'>{lang="$table->title"}</h2>
{{endif}}
{{if $table->canModerate() OR (isset( $table->sortOptions ) and !empty( $table->sortOptions )) OR !empty( $table->filters ) OR $table->pages > 1 OR $table->advancedSearch}}
@@ -526,7 +646,7 @@
<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>
<div class="ipsAreaBackground ipsPad ipsClearfix" data-role="pageActionOptions">
<div class="ipsAreaBackground ipsPad ipsClearfix ipsJS_hide" data-role="pageActionOptions">
<div class="ipsPos_right">
<select name="modaction" data-role="moderationAction">
{{if $table->canModerate('unhide')}}
@@ -614,36 +734,40 @@
<header class='ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_small ipsSpacer_bottom'>
{template="userPhoto" app="core" params="$entry->author()" group="global"}
<div>
<h2 class='ipsType_pageTitle'>
{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->caption}
<h2 class='ipsType_pageTitle ipsContained_container'>
{{if $entry->locked()}}<span><i class='fa fa-lock'></i></span> {{endif}}{$entry->caption}
{{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>
{{elseif $entry->hidden() === -1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></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>
{{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>
{{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>
{{endif}}
{{if $entry->mapped('featured')}}
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
{{endif}}
<span>
{{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>
{{elseif $entry->hidden() === -1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></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>
{{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>
{{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>
{{endif}}
{{if $entry->mapped('featured')}}
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
{{endif}}
</span>
{{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()}" 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">{$entry->name}</span>{{else}}{$entry->name}{{endif}}
</a>
<span class='ipsContained ipsType_break'>
<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">{$entry->name}</span>{{else}}{$entry->name}{{endif}}
</a>
</span>
</h2>
<p class='ipsType_light ipsType_reset ipsType_blendLinks'>
{lang="byline" htmlsprintf="$entry->author()->link()"}{datetime="$entry->date"}
@@ -698,14 +822,14 @@
{{if $entry->prefix()}}
<span>{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}</span>
{{endif}}
<div class='ipsContained ipsType_break'>
<span 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>
</span>
</h2>
<p class='ipsType_light ipsType_reset ipsType_blendLinks'>
{lang="byline" htmlsprintf="$entry->author()->link()"}{datetime="$entry->date"}
@@ -741,11 +865,12 @@
{$entry->commentPagination( array('tab') )|raw}
<br><br>
{{endif}}
{template="featuredComments" group="global" app="core" params="$entry->featuredComments(), $entry->url()->setQueryString( 'recommended', 'comments' )"}
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
{{if count( $entry->comments() )}}
{{if count( $entry->comments( NULL, NULL, 'date', 'asc', NULL, NULL, NULL, NULL, FALSE, isset( \IPS\Request::i()->showDeleted ) ) )}}
<form action="{$entry->url()->csrf()->setQueryString( 'do', 'multimodComment' )}" method="post" data-ipsPageAction data-role='moderationTools'>
{{$commentCount=0; $timeLastRead = $entry->timeLastRead(); $lined = FALSE;}}
{{foreach $entry->comments() as $comment}}
{{foreach $entry->comments( NULL, NULL, 'date', 'asc', NULL, NULL, NULL, NULL, FALSE, isset( \IPS\Request::i()->showDeleted ) ) as $comment}}
{{if !$lined and $timeLastRead and $timeLastRead->getTimestamp() < $comment->mapped('date')}}
{{if $lined = TRUE and $commentCount}}
<hr class="ipsCommentUnreadSeperator">
@@ -796,13 +921,13 @@
{{if $blog->pinned}}
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
{{endif}}
{$blog->_title}
<span class='{{if \IPS\Request::i()->controller == 'view' || \IPS\Request::i()->controller == 'entry'}}ipsPageHead_barText{{else}}ipsPageHead_barText_small{{endif}}'>{$blog->_title}</span>
</h1>
</a>
<p class='ipsType_normal ipsType_reset ipsType_blendLinks'>
<p class='ipsType_normal ipsType_reset ipsType_blendLinks ipsPageHead_barText_small'>
{{if $blog->owner() instanceof \IPS\Member}}
{lang="blog_by" htmlsprintf="$blog->owner()->link()"}
{{else}}
{{elseif !$blog->club()}}
<i class='fa fa-users'></i> {lang="group_blog_by" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}
{{endif}}
</p>
@@ -812,18 +937,29 @@
{{endif}}
]]></template>
<template template_group="view" template_name="entry" template_data="$entry, $previous, $next" template_location="front" template_app="blog"><![CDATA[
{{if $club = $entry->container()->club()}}
{{if settings.clubs and settings.clubs_header == 'full'}}
{template="header" app="core" group="clubs" params="$club, $entry->container()"}
{{endif}}
<div id='elClubContainer'>
{{endif}}
<header>
{template="blogHeader" group="view" app="blog" params="$entry->container()"}
</header>
{template="contentItemMessages" group="global" app="core" params="$entry->getMessages(), $entry"}
<article class='ipsBox ipsPad ipsSpacer_top ipsType_break'>
<header>
<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() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1 || $entry->hidden() === -2 || $entry->status === 'draft'}}
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
<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><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $entry->hidden() === -2}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->deletedBlurb()}'><i class='fa fa-trash'></i></span></span>
{{elseif $entry->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
{{endif}}
@@ -844,11 +980,11 @@
</span>
{{endif}}
{{if $entry->canEdit()}}
<div class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
<span 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>
</span>
{{else}}
<div class='ipsType_break ipsContained'>{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->name}</div>
<span class='ipsType_break ipsContained'>{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->name}</span>
{{endif}}
</h1>
@@ -887,60 +1023,79 @@
</div>
{{endif}}
<hr class='ipsHr ipsClear'>
{{if $entry instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
<div class='ipsPos_right ipsResponsive_noFloat'>
{template="reputation" app="core" group="global" params="$entry"}
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled )}}
<div class='ipsItemControls'>
{{if \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled}}
{template="reputation" app="core" group="global" params="$entry"}
{{endif}}
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( ! $entry->container()->social_group and \IPS\Member::loggedIn()->group['g_can_report'] )}}
<ul class='ipsToolList ipsToolList_horizontal ipsPos_left ipsClearfix ipsResponsive_noFloat ipsItemControls_left'>
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
<li>
<a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall ipsButton_fullWidth' data-ipsMenu>{lang="entry_actions"} <i class='fa fa-caret-down'></i></a>
<ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
{{if \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') AND $entry->hidden() == -2}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'restore' ) )}' data-confirm data-confirmSubMessage='{lang="restore_as_visible_desc"}'>{lang="restore_as_visible"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'restoreAsHidden' ) )}' data-confirm data-confirmSubMessage='{lang="restore_as_hidden_desc"}'>{lang="restore_as_hidden"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete', 'immediate' => 1 ) )}' data-confirm data-confirmSubMessage='{lang="delete_immediately_desc"}'>{lang="delete_immediately"}</a></li>
{{else}}
{{if $entry->status === 'draft' or ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) )}}
<li class='ipsMenu_item'><a href='{$entry->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li>
{{endif}}
{{if $entry->canEdit()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'edit' ) )}' title='{lang="edit_title_blog"}'>{lang="edit"}</a></li>
{{endif}}
{{if $entry->canFeature()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}' title='{lang="feature_title_blog"}'>{lang="feature"}</a></li>
{{endif}}
{{if $entry->canUnfeature()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unfeature' ) )}' title='{lang="unfeature_title_blog"}'>{lang="unfeature"}</a></li>
{{endif}}
{{if $entry->canPin()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'pin' ) )}' title='{lang="pin_title_blog"}'>{lang="pin"}</a></li>
{{endif}}
{{if $entry->canUnpin()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' title='{lang="unpin_title_blog"}'>{lang="unpin"}</a></li>
{{endif}}
{{if $entry->canHide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
{{endif}}
{{if $entry->canUnhide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' title='{{if $entry->hidden() === 1}}{lang="approve_title_blog"}{{else}}{lang="unhide_title_blog"}{{endif}}'>{{if $entry->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
{{endif}}
{{if $entry->canLock()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' title='{lang="blog_lock_title"}'>{lang="lock"}</a></li>
{{endif}}
{{if $entry->canUnlock()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' title='{lang="blog_unlock_title"}'>{lang="unlock"}</a></li>
{{endif}}
{{if $entry->canMove()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" title='{lang="blog_move_title"}'>{lang="move"}</a></li>
{{endif}}
{{if $entry->canDelete()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="blog_delete_title"}'>{lang="delete"}</a></li>
{{endif}}
{{if $entry->canOnMessage( 'add' )}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialod-title='{lang="add_message"}'>{lang="add_message"}</a></li>
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
{{endif}}
{{endif}}
</ul>
</li>
{{endif}}
{{if ! $entry->container()->social_group and $entry->canReport() }}
<li>
<a href='{$entry->url('report')}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth' 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>
</li>
{{endif}}
</ul>
{{endif}}
</div>
{{endif}}
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete()}}
<a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall' data-ipsMenu>{lang="entry_actions"} <i class='fa fa-caret-down'></i></a>
<ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
{{if $entry->status === 'draft' or ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) )}}
<li class='ipsMenu_item'><a href='{$entry->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li>
{{endif}}
{{if $entry->canEdit()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'edit' ) )}' title='{lang="edit_title_blog"}'>{lang="edit"}</a></li>
{{endif}}
{{if $entry->canFeature()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}' title='{lang="feature_title_blog"}'>{lang="feature"}</a></li>
{{endif}}
{{if $entry->canUnfeature()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unfeature' ) )}' title='{lang="unfeature_title_blog"}'>{lang="unfeature"}</a></li>
{{endif}}
{{if $entry->canPin()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'pin' ) )}' title='{lang="pin_title_blog"}'>{lang="pin"}</a></li>
{{endif}}
{{if $entry->canUnpin()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' title='{lang="unpin_title_blog"}'>{lang="unpin"}</a></li>
{{endif}}
{{if $entry->canHide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
{{endif}}
{{if $entry->canUnhide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' title='{{if $entry->hidden() === 1}}{lang="approve_title_blog"}{{else}}{lang="unhide_title_blog"}{{endif}}'>{{if $entry->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
{{endif}}
{{if $entry->canLock()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' title='{lang="blog_lock_title"}'>{lang="lock"}</a></li>
{{endif}}
{{if $entry->canUnlock()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' title='{lang="blog_unlock_title"}'>{lang="unlock"}</a></li>
{{endif}}
{{if $entry->canMove()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" title='{lang="blog_move_title"}'>{lang="move"}</a></li>
{{endif}}
{{if $entry->canDelete()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="blog_delete_title"}'>{lang="delete"}</a></li>
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
{{endif}}
</ul>
{{endif}}
{{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}}
<div class='ipsResponsive_showPhone ipsResponsive_block ipsSpacer_top'>
{template="follow" app="core" group="global" params="'blog', 'entry', $entry->id, $entry->followers()->count( TRUE )"}
@@ -980,6 +1135,10 @@
{{if count( $entry->comments() ) or $entry->commentForm()}}
<br>
{template="comments" app="blog" group="view" params="$entry"}
{{endif}}
{{if $entry->container()->club()}}
</div>
{{endif}}]]></template>
<template template_group="view" template_name="noEntries" template_data="$container" template_location="front" template_app="blog"><![CDATA[
<div class='ipsType_center'>
@@ -1023,23 +1182,31 @@
{template="noEntries" group="view" app="blog" params="$table->container()"}
{{endif}}]]></template>
<template template_group="view" template_name="rssImport" template_data="$form" template_location="front" template_app="blog">{$form|raw}</template>
<template template_group="view" template_name="view" template_data="$blog, $table" template_location="front" template_app="blog"><![CDATA[{template="blogHeader" group="view" app="blog" params="$blog"}
<template template_group="view" template_name="view" template_data="$blog, $table" template_location="front" template_app="blog"><![CDATA[
{{if $club = $blog->club()}}
{{if settings.clubs and settings.clubs_header == 'full'}}
{template="header" app="core" group="clubs" params="$club, $blog"}
{{endif}}
<div id='elClubContainer'>
{{endif}}
{template="blogHeader" group="view" app="blog" params="$blog"}
{{if $blog->description}}
<section class='ipsAreaBackground_light ipsPad'>
<section class='ipsPad ipsBox ipsSpacer_top ipsSpacer_half'>
<h3 class='ipsType_minorHeading'>{lang="about_this_blog"}</h3>
<div class='ipsType_richText ipsType_light ipsType_normal' data-ipsTruncate data-ipsTruncate-size='4 lines' data-ipsTruncate-type='hide'>
<div class='ipsType_richText ipsType_normal' data-ipsTruncate data-ipsTruncate-size='4 lines' data-ipsTruncate-type='hide'>
{$blog->description|raw}
</div>
</section>
{{endif}}
{{if \IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog ) or $blog->canDelete() or $blog->canEdit() or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') )}}
{{if \IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog ) or $blog->canDelete() or ( $blog->canEdit() AND !$blog->groupblog_ids ) or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') )}}
<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsSpacer_both">
<li class='ipsToolList_primaryAction'>
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=blog&module=blogs&controller=submit&id={$blog->id}" seoTemplate="blog_submit"}">{lang="add_blog_entry"}</a>
</li>
{{if $blog->canDelete() or $blog->canEdit() or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') ) }}
{{if !$blog->club_id and ( $blog->canDelete() or ( $blog->canEdit() AND !$blog->groupblog_ids ) or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') ) )}}
<li>
<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'>
@@ -1081,7 +1248,11 @@
<div class='ipsResponsive_showPhone ipsResponsive_block ipsSpacer_top'>
{template="follow" app="core" group="global" params="'blog', 'blog', $blog->_id, \IPS\blog\Entry::containerFollowerCount( $blog )"}
</div>]]></template>
</div>
{{if $blog->club()}}
</div>
{{endif}}]]></template>
<template template_group="widgets" template_name="blogCommentFeed" template_data="$comments, $title, $orientation='vertical'" template_location="front" template_app="blog"><![CDATA[{{if !empty( $comments ) }}
<h3 class='ipsType_reset ipsWidget_title'>{$title}</h3>
{{if $orientation == 'vertical'}}
@@ -1111,8 +1282,12 @@
<div class='ipsComment_header ipsPhotoPanel ipsPhotoPanel_mini'>
{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}'><i class='fa fa-share-alt'></i></a>
<p class='ipsPos_right ipsType_reset'>
{{if $comment->canReport()}}
<a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a> &middot;
{{endif}}
<a class='ipsType_blendLinks' 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}'><i class='fa fa-share-alt'></i></a>
</p>
<h3 class='ipsComment_author ipsType_blendLinks'>
<strong class='ipsType_normal'>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef()"}</strong>
@@ -1126,9 +1301,6 @@
{{if $comment->hidden()}}
&middot; {$comment->hiddenBlurb()}
{{endif}}
{{if $comment instanceof \IPS\Content\ReportCenter and !\IPS\Member::loggedIn()->group['gbw_no_report'] and $comment->hidden() !== 1 }}
&middot; <a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a>
{{endif}}
</p>
{{if member.modPermission('mod_see_warn') and $comment->warning}}
@@ -1138,11 +1310,11 @@
</div>
<div class='ipsPad ipsClearfix'>
{{if in_array( 'IPS\Content\Reputation', class_implements( $comment ) ) and settings.reputation_highlight and $comment->reputation() >= settings.reputation_highlight and settings.reputation_enabled}}
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_highlight and $comment->reactionCount() >= 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}}
<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'>
<div data-role='commentContent' class='ipsType_normal ipsType_richText 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>
{{endif}}
@@ -1153,9 +1325,11 @@
{{endif}}
</div>
{{if $comment->hidden() !== 1 && $comment instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
{template="reputation" group="global" app="core" params="$comment, 'ipsPos_right ipsResponsive_noFloat'"}
{{endif}}
<div class='ipsItemControls'>
{{if $comment->hidden() !== 1 && \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_enabled}}
{template="reputation" group="global" app="core" params="$comment"}
{{endif}}
</div>
</div>
</li>
{{endforeach}}
@@ -1185,7 +1359,7 @@
</ul>
</div>
{{else}}
<ol class="ipsDataList ipsClear cBlogList ipsAreaBackground ipsDataList_large" data-role="tableRows" itemscope="" itemtype="http://schema.org/ItemList">
<ol class="ipsDataList ipsClear cBlogList ipsAreaBackground ipsDataList_large" data-role="tableRows">
{{foreach $blogs as $blog}}
<li class='ipsDataItem ipsAreaBackground_reset'>
<div class='ipsColumns ipsColumns_collapsePhone'>
@@ -1227,12 +1401,12 @@
<div>
<strong class='ipsType_minorHeading'>{lang="latest_entry"}</strong><br>
<h3 class='ipsType_reset ipsType_sectionHead ipsType_blendLinks'>
<div class='ipsType_break ipsContained'><a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}'>
<span 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}}
{$blog->latestEntry()->name}
</a></div>
</a></span>
{{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()}}
@@ -1354,6 +1528,10 @@
text-shadow: 0px 0px 4px rgba(0,0,0,0.5);
}
#elBlogHeader.cBlogHeader_withClub > .ipsCoverPhoto {
padding-top: 100px;
}
#elBlogHeader .ipsType_pageTitle {
line-height: 1.3;
}
@@ -1503,18 +1681,22 @@ html[dir="rtl"] .cBlogInfo {
float: left;
list-style: none;
}]]></css>
<css css_location="front" css_app="blog" css_attributes="" css_path="." css_name="embed.css"><![CDATA[.cBlogEmbeddedPreview {
line-height: 1.4;
<css css_location="front" css_app="blog" css_attributes="" css_path="." css_name="embed.css">.cBlogEmbed .ipsRichEmbed_moreInfo {
overflow: hidden;
}
.cBlogEmbedded_stats {
max-width: 270px;
margin-top: 5px !important;
.cBlogEmbed .ipsRichEmbed_moreInfo li {
position: relative;
}
.cBlogEmbedded_stats > li {
margin-bottom: 0 !important;
}]]></css>
html[dir=&quot;ltr&quot;] .cBlogEmbed .ipsRichEmbed_moreInfo .ipsNotificationCount {
top: 0;
right: 0;
}
html[dir=&quot;rtl&quot;] .cBlogEmbed .ipsRichEmbed_moreInfo .ipsNotificationCount {
top: 0;
left: 0;
}</css>
<css css_location="front" css_app="blog" css_attributes="" css_path="." css_name="profile.css"><![CDATA[.cProfileBlog_stats {
max-width: 300px;
}