Hack - Disallow editing/deleting administrator posts

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Angela Goldig
Mitglied
Beiträge: 221
Registriert: 21.04.2003 04:10
Kontaktdaten:

Hack - Disallow editing/deleting administrator posts

Beitrag 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?
~blubb~
Benutzeravatar
Angela Goldig
Mitglied
Beiträge: 221
Registriert: 21.04.2003 04:10
Kontaktdaten:

Beitrag 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
~blubb~
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag 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)?
Benutzeravatar
Angela Goldig
Mitglied
Beiträge: 221
Registriert: 21.04.2003 04:10
Kontaktdaten:

Beitrag von Angela Goldig »

ich hab rechte für den LESS_ADMIN in sehr vielen dateien ohne problem zugefügt

posting.php als textdatei
~blubb~
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

btw: Sehen deine Dateien auch so aus (viele Zeilenumbrüche)?
:o 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
Benutzeravatar
Angela Goldig
Mitglied
Beiträge: 221
Registriert: 21.04.2003 04:10
Kontaktdaten:

Beitrag von Angela Goldig »

danke :)
~blubb~
Antworten

Zurück zu „phpBB 2.0: Mod Support“