Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
LAM - Ban From Thread Details »»
LAM - Ban From Thread
Version: 4.1.3.1, by mawby mawby is offline
Developer Last Online: Jul 2020 Show Printable Version Email this Page

Category: Moderators Functions - Version: 4.1.2 Rating:
Released: 05-03-2011 Last Update: 05-05-2011 Installs: 115
DB Changes Uses Plugins Template Edits
Re-useable Code Translations  
No support by the author.

This product will allow you to ban someone from a thread so they cannot reply to it or, depending on the configuration, they cannot even view its contents.

On my site we have some people who like to stir things up when they see threads about a certain subject. Their replies aren't worthy of an outright ban but they can be very annoying and disrupt the flow of the thread. Rather than leaving up to the moderators to keep deleting the posts and warning the poster, this product puts a stop to the problem by allowing moderators to lock people out of a thread as needed.

As of version 4.1.3.1 it is now possible to specify user groups that can use this product even if they don't have moderator rights over the forum the thread is in. It is also possible to quickly unban people who have already posted to the thread. And there is a new option to allow bans to be set at the forum level.

Tapatalk Users - Please see this important note about Tapatalk support.


Installation
  1. Download the attached .xml file
    product-LAM_BanFromThread.xml
  2. Install the product
    AdminCP -> Plugins & Products -> Add/Import Product -> Import Product
  3. Edit the "FORUMDISPLAY" template
    Code:
    Find...
    					<vb:if condition="$show['post_new_announcement']">
    					<li><a href="moderator.php?{vb:raw session.sessionurl}do=postannouncement&amp;f={vb:raw foruminfo.forumid}" rel="nofollow">{vb:rawphrase post_new_announcement}&hellip;</a></li>
    					</vb:if>
    
    Add below it...
    <vb:if condition="$vboptions['LAM_BanFromThread_ForumBans']">
    <li><a href="{vb:raw $vboptions.vbforum_url}{vb:if "$vboptions['vbforum_url']", '/', ''}postings.php?{vb:raw session.sessionurl}do=LAM_BanFromThread_Forum&amp;f={vb:raw foruminfo.forumid}">{vb:rawphrase LAM_BanFromThread_ForumTitle}&hellip;</a></li>
    </vb:if>
  4. Edit the "SHOWTHREAD" template
    Code:
    Find...
    					<vb:if condition="$show['addpoll']">
    						<li><a href="{vb:raw $vboptions.vbforum_url}{vb:if "$vboptions['vbforum_url']", '/', ''}poll.php?{vb:raw session.sessionurl}do=newpoll&amp;t={vb:raw threadid}">{vb:rawphrase add_a_poll_to_this_thread}&hellip;</a></li>
    					</vb:if>
    
    Add below it...
    <vb:if condition="!empty($vboptions['LAM_BanFromThread_UserGroups']) AND in_array($bbuserinfo['usergroupid'], array($vboptions['LAM_BanFromThread_UserGroups']))">
    <li><a href="{vb:raw $vboptions.vbforum_url}{vb:if "$vboptions['vbforum_url']", '/', ''}postings.php?{vb:raw session.sessionurl}do=LAM_BanFromThread&amp;t={vb:raw threadid}">{vb:rawphrase LAM_BanFromThread_Title}&hellip;</a></li></vb:if>
    
    Find...
    <li><label><input type="radio" name="do" value="removeredirect" tabindex="9" /> {vb:rawphrase remove_redirects}</label></li>
    
    Add below it...
    <li><label><input type="radio" name="do" value="LAM_BanFromThread" tabindex="10" /> {vb:rawphrase LAM_BanFromThread_Title}&hellip;</label></li>
    
    Find...
    <li><label><input type="radio" name="do" value="clearpost" tabindex="42" /> {vb:raw vbphrase.clear_post_list}</label></li>
    
    Add below it...
    <li><label><input type="radio" name="do" value="LAM_BanFromThread" tabindex="43" /> {vb:rawphrase LAM_BanFromThread_Title}</label></li>
    <li><label><input type="radio" name="do" value="LAM_BanFromThread_Undo" tabindex="44" /> {vb:rawphrase LAM_BanFromThread_UndoTitle}</label></li>


Configuration

There are various configuration settings that allow you to customise how this product works...



Thread Creation Bans Enabling this allows the thread creator to specify a list of banned users as the thread is being created. This is the only time a non-moderator is able to ban someone from a thread and the following option will appear if enabled...



Show Banned Users Enabling this will display a banner at the top of the thread listing all of the users who are banned from that thread, for example...



Show Banned Users (Mods Only) Enabling this will display the same banner as above but only if the person viewing the thread is a moderator of the forum the thread is in.

