Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons

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

Category: End-User Options - Version: 4.1.4 Rating:
Released: 11-01-2010 Last Update: 07-04-2011 Installs: 44
Uses Plugins
Re-useable Code Translations  
No support by the author.

This product will mask out rude words on your forum, but with an option that allows the filter to be turned off by the user.

The filter works on all forum posts, threads, titles, search results and emails. There is also a BLOGs version of this product which I've extended to also filter the built-in blogs, comments, latest bits and titles. Blog support is not 100% complete yet. There are some places where no suitable hooks exist for the filter to work; blog search results being an example. Hopefully these will be fixed as and when more hooks become available. (I'd rather wait for the hooks then start giving instructions on hacking the files)

As of version 4.0.8.2 it is now possible to set a minimum age required before a user is allowed to turn off the profanity filter.

Installation
  1. Download the required .xml file
    product-LAM_product-LAM_ProfanityFilter.xml or product-LAM_ProfanityFilterBLOG.xml
  2. Install the product
    AdminCP -> Plugins & Products -> Add/Import Product -> Import Product
  3. Create the required User Profile Field
    A picture speak a thousand words....

    ...but here are the words as well!
    Code:
    In your Admin Control Panel (ACP), please do the following:
    
    ACP -> User Profile Fields -> Add New User Profile Field
    
    Change the "Profile Field Type" to "Single-Selection Radio Buttons" and press "Continue"
    
    Now enter the following values into the following fields...
    
    User Profile Field
    ------------------
    
    Title = Profanity Filter
    Description = The profanity filter will mask out mature language from forum posts
    Profile Field Category = (Uncategorized)
    Options = {Copy and paste in the two lines below}
    Turn On
    Turn Off
    Set Default = Yes
    Display Order = You Select this (dependant on how many you already have)
    Field Required = No
    Field Editable by User = Yes
    Private Field = Yes
    Field Searchable on Members List = No
    Show on Members List = No
    
    Optional Input
    --------------
    
    Allow user to input their own value for this option = No
    Max length of allowed user input = 100
    Field Length = 25
    Regular Expression = {Leave this Blank}
    
    
    Display Page
    ------------
    
    Which page displays this option? = Edit Profile
    
    Make a note of the FieldID at the top of the page because you will need to use it to configure this product.
    
    Press Save
  4. Configure the product

Configuration

You need to configure the product to specify the Profile Field ID to use (the one created during installation). If you want to change the "Turn On" "Turn Off" labels in the profile field (e.g. for translations) then you need to change the default "Turned Off" Selection option. This product works on the basis that the filter is always on unless the user chooses to turn it off. Therefore it needs to know what to look for to determine the user has turned it off. Next is the filter mask. This is the replacement for any words which have been filtered. And finally is the list of words to filter. I've masked them out in the picture below just in case vB.org get upset.



Each user can then turn the filter off in their user cp...




Example

A user who has the profanity filter turned off can create and view posts without any alterations being made to them. For users with the profanity filter turned on this product should mask out the configured words where ever they may appear on your forum.

Here are some examples of the filter at work...










Known Issues
  • Blog search results are not filtered
  • Latest blog/comments AJAX results are not filtered

Version History

4.1.4.0 - Fixed bug which could display a no permission error when trying to create a new blog post (2011/07/05)
4.1.1.0 - Fixed HTML clobbering when filtering the word "ass" again (2011/01/17)
4.1.0.2 - Fixed vB4.0.1 not filtering search results post titles (2010/12/11)
4.1.0.1 - Fixed vB4.0.1 not filtering posts at all (2010/12/11)
4.0.8.3 - Fixed HTML clobbering when filtering the word "ass", plus optimised Blog filtering (2010/11/09)
4.0.8.2 - Added minimum age required to turn off the profanity filter
4.0.8.1 - Fix to prevent over filtering if a trailing comma is put in the filtered words list (2010/11/03)
4.0.8.0 - Initial release (2010/11/02)

Download Now

File Type: xml product-LAM_ProfanityFilter.xml (12.7 KB, 116 views)
File Type: xml product-LAM_ProfanityFilterBLOG.xml (19.6 KB, 37 views)

Screenshots

