1
longhair
Censoring offensive language
  • 2004/5/4 6:54

  • longhair

  • Friend of XOOPS

  • Posts: 70

  • Since: 2004/3/29



Some users of my XOOPS based site have taken a liking to using offensive words in the forums (and at times the shoutbox).

I have enabled Censorship options, however it seems this option does not backtrack and censor all existing offensive words.

Is this correct?

2
luciano
Re: Censoring offensive language
  • 2004/5/4 7:39

  • luciano

  • Quite a regular

  • Posts: 261

  • Since: 2003/11/3


I haven't checked this, but I suppose that the check is done before writing the post to the database. As a webmaster you can edit the posts. In my case, a public warning to the "offenders" seems to keep them on track. Users are very inventive when it comes to fooling the censorlist.

3
longhair
Re: Censoring offensive language
  • 2004/5/4 9:33

  • longhair

  • Friend of XOOPS

  • Posts: 70

  • Since: 2004/3/29


Where do you find your 'public warning' works best?

In a disclaimer displayed whilst registering an account (which I bet hardly anyone reads), in an FAQ item (where mine currently is, and I also bet hardly anyone reads), or in the offending forum thread itself?

I'm no prude and can trash talk with the best of them, but as my site caters to people of all ages, I'm trying to consider the overall audience here, and wanting to promote a friendly atmosphere, and not just another overly abusive irc channel of f's and c's.

4
Catzwolf
Re: Censoring offensive language
  • 2004/5/4 11:45

  • Catzwolf

  • Home away from home

  • Posts: 1392

  • Since: 2007/9/30


Quote:

longhair wrote:
Where do you find your 'public warning' works best?

In a disclaimer displayed whilst registering an account (which I bet hardly anyone reads), in an FAQ item (where mine currently is, and I also bet hardly anyone reads), or in the offending forum thread itself?

I'm no prude and can trash talk with the best of them, but as my site caters to people of all ages, I'm trying to consider the overall audience here, and wanting to promote a friendly atmosphere, and not just another overly abusive irc channel of f's and c's.


I most cases, esp with the forum and possibly shoutbox (If it is smarty enabled) you could easily open the template and add your disclaimer and that way your users have no choice but to read it. If they don't and continue, you would then have the right to ban them as they have broken the disclaimer.

In fact, if you look at the top where you normally create or reply to a topic, you will see "About Posting". If you look in the language files for "All Registered users can post new topics and replies to this forum", you could easily add your disclaimer there.

5
Stewdio
Re: Censoring offensive language
  • 2004/5/4 12:30

  • Stewdio

  • Community Support Member

  • Posts: 1560

  • Since: 2003/5/7 1


Some valid point made by all, but going through and manualy editing posts is not the answer, especially on larger more active communities.

Is there way to scan the db of all posts after a new filter has been added to ensure that none get over looked? This way when an admin in the same position as Longhair adds a new word to a filter, it's recursive, and not only applies to posts that happen from that point.

Something to think about if it hasn't already been added to the wish list.

6
longhair
Re: Censoring offensive language
  • 2004/5/4 15:27

  • longhair

  • Friend of XOOPS

  • Posts: 70

  • Since: 2004/3/29


Quote:

Stewdio wrote:

Is there way to scan the db of all posts after a new filter has been added to ensure that none get over looked?


My biggest concern is after adding a word to the filter, a creative poster uses well known replacements like using zeros instead of o's to get around filtering, thereby making the filtering an ongoing time consuming thing.

Threatening troublesome users with banning seems the only workable solution, but they are free to register another account if they want to go that far and around the block we go again. I'm into increasing membership, not reducing it.

I'm willing to meet half way though. Can anybody suggest changes so that I may replace offensive words with replacements, such as f--k, etc. The first and last letter remains intact.

No meaning is lost in conversation if the users must be offensive, and nobody is caused offence.

7
Stewdio
Re: Censoring offensive language
  • 2004/5/4 15:32

  • Stewdio

  • Community Support Member

  • Posts: 1560

  • Since: 2003/5/7 1


I agree lonhair, there is no easy solution that is 100%. A combination of diligent (yet tedious) filtering, account banning and IP Blocking is all the aresenal we have here and abroad.

8
domineaux
Re: Censoring offensive language
  • 2004/5/4 16:45

  • domineaux

  • Quite a regular

  • Posts: 389

  • Since: 2002/9/29


Filter will never do a complete job. Use filter for the most offensive words, usually about nine at most. You can stop the others with a PM or email message. Last resort IP ban.

Going through every posting is nonsense. If the poster is reported pop off a quick message and put the poster on notice. Really, it's not a big deal, if the poster wants to be a part of the community compliance will not be a problem. Otherwise, who needs'em.






9
Catzwolf
Re: Censoring offensive language
  • 2004/5/4 16:55

  • Catzwolf

  • Home away from home

  • Posts: 1392

  • Since: 2007/9/30


Quote:

domineaux wrote:
Filter will never do a complete job. Use filter for the most offensive words, usually about nine at most. You can stop the others with a PM or email message. Last resort IP ban.

Going through every posting is nonsense. If the poster is reported pop off a quick message and put the poster on notice. Really, it's not a big deal, if the poster wants to be a part of the community compliance will not be a problem. Otherwise, who needs'em.


No one mentioned about going throu each post?

Yes there is a way to have each post filtered. This can be done by adding an extra line when extracting the post information or when saving the post to a database. $myts has a function called 'censorString' and the words you wish to ban can be entered in XOOPS Admin.

But as far as I can see, this already been implemented in NewBB anyway.

If you want to expand this further, by filtering posts already written, open newbb/class/forumposts.php and change the function at line 238:

function getPost($id) {
$sql = 'SELECT p.*, t.post_text, tp.topic_status FROM '.$this->db->prefix('bb_posts').' p LEFT JOIN '.$this->db->prefix('bb_posts_text').' t ON p.post_id=t.post_id LEFT JOIN '.$this->db->prefix('bb_topics').' tp ON tp.topic_id=p.topic_id WHERE p.post_id='.$id;
$array = $this->db->fetchArray($this->db->query($sql));
$this->post_id = $array['post_id'];
$this->pid = $array['pid'];
$this->topic_id = $array['topic_id'];
$this->forum_id = $array['forum_id'];
$this->post_time = $array['post_time'];
$this->uid = $array['uid'];
$this->poster_ip = $array['poster_ip'];
$this->subject = $array['subject'];
$this->nohtml = $array['nohtml'];
$this->nosmiley = $array['nosmiley'];
$this->icon = $array['icon'];
$this->attachsig = $array['attachsig'];
$this->post_text = $array['post_text'];
if ($array['pid'] == 0) {
$this->istopic = true;
}
if ($array['topic_status'] == 1) {
$this->islocked = true;
}
}

to

function getPost($id) {

global $myts;

$sql = 'SELECT p.*, t.post_text, tp.topic_status FROM '.$this->db->prefix('bb_posts').' p LEFT JOIN '.$this->db->prefix('bb_posts_text').' t ON p.post_id=t.post_id LEFT JOIN '.$this->db->prefix('bb_topics').' tp ON tp.topic_id=p.topic_id WHERE p.post_id='.$id;
$array = $this->db->fetchArray($this->db->query($sql));
$this->post_id = $array['post_id'];
$this->pid = $array['pid'];
$this->topic_id = $array['topic_id'];
$this->forum_id = $array['forum_id'];
$this->post_time = $array['post_time'];
$this->uid = $array['uid'];
$this->poster_ip = $array['poster_ip'];
$this->subject = $array['subject'];
$this->nohtml = $array['nohtml'];
$this->nosmiley = $array['nosmiley'];
$this->icon = $array['icon'];
$this->attachsig = $array['attachsig'];
$this->post_text = $myts->censorString($array['post_text']);
if ($array['pid'] == 0) {
$this->istopic = true;
}
if ($array['topic_status'] == 1) {
$this->islocked = true;
}
}

Remember this will put a very small overhead on the forum.

But it may help some.

10
tetsuo
Re: Censoring offensive language
  • 2004/7/1 22:50

  • tetsuo

  • Just popping in

  • Posts: 4

  • Since: 2004/5/4 1


I'd like to apply censorship to Narga's Guestbook, I guess it should be dome somewhere in sign.php file...

I tried >> $message=$myts->censorString(makeTboxData4Save($HTTP_POST_VARS["message"]));

With no luck, page goes blank. I'll try to turn debug msg later. thx

//edit
Fatal error: Call to undefined function: censorstring() in /home/uc/modules/myguestbook/sign.php on line 35
Notice [PHP]: Undefined variable: url in file modules/myguestbook/sign.php line 33

Login

Who's Online

307 user(s) are online (225 user(s) are browsing Support Forums)


Members: 0


Guests: 307


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Nov 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits