1 頁 (共 1 頁)

[問題] 強制報到plus

發表於 : 2005-01-03 13:38
shatinps
參考連結:御津闇慈前輩發表的強制報到plus ( http://phpbb-tw.net/phpbb/viewtopic.php?t=30217 )
網站程式:2.0.11版

本人安裝了之後, 在後台的[版面管理] --> [權限設定] 設定了某幾區可以 [所有會員] 閱讀, 但當未註冊的會員到那區閱讀文章時,卻出現 :

代碼: 選擇全部

請先完成報到手續,謝謝
點此進入該版面報到
請問有沒有修正方法?

發表於 : 2005-01-03 16:40
~倉木麻衣~
因為原MOD裡有使用user_level是否等於0來做判定
而剛好訪客的user_level 也是等於0

代碼: 選擇全部

#
#----[ OPEN ]----
#
posting.php

#
#----[ FIND ]----
#
if ((($mode == "newtopic" )||($mode == "reply" ))&& $forum_id != $board_config['checkin_coden'] && $userdata['user_level'] == 0 && $userdata['user_checkin'] == 0)

#
#----[IN-LINE, FIND]----
#
$userdata['user_checkin'] == 0

#
#----[IN-LINE, AFTER ADD]----
#
 && $userdata['user_id'] != ANONYMOUS

#
#----[ FIND ]----
#
elseif (($mode == "reply" ) && $forum_id == $board_config['checkin_coden'] && $userdata['user_level'] == 0 && $userdata['user_checkin'] == 0)

#
#----[IN-LINE, FIND]----
#
$userdata['user_checkin'] == 0

#
#----[IN-LINE, AFTER ADD]----
#
 && $userdata['user_id'] != ANONYMOUS

#
#----[ OPEN ]----
#
viewtopic.php

#
#----[ FIND ]----
#
if ($forum_id != $board_config['checkin_coden'] && $userdata['user_level'] == 0 && $userdata['user_checkin'] == 0)

#
#----[IN-LINE, FIND]----
#
$userdata['user_checkin'] == 0

#
#----[IN-LINE, AFTER ADD]----
#
 && $userdata['user_id'] != ANONYMOUS

#
#----[ SAVE/CLOSE ALL FILES ]----
#
#EoM
另外~有一個地方覺得怪怪的
原文中提到functions_post.php有一段要這麼改\r

代碼: 選擇全部

# 
#-----[ FIND ]------------------------------------------ 
# 
      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign 

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign $checkin [color=blue]";[/color]
改完後~這個SQL語法變成

代碼: 選擇全部

      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign $checkin [color=blue]";[/color] 
			WHERE user_id = $user_id[color=orange]";[/color]
且要post文章時會出現底下的錯誤訊息\r
Parse error: parse error, unexpected T_STRING in /drive2/fpgshttpd/sabcat/phpBB2/includes/functions_post.php on line 479
蠻明顯的是字串結束符號的位置不正確所引起\r
個人覺得應該改成底下的樣子才正確~不知是否是御津闇慈前輩的筆誤\r
(其實是很納悶之前有裝的人怎沒有遇到這個問題?!)

代碼: 選擇全部

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign $checkin

發表於 : 2005-01-03 22:40
御津闇慈
~倉木麻衣~ 寫:因為原MOD裡有使用user_level是否等於0來做判定
而剛好訪客的user_level 也是等於0

代碼: 選擇全部

#
#----[ OPEN ]----
#
posting.php

#
#----[ FIND ]----
#
if ((($mode == "newtopic" )||($mode == "reply" ))&& $forum_id != $board_config['checkin_coden'] && $userdata['user_level'] == 0 && $userdata['user_checkin'] == 0)

#
#----[IN-LINE, FIND]----
#
$userdata['user_checkin'] == 0

#
#----[IN-LINE, AFTER ADD]----
#
 && $userdata['user_id'] != ANONYMOUS

#
#----[ FIND ]----
#
elseif (($mode == "reply" ) && $forum_id == $board_config['checkin_coden'] && $userdata['user_level'] == 0 && $userdata['user_checkin'] == 0)

#
#----[IN-LINE, FIND]----
#
$userdata['user_checkin'] == 0

#
#----[IN-LINE, AFTER ADD]----
#
 && $userdata['user_id'] != ANONYMOUS

#
#----[ OPEN ]----
#
viewtopic.php

#
#----[ FIND ]----
#
if ($forum_id != $board_config['checkin_coden'] && $userdata['user_level'] == 0 && $userdata['user_checkin'] == 0)

#
#----[IN-LINE, FIND]----
#
$userdata['user_checkin'] == 0

#
#----[IN-LINE, AFTER ADD]----
#
 && $userdata['user_id'] != ANONYMOUS

#
#----[ SAVE/CLOSE ALL FILES ]----
#
#EoM
另外~有一個地方覺得怪怪的
原文中提到functions_post.php有一段要這麼改\r

代碼: 選擇全部

# 
#-----[ FIND ]------------------------------------------ 
# 
      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign 

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign $checkin [color=blue]";[/color]
改完後~這個SQL語法變成

代碼: 選擇全部

      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign $checkin [color=blue]";[/color] 
			WHERE user_id = $user_id[color=orange]";[/color]
且要post文章時會出現底下的錯誤訊息\r
Parse error: parse error, unexpected T_STRING in /drive2/fpgshttpd/sabcat/phpBB2/includes/functions_post.php on line 479
蠻明顯的是字串結束符號的位置不正確所引起\r
個人覺得應該改成底下的樣子才正確~不知是否是御津闇慈前輩的筆誤\r
(其實是很納悶之前有裝的人怎沒有遇到這個問題?!)

代碼: 選擇全部

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign $checkin
是筆誤\r
因為當初有給其他一些人測試之後結果沒問題才放出來的
等下就修正\r
至於訪客部份
到SQL把訪各的user_checkin改成1即可\r
我可不想讓太多使用者因為增加一堆判斷式而導致一些負擔^^||

發表於 : 2005-10-02 23:29
eduyian
小弟裝完之後,發現的問題是\r
從站長,版主以下的會員.....無論是vip會員或是一般會員。都需要再一次重新報到才能再觀看或發文(但只要重新報到後,就一切ok)
不知道是哪出了問題?!

以下為小弟的相關php檔
http://eduyian.no-ip.com/phpbb2/123.rar

--------------------------------------------------------------------

已解決~~ :mrgreen: