##############################################################
## 外掛名稱: Anti-bot Register Mod (防止機器人註冊)
## 外掛作者: wang5555 < wang55.wang55@msa.hinet.net > (心靈捕手) http://220.134.232.37/
## 外掛描述: 這個外掛, 以新增一個 '輸入文字' 欄位的方法, 來增加機器人註冊論壇的困難度;
##           系統管理員可以由控制台設定, 註冊是否要通關密語, 以及通關密語內容.
##
## 外掛版本: 1.0.2
##
## 安裝難度: Easy
## 安裝時間: < 10 Minutes
## 需要編輯的檔案:
##               admin/admin_board.php
##               includes/usercp_register.php
##               templates/subSilver/admin/board_config_body.tpl
##               templates/subSilver/profile_add_body.tpl
##               language/lang_chinese_traditional_taiwan/lang_admin.php
##               language/lang_chinese_traditional_taiwan/lang_main.php
## 附加檔案: 4
##               root/confirm_register.php
##               root/templates/subSilver/confirm_register.tpl
##               update/100_to_101.txt (安裝說明, 升級檔)
##               update/101_to_102.txt (安裝說明, 升級檔)
##               install.txt (安裝說明, 本檔)
##
## 版權聲明: http://opensource.org/licenses/gpl-license.php GNU General Public License v2 
############################################################## 
## 由於安全上的考量, 請檢查: http://phpbb-tw.net/phpbb/index.php 
## 是否有此外掛的最新版本. 
################################################################ 
## 作者留言:
##
##   1. 此外掛於 phpBB 2.0.22 測試無誤.
##
##   2. 此外掛乃參考 Anti-bot Guest Post Mod 1.1.0 撰寫, 特此銘謝
##   該外掛參考連結: http://www.phpbb.com/phpBB/viewtopic.php?p=2531834#2531834
## 
################################################################
## 外掛歷史:
##
##   2007-03-28 - Version 1.0.2
##  	- 修改 預設通關密語為 welcome
##  	- 修改 confirm_register.tpl 版面位置
##  	- 修改 profile_add_body.tpl 版面位置
##  	- 修改 lang_main.php 
##  	- 新增 update/101_to_102.txt 升級說明檔
##  	- 修改 安裝說明檔
##
##   2007-02-20 - Version 1.0.1
##  	- 新增 由控制台 -> 一般管理 -> 基本組態: 設定是否啟用通關密語, 以及通關密語內容
##  	- 新增 confirm_register.php, confirm_register.tpl 說明通關密語內容
##  	- 新增 update/100_to_101.txt 升級說明檔
##  	- 修改 安裝說明檔, 並且更名為 install.txt
##
##   2006-12-10 - Version 1.0.0
##  	- 首次發表
##
############################################################## 
## 新增外掛前, 請先備份相關檔案.
############################################################## 

# 
#-----[ SQL ]------------------------------------------ 
# 
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_confirm_register', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('confirm_register', 'welcome')

#
#-----[ Upload ]------------------------------------------
#
Copy root/confirm_register.php To phpbb_root/confirm_register.php
Copy root/templates/subSilver/confirm_register.tpl To phpbb_root/templates/subSilver/confirm_register.tpl

# 
#-----[ OPEN ]------------------------------------------------ 
# 
admin/admin_board.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
$confirm_yes = ($new['enable_confirm']) ? 'checked="checked"' : '';
$confirm_no = (!$new['enable_confirm']) ? 'checked="checked"' : '';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
$confirm_register_yes = ($new['enable_confirm_register']) ? 'checked="checked"' : '';
$confirm_register_no = (!$new['enable_confirm_register']) ? 'checked="checked"' : '';

# 
#-----[ FIND ]------------------------------------------------ 
# 
	"CONFIRM_ENABLE" => $confirm_yes,
	"CONFIRM_DISABLE" => $confirm_no,

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	// + Anti-bot Register Mod
	"CONFIRM_REGISTER_ENABLE" => $confirm_register_yes,
	"CONFIRM_REGISTER_DISABLE" => $confirm_register_no,
	"CONFIRM_REGISTER" => $new['confirm_register'],
	"L_ENABLE_CONFIRM_REGISTER" => $lang['enable_confirm_register'],
	"L_ENABLE_CONFIRM_REGISTER_EXPLAIN" => $lang['enable_confirm_register_explain'],
	"L_CONFIRM_REGISTER_TEXT" => $lang['confirm_register_text'],
	// - Anti-bot Register Mod

#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]------------------------------------------
#
	$trim_var_list = array('cur_password' => 'cur_password', 'new_password' => 'new_password', 'password_confirm' => 'password_confirm', 'signature' => 'signature');

#
#-----[ BEFORE, ADD ]------------------------------------------
#
	// Anti-bot Register Mod
	$confirm_register = ( !empty($HTTP_POST_VARS['confirm_register']) ) ? $HTTP_POST_VARS['confirm_register'] : '';

#
#-----[ FIND ]------------------------------------------
#
	else if ( $mode == 'register' )
	{
		if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
		}

