Seite 1 von 1

Statt "user_level = admin", nur "user_id = 2&

Verfasst: 19.08.2005 18:22
von ATARI
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 ]--------------------------
#

Verfasst: 19.08.2005 19:34
von SilverDragon
Also ich würde das mal so versuchen:
in der modcp.php:
if( $userdata['user_level'] != ADMIN )
ändern in
if( $userdata['user_id'] != 2 )
in der posting.php
if( $userdata['user_level'] != ADMIN && ($mode == 'editpost' || $mode == 'delete' || $mode == 'poll_delete') )
ändern in:
if( $userdata['user_id] != 2 && ($mode == 'editpost' || $mode == 'delete' || $mode == 'poll_delete') )
eventuell muss die 2 so eingebeben werden: '2'



versuch macht klug.....

Verfasst: 20.08.2005 02:46
von ATARI
merce..



jetzt suche ich noch ein einen kleinen flash-sound, den ich dann einfügen will (wie das geht weiß ich schon, keine sorge) wenn jemand meine posts editieren will, also zusätzlich zum $lang-eintrag!!


so ein fieses "hahaha" a la michael jackson im thriller video.. kann mir da auch noch jemand behilflich sein??


lang eintrag wird dann heißen: "Scher dich zum Teufel", und dazu halt noch so eine derbe teufels-lache in flash! ;)

Verfasst: 20.08.2005 03:05
von SilverDragon
hat das nun geklappt, oder nicht ? würde ich gerne wissen.

Verfasst: 20.08.2005 14:04
von ATARI
ja hat schon geklappt