[外掛]訪客限制plus

MODs Released by Other phpbb Sites
非官方認證通過之 MOD ,或許有安全性之疑慮,所有問題由原發表者回覆!

版主: 版主管理群

主題已鎖定
御津闇慈
竹貓忠實會員
竹貓忠實會員
文章: 645
註冊時間: 2001-11-17 10:59

[外掛]訪客限制plus

文章 御津闇慈 »

次要控制端(訪客權限)
主要控制端(論壇功能)
禁止訪客(圖一)
禁止訪客(圖二)

代碼: 選擇全部

############################################################## 
## 外掛名稱: 訪客限制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}&nbsp;&nbsp;<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}&nbsp;&nbsp;<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}&nbsp;&nbsp;<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}&nbsp;&nbsp;<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}&nbsp;&nbsp;<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}&nbsp;&nbsp;<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
最後由 御津闇慈 於 2005-01-02 07:26 編輯,總共編輯了 1 次。
御津闇慈
竹貓忠實會員
竹貓忠實會員
文章: 645
註冊時間: 2001-11-17 10:59

文章 御津闇慈 »

以修正版面以限制訪客卻還是能夠發表文章問題
(死肥狼害我時常搞混= =#)
主題已鎖定

回到「非官方認證外掛」