因為原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