Global Moderator

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
marc.beeh
Mitglied
Beiträge: 2
Registriert: 29.04.2004 14:31

Global Moderator

Beitrag von marc.beeh »

Hallo,
wie kann ich einem User in allen Foren Moderatoren-Rechte geben? Wenn ich das ihm einfach für jedes Forum einzeln diese Rechte gebe wird er ja in der Übersicht bei jedem Forum als "Moderator: ..." angezeigt. Das sieht imho für Global-Mods unprofessionell aus. Wie kann ich das verhindern?
musashi
Mitglied
Beiträge: 1585
Registriert: 04.12.2003 12:50
Wohnort: Wien
Kontaktdaten:

Beitrag von musashi »

Erstelle eine Gruppe mit den erforderlichen Rechten und adde den jeweiligen Benutzer in diese.
www.dsaforum.de - DAS DSA Fanforum
Benutzeravatar
marc.beeh
Mitglied
Beiträge: 2
Registriert: 29.04.2004 14:31

Beitrag von marc.beeh »

Danke :)
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

Code: Alles auswählen

##############################################################
## Mod Title: Global Moderator Mod
## Mod Version: 1.0
## Author: Gumeleon <gumeleon@yahoo.com>
## Description: This mod will allow you to give a user moderator status on all forums
##		from the user permissions page without having to actually make them a
##		mod of each forum, just like an admin.
##
##
## Installation Level: Moderate
## Installation Time: 15 Minutes
## Files to Edit: /root/admin/admin_ug_auth.php
##		  /root/includes/auth.php
##		  /root/includes/constants.php
##		  /root/language/lang_english/lang_admin.php
##
################################################################
## Remember to always backup your files before adding any new mods to your forum!
################################################################
##
## Revision History
##
## V1.0 - 1/1/04
## - Initial release, everything seems to be working fine, no bugs have been found.
##
#################################################################
## Author Notes: Please report any bugs to me.
#################################################################
##
##
##
##-----------[ Open ]-------------------------------------------
##
root/includes/constants.php
##
##-----------[ Find ]-------------------------------------------
##
define('MOD', 2);
##
##-----------[ After, Add ]-------------------------------------
##
define('GLOBAL_MOD', 3);
##
##-----------[ Open ]-------------------------------------------
##
root/language/lang_english/lang_admin.php
##
##-----------[ Find ]-------------------------------------------
##
$lang['Auth_User'] = 'User';
##
##-----------[ After, Add ]-------------------------------------
##
$lang['Auth_Global'] = 'Global Moderator';
##
##-----------[ Open ]-------------------------------------------
##
root/admin/admin_ug_auth.php
##
##-----------[ Find ]-------------------------------------------
##
	else
	{
		if ( $mode == 'user' && $HTTP_POST_VARS['userlevel'] == 'user' && $user_level == ADMIN )
##
##-----------[ Before, Add ]------------------------------------
##
## // Add this part if you DO NOT have the Global Announcement Mod installed
##
	else if ( $mode == 'user' && $HTTP_POST_VARS['userlevel'] == 'global_mod' && $user_level != GLOBAL_MOD )
	{
		//
		// Make user a global mod (if already user)
		//
		if ( $userdata['user_id'] != $user_id )
		{
			$sql = "UPDATE " . USERS_TABLE . "
				SET user_level = " . GLOBAL_MOD . "
				WHERE user_id = $user_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
			}

			$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
				WHERE group_id = $group_id
					AND auth_mod = 0";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "Couldn't delete auth access info", "", __LINE__, __FILE__, $sql);
			}

			//
			// Delete any entries in auth_access, they are not required if user is becoming a
			// global mod
			//
			$sql = "UPDATE " . AUTH_ACCESS_TABLE . "
				SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0
				WHERE group_id = $group_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "Couldn't update auth access", "", __LINE__, __FILE__, $sql);
			}
		}

		$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
		message_die(GENERAL_MESSAGE, $message);
	}
##
## // Or add this part if you HAVE the Global Announcement Mod installed
##
	else if ( $mode == 'user' && $HTTP_POST_VARS['userlevel'] == 'global_mod' && $user_level != GLOBAL_MOD )
	{
		//
		// Make user a global mod (if already user)
		//
		if ( $userdata['user_id'] != $user_id )
		{
			$sql = "UPDATE " . USERS_TABLE . "
				SET user_level = " . GLOBAL_MOD . "
				WHERE user_id = $user_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
			}

			$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
				WHERE group_id = $group_id
					AND auth_mod = 0";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "Couldn't delete auth access info", "", __LINE__, __FILE__, $sql);
			}

			//
			// Delete any entries in auth_access, they are not required if user is becoming a
			// global mod
			//
			$sql = "UPDATE " . AUTH_ACCESS_TABLE . "
				SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0, auth_globalannounce = 0
				WHERE group_id = $group_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "Couldn't update auth access", "", __LINE__, __FILE__, $sql);
			}
		}

		$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
		message_die(GENERAL_MESSAGE, $message);
	}
##
##------------[ Find ]--------------------------------------
##
				// Update users level, reset to USER
				//
				$sql = "UPDATE " . USERS_TABLE . "
					SET user_level = " . USER . "
					WHERE user_id = $user_id";
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
				}
			}

			$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
		}
##
##-------------[ After, Add ]--------------------------------
##
## // Add this part if you DO NOT have the Global Announcement Mod installed
##
		else if ( $mode == 'user' && $HTTP_POST_VARS['userlevel'] == 'user' && $user_level == GLOBAL_MOD )
		{
			//
			// Make global mod a user (if already global mod) ... ignore if you're trying
			// to change yourself from a global mod to user!
			//
			if ( $userdata['user_id'] != $user_id )
			{
				$sql = "UPDATE " . AUTH_ACCESS_TABLE . "
					SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0
					WHERE group_id = $group_id";
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not update auth access', '', __LINE__, __FILE__, $sql);
				}

				//
				// Update users level, reset to USER
				//
				$sql = "UPDATE " . USERS_TABLE . "
					SET user_level = " . USER . "
					WHERE user_id = $user_id";
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
				}
			}

			$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
		}
##
## // Or add this part if you HAVE the Global Announcement Mod installed
##
		else if ( $mode == 'user' && $HTTP_POST_VARS['userlevel'] == 'user' && $user_level == GLOBAL_MOD )
		{
			//
			// Make global mod a user (if already global mod) ... ignore if you're trying
			// to change yourself from a global mod to user!
			//
			if ( $userdata['user_id'] != $user_id )
			{
				$sql = "UPDATE " . AUTH_ACCESS_TABLE . "
					SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0, auth_globalannounce = 0
					WHERE group_id = $group_id";
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not update auth access', '', __LINE__, __FILE__, $sql);
				}

				//
				// Update users level, reset to USER
				//
				$sql = "UPDATE " . USERS_TABLE . "
					SET user_level = " . USER . "
					WHERE user_id = $user_id";
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
				}
			}

			$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
		}
##
##--------------[ Find ]-------------------------------------------
##
## // Note: You must do this three times!
##
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
##
##--------------[ Replace With ]-----------------------------------
##
## // Note: You must do this three times!
##
AND u.user_level NOT IN (" . USER . ", " . GLOBAL_MOD . ", " . ADMIN . ")
##
##--------------[ Find ]--------------------------------------------
##
WHERE u.user_level NOT IN (" . USER . ", " . ADMIN . ")
##
##--------------[ Replace With ]------------------------------------
##
WHERE u.user_level NOT IN (" . USER . ", " . GLOBAL_MOD . ", " . ADMIN . ")
##
##--------------[ Find ]--------------------------------------------
##
	$is_admin = ( $mode == 'user' ) ? ( ( $ug_info[0]['user_level'] == ADMIN && $ug_info[0]['user_id'] != ANONYMOUS ) ? 1 : 0 ) : 0;
##
##--------------[ After, Add ]--------------------------------------
##
	$is_global_mod = ( $mode == 'user' ) ? ( ( $ug_info[0]['user_level'] == GLOBAL_MOD && $ug_info[0]['user_id'] != ANONYMOUS ) ? 1 : 0 ) : 0;
	$is_user = ( $mode == 'user' ) ? ( ( $ug_info[0]['user_level'] == USER || $ug_info[0]['user_level'] == MOD && $ug_info[0]['user_id'] != ANONYMOUS ) ? 1 : 0 ) : 0;
##
##--------------[ Find ]--------------------------------------------
##
		s_user_type = ( $is_admin ) ? '<select name="userlevel"><option value="admin" selected="selected">' . $lang['Auth_Admin'] . '</option><option value="user">' . $lang['Auth_User'] . '</option></select>' : '<select name="userlevel"><option value="admin">' . $lang['Auth_Admin'] . '</option><option value="user" selected="selected">' . $lang['Auth_User'] . '</option></select>';
##
##--------------[ Replace With ]------------------------------------
##
		$s_user_type = '<select name="userlevel">';
		$s_user_type .= ($is_admin) ? '<option value="admin" selected=\"selected\">' . $lang['Auth_Admin'] . '</option>' : '<option value="admin">' . $lang['Auth_Admin'] . '</option>';
		$s_user_type .= ($is_global_mod) ? '<option value="global_mod" selected=\"selected\">' . $lang['Auth_Global'] . '</option>' : '<option value="global_mod">' . $lang['Auth_Global'] . '</option>';
		$s_user_type .= ($is_user) ? '<option value="user" selected=\"selected\">' . $lang['Auth_User'] . '</option>' : '<option value="user">' . $lang['Auth_User'] . '</option>';
		$s_user_type .= '</select>';
##
##--------------[ Find ]--------------------------------------------
##
AND u.user_level NOT IN (" . MOD . ", " . ADMIN . ")
##
##--------------[ Replace With ]------------------------------------
##
AND u.user_level NOT IN (" . MOD . ", " . GLOBAL_MOD . ", " . ADMIN . ")
##
##--------------[ Find ]--------------------------------------------
##
				$optionlist_acl = '<select name="private[' . $forum_id . ']">';

				if ( $is_admin || $user_ary['auth_mod'] )
##
##--------------[ Replace With ]------------------------------------
##
				$optionlist_acl = '<select name="private[' . $forum_id . ']">';

				if ( $is_admin || $is_global_mod || $user_ary['auth_mod'] )
##
##--------------[ Find ]--------------------------------------------
##
if ( isset($auth_field_acl[$forum_id][$field_name]) && !($is_admin || $user_ary['auth_mod']) )
##
##--------------[ Replace With ]------------------------------------
##
if ( isset($auth_field_acl[$forum_id][$field_name]) && !($is_admin || $is_global_mod || $user_ary['auth_mod']) )
##
##--------------[ Find ]--------------------------------------------
##
							else
							{
								if ( $is_admin || $user_ary['auth_mod'] )
								{
									$optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option>';
##
##--------------[ Replace With ]-------------------------------------
##
							else
							{
								if ( $is_admin || $is_global_mod || $user_ary['auth_mod'] )
								{
									$optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option>';
##
##--------------[ Open ]---------------------------------------------
##
root/includes/auth.php
##
##--------------[ Find ]---------------------------------------------
##
	$is_admin = ( $userdata['user_level'] == ADMIN && $userdata['session_logged_in'] ) ? TRUE : 0;
##
##--------------[ After, Add ]---------------------------------------
##
	$is_global_mod = ( $userdata['user_level'] == GLOBAL_MOD && $userdata['session_logged_in'] ) ? TRUE : 0;
##
##--------------[ Find ]---------------------------------------------
##
					$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access, $is_admin) : 0;
##
##--------------[ Replace With ]-------------------------------------
##
					$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access, $is_global_mod || $is_admin) : 0;
##
##--------------[ Find ]---------------------------------------------
##
					$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin) : 0;
##
##--------------[ Replace With ]-------------------------------------
##
					$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_global_mod || $is_admin) : 0;
##
##--------------[ Find ]---------------------------------------------
##
## // Don't do this part if you don't want to give global mods access to admin only forums
##
					$auth_user[$key] =  $is_admin;
##
##--------------[ Replace With ]-------------------------------------
##
## // Don't do this part if you don't want to give global mods access to admin only forums
##
					$auth_user[$key] =  $is_global_mod || $is_admin;
##
##--------------[ Find ]---------------------------------------------
##
						$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access[$f_forum_id], $is_admin) : 0;
##
##--------------[ Replace With ]-------------------------------------
##
						$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access[$f_forum_id], $is_global_mod || $is_admin) : 0;
##
##--------------[ Find ]---------------------------------------------
##
						$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access[$f_forum_id], $is_admin) : 0;
##
##--------------[ Replace With ]-------------------------------------
##
						$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access[$f_forum_id], $is_global_mod || $is_admin) : 0;
