http://phpbb-tw.net/phpbb/viewtopic.php?t=13867
代碼: 選擇全部
##############################################################
## Mod Title: 後台關閉註冊 2.0.0
##
## Author: 御津闇慈 = 炎之虛空 (zxery3@hotmail.com)
##
## Description:
## 管理員可以從控制台關閉註冊
## 不需要把檔案下載回來再修改
## 2.0.0:增?#91;註冊天數功能,可以在後台?#93;定?#125;放註冊天數\r
## 到了指定天數將會自動關閉註冊
## 0.02升級:後台可以寫上關閉註冊的原?#93;
##
## Files To Edit:
## profile.php
## admin/admin_board.php
## /templates/subSilver/admin/board_config_body.tpl
## lang_admin.php
## ADD SQL
##############################################################
##############################################################
#
#
#-----[ ACTION: ?#125;啟檔案 ]------------------------------------------
#
profile.php
#
#-----[ ACTION: 尋找 ]------------------------------------------
#
else if ( $mode == 'editprofile' || $mode == 'register' )
{
if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
{
redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
}
include($phpbb_root_path . 'includes/usercp_register.'.$phpEx);
exit;
}
#
#-----[ ACTION: 替換為 ]------------------------------------------
#
else if ( $mode == 'editprofile' )
{
if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
{
redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
}
include($phpbb_root_path . 'includes/usercp_register.'.$phpEx);
exit;
}
else if ( $mode == 'register' )
{
if( !$board_config['register_enable'] && $userdata['user_level'] != ADMIN )
{
message_die(GENERAL_MESSAGE, $board_config['register_content'] , 'Information');
}
include($phpbb_root_path . 'includes/usercp_register.'.$phpEx);
exit;
}
#
#-----[ OR ]------------------------------------------
#
#-----[ ACTION: 尋找 ]------------------------------------------
#
if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
{
redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
}
#
#-----[ ADD: ?#91;入 ]------------------------------------------
#
if( $mode == 'register' && !$board_config['register_enable'] && $userdata['user_level'] != ADMIN )
{
message_die(GENERAL_MESSAGE, $board_config['register_content'] , 'Information');
}
#
#-----[ save: 存檔 ]------------------------------------------
#
#
#-----[ ACTION: ?#125;啟檔案 ]------------------------------------------
#
admin/admin_board.php
#
#-----[ ACTION: 尋找 ]------------------------------------------
#
$sql = "UPDATE " . CONFIG_TABLE . " SET
config_value = '" . str_replace("\'", "''", $new[$config_name]) . "'
WHERE config_name = '$config_name'";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql);
}
#
#-----[ ADD: ?#91;入 ]------------------------------------------
#
if($new['register_day'] != 0)
{
$sql0 = "UPDATE " . CONFIG_TABLE . " SET
config_value = '1'
WHERE config_name = 'register_enable'";
if( !$db->sql_query($sql0) )
{
message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql0);
}
}
#
#-----[ ACTION: 尋找 ]------------------------------------------
#
if( isset($HTTP_POST_VARS['submit']) )
{
$message = $lang['Config_updated'] . "<br /><br />" . sprintf($lang['Click_return_config'], "<a href=\"" . append_sid("admin_board.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
}
#
#-----[ ADD: ?#91;入 ]------------------------------------------
#
if(((int)$new['register_time']+(60*60*24*(int)$new['register_day']))<time() && $new['register_day'] != 0)
{
$sql = "UPDATE " . CONFIG_TABLE . " SET
config_value = '0'
WHERE config_name = 'register_enable'";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql);
}
$sql2 = "UPDATE " . CONFIG_TABLE . " SET
config_value = '0'
WHERE config_name = 'register_day'";
if( !$db->sql_query($sql2) )
{
message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql2);
}
$sql3 = "UPDATE " . CONFIG_TABLE . " SET
config_value = '" . str_replace("\'", "''", $lang['Register_Time_Out']) . "'
WHERE config_name = 'register_content'";
if( !$db->sql_query($sql3) )
{
message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql2);
}
}
#
#-----[ ACTION: 尋找 ]------------------------------------------
#
$smtp_yes = ( $new['smtp_delivery'] ) ? "checked=\"checked\"" : "";
$smtp_no = ( !$new['smtp_delivery'] ) ? "checked=\"checked\"" : "";
#
#-----[ ADD: ?#91;入 ]------------------------------------------
#
// Register_MOD
$register_enable_yes = ( $new['register_enable'] ) ? "checked=\"checked\"" : "";
$register_enable_no = ( !$new['register_enable'] ) ? "checked=\"checked\"" : "";
$register_time = time();
for ($i=0;$i<=30;$i+=1)
{
if ($new['register_day'] == $i )
{
$checked = 'selected';
} else {
$checked = '';
}
$register_day .= '<option ' . $checked . ' value="'.$i.'">'.$i.'</option>';
}
#
#-----[ ACTION: 尋找 ]------------------------------------------
#
"L_SUBMIT" => $lang['Submit'],
"L_RESET" => $lang['Reset'],
#
#-----[ ADD: ?#91;入 ]------------------------------------------
#
"L_REGISTER_DAYS" => $lang['Register_Days'], // Register_MOD
"L_REGISTER_SETTING" => $lang['Register_Setting'], // Register_MOD
"L_REGISTER_STATUS" => $lang['Register_Status'], // Register_MOD
"L_REGISTER_CONTENT" => $lang['Register_Content'], // Register_MOD
"L_REGISTER_WARNING" => $lang['Register_Warning'], // Register_MOD
"S_REGISTER_YES" => $register_enable_yes, // Register_MOD
"S_REGISTER_NO" => $register_enable_no, // Register_MOD
"REGISTER_CONTENT" => $new['register_content'], // register_MOD
"REGISTER_TIMES" => $register_time,
"REGISTER_DAY" => $register_day,
#
#-----[ save: 存檔 ]------------------------------------------
#
#
#-----[ ACTION: ?#125;啟檔案 ]------------------------------------------
#
/templates/subSilver/admin/board_config_body.tpl
#
#-----[ ACTION: 尋找 ]------------------------------------------
#
<tr>
<td class="row1">{L_ENABLE_PRUNE}</td>
<td class="row2"><input type="radio" name="prune_enable" value="1" {PRUNE_YES} /> {L_YES}&&<input type="radio" name="prune_enable" value="0" {PRUNE_NO} /> {L_NO}</td>
</tr>
#
#-----[ ADD: ?#91;入 ]------------------------------------------
#
<tr><!-- REGISTER_MOD -->
<th class="thHead" colspan="2">{L_REGISTER_SETTING}</th>
</tr>
<tr>
<td class="row1">{L_REGISTER_STATUS}</td>
<td class="row2">
<input type="radio" name="register_enable" value="1" {S_REGISTER_YES}> {L_ENABLED}
<input type="radio" name="register_enable" value="0" {S_REGISTER_NO}>
{L_DISABLED}
</td>
</tr>
<tr>
<td class="row1">{L_REGISTER_DAYS}</td>
<td class="row2">
<select size="1" name="register_day">{REGISTER_DAY}</select>
<input type="hidden" name="register_time" value="{REGISTER_TIMES}">
</td>
</tr>
<tr>
<td class="row1" valign="top">{L_REGISTER_CONTENT}<br /><span class="gensmall">{L_REGISTER_WARNING}</span></td>
<td class="row2"><textarea name="register_content" rows="5" cols="30" maxlength="255">{REGISTER_CONTENT}</textarea></td>
</tr>
#
#-----[ ACTION: ?#125;啟檔案 ]------------------------------------------
#
lang_admin.php
#
#-----[ ADD: ?#91;入 ]------------------------------------------
#
//
$lang['Register_Setting'] = '會員註冊功能';
$lang['Register_Status'] = '註冊狀態';
$lang['Register_Content'] = '註冊關閉原?#93;';
$lang['Register_Warning'] = "請勿使用單引號 ('), 字數限制 255 字元";
$lang['Register_Days'] = '?#125;放天數<br>請注意!一旦啟用這選項將會強制?#125;放註冊功能';
$lang['Register_Time_Out'] = '非常抱歉!?#125;放註冊時間已到!請等候下次?#125;放時間';
#
#-----[ save: 存檔 ]------------------------------------------
#
#
#-----[SOL語法]-----------------------------------------------
#
INSERT INTO phpbb_config (config_name , config_value) VALUES ('register_enable', '1');
INSERT INTO phpbb_config (config_name , config_value) VALUES ('register_content', '');
INSERT INTO phpbb_config (config_name , config_value) VALUES ('register_day', '0');
INSERT INTO phpbb_config (config_name , config_value) VALUES ('register_time', '');
#
#-----[ OK!!: 完成!! ]------------------------------------------
#