[分享]後台關閉註冊 2.0.0

網站架設,免費空間申請,架站技術交流區
頭像
炎之虛空
 
文章: 30
註冊時間: 2003-05-10 10:40 pm

[分享]後台關閉註冊 2.0.0

文章炎之虛空 » 2005-12-12 10:26 am

以前開發的外掛之一
只不過那時候早就開發完成了
不過卻被第N次電腦重灌大戰中喪生
所以就忘囉
代碼: 選擇全部
##############################################################
## Mod Title: 後台關閉註冊 2.0.0
##
## Author: 御津闇慈 = 炎之虛空 (zxery3@hotmail.com)
## 
## Description: 
##   管理員可以從控制台關閉註冊
##   不需要把檔案下載回來再修改
##   2.0.0:增加註冊天數功能,可以在後台設定開放註冊天數
##            到了指定天數將會自動關閉註冊
##   0.02升級:後台可以寫上關閉註冊的原因
##
## Files To Edit:
##   profile.php
##   admin/admin_board.php
##   /templates/subSilver/admin/board_config_body.tpl
##   lang_admin.php
## ADD SQL
##############################################################
##############################################################

#
#
#-----[ ACTION: 開啟檔案 ]------------------------------------------
#

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: 加入 ]------------------------------------------
#

if( $mode == 'register' && !$board_config['register_enable'] && $userdata['user_level'] != ADMIN )
         {
               message_die(GENERAL_MESSAGE, $board_config['register_content'] , 'Information');
         }

#
#-----[ save: 存檔 ]------------------------------------------
#


#
#-----[ ACTION: 開啟檔案 ]------------------------------------------
#

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: 加入 ]------------------------------------------
#

         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: 加入 ]------------------------------------------
#

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: 加入 ]------------------------------------------
#

// 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: 加入 ]------------------------------------------
#

   "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: 開啟檔案 ]------------------------------------------
#

/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: 加入 ]------------------------------------------
#

<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>

#
#-----[ ACTION: 開啟檔案 ]------------------------------------------
#

lang_admin.php

#
#-----[ ADD: 加入 ]------------------------------------------
#

//
$lang['Register_Setting'] = '會員註冊功能';
$lang['Register_Status'] = '註冊狀態';
$lang['Register_Content'] = '註冊關閉原因';
$lang['Register_Warning'] = "請勿使用單引號 ('), 字數限制 255 字元";
$lang['Register_Days'] = '開放天數<br>請注意!一旦啟用這選項將會強制開放註冊功能';
$lang['Register_Time_Out'] = '非常抱歉!開放註冊時間已到!請等候下次開放時間';
#
#-----[ 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!!: 完成!! ]------------------------------------------
#




回到 架站討論

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 6 位訪客