Seite 1 von 1

Global Moderator

Verfasst: 29.04.2004 14:38
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?

Verfasst: 29.04.2004 14:42
von musashi
Erstelle eine Gruppe mit den erforderlichen Rechten und adde den jeweiligen Benutzer in diese.

Verfasst: 29.04.2004 14:50
von marc.beeh
Danke :)

Verfasst: 30.04.2004 15:53
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

Verfasst: 30.04.2004 16:52
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.

Problem mit dem mode

Verfasst: 25.05.2004 13:10
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

Verfasst: 25.05.2004 16:59
von Crack02
ersetze es einfach bei allen stellen durch den wert 4.

Verfasst: 12.12.2004 16:58
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?

Verfasst: 12.12.2004 17:13
von jojo1
farbmod gibts