alexD
Well-known member
This add-on aims to provide you and your moderators an easy way to know if a post has already been reviewed by any of you.


Features:
Installs with default permissions (set to moderators).
Action log.
Automatically sets to "checked", posts made by staff member (see "Auto check own post" permission).
Per forum permissions.
Active checking.
Change the highlight colors via style properties.
Thread ordering based on the checked post count.
This add-on uses 2 template hooks and requires 8 manual template edits.
(if you are upgrading your add-on you can make the v1.0.0 Αlphα to v1.0.1 template edits).
Note that whenever you upgrade your XenForo, you will need to remake the following template edits, again, until we get more template hooks.
Template name: thread_list_item
1) Find (* may be anything) [updated in v1.0.1]:
Replace with (* is what to be added):
2) Find:
Add, below:
Hit enter to create a new line, after you paste the previous.
Template name: message
1) Find (should at the 1st line):
Add, below:
2) Find (* may be anything) [updated in v1.0.1]:
Replace with (* is what to be added):
Hit enter to create a new line, after you paste the previous.
Template name: inline_mod_controls_thread
Find:
Add, below:
Template name: thread_view
Find:
Add, above:
Template name: post
Find [updated in v1.0.1]:
Add, below:
NEW[1.0.3]
Template name: thread_list_item
Find:
Add, below:




Features:
Installs with default permissions (set to moderators).
Action log.
Automatically sets to "checked", posts made by staff member (see "Auto check own post" permission).
Per forum permissions.
Active checking.
Change the highlight colors via style properties.
Thread ordering based on the checked post count.
This add-on uses 2 template hooks and requires 8 manual template edits.
(if you are upgrading your add-on you can make the v1.0.0 Αlphα to v1.0.1 template edits).
Note that whenever you upgrade your XenForo, you will need to remake the following template edits, again, until we get more template hooks.
Template name: thread_list_item
1) Find (* may be anything) [updated in v1.0.1]:
Rich (BB code):
<li id="thread-{$thread.thread_id}" class="discussionListItem {$thread.discussion_state} {xen:if {$thread.sticky}, 'sticky'} {xen:if {$thread.isNew}, 'unread'}" data-author="{$thread.username}">
Rich (BB code):
<li id="thread-{$thread.thread_id}" class="discussionListItem {$thread.discussion_state} {xen:if {$thread.sticky}, 'sticky'} {xen:if {$thread.isNew}, 'unread'} {xen:if {$thread.isChecked}, 'checked'}" data-author="{$thread.username}">
Code:
<xen:require css="discussion_list.css" />
Code:
<xen:require css="AVFCheckpoint_discussion_list.css" />
Template name: message
1) Find (should at the 1st line):
Code:
<xen:require css="message.css" />
Code:
<xen:require css="AVFCheckpoint_message.css" />
2) Find (* may be anything) [updated in v1.0.1]:
Rich (BB code):
<li id="{$messageId}" class="message {xen:if $message.isDeleted, 'deleted'} {xen:if '{$message.is_admin} OR {$message.is_moderator}', 'staff'}" data-author="{$message.username}">
Rich (BB code):
<li id="{$messageId}" class="message {xen:if $message.isDeleted, 'deleted'} {xen:if '{$message.is_admin} OR {$message.is_moderator}', 'staff'} <xen:if is="{$post.checkpoint.checkStatus} == 'checked'">{xen:if $post.checkpoint.justChecked, 'justChecked', 'checked'}</xen:if>" data-author="{$message.username}">
Template name: inline_mod_controls_thread
Find:
Code:
<xen:if is="{$inlineModOptions.unlock}"><option value="unlock">{xen:phrase unlock_threads}</option></xen:if>
Code:
<xen:if is="{$inlineModOptions.check}"><option value="check">{xen:phrase check_threads}</option></xen:if>
<xen:if is="{$inlineModOptions.uncheck}"><option value="uncheck">{xen:phrase uncheck_threads}</option></xen:if>
Template name: thread_view
Find:
Code:
<xen:if is="{$inlineModOptions.move}"><option value="move">{xen:phrase move_posts}...</option></xen:if>
Code:
<xen:if is="{$inlineModOptions.check}"><option value="check">{xen:phrase check_posts}</option></xen:if>
<xen:if is="{$inlineModOptions.uncheck}"><option value="uncheck">{xen:phrase uncheck_posts}</option></xen:if>
Template name: post
Find [updated in v1.0.1]:
Code:
<xen:if is="{$canViewIps} AND {$post.ip_id}"><a href="{xen:link posts/ip, $post}" class="item control ip OverlayTrigger"><span></span>{xen:phrase ip}</a></xen:if>
Code:
<xen:if is="{$post.checkpoint}">
<xen:if is="{$post.checkpoint.checkStatus} == 'checked'"><span class="checked">{xen:phrase last_checked_by_x, 'username={$post.checkpoint.last_moderator_username}'} <span class="actionDate" >(<xen:datetime time="$post.checkpoint.last_action_date" />)</span><!-- <span class="unchecked">{xen:phrase uncheck}</span>--></span>
<xen:elseif is="{$post.checkpoint.checkStatus} == 'unchecked'" /><span class="unchecked">{xen:phrase last_unchecked_by_x, 'username={$post.checkpoint.last_moderator_username}'} <span class="actionDate">(<xen:datetime time="$post.checkpoint.last_action_date" />)</span><!-- <span class="checked">{xen:phrase check}</span>--></span>
<xen:else /><span class="notChecked">{xen:phrase not_yet_checked}<!-- — <span class="checked">Check</span>--></span>
</xen:if>
</xen:if>
NEW[1.0.3]
Template name: thread_list_item
Find:
Code:
<dl class="minor"><dt>{xen:phrase views}:</dt> <dd>{xen:if $thread.isRedirect, '–', {xen:number $thread.view_count}}</dd></dl>
Code:
<dl class="minor" style="margin-top:-5px;"><dt>{xen:phrase Unchecked}:</dt> <dd>{xen:if $thread.isRedirect, '–', {xen:number $thread.uncheckedCount}}</dd></dl>