PaulProe

Customer
Russ
Your new Bolt template hit at the same time as a Xenforo update. We are seeing some issues with the merging of templates.

I selected the 'Parent' to merge but then receive this error:
Line 133: Template tags are not well formed. Tag contentcheck was found when expecting if. - Template name: public:message_macros​

Am I doing something wrong or how do I resolve this?

Thanks

Paul
 
Hello, can you paste the contents of the template in a text file and attach it here? Another user on XF was having similar issues (they weren't using my style though).
 
Russ
You say to post the "contents of the template" in a text file.

But I don't understand that term. Contents of what? From where? Export from the styles page? Something else?

Sorry, I don't understand what you're looking for

Paul
 
Sorry. Go to:

Appearance -> outdated templates. Click the message macros template. Can you copy those to a text file and upload it here?

Also, you did upgrade to the latest version of Bolt, correct?
 
Sorry. Go to:

Appearance -> outdated templates. Click the message macros template. Can you copy those to a text file and upload it here?

Also, you did upgrade to the latest version of Bolt, correct?
Russ,
There were two that didn't convert properly. I've attached both. Yes, it is the most current version of Bolt.

I will attach the second one in the next message, this exceeds the posting limit of 20,000 characters

Message_Macros
<xf:macro name="user_info"
arg-user="!"
arg-fallbackName="">

<section itemscope itemtype="https://schema.org/Person" class="message-user">
<div class="message-avatar {{ ($xf.options.showMessageOnlineStatus && $user && $user.isOnline()) ? 'message-avatar--online' : '' }}">
<div class="message-avatar-wrapper">
<xf:if is="$xf.reply.controller == 'XF:Thread'">
<xf:avatar user="$user" size="{{ property('xbMessageAvatarSize') }}" defaultname="{$fallbackName}" itemprop="image" />
<xf:else />
<xf:avatar user="$user" size="m" defaultname="{$fallbackName}" itemprop="image" />
</xf:if>
<xf:if is="$xf.options.showMessageOnlineStatus && $user && $user.isOnline()">
<span class="message-avatar-online" tabindex="0" data-xf-init="tooltip" data-trigger="auto" title="{{ phrase('online_now')|for_attr }}"></span>
</xf:if>
</div>
</div>
<div class="message-userDetails">
<h4 class="message-name"><xf:username user="$user" rich="true" defaultname="{$fallbackName}" itemprop="name" /></h4>
<xf:usertitle user="$user" tag="h5" class="message-userTitle" banner="true" itemprop="jobTitle" />
<xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="jobTitle" />
</div>
<xf:if is="$user.user_id">
<xf:set var="$extras" value="{{ property('messageUserElements') }}" />
<xf:if contentcheck="true">
<div class="message-userExtras">
<xf:contentcheck>
<xf:if is="$extras.register_date">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-calendar fa-fw" data-xf-init="tooltip" title="{{ phrase('joined') }}" /></dt>
<xf:else />
<dt>{{ phrase('joined') }}</dt>
</xf:if>
<dd>{{ date($user.register_date) }}</dd>
</dl>
</xf:if>
<xf:if is="$extras.message_count">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-comments fa-fw" data-xf-init="tooltip" title="{{ phrase('messages') }}" /></dt>
<xf:else />
<dt>{{ phrase('messages') }}</dt>
</xf:if>
<dd>{$user.message_count|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.solutions AND $user.question_solution_count">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-check fa-fw" data-xf-init="tooltip" title="{{ phrase('solutions') }}" /></dt>
<xf:else />
<dt>{{ phrase('solutions') }}</dt>
</xf:if>
<dd>{$user.question_solution_count|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.reaction_score">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-thumbs-up fa-fw" data-xf-init="tooltip" title="{{ phrase('reaction_score') }}" /></dt>
<xf:else />
<dt>{{ phrase('reaction_score') }}</dt>
</xf:if>
<dd>{$user.reaction_score|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.trophy_points && $xf.options.enableTrophies">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-trophy fa-fw" data-xf-init="tooltip" title="{{ phrase('points') }}" /></dt>
<xf:else />
<dt>{{ phrase('points') }}</dt>
</xf:if>
<dd>{$user.trophy_points|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.age && $user.Profile.age">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-birthday-cake fa-fw" data-xf-init="tooltip" title="{{ phrase('age') }}" /></dt>
<xf:else />
<dt>{{ phrase('age') }}</dt>
</xf:if>
<dd>{$user.Profile.age}</dd>
</dl>
</xf:if>
<xf:if is="$extras.location && $user.Profile.location">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-map fa-fw" data-xf-init="tooltip" title="{{ phrase('location') }}" /></dt>
<xf:else />
<dt>{{ phrase('location') }}</dt>
</xf:if>
<dd>
<xf:if is="$xf.options.geoLocationUrl">
<a href="{{ link('misc/location-info', '', {'location': $user.Profile.location}) }}" rel="nofollow noreferrer" target="_blank" class="u-concealed">{$user.Profile.location}</a>
<xf:else />
{$user.Profile.location}
</xf:if>
</dd>
</dl>
</xf:if>
<xf:if is="$extras.website && $user.Profile.website">
<dl class="pairs pairs--justified">
<xf:if is="property('xbMessageUserIcons')">
<dt><xf:fa icon="fa-globe fa-fw" data-xf-init="tooltip" title="{{ phrase('website') }}" /></dt>
<xf:else />
<dt>{{ phrase('website') }}</dt>
</xf:if>
<dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$user.Profile.website|url('host', phrase('visit_site'))}</a></dd>
</dl>
</xf:if>
<xf:if is="$extras.custom_fields">
<xf:macro template="custom_fields_macros" name="custom_fields_values"
arg-type="users"
arg-group="personal"
arg-set="{$user.Profile.custom_fields}"
arg-additionalFilters="{{ ['message'] }}"
arg-valueClass="pairs pairs--justified" />
<xf:if is="$user.canViewIdentities()">
<xf:macro template="custom_fields_macros" name="custom_fields_view"
arg-type="users"
arg-group="contact"
arg-set="{$user.Profile.custom_fields}"
arg-additionalFilters="{{ ['message'] }}"
arg-valueClass="pairs pairs--justified" />
</xf:if>
</xf:if>
</xf:contentcheck>
</div>
</xf:if>
</xf:if>
<span class="message-userArrow"></span>
</section>
</xf:macro>

<xf:macro name="user_info_simple" arg-user="!" arg-fallbackName="">
<header itemscope itemtype="https://schema.org/Person" class="message-user">
<meta itemprop="name" content="{{ $user.username ?: $fallbackName }}">
<div class="message-avatar">
<div class="message-avatar-wrapper">
<xf:avatar user="$user" size="s" defaultname="{$fallbackName}" itemprop="image" />
</div>
</div>
<span class="message-userArrow"></span>
</header>
</xf:macro>

<xf:macro name="attachments" arg-attachments="!" arg-message="!" arg-canView="!">
<xf:if contentcheck="true">
<xf:css src="attachments.less" />
<section class="message-attachments">
<h4 class="block-textHeader">{{ phrase('attachments') }}</h4>
<ul class="attachmentList">
<xf:contentcheck>
<xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment)">
<xf:macro template="attachment_macros" name="attachment_list_item"
arg-attachment="{$attachment}"
arg-canView="{$canView}" />
</xf:foreach>
</xf:contentcheck>
</ul>
</section>
</xf:if>
</xf:macro>

<xf:macro name="signature" arg-user="!">
<xf:if is="$xf.visitor.Option.content_show_signature AND $user.Profile.signature">
<xf:if contentcheck="true">
<aside class="message-signature">
<xf:contentcheck>
{{ bb_code($user.Profile.signature, 'user:signature', $user) }}
</xf:contentcheck>
</aside>
</xf:if>
</xf:if>
</xf:macro>
 
Russ
This is the second template that didn't update properly. Had to cut it in half since it also exceeds the limit

Post_Macros
<xf:macro name="post"
arg-post="!"
arg-thread="!"
arg-highlightedPosts="{{ [] }}">

<xf:css src="message.less" />

<xf:extension name="before"></xf:extension>

<xf:extension name="extra_classes" value="message--post" />
<article class="message {{ extension_value('extra_classes') }} js-post js-inlineModContainer {{ $post.isIgnored() ? 'is-ignored' : '' }} {{ $post.isUnread() ? ' is-unread' : '' }}"
data-author="{{ $post.User.username ?: $post.username }}"
data-content="post-{$post.post_id}"
id="js-post-{$post.post_id}">

<span class="u-anchorTarget" id="post-{$post.post_id}"></span>
<xf:if is="property('xbMessageHeader')">
<div class="message-header">
<xf:extensionvalue name="attribution" />
</div>
</xf:if>

<xf:extension name="full_body">
<div class="message-inner">
<xf:extension name="user_cell">
<div class="message-cell message-cell--user">
<xf:macro template="message_macros" name="user_info" arg-user="{$post.User}"
arg-fallbackName="{$post.username}"/>
<xf:if is="property('messageUserElements') != null AND property('xbMessageUserElementsCollapse')">
<span id="collapse-{$post.post_id}" class="collapseTrigger collapseTrigger--block" data-xf-click="toggle" data-xf-init="tooltip" title="{{ phrase('user_details') }}" data-target="#js-post-{$post.post_id} .message-userExtras"></span>
</xf:if>
</div>
</xf:extension>

<xf:extension name="main_cell">
<div class="message-cell message-cell--main">
<xf:extension name="main_cell_inner">
<div class="message-main js-quickEditTarget">

<xf:if is="!property('xbMessageHeader')">
<xf:extension name="attribution">
<xf:macro name="post_attribution" arg-post="{$post}" arg-thread="{$thread}" />
</xf:extension>
</xf:if>

<div class="message-content js-messageContent">
<xf:extension name="content">

<xf:extension name="notices">
<xf:macro name="post_notices" arg-post="{$post}" arg-thread="{$thread}" />
</xf:extension>

<xf:extension name="user_content">
<xf:macro name="post_user_content" arg-post="{$post}" arg-thread="{$thread}" />
</xf:extension>

<xf:extension name="after_content">
<xf:macro name="post_last_edit" arg-post="{$post}" />
</xf:extension>

<xf:extension name="signature">
<xf:macro template="message_macros" name="signature" arg-user="{$post.User}" />
</xf:extension>

</xf:extension>
</div>

<xf:extension name="footer">
<xf:macro name="post_footer" arg-post="{$post}" arg-thread="{$thread}" />
</xf:extension>
</div>

</xf:extension>
</div>
</xf:extension>
</div>
</xf:extension>
</article>

<xf:extension name="after"></xf:extension>
<xf:ad position="post_below_container" arg-post="{$post}" />
</xf:macro>

<xf:macro name="post_attribution"
arg-post="!"
arg-thread="!"
arg-showPosition="{{ true }}"
arg-showUser="{{ false }}"
arg-showThreadUnreadIndicator="{{ false }}"
arg-showReplyCount="{{ false }}"
arg-repliesPhrase="{{ phrase('replies:') }}"
arg-showThreadStateIcons="{{ false }}"
arg-mainClass=""
arg-oppositeClass="">

<header class="message-attribution message-attribution--split">
<ul class="message-attribution-main listInline {$mainClass}">
<xf:if is="$showThreadStateIcons">
<xf:if is="{$xf.visitor.user_id} AND {$thread.Watch.{$xf.visitor.user_id}}">
<li>
<xf:fa icon="fa-bell" title="{{ phrase('thread_watched')|for_attr }}" />
<span class="u-srOnly">{{ phrase('thread_watched') }}</span>
</li>
</xf:if>

<xf:if is="$thread.sticky">
<li>
<xf:fa icon="fa-thumbtack" title="{{ phrase('sticky')|for_attr }}" />
<span class="u-srOnly">{{ phrase('sticky') }}</span>
</li>
</xf:if>
</xf:if>
<xf:if is="$showUser">
<xf:set var="$username"><xf:username user="{$post.User}" defaultname="{$post.username}" /></xf:set>
<li class="u-concealed message-attribution-user--top">{{ phrase('by_user_x', {'name':$username}) }}</li>
</xf:if>
<li class="u-concealed">
<a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" rel="nofollow">
<xf:date time="{$post.post_date}" itemprop="datePublished" />
</a>
</li>
<xf:if is="$showReplyCount && $thread.reply_count">
<li class="u-concealed">
<a href="{{ link('threads', $thread) }}#posts">
<xf:fa icon="fa-comment" class="u-spaceAfter" />{$repliesPhrase|raw} {$thread.reply_count|number}
</a>
</li>
</xf:if>
</ul>

<ul class="message-attribution-opposite message-attribution-opposite--list {$oppositeClass}">
<xf:if is="$post.isUnread()">
<li><span class="message-newIndicator">{{ phrase('new') }}</span></li>
<xf:elseif is="$thread.isUnread() && $showThreadUnreadIndicator" />
<li><span class="message-newIndicator" title="{{ phrase('new_replies')|for_attr }}">{{ phrase('new') }}</span></li>
</xf:if>
<xf:if is="$post.user_id == $thread.user_id AND property('xbThreadStarter') AND $post.post_id != $thread.first_post_id">
<li class="tag-threadStarter"><span class="message-newIndicator message-threadStarter">{{ phrase('thread_starter') }}</span></li>
</xf:if>
<xf:if is="$post.User.is_admin AND property('xbAdminIndicator')">
<li class="tag-adminIndicator"><span class="message-newIndicator message-adminIndicator">{{ phrase('admin') }}</span></li>
<xf:elseif is="$post.User.is_moderator AND property('xbModeratorIndicator')" />
<li class="tag-moderatorIndicator"><span class="message-newIndicator message-moderatorIndicator">{{ phrase('moderator') }}</span></li>
<xf:elseif is="$post.User.is_staff AND property('xbStaffIndicator')" />
<li class="tag-staffIndicator"><span class="message-newIndicator message-staffIndicator">{{ phrase('admin_navigation.usersStaff') }}</span></li>
<xf:elseif is="$post.User.is_banned AND property('xbBannedIndicators')" />
<li class="tag-bannedIndicator"><span class="message-newIndicator message-bannedIndicator">{{ phrase('banned') }}</span></li>
</xf:if>
<li>
<a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}"
class="message-attribution-gadget"
data-xf-init="share-tooltip"
data-href="{{ link('posts/share', $post) }}"
aria-label="{{ phrase('share')|for_attr }}"
rel="nofollow">
<xf:fa icon="fa-share-alt"/>
</a>
</li>
<xf:if contentcheck="true">
<li>
<xf:contentcheck>
<xf:macro template="bookmark_macros" name="link"
arg-content="{$post}"
arg-class="message-attribution-gadget bookmarkLink--highlightable"
arg-confirmUrl="{{ link('posts/bookmark', $post) }}"
arg-showText="{{ false }}"/>
</xf:contentcheck>
</li>
</xf:if>
<xf:if is="$showPosition">
<li>
<a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" rel="nofollow">
#{{ number($post.position + 1) }}
</a>
</li>
</xf:if>
</ul>
</header>
</xf:macro>

<xf:macro name="post_notices" arg-post="!" arg-thread="!">
<xf:if is="$post.message_state == 'deleted'">
<div class="messageNotice messageNotice--deleted">
<xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" />
</div>
<xf:elseif is="$post.message_state == 'moderated'" />
<div class="messageNotice messageNotice--moderated">
{{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }}
</div>
</xf:if>
<xf:if is="$post.warning_message">
<div class="messageNotice messageNotice--warning">
{$post.warning_message}
</div>
</xf:if>
<xf:if is="$post.isIgnored()">
<div class="messageNotice messageNotice--ignored">
{{ phrase('you_are_ignoring_content_by_this_member') }}
<xf:showignored />
</div>
</xf:if>
</xf:macro>

<xf:macro name="post_user_content" arg-post="!" arg-thread="!" arg-snippet="{{ false }}" arg-displayAds="{{ true }}">

<div class="message-userContent lbContainer js-lbContainer {{ $post.isIgnored() ? 'is-ignored' : '' }}"
data-lb-id="post-{$post.post_id}"
data-lb-caption-desc="{{ $post.User ? $post.User.username : $post.username }} &middot; {{ date_time($post.post_date) }}">

<xf:if is="$post.isFirstPost()">
<xf:macro template="custom_fields_macros" name="custom_fields_view"
arg-type="threads"
arg-group="before"
arg-onlyInclude="{$thread.Forum.field_cache}"
arg-set="{$thread.custom_fields}"
arg-wrapperClass="message-fields message-fields--before" />
</xf:if>

<article class="message-body js-selectToQuote">
<xf:if is="$displayAds">
<xf:ad position="post_above_content" arg-post="{$post}" />
</xf:if>
<xf:if is="$snippet">
{{ bb_code_snippet($post.message, 'post', $post, $snippet) }}
<xf:else />
{{ bb_code($post.message, 'post', $post) }}
</xf:if>
<div class="js-selectToQuoteEnd">&nbsp;</div>
<xf:if is="$displayAds">
<xf:ad position="post_below_content" arg-post="{$post}" />
</xf:if>
</article>
 
This is the 2nd half of the template

<xf:if is="$post.isFirstPost()">
<xf:macro template="custom_fields_macros" name="custom_fields_view"
arg-type="threads"
arg-group="after"
arg-onlyInclude="{$thread.Forum.field_cache}"
arg-set="{$thread.custom_fields}"
arg-wrapperClass="message-fields message-fields--after" />
</xf:if>

<xf:if is="$post.attach_count">
<xf:macro template="message_macros" name="attachments"
arg-attachments="{$post.Attachments}"
arg-message="{$post}"
arg-canView="{{ $thread.canViewAttachments() }}" />
</xf:if>
</div>
</xf:macro>

<xf:macro name="post_last_edit" arg-post="!">
<xf:if is="$post.last_edit_date">
<div class="message-lastEdit">
<xf:if is="$post.user_id == $post.last_edit_user_id">
{{ phrase('last_edited:') }} <xf:date time="{$post.last_edit_date}" itemprop="dateModified" />
<xf:else />
{{ phrase('last_edited_by_moderator:') }} <xf:date time="{$post.last_edit_date}" itemprop="dateModified" />
</xf:if>
</div>
</xf:if>
</xf:macro>

<xf:macro name="post_footer" arg-post="!" arg-thread="!">
<footer class="message-footer">
<xf:if contentcheck="true">
<div class="message-actionBar actionBar">
<xf:contentcheck>
<xf:macro name="post_action_bar" arg-post="{$post}" arg-thread="{$thread}" />
</xf:contentcheck>
</div>
</xf:if>

<div class="reactionsBar js-reactionsList {{ $post.reactions ? 'is-active' : '' }}">
<xf:reactions content="{$post}" link="posts/reactions" />
</div>

<div class="js-historyTarget message-historyTarget toggleTarget" data-href="trigger-href"></div>
</footer>
</xf:macro>

<xf:macro name="post_action_bar" arg-post="!" arg-thread="!">
<xf:if contentcheck="true">
<div class="actionBar-set actionBar-set--external">
<xf:contentcheck>
<xf:react content="{$post}" link="posts/react" list="< .js-post | .js-reactionsList" />

<xf:if is="$thread.canReply() OR $thread.canReplyPreReg()">
<xf:set var="$quoteLink">{{ link('threads/reply', $thread, {'quote': $post.post_id}) }}</xf:set>

<xf:if is="$xf.options.multiQuote AND $xf.visitor.user_id">
<a href="{$quoteLink}"
class="actionBar-action actionBar-action--mq u-jsOnly js-multiQuote"
title="{{ phrase('toggle_multi_quote_tooltip')|for_attr }}"
rel="nofollow"
data-message-id="{$post.post_id}"
data-mq-action="add">{{ phrase('quote') }}</a>
</xf:if>

<a href="{$quoteLink}"
class="actionBar-action actionBar-action--reply"
title="{{ phrase('reply_quoting_this_message')|for_attr }}"
rel="nofollow"
data-xf-click="quote"
data-quote-href="{{ link('posts/quote', $post) }}">{{ phrase('reply') }}</a>
</xf:if>
</xf:contentcheck>
</div>
</xf:if>

<xf:if contentcheck="true">
<div class="actionBar-set actionBar-set--internal">
<xf:contentcheck>
<xf:if is="$post.canUseInlineModeration()">
<span class="actionBar-action actionBar-action--inlineMod">
<xf:checkbox standalone="true">
<xf:eek:ption value="{$post.post_id}" class="js-inlineModToggle"
data-xf-init="tooltip"
title="{{ phrase('select_for_moderation') }}"
label="{{ phrase('select_for_moderation') }}"
hiddenlabel="true" />
</xf:checkbox>
</span>
</xf:if>

<xf:if is="$post.canReport()">
<a href="{{ link('posts/report', $post) }}"
class="actionBar-action actionBar-action--report"
data-xf-click="overlay">{{ phrase('report_verb') }}</a>
</xf:if>

<xf:set var="$hasActionBarMenu" value="{{ false }}" />
<xf:if is="$post.canEdit()">
<xf:js src="xf/message.js" min="1" />
<a href="{{ link('posts/edit', $post) }}"
class="actionBar-action actionBar-action--edit actionBar-action--menuItem"
data-xf-click="quick-edit"
data-editor-target="#js-post-{$post.post_id} .js-quickEditTarget"
data-menu-closer="true">{{ phrase('edit') }}</a>

<xf:set var="$hasActionBarMenu" value="{{ true }}" />
</xf:if>
<xf:if is="$post.edit_count && $post.canViewHistory()">
<a href="{{ link('posts/history', $post) }}"
class="actionBar-action actionBar-action--history actionBar-action--menuItem"
data-xf-click="toggle"
data-target="#js-post-{$post.post_id} .js-historyTarget"
data-menu-closer="true">{{ phrase('history') }}</a>

<xf:set var="$hasActionBarMenu" value="{{ true }}" />
</xf:if>
<xf:if is="$post.canDelete('soft')">
<a href="{{ link('posts/delete', $post) }}"
class="actionBar-action actionBar-action--delete actionBar-action--menuItem"
data-xf-click="overlay">{{ phrase('delete') }}</a>

<xf:set var="$hasActionBarMenu" value="{{ true }}" />
</xf:if>
<xf:if is="$post.message_state == 'deleted' AND $post.canUndelete()">
<a href="{{ link('posts/undelete', $post) }}"
class="actionBar-action actionBar-action--undelete actionBar-action--menuItem"
data-xf-click="overlay">{{ phrase('undelete') }}</a>

<xf:set var="$hasActionBarMenu" value="{{ true }}" />
</xf:if>
<xf:if is="$post.canCleanSpam()">
<a href="{{ link('spam-cleaner', $post) }}"
class="actionBar-action actionBar-action--spam actionBar-action--menuItem"
data-xf-click="overlay">{{ phrase('spam') }}</a>

<xf:set var="$hasActionBarMenu" value="{{ true }}" />
</xf:if>
<xf:if is="$xf.visitor.canViewIps() && $post.ip_id">
<a href="{{ link('posts/ip', $post) }}"
class="actionBar-action actionBar-action--ip actionBar-action--menuItem"
data-xf-click="overlay">{{ phrase('ip') }}</a>

<xf:set var="$hasActionBarMenu" value="{{ true }}" />
</xf:if>
<xf:if is="$post.canWarn()">

<a href="{{ link('posts/warn', $post) }}"
class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a>

<xf:set var="$hasActionBarMenu" value="{{ true }}" />
<xf:elseif is="$post.warning_id && $xf.visitor.canViewWarnings()" />
<a href="{{ link('warnings', {'warning_id': $post.warning_id}) }}"
class="actionBar-action actionBar-action--warn actionBar-action--menuItem"
data-xf-click="overlay">{{ phrase('view_warning') }}</a>
<xf:set var="$hasActionBarMenu" value="{{ true }}" />
</xf:if>

<xf:if is="$hasActionBarMenu">
<a class="actionBar-action actionBar-action--menuTrigger"
data-xf-click="menu"
title="{{ phrase('more_options')|for_attr }}"
role="button"
tabindex="0"
aria-expanded="false"
aria-haspopup="true">&#8226;&#8226;&#8226;</a>

<div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar">
<div class="menu-content">
<h4 class="menu-header">{{ phrase('more_options') }}</h4>
<div class="js-menuBuilderTarget"></div>
</div>
</div>
</xf:if>
</xf:contentcheck>
</div>
</xf:if>
</xf:macro>

<xf:macro name="post_deleted" arg-post="!" arg-thread="!">
<xf:css src="message.less" />
<div class="message message--deleted message--post{{ $post.isIgnored() ? ' is-ignored' : '' }}{{ $post.isUnread() ? ' is-unread' : '' }} js-post js-inlineModContainer"
data-author="{{ $post.User.username ?: $post.username }}"
data-content="post-{$post.post_id}">

<span class="u-anchorTarget" id="post-{$post.post_id}"></span>
<div class="message-inner">
<div class="message-cell message-cell--user">
<xf:macro template="message_macros" name="user_info_simple" arg-user="{$post.User}" arg-fallbackName="{$post.username}" />
</div>
<div class="message-cell message-cell--main">
<div class="message-attribution">
<ul class="listInline listInline--bullet message-attribution-main">
<li><a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow"><xf:date time="{$post.post_date}" /></a></li>
<li><xf:username user="{$post.User}" defaultname="{$post.username}" class="u-concealed" /></li>
</ul>
</div>

<div class="messageNotice messageNotice--deleted">
<xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" />

<a href="{{ link('posts/show', $post) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=post-{$post.post_id}]">{{ phrase('show...') }}</a>

<xf:if is="$post.canUseInlineModeration()">
<span style="display: none">
<!-- this can be actioned on the full post -->
<xf:checkbox standalone="true">
<xf:eek:ption value="{$post.post_id}" class="js-inlineModToggle"
hiddenlabel="true" />
</xf:checkbox>
</span>
</xf:if>
</div>
</div>
</div>
</div>

<xf:ad position="post_below_container" arg-post="{$post}" />
</xf:macro>
 

Pre-Sale Questions

If you have any questions or concerns you want to ask before you make a purchase don't hesitate to use one of our multiple support channels for your convenience.

Back