Code: Selecteer alles
##############################################################
## MOD Title: Disallow Moderators to edit/delete posts from admin [2.0.11]
## MOD Author: Rico < info@spamworld.nl > http://www.final-flash.nl/finalphpbb/index.php
##
## MOD Description: This MOD disallowes moderators to edit or to delete a post from an admin
##
## MOD Version: 1.0.0
##
## Installation Level: (Easy)
## Installation Time: 1 Minute
## Files To Edit: (3)
## - modcp.php
## - posting.php
## - language/lang_english/lang_main.php
## (Extra)
## - language/lang_english/lang_main.php
## Included Files: (n/a)
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
modcp.php
#
#-----[ FIND ]------------------------------------------
#
#
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_edit_delete_admin']);
}
}
#
#-----[ OPEN ]------------------------------------------
#
modcp.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_edit_delete_admin']);
}
}
#
#-----[ OPEN ]------------------------------------------
#
/language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
#
//
// That's all, Folks!
#
#-----[ BEFORE, ADD ]------------------------------------------
#
#
$lang['Not_edit_delete_admin'] = 'You are not allowed to edit/delete an administrator's post.';
#
#-----[ OPEN ]------------------------------------------
#
/language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
#
//
// That's all, Folks!
#
#-----[ BEFORE, ADD ]------------------------------------------
#
#
$lang['Not_edit_delete_admin'] = 'Je bent niet in staat als moderator om de berichten van de Admin aan te passen of te deleten.';
//EOM