[01/12/06] Spam Words

All new MODs released in our MOD Database will be announced in here. All support for released MODs needs to take place in here. No new MODs will be accepted into the MOD Database for phpBB2
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

On February 1, 2009 this forum will be set to read only as part of retiring of phpBB2.

Rating:

Excellent!
52
76%
Very Good
9
13%
Good
4
6%
Fair
0
No votes
Poor
3
4%
 
Total votes: 68

Joe Belmaati
Registered User
Posts: 2110
Joined: Sun Sep 28, 2003 7:35 pm
Location: Denmark

Post by Joe Belmaati » Mon Oct 23, 2006 3:20 pm

Hi David,
I am surprised to hear that EM would not install this MOD. The install file is specifically written to work around other possible MODs being installed. Anyhow, the instructions are in the file INSTALL.MOD. Be careful, though, it's a fairly complicated install.

Hope all works out for you.

Sincerely,
Joe
Image

Joe Belmaati
Registered User
Posts: 2110
Joined: Sun Sep 28, 2003 7:35 pm
Location: Denmark

Post by Joe Belmaati » Mon Oct 23, 2006 3:21 pm

114211 wrote: it is a pain in the @**
Hi, sorry, but I do not have the time to go through those other MODs to see how the conflict may arise. Sorry.
Image

rejj
Registered User
Posts: 9
Joined: Tue Dec 13, 2005 7:36 pm

Post by rejj » Mon Oct 23, 2006 10:07 pm

I get the following:
Image

What to do?

This is line 203 in functions_post.php

Code: Select all

function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, &$post_flagged)

clawed
Registered User
Posts: 32
Joined: Tue Jun 14, 2005 3:04 am

Post by clawed » Mon Oct 23, 2006 10:29 pm

rejj wrote: I get the following:

What to do?

This is line 203 in functions_post.php


probably in posting.php where the submit_post is called, check that it has
$post_flagged as the last argument. If it does not than recheck all the edits for this mod on that file.

Racine
Registered User
Posts: 1
Joined: Tue Oct 24, 2006 9:57 pm
Location: Vienna
Contact:

French translation

Post by Racine » Tue Oct 24, 2006 10:36 pm

Here is a rough French translation of lang_spamwords_admin.php, for forums whose admins don't use English. The file need to be copied in /language/lang_french/

lang_spamwords_admin.php

Code: Select all

<?php
/**
* lang_spamwords_admin.php [French]
* -------------------
* begin : Monday, Nov 22nd, 2005
* last update : Tuesday, Dec 27th, 2005
* copyright : (C) 2006 Joe Belmaati
* email : belmaati@gmail.com
*
*/
/**
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*/
//
// Gestion des mots à bannir
//
$lang['Spam_words_title'] = 'Spam Words';
$lang['Spam_words_explain'] = 'Depuis ce panneau de contrôle, vous pouvez ajouter des mots à bannir ou modifier et supprimer les mots existants. Les jokers (*) sont acceptés. Par exemple, *test* repérera détestable, test* détectera tester, *tester repérera détester. Le panneau de configuration vous permet également de déterminer de quelle façon traiter les messages offensants.';
$lang['Spam_word'] = 'Mot';
$lang['Edit_spamwords'] = 'Modifier la liste des mots bannis';
$lang['Add_new_word'] = 'Entrer un nouveau mot';
$lang['Update_word'] = 'Actualiser un mot';
$lang['Must_enter_spamword'] = 'Vous devez entrer un mot.';
$lang['Spam_word_updated'] = 'Le mot choisi a bien été modifié.';
$lang['Spam_word_added'] = 'Le mot à bannir a bien été ajouté.';
$lang['Spam_word_removed'] = 'Le mot banni sélectionné a bien été supprimé.';
//
// Configuration
//
$lang['Spam_config'] = 'Configuration de Spam Words';
$lang['Spam_config_explain'] = 'Dans ce panneau de contrôle, vous pouvez choisir de quelle manière seront traités les messages contenant des mots bannis.';
$lang['General_spam_settings'] = 'Configuration générale';
$lang['Disable_mod'] = 'Désactiver le filtre Spam Words';
$lang['Disable_mod_explain'] = 'Si, pour une raison ou une autre, vous avez besoin de court-circuiter ce MOD, choisissez ici l\'option "Oui"';
$lang['Spam_config_updated'] = 'La configuration de Spam Words a été mis à jour.';
$lang['Flag_posts'] = 'Signaler et cacher les messages';
$lang['Error_message'] = 'Messages d\'erreur';
$lang['Handle_spam'] = 'Comment les messages contenant des mots bannis doivent-ils être traités ?';
$lang['Handle_spam_explain'] = 'Choisissez "Signaler les messages" si vous souhaitez que les messages offensants passent au travers du filtre. Les messages seront alors étiquetés comme contenant des mots bannis, et seront cachés jusqu\'à ce qu\'ils soient supprimés ou corrigés par un administrateur. Si vous ne voulez pas que les pourriels passent au travers du filtre, choisissez "Messages d\'erreur". Un message d\'erreur s\'affichera à la soumission du message. Ce message d\'erreur peut être défini ci-dessous.';
$lang['Warn_user_pm'] = 'Envoyer un message privé aux utilisateurs pour les prévenir qu\'ils ont soumis un message contenant un mot banni';
$lang['Exceptions'] = 'Exceptions';
$lang['Exceptions_explain'] = 'Ici, vous pouvez définir des exceptions. Les membres satisfaisants ces critères seront autorisés à utiliser les mots bannis.';
$lang['Allow_admin'] = 'Autoriser les administrateurs à poster des mots bannis';
$lang['Allow_mod'] = 'Autoriser les modérateurs à poster des mots bannis';
$lang['Allow_reg'] = 'Autoriser les utilisateurs enregistrés à poster des mots bannis';
$lang['User_post_count'] = 'Utilisateurs ayant à leur actif plus de messages que le nombre indiqué (fixez la valeur à "0" pour désactiver cette fonction)';
$lang['Offenses'] = 'Nombre d\'offenses autorisées avant que l\'utilisateur ne soit banni (les administrateurs ne peuvent pas être bannis)';
$lang['Offenses_explain'] = 'À chaque fois qu\'un utilisateur poste un pourriel, l\'offense est enregistrée. Ici, vous pouvez choisir à partir de combien d\'offenses l\'utilisateur doit être automatiquement banni. Fixez la valeur à "0" si vous souhaitez désactiver cette fonction.';
$lang['Error_messages'] = 'Messages d\'erreur';
$lang['Error_messages_explain'] = 'Si vous avez choisi d\'afficher des messages d\'erreur plutôt que de signaler et de cacher les messages, vous pouvez configurer ces messages d\'erreurs ici même (255 caractères au maximum).';
$lang['Error_text'] = 'Voici le message d\'erreur que verra un utilisateur qui utilisera un mot banni';
$lang['Error_sig'] = 'Voici le message d\'erreur que verra un utilisateur qui postera un message alors que sa signature contient un mot banni';
$lang['PM_messages'] = 'Réglages des alertes par message privé';
$lang['PM_messages_explain'] = 'Ici, vous pouvez définir le texte des messages privés à vos utilisateurs, si vous avez choisi de les prévenir par message privé lorsqu\'ils soumettent un mot banni (255 caractères au maximum).';
$lang['PM_message'] = 'Texte du message privé';
$lang['PM_subject'] = 'Sujet du message privé';
$lang['Ban_ip'] = 'Bannir également l\'IP ?';
$lang['Flagged'] = 'Signalé';
$lang['Current_words'] = 'Mots bannis actuellement activés';
$lang['More_words'] = 'Cliquez <b>%sici%s</b> pour ajouter des mots à bannir.';
$lang['No_words'] = 'Aucun mot à bannir n\'est encore activé.';
//
// Fichier journal
//
$lang['Log'] = 'Journal de Spam Words';
$lang['Log_explain'] = 'Voici le journal de Spam Words (log). Il contient la trace de toutes les offenses commises. Certains messages ont pu être effacés ou modifiés entretemps.';
$lang['No_log'] = 'Aucune entrée dans le journal';
$lang['Browser'] = 'Explorateur';
$lang['IP'] = 'IP de l\'utilisateur';
$lang['Confirm'] = 'Confirmer';
$lang['Confirm_delete_log'] = 'Êtes-vous sûr de vouloir effacer le journal de Spam Words ?';
$lang['Log_emptied'] = 'Le journal de Spam Words a bien été effacé.';
//
// Messages signalés
//
$lang['Flagged_posts'] = 'Messages signalés';
$lang['Flagged_posts_explain'] = 'Ces messages ont été étiquetés. Cela signifie qu\'ils sont cachés et ne peuvent être vus dans votre forum. Ici, vous pouvez les voir, les modifier ou les supprimer.';
$lang['Anonymous'] = 'Anonyme';
$lang['No_flagged_posts'] = 'Pas de messages signalés';
//
// Clicks en folie
//
$lang['Click_return_spamwordadmin'] = 'Cliquez %sici%s pour revenir au panneau d\'administration de Spam Words.';
$lang['Click_return_spam_config'] = 'Cliquez %sici%s pour revenir au panneau de configuration des mots à bannir.';
$lang['Click_return_spamwords_log'] = 'Cliquez %sici%s pour revenir au journal de Spam Words.';
$lang['Click_return_spamwords_flagged'] = 'Cliquez %sici%s pour revenir à la liste des messages signalés.';
//
// That's all Folks!
// -------------------------------------------------
?>
Moreover, it's necessary to make the following change :

Code: Select all

#-----[ OPEN ]------------------------------------------ 
# 
language/lang_french/lang_admin.php 
# 
#-----[ FIND ]------------------------------------------ 
# 
// 
// That's all Folks! 
// ------------------------------------------------- 
# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
// 
// Spam Words 
// 
$lang['Spam_words'] = 'Spam Words'; 
$lang['Manage_words'] = 'Gestion des mots'; 
$lang['Flagged_posts'] = 'Messages signalés'; 
$lang['Log'] = 'Journal'; 
$lang['Spam_status'] = 'Permettre l'utilisation des mots bannis dans ce forum'; 
# 
I hope this can help.

Racine

_crt_
Registered User
Posts: 1
Joined: Thu Oct 26, 2006 5:49 pm

Post by _crt_ » Thu Oct 26, 2006 5:52 pm

Here's a simple change that makes it so that the poster can always see their own posts, even when they are flagged as hidden. This makes it harder for a spammer to know they are being blocked.

In viewforum.php and viewtopic.php, where you insert:
AND p.post_flagged <> " . TRUE . "

..instead, insert:

AND (p.post_flagged <> " . TRUE . " OR p.poster_id = " . intval($userdata['user_id']) . ")

User avatar
Khurram
Registered User
Posts: 60
Joined: Sat Dec 11, 2004 2:09 pm
Contact:

Post by Khurram » Fri Oct 27, 2006 10:42 pm

hmm excuse me for being naive but it seems i might have misunderstood the bypass option and im a bit confused on what it does.

does the "allow defined spam words to be used in this forum" option when set to YES actually ALLOWS spammers to bypass and post in that forum or does it check that forum for defined spam words and blocks spam ?

the problem is i have that option set to YES and spammers are able to post in that forum. is it because this option was set to YES or is it the words that i have defined not following the wildcard syntax correctly ? and also does this spam word list only checks topics or posts or both for these words ?

This is the spam thats killing me daily:

Image

These are the words i have in the list:

*xxx video*

etc.

And this is the setting that i'm confused about ?

Image

Thanks and its a great mod ! just hoping to get this working..
Last edited by Khurram on Sun Oct 29, 2006 2:52 am, edited 1 time in total.

uli_nyc
Registered User
Posts: 7
Joined: Sat Jun 24, 2006 7:30 pm

Same header error in functions_post.php

Post by uli_nyc » Sat Oct 28, 2006 2:03 am

I see exactly the same issue as Rejj. Modified line 203 looks exactly as Rejj indicated,

Code: Select all

function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, &$post_flagged)
When I searched in /includes/functions_post.php for $current_time = time(); it appeared around line 207 as well as on 566. Do I need to replace both or just one?

Code: Select all

This is around line 207:

//
// Post a new topic/reply/poll or edit existing post/poll
//
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, &$post_flagged)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

	[b]$current_time = time();[/b]

	if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost') 
	{

Code: Select all

This is around line 566:

//
// Handle user notification on new post
//
function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topic_id, &$post_id, &$notify_user)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	$current_time = time();

	if ($mode != 'delete')
	{
		if ($mode == 'reply')

uli_nyc
Registered User
Posts: 7
Joined: Sat Jun 24, 2006 7:30 pm

Full code for functions_posts.php ??

Post by uli_nyc » Sat Oct 28, 2006 2:36 am

Come to think of it: For those of you who have this mod successfully running: Could you post the entire code for /includes/functions_posts.php ? That would speed up things.

thanks
uli

Joe Belmaati
Registered User
Posts: 2110
Joined: Sun Sep 28, 2003 7:35 pm
Location: Denmark

Post by Joe Belmaati » Sat Oct 28, 2006 3:13 pm

Khurram,
set it to "No"
Image

User avatar
Khurram
Registered User
Posts: 60
Joined: Sat Dec 11, 2004 2:09 pm
Contact:

Post by Khurram » Sun Oct 29, 2006 2:37 am

Thanks Joe. Yeah i had it to "no" earlier but then one day someday I got extra excited and turned it to yes and then got all confused :oops:

Just roasted 50+ posts today with it. This really is one of the best and most needed mods. Thanks again for sharing it with the community.

Oh, and everything seems to work perfect except that i dont see the username in the ban user's list. they seem to have been banned as they cant post after 1 post and all posts get flagged and logged, but their names dont appear in the ban user list. is that normal ? if not, no big deal. hey it works and does the job.

Six Sigma Teacher
Registered User
Posts: 22
Joined: Thu May 26, 2005 6:48 pm
Contact:

Re: Simple clear installation instructions

Post by Six Sigma Teacher » Mon Oct 30, 2006 9:10 pm

drywash wrote: Dear Joe,

I realize that spamwords cannot be installed with Easymod. Am I wrong about this? Can it be installed with Easymod? It didn't seem to work when I tried it.

Could you please send me a URL or simple step by step instruction for installing spamwords? I could not seem to find it in the package anywhere.

Thanks,

David


David,

I had no other MODs installed, and EasyMOD installed the default package as downloaded on page 1 perfectly the first time.

Joe, this is simply superb! I have gone from having an ongoing annoying job of purging more spam then I get in real postings to only one spam getting through, and that's because all the words were gibberish (which seem an unlikely way to get someone to click on a link).

I can't thank you enough for this - it is exactly what I needed.

Joe Belmaati
Registered User
Posts: 2110
Joined: Sun Sep 28, 2003 7:35 pm
Location: Denmark

Post by Joe Belmaati » Tue Oct 31, 2006 4:20 am

Hello Khurran and Six Sigma Teacher,
I am so happy that the MOD is working out for you :D
Image

SpaceDoG
Registered User
Posts: 61
Joined: Thu Jul 28, 2005 5:48 pm

Post by SpaceDoG » Wed Nov 01, 2006 3:25 am

On the index page if a spam is posted the "go to new post link" takes you to a non existent post since the post was flagged. Has this already been reported and is there a fix to make the new post link not update if the new post is spam?

114211
Registered User
Posts: 35
Joined: Thu Oct 19, 2006 12:56 am

Re: Same header error in functions_post.php

Post by 114211 » Wed Nov 01, 2006 1:26 pm

uli_nyc wrote: I see exactly the same issue as Rejj. Modified line 203 looks exactly as Rejj indicated,

Code: Select all

function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, &$post_flagged)
When I searched in /includes/functions_post.php for $current_time = time(); it appeared around line 207 as well as on 566. Do I need to replace both or just one?

Code: Select all

This is around line 207:

//
// Post a new topic/reply/poll or edit existing post/poll
//
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, &$post_flagged)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

	[b]$current_time = time();[/b]

	if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost') 
	{

Code: Select all

This is around line 566:

//
// Handle user notification on new post
//
function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topic_id, &$post_id, &$notify_user)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	$current_time = time();

	if ($mode != 'delete')
	{
		if ($mode == 'reply')


i get this error message:
missing argument 21 for submit_post(), called in posting.php on line 579 and defined in functions_post.php on line 216



this is around line 579:

Code: Select all

if ( $error_msg == '' )
			{
				$topic_type = ( $topic_type != $post_data['topic_type'] && !$is_auth['auth_sticky'] && !$is_auth['auth_announce'] ) ? $post_data['topic_type'] : $topic_type;

				submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length);
			}
			break;

		case 'delete':
		case 'poll_delete':
			delete_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id);
			break;
	}
this is around line 216:

Code: Select all

//
// Post a new topic/reply/poll or edit existing post/poll
//
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, &$post_flagged)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

	$current_time = time();
	$post_flagged = (empty($post_flagged)) ? 0 : 1;

Post Reply

Return to “[2.0.x] MOD Database Releases”