MODs: Ja
Dein Wissensstand: Fortgeschritten
Link zu Deinem Forum: [url]http://[/url]
PHP Version:
MySQL Version:
Was hast Du gemacht, bevor das Problem aufgetreten ist?
gerätselt
Was hast Du bereits versucht um das Problem zu lösen?
gedacht
Fehlerbeschreibung und Nachricht
Hi Leute,
ich würde gern in mein Forum den "Disallow editing/deleting administrator posts" Mod einbauen.
Dieser Mod macht, dass Moderatoren die Posts von Adminstratoren nicht mehr editieren und / oder löschen können.
Ich hätte aber dass da statt die Posts der Admins (Mehrzahl) nur meine Userid drinnen, die kein anderer editieren darf, also dass weder die Mods noch mein zweiter Admin meine Posts löschen/editieren kann.
Die Mods dürfen aber die Posts des zweiten Admins schon noch löschen/editieren.
Es sind sicher nur ein paar mal das Wort "admin" durch "id2" zu ersetzen, aber ich weiß leider nicht genau.
kann jemand helfen?
Code: Alles auswählen
###############################################
## 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: ©2003-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 ]--------------------------
#