Prevent Viewing Enabling this will attempt to stop the person who is banned from a thread from being able to view the contents of that thread. If they attempt to open the thread, or view the preview text, they will get...




Logout Protection This works in conjunction with the "Prevent Viewing" option, and enabling this will prevent users not logged into your forums from being able to view the thread if anyone is banned from it. This is to stop someone who is banned from a thread simply logging out of your forums to bypass the ban by viewing the thread as a guest.

Allow Forums Bans This allows users to be banned from a forum. Once ban they cannot reply to (or view if "Prevent Viewing" is enabled) any thread in that forum. They will also be prevented from creating new threads in that forum. This setting wont propagate down to sub-forums. There is no forum banner showing who is banned at forum level, however all forum level bans will appear in the thread banner (if enabled) when viewing a thread in that forum.

User Groups Optional comma separated list of user group IDs who will have access to this products functionality even if they don't have moderator permissions over the thread. This option will also restrict which users can use the "Thread Creation Bans" feature.


Example

If a moderator wants to ban someone from a thread then they have two options...



The option under the "Moderators Tools" menu will ban the users of any selected posts. This allows quick banning of people who have already replied to the thread.

The option under the "Administrative" menu will bring up the following screen which will allow the moderator to enter the names of users they want banned, allowing pre-emptive banning of people you know are going to cause trouble in a thread! This screen is also the only way people can be unbanned from a thread.




Version History

4.1.3.1 - Forum level bans, unban and user group settings (2011/05/04)
4.1.3.0 - Initial release (2011/05/04)

German Translation: http://www.vbulletin-germany.org/sho...Forenbans-quot

Download Now

File Type: xml product-LAM_BanFromThread.xml (33.7 KB, 408 views)

Screenshots

File Type: png AdminCP.png (55.4 KB, 0 views)
File Type: png BanNotice.png (7.8 KB, 0 views)
File Type: png ModOptions.png (22.2 KB, 0 views)
File Type: png NewThread.png (7.6 KB, 0 views)
File Type: png NotAllowed.png (3.2 KB, 0 views)
File Type: png PreviewText.png (3.3 KB, 0 views)
File Type: png ModBan.png (7.2 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
nacaruncr

Comments
  #12  
Old 05-05-2011, 04:24 PM
mawby mawby is offline
 
Join Date: Jun 2004
Location: Wiltshire, England
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sticky View Post
Is it possible to specify only certain usergroups can use the ban from thread feature? For example, I would like to allow my vendors to use this to keep fanboys out of certain threads.
On my forum my vendors have their own sections which they have mods rights over, so this product works for them already. Getting the creation time bans working with a user group list is trivial, but for the menu option I'd have to add a new item under the "Thread Tools" menu as the other two menus currently used won't be available to non-mods. Would this be OK?

Quote:
Originally Posted by sticky View Post
Additionally, I take it mods and admins are exempt?
They can be added to the ban list but it won't ban them as the moderator permission check overrides the ban list check.

Quote:
Originally Posted by doopz View Post
Do you have any plans to build in a feature that people get a PM when they are banned from a thread?
Leave it with me and I'll see what I can do.

Quote:
Originally Posted by GeorgeB85 View Post
One suggestion in case someone makes a mistake, it to have an unban option!
People can be unbanned from the option on the Administrative Tools menu. Thinking about it, it wouldn't be difficult to add an unban option to the Moderation Tools menu too, so the owners of any selected posts can be unbanned quickly.

I've also had a request from a moderator on my site to allow bans at forum level too so I'll see if I can get that into the next version whilst I'm at it.
Reply With Quote
  #13  
Old 05-06-2011, 01:29 PM
mawby mawby is offline
 
Join Date: Jun 2004
Location: Wiltshire, England
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've just updated the product. There is now an option to allow users to be banned from an entire forum using a new "Ban From Forum" option on the forum's Administrative menu. This is only available to users who have moderator rights over the forum.

There is now an option to unban from the Moderation Tools menu. This will unban users of the selected posts.

There is also a user groups setting which will allow non-moderators to access this product from a new menu item on the "Thread Tools" menu, plus it will restrict who can use the creation time bans - if enabled.

I didn't get time to look at the PM option.



Upgrade Instructions

1) Install the new product file
2) Edit the FORUMDISPLAY template...
Code:
Find...
					<vb:if condition="$show['post_new_announcement']">
					<li><a href="moderator.php?{vb:raw session.sessionurl}do=postannouncement&amp;f={vb:raw foruminfo.forumid}" rel="nofollow">{vb:rawphrase post_new_announcement}&hellip;</a></li>
					</vb:if>
					
