代碼: 選擇全部
###############################################
## 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!
// -------------------------------------------------