[建議]Protect user account_1.2.8 不能取消強制會員更改密碼

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
belton2
星球普通子民
星球普通子民
文章: 14
註冊時間: 2005-11-21 15:59

[建議]Protect user account_1.2.8 不能取消強制會員更改密碼

文章 belton2 »

問題外掛:Protect user account_1.2.8
參考連結:http://phpbb-tw.net/phpbb/viewtopic.php?t=35416
使用版本:phpBB2.0.17
網站位置:不公開
狀況描述:當會員密碼過期後, 於 Admin 控制台, 就算剔除 "強制使用者在下次登入時變更密碼", 也不能取消強制會員更改密碼, 必需要到 Database 修改. ("強制使用者在下次登入時變更密碼 " 永遠都是剔著的, Admin 也不能改)

只需於源碼上加上條件:

代碼: 選擇全部

&& $this_userdata['user_passwd_change']!="-9999")
便可令被強制更改密碼的會員使用原本的密碼,

這修改好處是:
- 意外地把強制會員更改密碼週期設得太短, 造成擾民的問題 (小第便是...)\r
- 為相熟或可信的會員, 收不到隨機密碼的會員, 或已忘記自己註冊電郵的會員\r
重新活化舊密碼\r

#
#-----[ FIND ]------------------------------------------
#

代碼: 選擇全部

$force_new_passwd_sql = ( $force_new_passwd ) ? ", user_passwd_change='0'" : (($this_userdata['user_passwd_change']) ? "" : ", user_passwd_change='".time()."'");
#
#-----[ REPLACE ]------------------------------------------
#

代碼: 選擇全部

$force_new_passwd_sql = ( $force_new_passwd ) ? ", user_passwd_change='0'" : (($this_userdata['user_passwd_change'] && $this_userdata['user_passwd_change']!="-9999") ? "" : ", user_passwd_change='".time()."'");
最後由 belton2 於 2005-12-12 18:20 編輯,總共編輯了 1 次。
belton2
星球普通子民
星球普通子民
文章: 14
註冊時間: 2005-11-21 15:59

文章 belton2 »

好奇一問:

原來的運行條件中的:

代碼: 選擇全部

$this_userdata['user_passwd_change'] 
作用是否當

代碼: 選擇全部

$this_userdata['user_passwd_change'] 
等於 0 的時候才取消強制會員更改密碼?

依我理解:
當 'user_passwd_change' == 0 的時候, 代表該會員的密碼已經過期, 被強制更改密碼, 此時會員仍能登入一次, 並彈出 Dialog 供該會員更新密碼;
當 'user_passwd_change' == -9999 的時候, 代表會員必須要更改密碼後才能再次登入\r

相信原來的源碼應該不能為後者活化舊的密碼吧~
主題已鎖定

回到「外掛問題討論」