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

Reply
 
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
  #52  
Old 02-05-2005, 12:41 PM
moethelawn's Avatar
moethelawn moethelawn is offline
 
Join Date: Nov 2003
Location: Iowa
Posts: 53
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Megareus Rex
Hmmm...it works on 3.0.5 for me, moe. I'll see if I can help you :-/
I didn't even try it, lol... I was just wondering if it would work with 3.0.6 before I install it, that's all

I didn't know you had this hack >_>...
Reply With Quote
  #53  
Old 02-14-2005, 05:01 AM
FASherman's Avatar
FASherman FASherman is offline
 
Join Date: Aug 2002
Posts: 289
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd like to see this taken just one step further.

Instead of applying a global forum-wide censor list, let users manage their own individual swear-replace list.
Reply With Quote
  #54  
Old 02-14-2005, 01:20 PM
nighteyes's Avatar
nighteyes nighteyes is offline
 
Join Date: Oct 2001
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works fine on 3.06 for me
Reply With Quote
  #55  
Old 02-20-2005, 02:50 AM
natez0rz natez0rz is offline
 
Join Date: Aug 2004
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This would be more useful if it didn't stop you from using replacement variables for anything else. I like the idea though.
Reply With Quote
  #56  
Old 02-27-2005, 04:32 PM
zetetic's Avatar
zetetic zetetic is offline
 
Join Date: Apr 2004
Posts: 338
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've noticed a problem with this since we upgraded to 3.0.6.

We don't seem to be able to add a space after a word anymore. For example, replacing 'ass' with '***' would result in '***' when the word ass was found, and '***ert' for the word 'assert'.

However telling it to censor ' ass ' would fix that by only affecting 'ass' alone, not when used as part of another word.

Since the upgrade, the database won't accept words with a space after them.
Reply With Quote
  #57  
Old 03-09-2005, 11:06 AM
lefthome's Avatar
lefthome lefthome is offline
 
Join Date: Feb 2005
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would like to install this hack. Currently I am using vb 3.06 and will upgrade to vb3.07 this weekend. Does this hack work in vb3.07?
Reply With Quote
  #58  
Old 03-10-2005, 12:14 PM
T3MEDIA T3MEDIA is offline
 
Join Date: Dec 2004
Posts: 944
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

has this been updated to not touch anything besides text in forums and pm messages?

I dont want this messing up anything else.
will wait for an answer.
Reply With Quote
  #59  
Old 03-14-2005, 06:34 PM
ProperMethodz's Avatar
ProperMethodz ProperMethodz is offline
 
Join Date: Jan 2005
Location: Stamford CT
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
RUN SQL (use mySQL or phpMyAdmin etc.):
---------------------------------------------------------------------------------------------------------
ALTER TABLE user ADD usereplacementscensor TINYINT(1) NOT NULL DEFAULT '1' AFTER pmunread;
---------------------------------------------------------------------------------------------------------

The default value of 1 means that users WILL use the censorship by default unless
they turn it off.  If you would prefer it to be OFF by default, then use this
INSTEAD:

	ALTER TABLE user ADD usereplacementscensor TINYINT(1) NOT NULL DEFAULT '0' AFTER pmunread;

If you change your mind you can change the default using:

	ALTER TABLE user ALTER COLUMN usereplacementscensor SET DEFAULT '1'; 

(or SET DEFAULT '0' as appropriate).
Hello... I don't believe I have access to run these things with my host. Is there a work around or do I have to have them run this for me?
Reply With Quote
  #60  
Old 03-19-2005, 01:24 AM
ProperMethodz's Avatar
ProperMethodz ProperMethodz is offline
 
Join Date: Jan 2005
Location: Stamford CT
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by tryckj?vel
ok im stuck, i've followed the instructions per the txt file step by step twice now double checked everything each time and i get this error in functions.php:
Code:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/turbobri/public_html/forums/includes/functions.php on line 1887
which is in reference to this if statement:

Code:
	// do vBulletin 3 replacement variables
	if (!empty($style['replacements']))
	{
		if (!isset($replacementvars))
		{
			$replacementvars = unserialize($style['replacements']);
		}
I've read through the code, and its not missing any formating that i can find, i've tried both "guest = yes" and the default one as well..

Any ideas?

Hello... I'm having the same issue but with a different line refrenced.

I really want to do this thing here... I have been reading the thread the whole night and looking into it... I am really Bawls to the wall right now too so my anticipation is through the roof to make this thing happen.

My biggest issue is that I really have no background with Php, and am pretty lost... PLEASE HELP!

Code:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /forum/includes/functions.php on line 2018
Reply With Quote
  #61  
Old 07-28-2005, 06:16 AM
BamaStangGuy's Avatar
BamaStangGuy BamaStangGuy is offline
 
Join Date: Mar 2004
Location: Alabama
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyway we can get a port to 3.5?
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 05:08 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.04766 seconds
  • Memory Usage 2,316KB
  • 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
  • (4)bbcode_code
  • (2)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