Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools
User-optional Replacements-based Censorship Details »»
User-optional Replacements-based Censorship
Version: 1.00, by tjdrico tjdrico is offline
Developer Last Online: Apr 2014 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 04-13-2004 Last Update: Never Installs: 21
 
No support by the author.

User-optional Replacements-based Censorship Hack
================================================

Rationale:
----------

Some of my forum members wanted a swear filter for use at work, but others didn't. I searched for a hack that could do that and I saw a similar hack ( https://vborg.vbsupport.ru/showthread.php?t=53640 ) by 006 but that's for vB 2.2.* and I have vB 3.0.0. I started to look at the hack to install it but it looked significantly different from the code I had for vB, so I thought it'd be simpler to write a new version for vB 3 from scratch. This is it.

Description:
------------

The "bad words" censorship filter built in to vBulletin has at least three drawbacks:

1. It's all or nothing - all users are subject to the censorship whether they choose to be or not.

2. Censored words are replaced by asterisks and are not recoverable, even if the censorship is subsequently removed.

3. There is only a single list possible, where a forum administrator may wish different censorship lists within different styles (if they relate to different fora, for example).

This hack is a solution.

Based upon the built-in Replacement Variables system, this hack enables individual users to specify whether they want to view censored posts or not. Even if the Administrator chooses not to censor his forum, individual members sometimes prefer some words to be censored because they view in an office environment and Web proxies log certain words, or because minors may be present and read the screen.

Using his own "Edit Options" page, a member of your forum can turn his censorhip on or off unilaterally, and because of the way the replacements system works this is an entirely reversible operation. He can view censored posts at work, then log in at home and turn the censorship off again to view the posts as intended.

Also because of the way the replacements system works, censorship should take place in thread titles as well as posts.

If there are words that simply must be censored for all users, the built-in global censorship system can deal with that.

Caveats:
--------

Using the Replacement Variables system in this manner may preclude its use from any other function.

I have no useful information relating to how much additional load this will put in your server. I would imagine it would be minimal if the list of words is short or most users have censorship turned off.

Hack Information:
-----------------

Queries to run: 1
Files to modify: 2
Templates to modify: 1
Phrases to add: 4

Estimated time to install hack: 5 minutes

As ever, please take sensible precautions before installing this hack; back up your database and files beforehand. I have tested this hack on my own forum and my test forum and found it to be fine, but I am not responsible for the application of any hack I don't do myself.

For support, please use this thread or email me if you don't get a response. Thanks.

Daren "Rico" Chandisingh
rico[at]justice-department.org.uk
http://www.respawned.co.uk/forums/

Show Your Support

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

Comments
  #32  
Old 05-11-2004, 11:58 AM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by tmhall
I'm interested in this hack, but I'm brand new to vB3 and a bit put off by the caveat that use of the replacements system in this way might preclude its use in other ways. I guess I'm asking what potential I lose by using this, since I'm not really sure what else I would use replacements for.

Thanks!
Well, if you have to ask, you're probably not likely to be affected. =) I haven't yet had any use for replacements, but you could use them to... um... alter the pages in some way. e.g. replacing "<body " with "<body onLoad=..." -- that's something you could do with templates though. Or, say, "someword" with one of those "sponsored links" things. I don't know what else people use the replacements for generally.

I put the caveat in there really as I'm sure some people use the replacements for various purposes, but in general I think most people would be fine using them to implement a censorship hack.
Reply With Quote
  #33  
Old 05-11-2004, 01:19 PM
zetetic's Avatar
zetetic zetetic is offline
 
Join Date: Apr 2004
Posts: 338
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Excellent. I think I'll give it a shot, then. Thanks.
Reply With Quote
  #34  
Old 05-15-2004, 03:17 AM
jcr jcr is offline
 
Join Date: Apr 2004
Posts: 105
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I really like the idea of this hack, but as you mentioned in the instructions, some odd errors may appear. I must frankly say that it is really hard to actually think of all the combinations of ( ass = donkey , password = donkeyword ) swearing / non-swearing words. There must be some way to work this out without having to sit and think of hundreds, maybe thousands of combinations? ( yes... norwegian language has a whole lot of swearing )
Reply With Quote
  #35  
Old 05-28-2004, 07:16 PM
moonclamp's Avatar
moonclamp moonclamp is offline
 
Join Date: May 2004
Location: London
Posts: 516
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is very useful for me as one of my members logs on from work and constantly has pages restricted to her by 'webmarshal' software because of bad language. *installs*
Reply With Quote
  #36  
Old 06-01-2004, 05:32 PM
Loon Loon is offline
 
Join Date: Nov 2003
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice little hack, thanks.

In regards to having part words replaced, you can solve the problem in most cases by using spaces, example:

If you want "ass" replaced with "thingy" for the text to replace put <space>ass<space>

then "password ass glass" would come out as

"password thingy glass" rather than "pthingyword thingy glthingy"

the only time this wouldn't work is if they post the word that's getting replaced as the first word in their post, but it's probally very very rare that would happen.
Reply With Quote
  #37  
Old 06-06-2004, 03:43 PM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That's handy to know, Loon, thanks.

I noticed that "parse links in text" was coming out as "pdonkey links in text" on my test forum the other day. =)
Reply With Quote
  #38  
Old 06-09-2004, 08:07 PM
forumdude's Avatar
forumdude forumdude is offline
 
Join Date: Nov 2001
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

AAhhh. Awsome! I'll have to seriously consider this when we install vb3.

I briefly read over this and am wondering if there's still a place where you can have words censored for everyone outside of the optional censorship? We sometimes censor outwar links and other various domain names.
Reply With Quote
  #39  
Old 06-09-2004, 08:14 PM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can still use the standard vBulletin censorship system, and those words would be replaced by '**********' as normal.
Reply With Quote
  #40  
Old 06-09-2004, 08:16 PM
forumdude's Avatar
forumdude forumdude is offline
 
Join Date: Nov 2001
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great thanks
Reply With Quote
  #41  
Old 06-10-2004, 04:29 PM
FASherman's Avatar
FASherman FASherman is offline
 
Join Date: Aug 2002
Posts: 289
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

One more suggestion, if you don't mind...

Instead of using the forum default for "bad words", why not allow users to specify their own list of words that they personally find offensive?
Reply With Quote
 


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 01:30 AM.


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.04879 seconds
  • Memory Usage 2,305KB
  • Queries Executed 25 (?)
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_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • 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_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete