主要控制端(論壇功能)
禁止訪客(圖一)
禁止訪客(圖二)
代碼: 選擇全部
##############################################################
## 外掛名稱: 訪客限制plus
## 外掛作者: 御津闇慈 < zxery3@hotmail.com >
## 外掛簡介: 訪客限制外掛的強化安裝版,可以從後台控制是否允許訪客\r
## 觀看文章,發表文章,進入版面,觀看會員資料,使用搜尋,觀
## 看線上名單,觀看會員群組 ,觀看會員列表等
## 外掛版本: 1.0.G
##
## 安裝難度: 稍微有點困難(啥!?)
## 安裝時間: 40 分鐘
## 修改檔案: 15
##
##------[觀看文章,發表主題,進入版面]
## includes/constants.php
## posting.php
## viewtopic.php
## viewforum.php
##------[限制論壇功能]
## viewonline.php
## memberlist.php
## groupcp.php
## profile.php
## search.php
##------[主要控制端(限制論壇功能)]
## admin/admin_board.php
## templates/subSilver/admin/board_config_body.tpl
##------[次要控制端(限制訪客使用權限)]
## admin/admin_forums.php
## templates/subSilver/admin/forum_edit_body.tpl
##------[語系檔(誰能幫我改成英文啊@_@)]
## language/lang_chinese_traditional_taiwan/lang_admin.php
## language/lang_chinese_traditional_taiwan/lang_main.php
##
## 加入檔案: 0
## 新增加資料庫數值: 8
##############################################################
## 作者之言:
## 這個外掛是稍微有點難度
## ,所以請自己注意一下。
##
## 注意事項:
## 我分成主要端(控制訪客使用論壇功能)跟次要端(限制訪客權限),
## 讓安裝者可以選擇
##\r
## 功能簡介:
## - ACP: 訪客限制外掛的強化安裝版,可以從後台控制是否允許訪客\r
## 觀看文章,發表文章,進入版面,觀看會員資料,使用搜尋,觀
## 看線上名單,觀看會員群組 ,觀看會員列表等
## - 註冊會員無此限制\r
## - 版主無此限制
## - 管理員無此限制(U_U||假如有限制大概會被劈死)
##############################################################
## Version History
## v1.0.G
## - 版本釋出
##############################################################
## 安裝此外掛之前請先備份好你的論壇。(強烈建議)
##############################################################
#
#-----[ SQL ADD ]------------------------------------------
# //主要控制端SQL
INSERT INTO phpbb_config (config_name , config_value) VALUES ('guest_status_viewprofile', '1');
INSERT INTO phpbb_config (config_name , config_value) VALUES ('guest_status_search', '1');
INSERT INTO phpbb_config (config_name , config_value) VALUES ('guest_status_memberlist', '1');
INSERT INTO phpbb_config (config_name , config_value) VALUES ('guest_status_groupcp', '1');
INSERT INTO phpbb_config (config_name , config_value) VALUES ('guest_status_viewonline', '1');
# //次要控制端SQL
ALTER TABLE `phpbb_forums` ADD `guest_status_post` TINYINT( 4 ) DEFAULT '0' NOT NULL;
ALTER TABLE `phpbb_forums` ADD `guest_status_forums` TINYINT( 4 ) DEFAULT '0' NOT NULL;
ALTER TABLE `phpbb_forums` ADD `guest_status_topics` TINYINT( 4 ) DEFAULT '0' NOT NULL;
############################〔主要要控制端部分〕############################
#
#-----[ OPEN ]------------------------------------------
#//須先修改\r
constants.php
#
#-----[ FIND ]------------------------------------------
#
// Forum state
define('FORUM_UNLOCKED', 0);
define('FORUM_LOCKED', 1);
#
#-----[ AFTER, ADD ]------------------------------------------
#
define('FORUM_POST_UNLOCKED', 0);
define('FORUM_POST_LOCKED', 1);
define('FORUM_TOPICS_UNLOCKED', 0);
define('FORUM_TOPICS_LOCKED', 1);
define('FORUM_FORUMS_UNLOCKED', 0);
define('FORUM_FORUMS_LOCKED', 1);
#
#-----[ OPEN ]------------------------------------------
#
memberlist.php
#
#-----[ FIND ]------------------------------------------
#
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS);
init_userprefs($userdata);
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
if(!$board_config['guest_status_memberlist']&&!$userdata['session_logged_in'])//啟動條件:ghest_status_memberlist值不等於預設+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Memberlist'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
groupcp.php
#
#-----[ FIND ]------------------------------------------
#
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_GROUPCP);
init_userprefs($userdata);
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
if(!$board_config['guest_status_search']&&!$userdata['session_logged_in'])//啟動條件:ghest_status_groupcp值不等於預設+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Groupcp'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
profile.php
#
#-----[ FIND ]------------------------------------------
#
if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
$mode = htmlspecialchars($mode);
if ( $mode == 'viewprofile' )
{
#
#-----[ AFTER, ADD ]------------------------------------------
#
if(!$board_config['guest_status_viewprofile']&&!$userdata['session_logged_in'])//啟動條件:ghest_status_viewprofile值不等於預設+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Viewprofile'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
search.php
#
#-----[ FIND ]------------------------------------------
#
//
// Start session management
//\r
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
#
#-----[ AFTER, ADD ]------------------------------------------
#
if(!$board_config['guest_status_search']&&!$userdata['session_logged_in'])//啟動條件:guest_status_status值等於鎖定狀態+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Search'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
viewonline.php
#
#-----[ FIND ]------------------------------------------
#
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
#
#-----[ AFTER, ADD ]------------------------------------------
#
if(!$board_config['guest_status_viewonline']&&!$userdata['session_logged_in'])//啟動條件:guest_status_viewonline值不等於預設+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Viewonline'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
admin_board.php
#
#-----[ FIND ]------------------------------------------
#
$avatars_local_yes = ( $new['allow_avatar_local'] ) ? "checked=\"checked\"" : "";
$avatars_local_no = ( !$new['allow_avatar_local'] ) ? "checked=\"checked\"" : "";
$avatars_remote_yes = ( $new['allow_avatar_remote'] ) ? "checked=\"checked\"" : "";
$avatars_remote_no = ( !$new['allow_avatar_remote'] ) ? "checked=\"checked\"" : "";
$avatars_upload_yes = ( $new['allow_avatar_upload'] ) ? "checked=\"checked\"" : "";
$avatars_upload_no = ( !$new['allow_avatar_upload'] ) ? "checked=\"checked\"" : "";
#
#-----[ AFTER, ADD ]------------------------------------------
#
$status_viewprofile_yes = ( $new['guest_status_viewprofile'] ) ? "checked=\"checked\"" : "";
$status_viewprofile_no = ( !$new['guest_status_viewprofile'] ) ? "checked=\"checked\"" : "";
$status_search_yes = ( $new['guest_status_search'] ) ? "checked=\"checked\"" : "";
$status_search_no = ( !$new['guest_status_search'] ) ? "checked=\"checked\"" : "";
$status_memberlist_yes = ( $new['guest_status_memberlist'] ) ? "checked=\"checked\"" : "";
$status_memberlist_no = ( !$new['guest_status_memberlist'] ) ? "checked=\"checked\"" : "";
$status_groupcp_yes = ( $new['guest_status_groupcp'] ) ? "checked=\"checked\"" : "";
$status_groupcp_no = ( !$new['guest_status_groupcp'] ) ? "checked=\"checked\"" : "";
$status_viewonline_yes = ( $new['guest_status_viewonline'] ) ? "checked=\"checked\"" : "";
$status_viewonline_no = ( !$new['guest_status_viewonline'] ) ? "checked=\"checked\"" : "";
#
#-----[ FIND ]------------------------------------------
#
"L_MAX_FILESIZE_EXPLAIN" => $lang['Max_filesize_explain'],
"L_MAX_AVATAR_SIZE" => $lang['Max_avatar_size'],
"L_MAX_AVATAR_SIZE_EXPLAIN" => $lang['Max_avatar_size_explain'],
"L_AVATAR_STORAGE_PATH" => $lang['Avatar_storage_path'],
"L_AVATAR_STORAGE_PATH_EXPLAIN" => $lang['Avatar_storage_path_explain'],
"L_AVATAR_GALLERY_PATH" => $lang['Avatar_gallery_path'],
"L_AVATAR_GALLERY_PATH_EXPLAIN" => $lang['Avatar_gallery_path_explain'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
"L_STATUS_LIST" =>$lang['Forum_Guest_List'],
"L_STATUS_VIEWPROFILE" => $lang['Forum_Guest_Viewprofile'],
"L_STATUS_SEARCH" => $lang['Forum_Guest_Search'],
"L_STATUS_MEMBERLIST" => $lang['Forum_Guest_Memberlist'],
"L_STATUS_GROUPCP" => $lang['Forum_Guest_Groupcp'],
"L_STATUS_VIEWONLINE" => $lang['Forum_Guest_Viewonline'],
#
#-----[ FIND ]------------------------------------------
#
"AVATARS_LOCAL_YES" => $avatars_local_yes,
"AVATARS_LOCAL_NO" => $avatars_local_no,
"AVATARS_REMOTE_YES" => $avatars_remote_yes,
"AVATARS_REMOTE_NO" => $avatars_remote_no,
\n "AVATARS_UPLOAD_YES" => $avatars_upload_yes,
"AVATARS_UPLOAD_NO" => $avatars_upload_no,
#
#-----[ AFTER, ADD ]------------------------------------------
#
"STATUS_VIEWPROFILE_YES" => $status_viewprofile_yes,
"STATUS_VIEWPROFILE_NO" => $status_viewprofile_no,
"STATUS_SEARCH_YES" => $status_search_yes,
"STATUS_SEARCH_NO" => $status_search_no,
"STATUS_MEMBERLIST_YES" => $status_memberlist_yes,
"STATUS_MEMBERLIST_NO" => $status_memberlist_no,
"STATUS_GROUPCP_YES" => $status_groupcp_yes,
"STATUS_GROUPCP_NO" => $status_groupcp_no,
"STATUS_VIEWONLINE_YES" => $status_viewonline_yes,
"STATUS_VIEWONLINE_NO" => $status_viewonline_no,
#
#-----[ OPEN ]------------------------------------------
#
board_config_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1">{L_ALLOW_NAME_CHANGE}</td>
<td class="row2"><input type="radio" name="allow_namechange" value="1" {NAMECHANGE_YES} /> {L_YES} <input type="radio" name="allow_namechange" value="0" {NAMECHANGE_NO} /> {L_NO}</td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<tr>
<th class="thHead" colspan="2">{L_STATUS_LIST}</th>
</tr>
<tr>
<td class="row1">{L_STATUS_VIEWPROFILE}</td>
<td class="row2"><input type="radio" name="guest_status_viewprofile" value="1" {STATUS_VIEWPROFILE_YES} /> {L_YES} <input type="radio" name="guest_status_viewprofile" value="0" {STATUS_VIEWPROFILE_NO} /> {L_NO}</td>
</tr>
<tr>
<td class="row1">{L_STATUS_SEARCH}</td>
<td class="row2"><input type="radio" name="guest_status_search" value="1" {STATUS_SEARCH_YES} /> {L_YES} <input type="radio" name="guest_status_search" value="0" {STATUS_SEARCH_NO} /> {L_NO}</td>
</tr>
<tr>
<td class="row1">{L_STATUS_MEMBERLIST}</td>
<td class="row2"><input type="radio" name="guest_status_memberlist" value="1" {STATUS_MEMBERLIST_YES} /> {L_YES} <input type="radio" name="guest_status_memberlist" value="0" {STATUS_MEMBERLIST_NO} /> {L_NO}</td>
</tr>
<tr>
<td class="row1">{L_STATUS_GROUPCP}</td>
<td class="row2"><input type="radio" name="guest_status_groupcp" value="1" {STATUS_GROUPCP_YES} /> {L_YES} <input type="radio" name="guest_status_groupcp" value="0" {STATUS_GROUPCP_NO} /> {L_NO}</td>
</tr>
<tr>
<td class="row1">{L_STATUS_VIEWONLINE}</td>
<td class="row2"><input type="radio" name="guest_status_viewonline" value="1" {STATUS_VIEWONLINE_YES} /> {L_YES} <input type="radio" name="guest_status_viewonline" value="0" {STATUS_VIEWONLINE_NO} /> {L_NO}</td>
</tr>
#
#-----[ OPEN ]------------------------------------------
#
lang_main.php
#
#-----[ FIND ]------------------------------------------
#
//
// That's all Folks!
// -------------------------------------------------
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//主要控制端(論壇功能)
$lang['Forum_Guest_Search'] = '很抱歉!現在禁止訪客使用搜尋功能';
$lang['Forum_Guest_Memberlist'] = '很抱歉!現在禁止訪客觀看會員列表';
$lang['Forum_Guest_Groupcp'] = '很抱歉!現在禁止訪客觀看會員群組';
$lang['Forum_Guest_Viewonline'] = '很抱歉!現在禁止訪客觀看線上名單';
$lang['Forum_Guest_Viewprofile'] = '很抱歉!現在禁止訪客觀看會員個人資料';
#
#-----[ OPEN ]------------------------------------------
#
lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
//
// That's all Folks!
// -------------------------------------------------
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//主要控制端(論壇功能)
$lang['Forum_Guest_List'] = '訪客限制列表';
$lang['Forum_Guest_Viewprofile'] = '允許訪客觀看會員資料?';
$lang['Forum_Guest_Search'] = '允許訪客使用搜尋功能?';
$lang['Forum_Guest_Memberlist'] = '允許訪客觀看會員列表?';
$lang['Forum_Guest_Groupcp'] = '允許訪客觀看論壇群組?';
$lang['Forum_Guest_Viewonline'] = '允許訪客觀看線上名單?';
############################〔主要控制端部分結束〕############################
############################〔次要控制端部分〕############################
#
#-----[ OPEN ]------------------------------------------
#
posting.php
#
#-----[ FIND ]------------------------------------------
#
if ( $post_info['forum_status'] == FORUM_LOCKED && !$is_auth['auth_mod'])
{
message_die(GENERAL_MESSAGE, $lang['Forum_locked']);
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
if (( $post_info['guest_status_post'] == FORUM_POST_LOCKED ) && (!$userdata['session_logged_in']))//啟動條件:guest_status_post值等於鎖定狀態+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Posting'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------
#
//
// This rather complex gaggle of code handles querying for topics but
// also allows for direct linking to a post (and the calculation of which
// page the post is on and the correct display of viewtopic)
//
$join_sql_table = ( empty($post_id) ) ? '' : ", " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 ";
$join_sql = ( empty($post_id) ) ? "t.topic_id = $topic_id" : "p.post_id = $post_id AND t.topic_id = p.topic_id AND p2.topic_id = p.topic_id AND p2.post_id <= $post_id";
$count_sql = ( empty($post_id) ) ? '' : ", COUNT(p2.post_id) AS prev_posts";
$order_sql = ( empty($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC";
#
#-----[ IN-LINE, FIND ]--------------------------------------------
#
, f.forum_status
#
#-----[ IN-LINE AFTER, ADD ]--------------------------------------------
#
, f.guest_status_topics
#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . "
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $join_sql_table . "
WHERE $join_sql
AND f.forum_id = t.forum_id
$order_sql";
if ( !($result = $db->sql_query($sql)) )
#
#-----[ IN-LINE, FIND ]--------------------------------------------
#
, f.forum_status
#
#-----[ IN-LINE AFTER, ADD ]--------------------------------------------
#
, f.guest_status_topics
#
#-----[ FIND ]------------------------------------------
#
//
// Mozilla navigation bar
//
$nav_links['prev'] = array(
'url' => $view_prev_topic_url,
'title' => $lang['View_previous_topic']
);
$nav_links['next'] = array(
'url' => $view_next_topic_url,
'title' => $lang['View_next_topic']
);
$nav_links['up'] = array(
'url' => $view_forum_url,
'title' => $forum_name
);
#
#-----[ AFTER, ADD ]------------------------------------------
#
if (( $forum_topic_data['guest_status_topics'] == FORUM_TOPICS_LOCKED ) && (!$userdata['session_logged_in']))//啟動條件:guest_forum_status值等於鎖定狀態+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Viewtopic'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
viewforum.php
#
#-----[ FIND ]------------------------------------------
#
if ( !$is_auth['auth_read'] || !$is_auth['auth_view'] )
{
if ( !$userdata['session_logged_in'] )
{
$redirect = POST_FORUM_URL . "=$forum_id" . ( ( isset($start) ) ? "&start=$start" : '' );
redirect(append_sid("login.$phpEx?redirect=viewforum.$phpEx&$redirect", true));
}
//
// The user is not authed to read this forum ...
//
$message = ( !$is_auth['auth_view'] ) ? $lang['Forum_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']);
message_die(GENERAL_MESSAGE, $message);
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
if (( $forum_row['guest_status_forums'] == FORUM_FORUMS_LOCKED ) && (!$userdata['session_logged_in']))//啟動條件:guest_status_forums值等於鎖定狀態+等級是訪客\r
{
message_die(GENERAL_MESSAGE, $lang['Forum_Guest_Viewforum'] , $lang['Forum_Guest_Error']);//起動警告
}
#
#-----[ OPEN ]------------------------------------------
#
admin_forums.php
#
#-----[ FIND ]------------------------------------------
#
$forumstatus = $row['forum_status'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
$guest_statuspost = $row['guest_status_post'];
$guest_statustopics = $row['guest_status_topics'];
$guest_statusforums = $row['guest_status_forums'];
#
#-----[ FIND ]------------------------------------------
#
$forumstatus = FORUM_UNLOCKED;
#
#-----[ AFTER, ADD ]------------------------------------------
#
$guest_statuspost = FORUM_POST_UNLOCKED;
$guest_statustopics = FORUM_TOPICS_UNLOCKED;
$guest_statusforums = FORUM_FORUMS_UNLOCKED;
#
#-----[ FIND ]------------------------------------------
#
$forumstatus == ( FORUM_LOCKED ) ? $forumlocked = "selected=\"selected\"" : $forumunlocked = "selected=\"selected\"";
#
#-----[ AFTER, ADD ]------------------------------------------
#
$guest_statuspost == ( FORUM_POST_LOCKED ) ? $guest_postlocked = "selected=\"selected\"" : $guest_postunlocked = "selected=\"selected\"";
$guest_statustopics == ( FORUM_TOPICS_LOCKED ) ? $guest_topicslocked = "selected=\"selected\"" : $guest_topicsunlocked = "selected=\"selected\"";
$guest_statusforums == ( FORUM_FORUMS_LOCKED ) ? $guest_forumslocked = "selected=\"selected\"" : $guest_forumsunlocked = "selected=\"selected\"";
#
#-----[ FIND ]------------------------------------------
#
$lang['Status_unlocked'] = isset($lang['Status_unlocked']) ? $lang['Status_unlocked'] : 'Unlocked';
$lang['Status_locked'] = isset($lang['Status_locked']) ? $lang['Status_locked'] : 'Locked';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Status_post_unlocked'] = isset($lang['Status_post_unlocked']) ? $lang['Status_post_unlocked'] : 'Unlocked';
$lang['Status_post_locked'] = isset($lang['Status_post_locked']) ? $lang['Status_post_locked'] : 'Locked';
$lang['Status_topics_unlocked'] = isset($lang['Status_topics_unlocked']) ? $lang['Status_topics_unlocked'] : 'Unlocked';
$lang['Status_topics_locked'] = isset($lang['Status_topics_locked']) ? $lang['Status_topics_locked'] : 'Locked';
$lang['Status_forums_unlocked'] = isset($lang['Status_forums_unlocked']) ? $lang['Status_forums_unlocked'] : 'Unlocked';
$lang['Status_forums_locked'] = isset($lang['Status_forums_locked']) ? $lang['Status_forums_locked'] : 'Locked';
#
#-----[ FIND ]------------------------------------------
#
$statuslist = "<option value=\"" . FORUM_UNLOCKED . "\" $forumunlocked>" . $lang['Status_unlocked'] . "</option>
";
$statuslist .= "<option value=\"" . FORUM_LOCKED . "\" $forumlocked>" . $lang['Status_locked'] . "</option>
";
#
#-----[ AFTER, ADD ]------------------------------------------
#
$guest_postlist = "<option value=\"" . FORUM_POST_UNLOCKED . "\" $guest_postunlocked>" . $lang['Status_post_unlocked'] . "</option>
";
$guest_postlist .= "<option value=\"" . FORUM_POST_LOCKED . "\" $guest_postlocked>" . $lang['Status_post_locked'] . "</option>
";
$guest_topicslist = "<option value=\"" . FORUM_TOPICS_UNLOCKED . "\" $guest_topicsunlocked>" . $lang['Status_topics_unlocked'] . "</option>
";
$guest_topicslist .= "<option value=\"" . FORUM_TOPICS_LOCKED . "\" $guest_topicslocked>" . $lang['Status_topics_locked'] . "</option>
";
$guest_forumslist = "<option value=\"" . FORUM_FORUMS_UNLOCKED . "\" $guest_forumunlocked>" . $lang['Status_post_unlocked'] . "</option>
";
$guest_forumslist .= "<option value=\"" . FORUM_FORUMS_LOCKED . "\" $guest_forumslocked>" . $lang['Status_forums_locked'] . "</option>
";
#
#-----[ FIND ]------------------------------------------
#
'S_STATUS_LIST' => $statuslist,
#
#-----[ AFTER, ADD ]------------------------------------------
#
'S_GUEST_POST_LIST' => $guest_postlist,
'S_GUEST_TOPICS_LIST' => $guest_topicslist,
'S_GUEST_FORUMS_LIST' => $guest_forumslist,
#
#-----[ FIND ]------------------------------------------
#
'L_FORUM_SETTINGS' => $lang['Forum_settings'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
'L_POST_FORUM_STATUS' => $lang['Guest_post_status'],
'L_TOPICS_FORUM_STATUS' => $lang['Guest_topics_status'],
'L_FORUMS_FORUM_STATUS' => $lang['Guest_forums_status'],
'L_FORUM_NAME' => $lang['Forum_name'],
#
#-----[ FIND ]------------------------------------------
#
// There is no problem having duplicate forum names so we won't check for it.
$sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")
#
#-----[ IN-LINE, FIND ]--------------------------------------------
#
, forum_status
#
#-----[ IN-LINE, AFTER, ADD ]--------------------------------------------
#
, guest_status_post, guest_status_topics, guest_status_forums
#
#-----[ FIND ]------------------------------------------
#
VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";
#
#-----[ IN-LINE, FIND ]--------------------------------------------
#
, " . intval($HTTP_POST_VARS['forumstatus']) . "
#
#-----[ IN-LINE, AFTER, ADD ]--------------------------------------------
#
, " . intval($HTTP_POST_VARS['guest_statuspost']) . ", " . intval($HTTP_POST_VARS['guest_statustopics']) . ", " . intval($HTTP_POST_VARS['guest_statusforums']) . "
#
#-----[ FIND ]------------------------------------------
#
$sql = "UPDATE " . FORUMS_TABLE . "
SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
#
#-----[ IN-LINE, FIND ]------------------------------------------
#
, forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . "
#
#-----[ IN-LINE, AFTER, ADD ]--------------------------------------------
#
, guest_status_post = " . intval($HTTP_POST_VARS['guest_statuspost']) . ", guest_status_topics = " . intval($HTTP_POST_VARS['guest_statustopics']) . ", guest_status_forums = " . intval($HTTP_POST_VARS['guest_statusforums']) . "
#-----[ OPEN ]------------------------------------------
#
forum_edit_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1">{L_FORUM_STATUS}</td>
<td class="row2"><select name="forumstatus">{S_STATUS_LIST}</select></td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<tr>
<td class="row1">{L_POST_FORUM_STATUS}</td>
<td class="row2"><select name="guest_statuspost">{S_GUEST_POST_LIST}</select></td>
</tr>
<tr>
<td class="row1">{L_TOPICS_FORUM_STATUS}</td>
<td class="row2"><select name="guest_statustopics">{S_GUEST_TOPICS_LIST}</select></td>
</tr>
<tr>
<td class="row1">{L_FORUMS_FORUM_STATUS}</td>
<td class="row2"><select name="guest_statusforums">{S_GUEST_FORUMS_LIST}</select></td>
</tr>
#
#-----[ OPEN ]------------------------------------------
#
lang_main.php
#
#-----[ FIND ]------------------------------------------
#
//
// That's all Folks!
// -------------------------------------------------
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//次要控制端(訪客權限)
$lang['Forum_Guest_Error'] = '禁止訪客';
$lang['Forum_Guest_Viewforum'] = '很抱歉!此版面禁止訪客入內';
$lang['Forum_Guest_Posting'] = '很抱歉!此版面禁止訪客發表文章';
$lang['Forum_Guest_Viewtopic'] = '很抱歉!此版面禁止訪客瀏覽文章';
#
#-----[ OPEN ]------------------------------------------
#
lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
//
// That's all Folks!
// -------------------------------------------------
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//次要控制端(訪客權限)
$lang['Guest_post_status'] = '允許訪客發表文章';
$lang['Status_post_locked'] = '禁止';
$lang['Status_post_unlocked'] = '開放';
$lang['Guest_topics_status'] = '允許訪客觀看文章';
$lang['Status_topics_locked'] = '禁止';
$lang['Status_topics_unlocked'] = '開放';
$lang['Guest_forums_status'] = '允許訪客進入版面';
$lang['Status_forums_locked'] = '禁止';
$lang['Status_forums_unlocked'] = '開放';
############################〔次要控制端部分結束〕############################
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM