[修改]匿名討論區 加強版

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

版主: 版主管理群

主題已鎖定
atthis
星球公民
星球公民
文章: 216
註冊時間: 2003-07-29 19:16

[修改]匿名討論區 加強版

文章 atthis »

參考連結:匿名討論區
\n
最近發現好像所有版的版主都可以看到匿名版的匿名者是誰

如果網站類型是屬於班版等小型的網站就失去了匿名版的意義了
所以我將它改成只有Admin可以看到匿名者是誰
且可由後台控制Admin是否想看到匿名者的身分
(如果你不想加後台控制只要將匿名討論區中所有的

代碼: 選擇全部

$userdata['user_level'][color=blue]<[/color]ADMIN
改成

代碼: 選擇全部

$userdata['user_level'][color=red]!=[/color]ADMIN
就可以了,不用改下面的)

首先你要先裝過 匿名討論區

再來進行下列修改\r

代碼: 選擇全部

#-----[ SQL ]------------------------------------------ 
# 
INSERT INTO phpbb_config (config_name, config_value) VALUES ('anonymous_value','1'); 
#
# 
#-----[ OPEN ]------------------------------------------ 
# 
admin/admin_board.php 
# 
#-----[ FIND ]------------------------------------------ 
# 
	$disable_board_no = ( !$new['board_disable'] ) ? "checked=\"checked\"" : "";
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	$anonymous_value_on = ( $new['anonymous_value'] ) ? "checked=\"checked\"" : ""; 
	$anonymous_value_off = ( !$new['anonymous_value'] ) ? "checked=\"checked\"" : ""; 
# 
#-----[ FIND ]------------------------------------------ 
# 
	"L_DISABLE_BOARD_EXPLAIN" => $lang['Board_disable_explain'],
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	"L_ANONYMOUS_VALUE" => $lang['Anonymous_value'], 
	"L_ANONYMOUS_VALUE_EXPLAIN" => $lang['Anonymous_value_explain'], 
# 
#-----[ FIND ]------------------------------------------ 
# 
	"S_DISABLE_BOARD_NO" => $disable_board_no, 
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	"S_ANONYMOUS_VALUE_ENABLED" => $anonymous_value_on, 
	"S_ANONYMOUS_VALUE_DISABLED" => $anonymous_value_off, 
# 
#-----[ OPEN ]------------------------------------------ 
# 
language/lang_chinese_traditional_taiwan/lang_admin.php 
# 
#-----[ FIND ]------------------------------------------ 
# 
?>
# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
$lang['Anonymous_value'] = '匿名討論區'; 
$lang['Anonymous_value_explain'] = '您可以在此開啟/關閉管理者是否可檢視匿名者真實身份.'; 
# 
#-----[ OPEN ]------------------------------------------ 
# 
templates/admin/board_config_body.tpl 
# 
#-----[ FIND ]------------------------------------------ 
# 
	<tr> 
	   <td class="row1">{L_DISABLE_BOARD}<br /><span class="gensmall">{L_DISABLE_BOARD_EXPLAIN}</span></td> 
	   <td class="row2"><input type="radio" name="board_disable" value="1" {S_DISABLE_BOARD_YES} /> {L_YES}  <input type="radio" name="board_disable" value="0" {S_DISABLE_BOARD_NO} /> {L_NO}</td> 
	</tr> 
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	<tr> 
	   <td class="row1">{L_ANONYMOUS_VALUE}<br /><span class="gensmall">{L_ANONYMOUS_VALUE_EXPLAIN}</span></td> 
	   <td class="row2"><input type="radio" name="anonymous_value" value="1" {S_ANONYMOUS_VALUE_ENABLED} />{L_ENABLED}   <input type="radio" name="anonymous_value" value="0" {S_ANONYMOUS_VALUE_DISABLED} />{L_DISABLED}</td> 
	</tr> 
然後參考 匿名討論區 將其中所有有

代碼: 選擇全部

&$userdata['user_level']<ADMIN
檔案中的

代碼: 選擇全部

&$userdata['user_level']<ADMIN
刪除\r
然後用\r

代碼: 選擇全部

if ($board_config['anonymous_value'] == '0' || $userdata['user_level']!=ADMIN){
}
將有刪除

代碼: 選擇全部

&$userdata['user_level']<ADMIN
的if 判斷句整個框起來
(描述的不好,如果看不懂再問…)

ex.
原本為\r

代碼: 選擇全部

if ($forum_id=='11'[color=blue]&$userdata['user_level']<ADMIN[/color]){ 
$forum_data[$j]['username'] = ''; 
}
改成

代碼: 選擇全部

[color=red]if ($board_config['anonymous_value'] == '0' || $userdata['user_level']!=ADMIN){[/color]
if ($forum_id=='11'){
$forum_data[$j]['username'] = '';
}
[color=red]}[/color]
少了藍色的部份,多了紅色的部份

就這樣了,改完後在後台控制的 "一般管理" -> "基本組態" -> ""暫時關閉"
的下面看到\r
匿名討論區
您可以在此開啟/關閉管理者是否可檢視匿名者真實身份.

(中文解釋寫的有點繞口…)

另外匿名版的版主只要利用"編輯"及"觀看發文者ip"的功能就可以看到匿名者是誰
也可以利用編輯的功能將匿名的文章改成非匿名
如果你不想要這樣\r
打開 viewtopic.php

代碼: 選擇全部

		if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] ) || $is_auth['auth_mod'] )
		{
			$temp_url = append_sid("posting.$phpEx?mode=editpost&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
			$edit_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>';
			$edit = '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>';
		}
		else
		{
			$edit_img = '';
			$edit = '';
		}
	
		if ( $is_auth['auth_mod'] )
		{
			$temp_url = "modcp.$phpEx?mode=ip&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&" . POST_TOPIC_URL . "=" . $topic_id . "&sid=" . $userdata['session_id'];
			$ip_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_ip'] . '" alt="' . $lang['View_IP'] . '" title="' . $lang['View_IP'] . '" border="0" /></a>';
			$ip = '<a href="' . $temp_url . '">' . $lang['View_IP'] . '</a>';
	
			$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
			$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
			$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
	
			$delpost_img .= ' <a href="add_arc.php?p_id='.$postrow[$i]['post_id'].'"><img src="' . $images['icon_mpost'] . '" alt="標記本篇文章" title="標記本篇文章" border="0" /></a>';
		}
		else
		{
			$ip_img = '';
			$ip = '';
	
			if ( $userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'] )
			{
				$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
				$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
				$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
			}
			else
			{
				$delpost_img = '';
				$delpost = '';
			}
		}
替換成

代碼: 選擇全部

	[color=red]if ($postrow[$i]['post_ano']&$userdata['user_level']!=ADMIN) {
		if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] ))
		{
			$temp_url = append_sid("posting.$phpEx?mode=editpost&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
			$edit_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>';
			$edit = '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>';
		}
		else
		{
			$edit_img = '';
			$edit = '';
		}
	
		if ( $is_auth['auth_mod'] )
		{
			$temp_url = "modcp.$phpEx?mode=ip&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&" . POST_TOPIC_URL . "=" . $topic_id . "&sid=" . $userdata['session_id'];
			$ip_img = '';
			$ip = '';
	
			$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
			$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
			$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
	
			$delpost_img .= ' <a href="add_arc.php?p_id='.$postrow[$i]['post_id'].'"><img src="' . $images['icon_mpost'] . '" alt="標記本篇文章" title="標記本篇文章" border="0" /></a>';
		}
		else
		{
			$ip_img = '';
			$ip = '';
	
			if ( $userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'] )
			{
				$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
				$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
				$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
			}
			else
			{
				$delpost_img = '';
				$delpost = '';
			}
		}
	}else {[/color]
		if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] ) || $is_auth['auth_mod'] )
		{
			$temp_url = append_sid("posting.$phpEx?mode=editpost&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
			$edit_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>';
			$edit = '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>';
		}
		else
		{
			$edit_img = '';
			$edit = '';
		}
	
		if ( $is_auth['auth_mod'] )
		{
			$temp_url = "modcp.$phpEx?mode=ip&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&" . POST_TOPIC_URL . "=" . $topic_id . "&sid=" . $userdata['session_id'];
			$ip_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_ip'] . '" alt="' . $lang['View_IP'] . '" title="' . $lang['View_IP'] . '" border="0" /></a>';
			$ip = '<a href="' . $temp_url . '">' . $lang['View_IP'] . '</a>';
	
			$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
			$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
			$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
	
			$delpost_img .= ' <a href="add_arc.php?p_id='.$postrow[$i]['post_id'].'"><img src="' . $images['icon_mpost'] . '" alt="標記本篇文章" title="標記本篇文章" border="0" /></a>';
		}
		else
		{
			$ip_img = '';
			$ip = '';
	
			if ( $userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'] )
			{
				$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
				$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
				$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
			}
			else
			{
				$delpost_img = '';
				$delpost = '';
			}
		}
	[color=red]}[/color]
*增加了紅色的部分
這樣匿名版的版主觀看匿名文章的時候就不會出現"編輯"及"ip"的按鈕

如果你有裝 [美化]閃光會員名稱 進階版[外掛]改進版閃光會員共7色
打開viewtopic.php

代碼: 選擇全部

   // 
   // Username in glowing 
   // 
   if($postrow[$i]['user_level'] == 1) // Admin 
替換成

代碼: 選擇全部

   //
   // Username in glowing
   //
   [color=red]if($postrow[$i]['post_ano']) //Anonymous_Mod_By_KCTONY
   {
      $glowing_color = '#808080';
   }
   else[/color] if($postrow[$i]['user_level'] == 1) // Admin
*增加了紅色的部分
#808080 是灰色,你可以將它換成你想要的顏色\r
這樣admin及版主發匿名文的時候就不會洩露身份了

最後
如果你有裝 [外掛]精華區1.1.1

打開 add_arc.php

尋找\r

代碼: 選擇全部

$post_time =$chk_my_f['post_time'];
之後加上

代碼: 選擇全部

$post_ano=$chk_my_f['post_ano'];
尋找\r

代碼: 選擇全部

$add_sub_s=$p_post_subject;
$p_text="作 者:".$post_username."
標 題:".$p_post_subject."
時 間:".date("Y-m-d H:i:s D",$post_time) ."
---------------------------------
------------------
".$p_post_text;
之前加上

代碼: 選擇全部

if ($post_ano) {
        $post_username=$lang['Anonymous_user'];
}
ps.我有試過寫成

代碼: 選擇全部

if ($chk_my_f['post_ano']) {
        $post_username=$lang['Anonymous_user'];
}
但是沒有成功,只好作成這樣\r
(我不懂php及mysql,請懂的人把它改得漂亮一點)

這樣加入精華區的匿名文章就不會顯示出作者了
主題已鎖定

回到「非官方認證外掛」