[外掛]Disallow editing/deleting administrator posts

phpBB 大部分皆是由竹貓星球提供資料!
頭像
懸壺子
系統管理員
系統管理員
主題中的帖子: 1
文章: 33489
註冊時間: 2001-10-05 , 10:10
個人狀態: 道骨學習佛心..^^..
貼心留言: 氣候不穩
性別: 公仔
來自: 黃金故鄉
聯繫:

[外掛]Disallow editing/deleting administrator posts

未閱讀文章 懸壺子 »

功能說明:讓版面管理員可以刪除論壇一般會員的文章,但是不能刪除系統管理員或其它版面管理員的文章。

代碼: 選擇全部

###############################################
##	Hack Title:		Disallow editing/deleting administrator posts
##	Hack Version:	0.0.2
##	Author:			Freakin' Booty ;-P
##	Website:		http://freakingbooty.no-ip.com
##	Description:	Moderators cannot edit nor delete posts by administrators.
##	Compatibility:	2.0.3 - 2.0.11
##
##	Installation Level: Easy
##	Installation Time: 5
##
##	Files To Edit: 3
##		modcp.php
##		posting.php
##		language/lang_english/lang_main.php
##
##	Included Files: 0
##
##	History:
##      0.0.1:	Initial release.
##		0.0.2:	Confirmed to be compatible with 2.0.5 and 2.0.6.
##
##	Author Notes:
##		To upgrade from 0.0.1 to 0.0.2, you have to do... nothing :D. This release is only to confirm
##		compatibility with 2.0.5 and 2.0.6.
##
##	Support:		http://www.phpbbhacks.com/forums
##	Copyright:		?003-04 Freakin' Booty ;-P - Disallow editing/deleting admin posts 0.0.2
##
###############################################
##	You downloaded this hack from phpBBHacks.com, the #1 source for phpBB related downloads.
##	Please visit http://www.phpbbhacks.com/forums for support.
###############################################
##
###############################################
##	This hack is released under the GPL License.
##	This hack can be freely used, but not distributed, without permission.
##	Intellectual Property is retained by the hack author(s) listed above.
###############################################

#
#-----[ OPEN ]--------------------------------------------
#
modcp.php

#
#-----[ FIND ]--------------------------------------------
#
# 2.0.3
#
switch( $mode )
{
	case 'delete':

#
#-----[ FIND ]--------------------------------------------
#
# 2.0.4 - 2.0.11
#
	case 'delete':
		if (!$is_auth['auth_delete'])
		{
			message_die(MESSAGE, sprintf($lang['Sorry_auth_delete'], $is_auth['auth_delete_type']));
		}

#
#-----[ AFTER, ADD ]--------------------------------------
#
		if( $userdata['user_level'] != ADMIN )
		{
			$topics_sql = ( isset($HTTP_POST_VARS['topic_id_list']) ) ? implode(',', $HTTP_POST_VARS['topic_id_list']) : $topic_id;
			$sql = "SELECT t.topic_id
					FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u
					WHERE u.user_id = t.topic_poster
						AND u.user_level = " . ADMIN . "
						AND t.topic_id IN ($topics_sql)";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Could not retrieve topics list', '', __LINE__, __FILE__, $sql);
			}

			if( $db->sql_numrows($result) > 0 )
			{
				message_die(GENERAL_MESSAGE, $lang['Not_auth_edit_delete_admin']);
			}
		}

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

#
#-----[ FIND ]--------------------------------------------
#
		if ( empty($post_id) )
		{
			message_die(GENERAL_MESSAGE, $lang['No_post_id']);
		}

#
#-----[ AFTER, ADD ]--------------------------------------
#
		if( $userdata['user_level'] != ADMIN && ($mode == 'editpost' || $mode == 'delete' || $mode == 'poll_delete') )
		{
			$sql = "SELECT u.user_level
					FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u
					WHERE p.post_id = $post_id
						AND p.poster_id = u.user_id
						AND u.user_level = " . ADMIN;
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Could not retrieve post information', '', __LINE__, __FILE__, $sql);
			}
			if( $row = $db->sql_fetchrow($result) )
			{
				message_die(GENERAL_MESSAGE, $lang['Not_auth_edit_delete_admin']);
			}
		}
#
#-----[ OPEN ]--------------------------------------------
#
# Make sure to edit this file for every language installed
#
language/lang_english/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------

#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Disallow editing/deleting administrator posts
//
$lang['Not_auth_edit_delete_admin'] = 'You cannot edit/delete an administrator's posts, sorry.';

#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#


中文化...

代碼: 選擇全部

language/lang_english/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------

#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Disallow editing/deleting administrator posts
//
$lang['Not_auth_edit_delete_admin'] = '抱歉喔!!您不能『編輯』或『刪除』系統管理員的帖';
//
// That's all Folks!
// -------------------------------------------------
版面鎖定 主題已鎖定

回到「phpBB2」