After it add...
<vb:if condition="$vboptions['LAM_BanFromThread_ForumBans']">
<li><a href="{vb:raw $vboptions.vbforum_url}{vb:if "$vboptions['vbforum_url']", '/', ''}postings.php?{vb:raw session.sessionurl}do=LAM_BanFromThread_Forum&amp;f={vb:raw foruminfo.forumid}">{vb:rawphrase LAM_BanFromThread_ForumTitle}&hellip;</a></li>
</vb:if>
3) Edit the SHOWTHREAD template...
Code:
Find...
					<vb:if condition="$show['addpoll']">
						<li><a href="{vb:raw $vboptions.vbforum_url}{vb:if "$vboptions['vbforum_url']", '/', ''}poll.php?{vb:raw session.sessionurl}do=newpoll&amp;t={vb:raw threadid}">{vb:rawphrase add_a_poll_to_this_thread}&hellip;</a></li>
					</vb:if>
					
After it add...
<vb:if condition="!empty($vboptions['LAM_BanFromThread_UserGroups']) AND in_array($bbuserinfo['usergroupid'], array($vboptions['LAM_BanFromThread_UserGroups']))">
<li><a href="{vb:raw $vboptions.vbforum_url}{vb:if "$vboptions['vbforum_url']", '/', ''}postings.php?{vb:raw session.sessionurl}do=LAM_BanFromThread&amp;t={vb:raw threadid}">{vb:rawphrase LAM_BanFromThread_Title}&hellip;</a></li></vb:if>

Find...
<li><label><input type="radio" name="do" value="LAM_BanFromThread" tabindex="43" /> {vb:rawphrase LAM_BanFromThread_Title}</label></li>

After it add...
<li><label><input type="radio" name="do" value="LAM_BanFromThread_Undo" tabindex="44" /> {vb:rawphrase LAM_BanFromThread_UndoTitle}</label></li>
Attached Images
File Type: png MoreAdminCP.png (19.9 KB, 0 views)
Reply With Quote
  #14  
Old 05-08-2011, 03:07 AM
sticky sticky is offline
 
Join Date: Sep 2003
Posts: 934
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mawby View Post
On my forum my vendors have their own sections which they have mods rights over, so this product works for them already. Getting the creation time bans working with a user group list is trivial, but for the menu option I'd have to add a new item under the "Thread Tools" menu as the other two menus currently used won't be available to non-mods. Would this be OK?
Absolutely, that would be fine.

I have a vendor section as well but I have premier sponsors who are allowed to create threads wherever they like. So, this ability would really come in handy for them.
Reply With Quote
  #15  
Old 05-19-2011, 05:01 PM
Alan_SP's Avatar
Alan_SP Alan_SP is offline
 
Join Date: Nov 2009
Posts: 1,122
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This mod is global and this is fine for moderators to ban users from threads.

But, for users to be able to ban other users, I would like it to be forum specific. Is it possible to leave it global for moderators and enable it for users only in certain forums? And would this work in this way with your dispute mod? If same forum is used for disputes and for this mod?

Not in the same thread, but in the same forum.
Reply With Quote
  #16  
Old 05-23-2011, 11:04 AM
treefrog treefrog is offline
 
Join Date: Feb 2008
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does this work in the mobile styles too? I changed the code as required for the main style that people use...but didn't see the code in the mobile one. Do I need to change the code in the original vBulletin style?
Reply With Quote
  #17  
Old 05-25-2011, 11:36 AM
mawby mawby is offline
 
Join Date: Jun 2004
Location: Wiltshire, England
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Alan_SP View Post
This mod is global and this is fine for moderators to ban users from threads.

But, for users to be able to ban other users, I would like it to be forum specific. Is it possible to leave it global for moderators and enable it for users only in certain forums? And would this work in this way with your dispute mod? If same forum is used for disputes and for this mod?

Not in the same thread, but in the same forum.
OK I understand. That wont be too difficult. Leave it with me and I'll see what I can do.

The two mods should definitely work side by side even in the same forum.
Reply With Quote
  #18  
Old 05-26-2011, 02:57 AM
Alan_SP's Avatar
Alan_SP Alan_SP is offline
 
Join Date: Nov 2009
Posts: 1,122
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks. Just to clarify, when users create thread in certain forums, they could ban unwanted users from their threads. If it's possible, include option that banning when creating threads be global too for those of us who use it this way.

I already have forum set for private threads where users can create their own private discussions. Now it would be a new type of private thread, where they can ban only certain users from their threads. :up:
Reply With Quote
  #19  
Old 05-30-2011, 01:28 AM
sticky sticky is offline
 
Join Date: Sep 2003
Posts: 934
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Alan_SP View Post
Thanks. Just to clarify, when users create thread in certain forums, they could ban unwanted users from their threads. If it's possible, include option that banning when creating threads be global too for those of us who use it this way.