File Type: jpg ProfileField.jpg (74.3 KB, 0 views)
File Type: png Admin.png (56.6 KB, 0 views)
File Type: png UserCP.png (8.7 KB, 0 views)
File Type: png 1.png (64.7 KB, 0 views)
File Type: png NewPosts.png (15.3 KB, 0 views)
File Type: png Quotes.png (14.4 KB, 0 views)
File Type: png Blog.png (43.3 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 11-02-2010, 12:52 PM
sulasno sulasno is offline
 
Join Date: Feb 2010
Posts: 588
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

tagged and thanks

is it possible for the Admin to turn on the filter instead of allowing the users ?
Reply With Quote
  #3  
Old 11-02-2010, 12:59 PM
mawby mawby is offline
 
Join Date: Jun 2004
Location: Wiltshire, England
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

As it works at the moment, the filter is always on unless turned off by a user. It would require a few changes to make it work the other way around, but I'd look into it if there was enough demand.

If you only want the admin to change the setting then you can set the profile field to not be user editable.
Reply With Quote
  #4  
Old 11-02-2010, 02:06 PM
sulasno sulasno is offline
 
Join Date: Feb 2010
Posts: 588
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks for the tip
Reply With Quote
  #5  
Old 11-02-2010, 02:21 PM
x9751's Avatar
x9751 x9751 is offline
 
Join Date: Dec 2009
Location: America
Posts: 47
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Pretty cool Will probably install I wanted to turn my filter on but people complained saying they are "mature" enough for it to be turned off... anyway thanks. taged
Reply With Quote
  #6  
Old 11-02-2010, 09:12 PM
tafreeh tafreeh is offline
 
Join Date: May 2008
Location: Canada
Posts: 536
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nice one.. but can you give an option where we can define filter what word to what?

for example:

right now its gonna convert all the bad words to whatever is in filter mask field. What I want is an option where we can define; convert what word to what.
eg: apple will convert to orange or blue will convert to black

The reason I am asking this is to reduce the amount of wyrd typos I get to see at my forum.

Thanks
Reply With Quote
  #7  
Old 11-03-2010, 12:55 AM
inshooter inshooter is offline
 
Join Date: Oct 2010
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I get this when it is turned on...all throughout the forum links

$#@!p$#@! $#@!cl$#@!$#@!="$#@!lastposttitle$#@!"> <$#@!a$#@! $#@!href$#@!="$#@!showthread$#@!.$#@!php$#@!?$#@!4 0$#@!-$#@!I$#@!-$#@!read$#@!-$#@!the$#@!-$#@!rules$#@!...&$#@!amp$#@!;$#@!goto$#@!=$#@!newp ost$#@!" $#@!cl$#@!$#@!="$#@!threadtitle$#@!" $#@!$#@!le$#@!="$#@!Go$#@! $#@!to$#@! $#@!first$#@! $#@!unread$#@! $#@!post$#@! $#@!in$#@! $#@!thread$#@! '$#@!I$#@! $#@!read$#@! $#@!the$#@! $#@!rules$#@!...'">$#@!I$#@! $#@!read$#@! $#@!the$#@! $#@!rules$#@!... <$#@!a$#@! $#@!href$#@!="$#@!showthread$#@!.$#@!php$#@!?$#@!4 0$#@!-$#@!I$#@!-$#@!read$#@!-$#@!the$#@!-$#@!rules$#@!...&$#@!amp$#@!;$#@!p$#@!=$#@!316$#@! #$#@!post316$#@!"><$#@!img$#@! $#@!src$#@!="$#@!images$#@!/$#@!shades_of_green$#@!/$#@!buttons$#@!/$#@!lastpost$#@!-$#@!right$#@!.$#@!png$#@!" $#@!alt$#@!="$#@!Go$#@! $#@!to$#@! $#@!last$#@! $#@!post$#@!" /> <$#@!div$#@! $#@!cl$#@!$#@!="$#@!lastpostby$#@!"> $#@!by$#@! <$#@!div$#@! $#@!cl$#@!$#@!="$#@!popupmenu$#@! $#@!memberaction$#@!"> <$#@!a$#@! $#@!cl$#@!$#@!="$#@!username$#@! $#@!offline$#@! $#@!popupctrl$#@!" $#@!href$#@!="$#@!member$#@!.$#@!php$#@!?$#@!11$#@ !-$#@!Que$#@!" $#@!$#@!le$#@!="$#@!Que$#@! $#@!is$#@! $#@!offline$#@!"><$#@!strong$#@!>$#@!Que$#@! <$#@!ul$#@! $#@!cl$#@!$#@!="$#@!popupbody$#@! $#@!popuphover$#@! $#@!memberaction_body$#@!"> <$#@!li$#@! $#@!cl$#@!$#@!="$#@!left$#@!"> <$#@!img$#@! $#@!src$#@!="$#@!images$#@!/$#@!shades_of_green$#@!/$#@!site_icons$#@!/$#@!profile$#@!.$#@!png$#@!" $#@!alt$#@!="" /> <$#@!a$#@! $#@!href$#@!="$#@!member$#@!.$#@!php$#@!?$#@!11$#@ !-$#@!Que$#@!"> $#@!View$#@! $#@!Profile$#@! <$#@!li$#@! $#@!cl$#@!$#@!="$#@!right$#@!"> <$#@!img$#@! $#@!src$#@!="$#@!images$#@!/$#@!shades_of_green$#@!/$#@!site_icons$#@!/$#@!forum$#@!.$#@!png$#@!" $#@!alt$#@!="" /> <$#@!a$#@! $#@!href$#@!="$#@!search$#@!.$#@!php$#@!?$#@!do$#@ !=$#@!finduser$#@!&$#@!amp$#@! ;$#@!userid$#@!=$#@!11$#@!&$#@!amp$#@!;$#@!content type$#@!=$#@!vBForum_Post$#@!& $#@!amp$#@!;$#@!showposts$#@!=$#@!1$#@!" $#@!rel$#@!='$#@!nofollow$#@!'> $#@!View$#@! $#@!Forum$#@! $#@!Posts$#@! <$#@!li$#@! $#@!cl$#@!$#@!="$#@!left$#@!"> <$#@!img$#@! $#@!src$#@!="$#@!images$#@!/$#@!shades_of_green$#@!/$#@!site_icons$#@!/$#@!message$#@!.$#@!png$#@!" $#@!alt$#@!="" /> <$#@!a$#@! $#@!href$#@!="$#@!private$#@!.$#@!php$#@!?$#@!do$# @!=$#@!newpm$#@!&$#@!amp$#@!;$ #@!u$#@!=$#@!11$#@!" $#@!rel$#@!='$#@!nofollow$#@!'> $#@!Private$#@! $#@!Message$#@! <$#@!li$#@! $#@!cl$#@!$#@!="$#@!left$#@!"> <$#@!img$#@! $#@!src$#@!="$#@!images$#@!/$#@!shades_of_green$#@!/$#@!site_icons$#@!/$#@!add$#@!.$#@!png$#@!" $#@!alt$#@!="" /> <$#@!a$#@! $#@!href$#@!="$#@!profile$#@!.$#@!php$#@!?$#@!do$# @!=$#@!addlist$#@!&$#@!amp$#@! ;$#@!userlist$#@!=$#@!buddy$#@!&$#@!amp$#@!;$#@!u$ #@!=$#@!11$#@!"> $#@!Add$#@! $#@!as$#@! $#@!Contact$#@! <$#@!p$#@! $#@!cl$#@!$#@!="$#@!lastpostdate$#@!">$#@!October$ #@! $#@!29th$#@!, $#@!2010$#@!, <$#@!span$#@! $#@!cl$#@!$#@!="$#@!time$#@!">$#@!21$#@!:$#@
Reply With Quote
  #8  
Old 11-03-2010, 03:38 AM
sulasno sulasno is offline
 
Join Date: Feb 2010
Posts: 588
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by tafreeh View Post
nice one.. but can you give an option where we can define filter what word to what?

for example:

right now its gonna convert all the bad words to whatever is in filter mask field. What I want is an option where we can define; convert what word to what.
eg: apple will convert to orange or blue will convert to black

The reason I am asking this is to reduce the amount of wyrd typos I get to see at my forum.

Thanks
good idea

I did not use the built in censor since all the words will be converted to ****
but this mod allows me to select the mask

the ability to select the mask for different words would be a winner !
Reply With Quote
  #9  
Old 11-03-2010, 07:17 AM
mawby mawby is offline
 
Join Date: Jun 2004
Location: Wiltshire, England
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by tafreeh View Post
nice one.. but can you give an option where we can define filter what word to what?
That wouldn't be too difficult, I'll add it to the to-do list for now though as first I need to fix...

Quote:
Originally Posted by inshooter View Post
I get this when it is turned on...all throughout the forum links
What words do you have in the "filter words" list? Thinking about it, does your "Filter Words" have a trailing comma by any chance?
Reply With Quote
  #10  
Old 11-03-2010, 07:40 AM
mawby mawby is offline
 
Join Date: Jun 2004
Location: Wiltshire, England
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by inshooter View Post
I get this when it is turned on...all throughout the forum links
Quote:
Originally Posted by mawby View Post
Thinking about it, does your "Filter Words" have a trailing comma by any chance?
I've tested this and having a filtered words list like "word1,word2,word3," or "word1,word2,,word3" would cause the problem you've described. I've updated to product to stop this from happening. Can you try the update and let me know if it fixes your problem please?

You will, however, still get a problem if your filtered words list contains a space like "word1,word2, ,word3" but in this situation I think it quite reasonable for the filter to start replacing all spaces as that's what its been configured to do - so I'm not going to fix that one.
Reply With Quote
Reply

Thread Tools

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 10:19 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04512 seconds
  • Memory Usage 2,335KB
  • Queries Executed 24 (?)
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
  • (1)bbcode_code
  • (5)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
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (9)postbit_attachment
  • (10)postbit_onlinestatus
  • (10)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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • 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