後台關閉註冊2.0.0-2.01

主題已鎖定
頭像
cloudsnow30
.※.稜鏡之森の守護使者.※.
.※.稜鏡之森の守護使者.※.
文章: 145
註冊時間: 週六 2006-03-04 03:29
個人狀態: 冬眠喵型態
性別:
來自: 雲上天國
擁有感謝: 2 次
星座:
聯繫:

後台關閉註冊2.0.0-2.01

文章 cloudsnow30 »

代碼: 選擇全部

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

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!!: 完成!! ]------------------------------------------ 
# 
最後由 cloudsnow30 於 週五 2006-03-10 05:28 編輯,總共編輯了 1 次。
Sakura Moon ~ 櫻井璃月 ~
論壇系統管理員-Cloud Snow 晴雪
頭像
cloudsnow30
.※.稜鏡之森の守護使者.※.
.※.稜鏡之森の守護使者.※.
文章: 145
註冊時間: 週六 2006-03-04 03:29
個人狀態: 冬眠喵型態
性別:
來自: 雲上天國
擁有感謝: 2 次
星座:
聯繫:

文章 cloudsnow30 »

代碼: 選擇全部

############################################################## 
## Mod Title: 後台關閉註冊 2.0.1升級檔 
## 
## Author: 御津闇慈 = 炎之虛空 (zxery3@hotmail.com) 
##  
## Description:  
##   管理員可以從控制台關閉註冊 
##   不需要把檔案下載回來再修改 
##   2.0.1:改良後台的關閉註冊語法(以前一個一個關閉,現在改用陣列),節省程式碼空間 
##   2.0.0:增加註冊天數功能,可以在後台設定開放註冊天數 
##            到了指定天數將會自動關閉註冊 
##   0.02升級:後台可以寫上關閉註冊的原因 
## 
## Files To Edit: 
##   admin/admin_board.php 
## ADD SQL 
############################################################## 
############################################################## 

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

admin/admin_board.php 

# 
#-----[ ACTION: 尋找 ]------------------------------------------ 
# 

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: 替換為 ]------------------------------------------ 
# 
if(((int)$new['register_time']+(60*60*24*(int)$new['register_day']))<time() && $new['register_day'] != 0) 
      { 
         $sql = array( 
         "UPDATE " . CONFIG_TABLE . " SET config_value = '0' WHERE config_name = 'register_enable'", 
         "UPDATE " . CONFIG_TABLE . " SET config_value = '0' WHERE config_name = 'register_day'", 
         "UPDATE " . CONFIG_TABLE . " SET config_value = '" . str_replace("\'", "''", $lang['Register_Time_Out']) . "' WHERE config_name = 'register_content'" 
         ); 
          
         for($i=0; $i<count($sql) ;$i++) 
         { 
         if( !$db->sql_query($sql[$i]) ) 
          { 
            message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql[$i]); 
          } 
         } 

      } 


# 
#-----[ OK!!: 完成!! ]------------------------------------------ 
# 
Sakura Moon ~ 櫻井璃月 ~
論壇系統管理員-Cloud Snow 晴雪
主題已鎖定

回到「PHPBB2-外掛列表」