Seite 1 von 1
Hack - Disallow editing/deleting administrator posts
Verfasst: 16.08.2004 16:50
von Angela Goldig
ich hab vor einiger zeit den hack eingebaut der auch ohne probleme läuft. (phpbb 2.03)
nun würde ich gerne dem supermod (LESS_ADMIN) das recht geben admin posts zu editieren.
ich hab das jetzt geändert in
Code: Alles auswählen
if( ( $userdata['user_level'] != ADMIN || $userdata['user_level'] != LESS_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']);
}
}
in der posting.php.
aber das funktioniert nicht. muß ich da noch was ändern?
Verfasst: 16.08.2004 16:57
von Angela Goldig
ich setz mal den kompletten hack hier rein. erleichtert vielleicht einiges
Code: Alles auswählen
###############################################
## Hack Title: Disallow editing/deleting administrator posts
## Hack Version: 0.0.1
## Author: Freakin' Booty ;-P
## Description: Moderators cannot edit/delete posts by administrators.
## Compatibility: 2.0.3 - 2.0.4
##
## Installation Level: Easy
## Installation Time: 5
## Files To Edit: 3
## modcp.php
## posting.php
## language/lang_english/lang_main.php
##
## Included Files: 0
## None
##
## History:
## 0.0.1: Initial release
##
## Author Notes:
## None
##
## Support: http://www.phpbbhacks.com/forums
## Copyright: ©2003 Disallow editing/deleting admin posts 0.0.1 - Freakin' Booty ;-P
##
###############################################
## 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 ]--------------------------------------------
#
# Version: 2.0.3
#
switch( $mode )
{
case 'delete':
#
#-----[ FIND ]--------------------------------------------
#
# Version: 2.0.4
#
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 you 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 ]--------------------------
#
# End
Verfasst: 16.08.2004 16:58
von Leuchte
Kannst du mal die posting.php als .txt abspeichern und den Link posten.
Gibt es dasUser Level 'LESS_ADMIN' durch den Mod?
btw: Sehen deine Dateien auch so aus (viele Zeilenumbrüche)?
Verfasst: 16.08.2004 17:04
von Angela Goldig
ich hab rechte für den LESS_ADMIN in sehr vielen dateien ohne problem zugefügt
posting.php als textdatei
Verfasst: 16.08.2004 17:48
von Leuchte
btw: Sehen deine Dateien auch so aus (viele Zeilenumbrüche)?

Ja, sehen sie! Du solltest beim Upload der Dateien auf den richtigen
Modus achten. Bevor ich deine Datei editiert hab, gab es
26776! Zeilen. Jetzt sind es 1265....
Speicher diese mal ab
posting.php
Verfasst: 16.08.2004 17:51
von Angela Goldig
danke