##
##--------------[ Find ]---------------------------------------------
##
## // Don't do this part if you don't want to give global mods access to admin only forums
##
						$auth_user[$f_forum_id][$key] =  $is_admin;
##
##--------------[ Replace With ]-------------------------------------
##
## // Don't do this part if you don't want to give global mods access to admin only forums
##
						$auth_user[$f_forum_id][$key] =  $is_global_mod || $is_admin;
##
##--------------[ Find ]---------------------------------------------
##
		$auth_user['auth_mod'] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin) : 0;
##
##--------------[ Replace With ]--------------------------------------
##
		$auth_user['auth_mod'] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_global_mod || $is_admin) : 0;
##
##--------------[ Find ]----------------------------------------------
##
			$auth_user[$f_forum_id]['auth_mod'] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access[$f_forum_id], $is_admin) : 0;
##
##--------------[ Replace With ]--------------------------------------
##
			$auth_user[$f_forum_id]['auth_mod'] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access[$f_forum_id], $is_global_mod || $is_admin) : 0;
##
##--------------------------------------------------------------------
##
## // Don't do the rest if you don't want global mods to have access to admin only forums
##
##--------------[ Find ]----------------------------------------------
##
					$result = $result || $is_admin;
##
##--------------[ Replace With ]--------------------------------------
##
					$result = $result || $is_global_mod || $is_admin;
##
##--------------[ Find ]----------------------------------------------
##
		$auth_user = $is_admin;
##
##--------------[ Replace With ]--------------------------------------
##
		$auth_user = $is_global_mod || $is_admin;
##
##--------------------------------------------------------------------
##
## EoM
MfG
Firestarter
Auch ich versuche mein Glück und möchte ein schönes Forum haben, dafür muss ich wohl erstmal leiden. *fg*
Benutzeravatar
rabbit
Ehemaliger Übersetzer
Beiträge: 4199
Registriert: 14.06.2003 22:09
Wohnort: Hildesheim
Kontaktdaten:

Beitrag von rabbit »

geht das auch mit dem junior admin? der bekommt bei mir nämlich nicht user level 9, wie es eigentlich sein sollte. scheint irgendwie nicht zu funzen, und AWSWs portal verlangt, dass der jr.admin level 9 hat, um in der 'webmaster' box als jr.admin angezeigt zu werden.
Offizieller Übersetzer des Categories Hierarchy MOD 2.1.x
Deutscher UserGuide für den Categories Hierarchy MOD v2.1.4
Empfohlener Hoster: All-Inkl.com
anasuza
Mitglied
Beiträge: 2
Registriert: 27.12.2003 13:55

Problem mit dem mode

Beitrag von anasuza »

es geht um dies estelle:
##-----------[ Open ]-------------------------------------------
##
root/includes/constants.php
##
##-----------[ Find ]-------------------------------------------
##
define('MOD', 2);
##
##-----------[ After, Add ]-------------------------------------
##
define('GLOBAL_MOD', 3);
##

ich habe aber schon das stehen ich kann doch schwer zweimal die 3 zuweisen oder, ich bin ne absolute niete in php kann mir bitte jemand helfen.

define('USER', 0);
define('ADMIN', 1);
define('MOD', 2);
define('LESS_ADMIN', 3);

das mit der Gruppe mit den erforderlichen Rechten habe ich auch ned ganz kapiert, sorry
Benutzeravatar
Crack02
Mitglied
Beiträge: 672
Registriert: 17.08.2003 12:54

Beitrag von Crack02 »

ersetze es einfach bei allen stellen durch den wert 4.
Ruhrpottler
Mitglied
Beiträge: 317
Registriert: 16.05.2004 12:08

Beitrag von Ruhrpottler »

Hallo zusammen,

habe grade den "Super-Mod-Mod" eingebaut. Irgendwie stört mich aber, dass der Super-Mod im Index nicht gekennzeichnet ist, d.h. er sieht in der User-Liste so aus wie ein normaler User.
Gibt´s da vielleicht ne Erweiterung zu die das "Problem" behebt?
jojo1
Mitglied
Beiträge: 192
Registriert: 11.12.2004 23:44

Beitrag von jojo1 »

farbmod gibts
Der Tod eines Menschen ist eine Tragödie - Der Tod von vielen nur eine Statistik
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“