[MOD] The Humanizer

Kod: Tümünü seç
##############################################################
## MOD Title: The humanizer
## MOD Author: Underhill < webmaster@underhill.de > (N/A) http://www.underhill.de/
## MOD Description: Changes the register form to prevent spam bots by a simple way
## MOD Version: 1.1.0
##
## Installation Level: easy
## Installation Time: 5 minutes
## Files To Edit:
## includes/usercp_register.php
## templates/subSilver/profile_add_body.tpl
## language/lang_english/lang_main.php
## Included Files: N/A
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################
## Author Notes:
##
## This modification was built for use with the phpBB template "subSilver"
##
## Tip: How to change the radio buttons to a drop down box
## Tips-Download: http://www.underhill.de/downloads/phpbb2mods/thehumanizertips.txt
##
## Update: How to update from an old Humanizer version (1.0.x)
## Update-Download: http://www.underhill.de/downloads/phpbb2mods/thehumanizerupdate.txt
##
## Screenshot: http://www.underhill.de/downloads/phpbb2mods/thehumanizer.png
## Download: http://www.underhill.de/downloads/phpbb2mods/thehumanizer.txt
##############################################################
## MOD History:
##
## 2006-08-26 - Version 1.1.0
## - Added dynamic attribute to confuse spam bots
## - Changed access value to prevent spam bot guessing
##
## 2006-07-17 - Version 1.0.5
## - Added notes for a frequent install problem
## - Added forgotten history entry for version 1.0.4
## - Fixed more little spelling errors
##
## 2006-06-11 - Version 1.0.4
## - Successfully tested with phpBB 2.0.21
## - Fixed little spelling errors
##
## 2006-04-29 - Version 1.0.3
## - MOD Syntax changes for the phpBB MOD Database
##
## 2006-04-19 - Version 1.0.2
## - Fixed bug with mode=editprofile (Markus Wandel and fanrpg)
## - Fixed some little problems with spelling and usability
##
## 2006-04-18 - Version 1.0.1
## - MOD Syntax changes for the phpBB.de MOD Database
##
## 2006-04-17 - Version 1.0.0
## - Final-Version
## - Successfully tested with EasyMOD beta (0.3.0)
##
## 2006-04-14 - Version 0.0.1
## - BETA-Version
## - Built and successfully tested with phpBB 2.0.20
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------------------------------
#
# NOTE - This is a partial match, the whole line on a fresh phpBB installation looks like this:
#
# validate_optional_fields($icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature);
#
validate_optional_fields(
#
#-----[ AFTER, ADD ]------------------------------------------------------------
#
# NOTE - Not "INLINE AFTER ADD"!
#
// The humanizer MOD
$humanizer_attribute = md5(($board_config['board_startdate'] + $board_config['board_timezone']) * $board_config['avatar_filesize']);
$ruhuman = ( isset($HTTP_POST_VARS[$humanizer_attribute]) ) ? ( ($HTTP_POST_VARS[$humanizer_attribute] == $humanizer_attribute) ? TRUE : 0 ) : 0;
#
#-----[ FIND ]------------------------------------------------------------------
#
if ($board_config['enable_confirm'] && $mode == 'register')
#
#-----[ BEFORE, ADD ]-----------------------------------------------------------
#
// The humanizer MOD
if (!$ruhuman && $mode == 'register')
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Are_u_human_wrong'];
}
#
#-----[ FIND ]------------------------------------------------------------------
#
if ( ($mode == 'register') || ($board_config['allow_namechange']) )
#
#-----[ BEFORE, ADD ]-----------------------------------------------------------
#
// The humanizer MOD
if ( $mode == 'register' )
{
$template->assign_block_vars('switch_register', array());
}
#
#-----[ FIND ]------------------------------------------------------------------
#
'SIGNATURE' => str_replace('<br />', "\n", $signature),
#
#-----[ AFTER, ADD ]------------------------------------------------------------
#
// The humanizer MOD
'ARE_U_HUMAN_YES' => ( $ruhuman ) ? 'checked="checked"' : '',
'ARE_U_HUMAN_NO' => ( !$ruhuman ) ? 'checked="checked"' : '',
#
#-----[ FIND ]------------------------------------------------------------------
#
'L_EMAIL_ADDRESS' => $lang['Email_address'],
#
#-----[ AFTER, ADD ]------------------------------------------------------------
#
// The humanizer MOD
'L_ARE_U_HUMAN' => $lang['Are_u_human'],
'L_ARE_U_HUMAN_EXPLAIN' => $lang['Are_u_human_explain'],
#
#-----[ FIND ]------------------------------------------------------------------
#
'S_ALLOW_AVATAR_UPLOAD' => $board_config['allow_avatar_upload'],
#
#-----[ BEFORE, ADD ]-----------------------------------------------------------
#
// The humanizer MOD
'S_HUMANIZER_ATTRIBUTE' => $humanizer_attribute,
#
#-----[ OPEN ]------------------------------------------------------------------
#
templates/subSilver/profile_add_body.tpl
#
#-----[ FIND ]------------------------------------------------------------------
#
<!-- END switch_confirm -->
#
#-----[ AFTER, ADD ]------------------------------------------------------------
#
<!-- The humanizer MOD -->
<!-- BEGIN switch_register -->
<tr>
<td class="row1"><span class="gen">{L_ARE_U_HUMAN} *</span><br /><span class="gensmall">{L_ARE_U_HUMAN_EXPLAIN}</span></td>
<td class="row2">
<input type="radio" name="{S_HUMANIZER_ATTRIBUTE}" value="{S_HUMANIZER_ATTRIBUTE}" {ARE_U_HUMAN_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="{S_HUMANIZER_ATTRIBUTE}" value="0" {ARE_U_HUMAN_NO} />
<span class="gen">{L_NO}</span>
</td>
</tr>
<!-- END switch_register -->
#
#-----[ OPEN ]------------------------------------------------------------------
#
language/lang_turkish/lang_main.php
#
#-----[ FIND ]------------------------------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]-----------------------------------------------------------
#
// The humanizer MOD
$lang['Are_u_human'] = 'Are you human?';
$lang['Are_u_human_explain'] = 'Sorry, but this stupid question shall keep away the bots from this forum.';
$lang['Are_u_human_wrong'] = 'Sorry, but the "humanizer" question must be answered.';
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------------------------
#
# EoM