Thread: End-User Options - User Optional Word Censorship
View Single Post
  #36  
Old 02-21-2010, 11:56 PM
crs6785 crs6785 is offline
 
Join Date: Feb 2010
Location: WI
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Carly View Post
This didn't work for me in 3.8.2 -- it wasn't retroactive and it appears that it worked backwards. It seems that if Member A had the censor on and Member B did not, if Member A posted a censored word, it appeared censored to Member B (even though Member B didn't want the censor). If Member B posted a censored word, Member A would view it in its full glory (even though Member A *wanted* the censor). Totally backwards.
The reason that happens is because of how caching works and the way censored posts are added to the DB. If Member A has the censor turned on and creates a post, then the post is actually censored before it is written to the DB. Same for the cached part of the post that goes into the postparsed table in the DB. So in the same respect, if Member B has the censor disabled and creates a thread, then the uncensored thread will go into the cache as well, which I don't believe is censored again when it is retrieved (defeats the purpose of the cache, eh?), which means that Member A will not get the text censored if it is retrieved from cache.

The only way I've found to get around such behavior and make a user based censorship mod work is to globally disable the censor so all text is written to the DB uncensored and then selectively enable the censor (via hooks) when they view certain pages. This requires a lot of plugins in various spots to catch things that should be censored.

A real solution for user based censorship is going to need a rethinking of the way censorship is done in general and how it works with caching.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01654 seconds
  • Memory Usage 1,765KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete