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