I already have forum set for private threads where users can create their own private discussions. Now it would be a new type of private thread, where they can ban only certain users from their threads. :up:
Exactly, this is what I would want and it would be a great way to get people to subscribe to get this feature.

Thread creators could have control of their own thread. Enabling by usergroup would be great!
Reply With Quote
  #20  
Old 05-30-2011, 12:35 PM
barmen_1982 barmen_1982 is offline
 
Join Date: Dec 2009
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you master
Reply With Quote
  #21  
Old 06-05-2011, 07:23 PM
Konkere Konkere is offline
 
Join Date: Sep 2004
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

mawby maybe it will be interesting to you.
If user has participated in the topic but then was banned, he still has the ability to edit your post in topic.
To avoid this, I added a new plugin.

Product: LAM - Ban From Thread
Hook Location: editpost_start
Title: LAM - No Permission Message (Edit Post)
Execution Order: 5
Plugin is Active: Yes
Plugin PHP Code:
PHP Code:
if (!can_moderate($threadinfo['forumid']) AND (($threadinfo['LAM_BanFromThread'] AND in_array($vbulletin->userinfo['userid'], preg_split('#\s*,\s*#s'$threadinfo['LAM_BanFromThread'], -1PREG_SPLIT_NO_EMPTY))) OR ($vbulletin->options['LAM_BanFromThread_ForumBans'] AND $foruminfo['LAM_BanFromThread'] AND in_array($vbulletin->userinfo['userid'], preg_split('#\s*,\s*#s'$foruminfo['LAM_BanFromThread'], -1PREG_SPLIT_NO_EMPTY))))) {
        eval(
standard_error(fetch_error('LAM_BanFromThread_NoPermission')));

Another small improvement.
To enable topicstarter edit banlist.
Edit the SHOWTHREAD template...
Find:
Code:
<vb:if condition="!empty($vboptions['LAM_BanFromThread_UserGroups']) AND in_array($bbuserinfo['usergroupid'], array($vboptions['LAM_BanFromThread_UserGroups']))">
and replace:
Code:
<vb:if condition="(!empty($vboptions['LAM_BanFromThread_UserGroups']) AND in_array($bbuserinfo['usergroupid'], array($vboptions['LAM_BanFromThread_UserGroups']))) OR ($threadinfo['postuserid'] == $bbuserinfo['userid'])">
In plugin "LAM - Perform Thread Manage Actions"
find:
PHP Code:
if ($_REQUEST['do'] == 'LAM_BanFromThread') {

    if (!
can_moderate($threadinfo['forumid'], 'canmanagethreads') AND (empty($vbulletin->options['LAM_BanFromThread_UserGroups']) OR !in_array($vbulletin->userinfo['usergroupid'], preg_split('#\s*,\s*#s'$vbulletin->options['LAM_BanFromThread_UserGroups'], -1PREG_SPLIT_NO_EMPTY)))) {
        
print_no_permission();
    } 
and replace:
PHP Code:
if ($_REQUEST['do'] == 'LAM_BanFromThread') {

    if ((!
can_moderate($threadinfo['forumid'], 'canmanagethreads') AND (empty($vbulletin->options['LAM_BanFromThread_UserGroups']) OR !in_array($vbulletin->userinfo['usergroupid'], preg_split('#\s*,\s*#s'$vbulletin->options['LAM_BanFromThread_UserGroups'], -1PREG_SPLIT_NO_EMPTY)))) AND ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'])) {
        
print_no_permission();
    } 
find:
PHP Code:
} elseif ($_POST['do'] == 'LAM_BanFromThread_Update') {

    if (!
can_moderate($threadinfo['forumid'], 'canmanagethreads') AND (empty($vbulletin->options['LAM_BanFromThread_UserGroups']) OR !in_array($vbulletin->userinfo['usergroupid'], preg_split('#\s*,\s*#s'$vbulletin->options['LAM_BanFromThread_UserGroups'], -1PREG_SPLIT_NO_EMPTY)))) {
        
print_no_permission();
    } 
and replace:
PHP Code:
} elseif ($_POST['do'] == 'LAM_BanFromThread_Update') {

    if ((!
can_moderate($threadinfo['forumid'], 'canmanagethreads') AND (empty($vbulletin->options['LAM_BanFromThread_UserGroups']) OR !in_array($vbulletin->userinfo['usergroupid'], preg_split('#\s*,\s*#s'$vbulletin->options['LAM_BanFromThread_UserGroups'], -1PREG_SPLIT_NO_EMPTY)))) AND ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'])) {
        
print_no_permission();
    } 
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:28 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05178 seconds
  • Memory Usage 2,407KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (6)bbcode_code
  • (5)bbcode_php
  • (7)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (9)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete