Handler: Spam-Protection for comments

Compatible with: R4.2
Current version:
Credits: AhA

1. Concerned files:

  • /handlers/show.php
  • /handlers/addcomment.php
  • /lang/wacko.xy.php

2. Documentation

for users available for copy and paste

3. How to / Changes

3.1. Step one

Add the following changes to the file /handlers/page/show.php:


Go to the lines 225/226 and you'll find the following code:

<textarea name="body" rows="6" cols="7" style="width: 100%"></textarea><br />
<input type="submit" value="<?php echo $this->_t('AttachCommentButton'); ?>" accesskey="s" />

Add the following code between the lines 225 and 226 (sorry, it's in german):

Schutz gegen Spam: Schreibe die Zahlen von 1-5 in das Feld  
<input name="nospam" type="text" value="" />  

Instead of 2 lines, you get now the following 4 lines:

<textarea name="body" rows="6" cols="7" style="width: 100%"></textarea><br />
Schutz gegen Spam: Schreibe die Zahlen von 1-5 in das Feld  
<input name="nospam" type="text" value="" />  
<input type="submit" value="<?php echo $this->_t('AttachCommentButton'); ?>" accesskey="s" />

3.2. Step two

Add the following changes to the file /handlers/page/addcomment.php:


1. Go to the lines 16/17, where you'll find the following code:

$body = trim($_POST['body']);
echo "Comment".$num."<p>".$body."<p>".$this->tag;

Add the following code between line 16 and 17:

$nospam = trim($_POST['nospam']);

The whole thing (lines 16, 17, 18):

$body = trim($_POST['body']);
$nospam = trim($_POST['nospam']);
echo "Comment".$num."<p>".$body."<p>".$this->tag;

2. Go to the lines 20-22, where you'll find the following code:

$this->set_message($this->_t('EmptyComment'));
}
else

Add the following code after line 21:

elseif (!strchr($nospam, "12345")) {
// Antispam-number must be entered
$this->set_message($this->_t('AntiSpam')); 
}

The whole new thing (lines 20-27):

 $this->set_message($this->_t('EmptyComment'));
}  
elseif (!strchr($nospam, "12345")) {
// Antispam-number must be entered
$this->set_message($this->_t('AntiSpam')); 
}
else

3.3. Step three

Add the following line to the file /lang/wacko.de.php or your preferred localization-file:

"AntiSpam"    => "Schreibe die erforderlichen Angaben in das Feld.",

3.4. Localization (optional)

put this at the end of your language file


lang/custom.<lang>.php

//hacks
'YourPhrase' => 'your translation here',	

[xy] proposed translations
[de] ...
[fr]
[ru]

4. To Do


Referring pages:

  1. Dev/PatchesHacks
  2. Users/AhA

5. Personal remarks

The hack is in german and "written" by an absolute "layman" (non-professional), but it functions and it is easy to install. Download the zip-file, unzip it and just copy the 3 files in the indicated directories (don't forget to rename the originals!


Download


Good luck

Show Files (1 file)