#
#-----[ AFTER, ADD ]------------------------------------------
#
		// Anti-bot Register Mod
		if ( $board_config['enable_confirm_register'] && ($confirm_register != $board_config['confirm_register']) ) 
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Confirm_register_error']; 
		}
			
#
#-----[ FIND ]------------------------------------------
#
	$template->assign_vars(array(
		'USERNAME' => isset($username) ? $username : '',
		'CUR_PASSWORD' => isset($cur_password) ? $cur_password : '',
		'NEW_PASSWORD' => isset($new_password) ? $new_password : '',
		'PASSWORD_CONFIRM' => isset($password_confirm) ? $password_confirm : '',

#
#-----[ BEFORE, ADD ]------------------------------------------
#
	// Anti-bot Register Mod
	if( $board_config['enable_confirm_register'] && (!$userdata['session_logged_in'] || $mode == 'register') )
	{
		$template->assign_block_vars('switch_antibot_register', array());
	}

#
#-----[ FIND ]------------------------------------------
#
		'L_PASSWORD_CONFIRM_IF_CHANGED' => ( $mode == 'editprofile' ) ? $lang['password_confirm_if_changed'] : '',

#
#-----[ AFTER, ADD ]------------------------------------------
#
		'L_CONFIRM_REGISTER' => $lang['Confirm_register'],// Anti-bot Register Mod
		'L_CONFIRM_REGISTER_EXPLAIN' => $lang['Confirm_register_explain'],// Anti-bot Register Mod

# 
#-----[ OPEN ]------------------------------------------------ 
# 
templates/subSilver/admin/board_config_body.tpl 

# 
#-----[ FIND ]------------------------------------------------ 
# 
	<tr>
		<td class="row1">{L_VISUAL_CONFIRM}<br /><span class="gensmall">{L_VISUAL_CONFIRM_EXPLAIN}</span></td>
		<td class="row2"><input type="radio" name="enable_confirm" value="1" {CONFIRM_ENABLE} />{L_YES}&nbsp; &nbsp;<input type="radio" name="enable_confirm" value="0" {CONFIRM_DISABLE} />{L_NO}</td>
	</tr>

#    
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	<tr>
		<td class="row1">{L_ENABLE_CONFIRM_REGISTER}?<br /><span class="gensmall">{L_ENABLE_CONFIRM_REGISTER_EXPLAIN}</span></td>
		<td class="row2"><input type="radio" name="enable_confirm_register" value="1" {CONFIRM_REGISTER_ENABLE} />{L_YES}&nbsp; &nbsp;<input type="radio" name="enable_confirm_register" value="0" {CONFIRM_REGISTER_DISABLE} />{L_NO}</td>
	</tr>	<tr>
		<td class="row1">{L_CONFIRM_REGISTER_TEXT}:</td>
		<td class="row2"><input type="text" class="post" name="confirm_register" size="15" maxlength="30" value="{CONFIRM_REGISTER}" /></td>
	</tr>

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/profile_add_body.tpl

#
#-----[ FIND ]------------------------------------------
#
	<!-- Visual Confirmation -->
	<!-- BEGIN switch_confirm -->
	<tr>
		<td class="row1" colspan="2" align="center"><span class="gensmall">{L_CONFIRM_CODE_IMPAIRED}</span><br /><br />{CONFIRM_IMG}<br /><br /></td>
	</tr>
	<tr> 
	  <td class="row1"><span class="gen">{L_CONFIRM_CODE}: * </span><br /><span class="gensmall">{L_CONFIRM_CODE_EXPLAIN}</span></td>
	  <td class="row2"><input type="text" class="post" style="width: 200px" name="confirm_code" size="6" maxlength="6" value="" /></td>
	</tr>
	<!-- END switch_confirm -->

#
#-----[ AFTER, ADD ]------------------------------------------
#
	<!-- BEGIN switch_antibot_register -->
	<tr> 
		<td class="row1"><span class="gen">{L_CONFIRM_REGISTER}: * </span><br /><span class="gensmall">{L_CONFIRM_REGISTER_EXPLAIN}</span></td>
		<td class="row2"><input type="text" class="post" style="width: 200px" name="confirm_register" size="25" maxlength="30" /></td>
	</tr>
	<!-- END switch_antibot_register -->

#
#-----[ OPEN ]------------------------------------------
#
language/lang_chinese_traditional_taiwan/lang_admin.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
// Anti-bot Register Mod
$lang['enable_confirm_register'] = '啟用通關密語'; 
$lang['enable_confirm_register_explain'] = '會員需要輸入正確的通關密語完成註冊動作.';
$lang['confirm_register_text'] = '通關密語內容';

#
#-----[ OPEN ]------------------------------------------
#
language/lang_chinese_traditional_taiwan/lang_main.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
// Anti-bot Register Mod
$lang['Confirm_register'] = '通關密語'; 
$lang['Confirm_register_explain'] = '訪客註冊, 請參考 <a href="confirm_register.php" target="_self">這裡</a> 輸入通關密語.';
$lang['Confirm_register_error'] = '錯誤的通關密語. 請參考 <a href="confirm_register.php" target="_self">這裡</a> 輸入通關密語.'; 

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM