[ABD] Super Moderators

A place for MOD Authors to post and receive feedback on MODs still in development. No MODs within this forum should be used within a live environment! No new topics are allowed in this forum.
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

IMPORTANT: MOD Development Forum rules

On February 1, 2009 this forum will be set to read only as part of retiring of phpBB2.
Locked
FX
Registered User
Posts: 254
Joined: Thu Aug 01, 2002 9:29 pm
Location: France
Contact:

Post by FX » Sat Oct 26, 2002 6:04 pm

Did you have an add-on ? because this super moderator don't moderate actually is just an less admin.

An admin is autorized to moderate all forum.

Superm oderator will be autorise to moderate all forum in the future.

Sorry for my bad english once again.

User avatar
Rawly
Registered User
Posts: 218
Joined: Sun Mar 10, 2002 7:33 pm
Location: Manchester, UK
Contact:

Post by Rawly » Mon Oct 28, 2002 6:59 pm

At the minute, and for the near(ish) future the super mod will stay as it is. A less Admin, WITHOUT the feature to moderate all the forums.

banana
Registered User
Posts: 48
Joined: Thu Jun 06, 2002 2:50 pm

Post by banana » Tue Oct 29, 2002 7:53 pm

Code: Select all

#-----[ REPLACE WITH ]------------------------------------------ 
# 
case AUTH_ACL: 
$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access[$f_forum_id], $is_admin) : 0; 
$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access[$f_forum_id], $is_less_admin) : 0; 
$auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Users_granted_access']; 
break; 
if i do that:
case AUTH_MOD:
$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin) : 0;
$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_less_admin) : 0;
$auth_user[$key . '_type'] = $lang['Auth_Moderators'];
break;


the super mod can do stuff but the admin no
and this is not only in this..
what to do ?

banana
Registered User
Posts: 48
Joined: Thu Jun 06, 2002 2:50 pm

Post by banana » Tue Oct 29, 2002 8:37 pm

i dont understand What Going on here
i what to do that:
"Description: Allows Super Moderators to do what normal Moderators can do in ALL boards not just the one like Moderators. Overall fixes 2 bugs 1.Super Moderators could not access Private Forums (fixed) 2.Could not edit,delete,split,lock etc... (fixed) "

someone (plzz) can do the auth.php file to me ?
and the admin and the super mod are working
becuse that i install the super mod work with all the staff and the admin can't do Anything.

this is my auth.php file:

Code: Select all

<?php
/***************************************************************************
 *                                 auth.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: auth.php,v 1.37.2.1 2002/05/13 01:30:59 psotfx Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

/*
	$type's accepted (pre-pend with AUTH_):
	VIEW, READ, POST, REPLY, EDIT, DELETE, STICKY, ANNOUNCE, VOTE, POLLCREATE, BAN, GREENCARD, BLUECARD 

	Possible options ($type/forum_id combinations):

	* If you include a type and forum_id then a specific lookup will be done and
	the single result returned

	* If you set type to AUTH_ALL and specify a forum_id an array of all auth types
	will be returned

	* If you provide a forum_id a specific lookup on that forum will be done

	* If you set forum_id to AUTH_LIST_ALL and specify a type an array listing the
	results for all forums will be returned

	* If you set forum_id to AUTH_LIST_ALL and type to AUTH_ALL a multidimensional
	array containing the auth permissions for all types and all forums for that
	user is returned

	All results are returned as associative arrays, even when a single auth type is
	specified.

	If available you can send an array (either one or two dimensional) containing the
	forum auth levels, this will prevent the auth function having to do its own
	lookup
*/
function auth($type, $forum_id, $userdata, $f_access = '')
{
	global $db, $lang;

	switch( $type )
	{
		case AUTH_ALL:
			$a_sql = 'a.auth_view, a.auth_read, a.auth_post, a.auth_reply, a.auth_edit, a.auth_delete, a.auth_sticky, a.auth_announce, a.auth_globalannounce, a.auth_vote, a.auth_pollcreate, a.auth_ban, a.auth_greencard, a.auth_bluecard';
			$auth_fields = array('auth_view', 'auth_read', 'auth_post', 'auth_reply', 'auth_edit', 'auth_delete', 'auth_sticky', 'auth_announce', 'auth_globalannounce',  'auth_vote', 'auth_pollcreate', 'auth_ban', 'auth_greencard', 'auth_bluecard');
			break;

		case AUTH_VIEW:
			$a_sql = 'a.auth_view';
			$auth_fields = array('auth_view');
			break;

		case AUTH_READ:
			$a_sql = 'a.auth_read';
			$auth_fields = array('auth_read');
			break;
		case AUTH_POST:
			$a_sql = 'a.auth_post';
			$auth_fields = array('auth_post');
			break;
		case AUTH_REPLY:
			$a_sql = 'a.auth_reply';
			$auth_fields = array('auth_reply');
			break;
		case AUTH_EDIT:
			$a_sql = 'a.auth_edit';
			$auth_fields = array('auth_edit');
			break;
		case AUTH_DELETE:
			$a_sql = 'a.auth_delete';
			$auth_fields = array('auth_delete');
			break;

		case AUTH_ANNOUNCE:
			$a_sql = 'a.auth_announce';
			$auth_fields = array('auth_announce');
			break;
                 case AUTH_GLOBALANNOUNCE:
$a_sql = 'a.auth_globalannounce';
$auth_fields = array('auth_globalannounce');
break;
		case AUTH_STICKY:
			$a_sql = 'a.auth_sticky';
			$auth_fields = array('auth_sticky');
			break;

		case AUTH_POLLCREATE:
			$a_sql = 'a.auth_pollcreate';
			$auth_fields = array('auth_pollcreate');
			break;
		case AUTH_VOTE:
			$a_sql = 'a.auth_vote';
			$auth_fields = array('auth_vote');
			break;
case AUTH_BAN: 
   $a_sql = 'a.auth_ban'; 
   $auth_fields = array('auth_ban'); 
   break; 
case AUTH_GREENCARD: 
   $a_sql = 'a.auth_greencard'; 
   $auth_fields = array('auth_greencard'); 
   break; 
case AUTH_BLUECARD: 
   $a_sql = 'a.auth_bluecard'; 
   $auth_fields = array('auth_bluecard'); 
   break; 
		case AUTH_ATTACH:
			break;

		default:
			break;
	}
	attach_setup_basic_auth($type, $auth_fields, $a_sql);

	//
	// If f_access has been passed, or auth is needed to return an array of forums
	// then we need to pull the auth information on the given forum (or all forums)
	//
	if ( empty($f_access) )
	{
		$forum_match_sql = ( $forum_id != AUTH_LIST_ALL ) ? "WHERE a.forum_id = $forum_id" : '';

		$sql = "SELECT a.forum_id, $a_sql
			FROM " . FORUMS_TABLE . " a
			$forum_match_sql";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Failed obtaining forum access control lists', '', __LINE__, __FILE__, $sql);
		}

		$sql_fetchrow = ( $forum_id != AUTH_LIST_ALL ) ? 'sql_fetchrow' : 'sql_fetchrowset';

		if ( !($f_access = $db->$sql_fetchrow($result)) )
		{
			message_die(GENERAL_ERROR, 'No forum access control lists exist', '', __LINE__, __FILE__, $sql);
		}

		$db->sql_freeresult($result);
	}

	//
	// If the user isn't logged on then all we need do is check if the forum
	// has the type set to ALL, if yes they are good to go, if not then they
	// are denied access
	//
	$u_access = array();
	if ( $userdata['session_logged_in'] )
	{
		$forum_match_sql = ( $forum_id != AUTH_LIST_ALL ) ? "AND a.forum_id = $forum_id" : '';

		$sql = "SELECT a.forum_id, $a_sql, a.auth_mod
			FROM " . AUTH_ACCESS_TABLE . " a, " . USER_GROUP_TABLE . " ug
			WHERE ug.user_id = ".$userdata['user_id']. "
				AND ug.user_pending = 0
				AND a.group_id = ug.group_id
				$forum_match_sql";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Failed obtaining forum access control lists', '', __LINE__, __FILE__, $sql);
		}

		if ( $row = $db->sql_fetchrow($result) )
		{
			do
			{
				if ( $forum_id != AUTH_LIST_ALL)
				{
					$u_access[] = $row;
				}
				else
				{
					$u_access[$row['forum_id']][] = $row;
				}
			}
			while( $row = $db->sql_fetchrow($result) );
		}
	}

	$is_admin = ( $userdata['user_level'] == ADMIN && $userdata['session_logged_in'] ) ? TRUE : 0;

	$auth_user = array();
	for($i = 0; $i < count($auth_fields); $i++)
	{
		$key = $auth_fields[$i];

		//
		// If the user is logged on and the forum type is either ALL or REG then the user has access
		//
		// If the type if ACL, MOD or ADMIN then we need to see if the user has specific permissions
		// to do whatever it is they want to do ... to do this we pull relevant information for the
		// user (and any groups they belong to)
		//
		// Now we compare the users access level against the forums. We assume here that a moderator
		// and admin automatically have access to an ACL forum, similarly we assume admins meet an
		// auth requirement of MOD
		//
		if ( $forum_id != AUTH_LIST_ALL )
		{
			$value = $f_access[$key];

			switch( $value )
			{
				case AUTH_ALL:
					$auth_user[$key] = TRUE;
					$auth_user[$key . '_type'] = $lang['Auth_Anonymous_users'];
					break;

				case AUTH_REG:
					$auth_user[$key] = ( $userdata['session_logged_in'] ) ? TRUE : 0;
					$auth_user[$key . '_type'] = $lang['Auth_Registered_Users'];
					break;

				case AUTH_ACL:
					$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access, $is_admin) : 0;
					$auth_user[$key . '_type'] = $lang['Auth_Users_granted_access'];
					break;

				case AUTH_MOD:
					$auth_user[$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin) : 0;
					$auth_user[$key . '_type'] = $lang['Auth_Moderators'];
					break;

				case AUTH_ADMIN:
					$auth_user[$key] = $is_admin;
					$auth_user[$key . '_type'] = $lang['Auth_Administrators'];
					break;

				default:
					$auth_user[$key] = 0;
					break;
			}
		}
		else
		{
			for($k = 0; $k < count($f_access); $k++)
			{
				$value = $f_access[$k][$key];
				$f_forum_id = $f_access[$k]['forum_id'];

				switch( $value )
				{
					case AUTH_ALL:
						$auth_user[$f_forum_id][$key] = TRUE;
						$auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Anonymous_users'];
						break;

					case AUTH_REG:
						$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? TRUE : 0;
						$auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Registered_Users'];
						break;

					case AUTH_ACL:
						$auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_ACL, $key, $u_access[$f_forum_id], $is_admin) : 0;
						$auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Users_granted_access'];
						break;

					case AUTH_MOD:
						$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;
						$auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Moderators'];
						break;

					case AUTH_ADMIN:
						$auth_user[$f_forum_id][$key] = $is_admin;
						$auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Administrators'];
						break;

					default:
						$auth_user[$f_forum_id][$key] = 0;
						break;
				}
			}
		}
	}

	//
	// Is user a moderator?
	//
	if ( $forum_id != AUTH_LIST_ALL )
	{
		$auth_user['auth_mod'] = ( $userdata['session_logged_in'] ) ? auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin) : 0;
	}
	else
	{
		for($k = 0; $k < count($f_access); $k++)
		{
			$f_forum_id = $f_access[$k]['forum_id'];

			$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;
		}
	}

	return $auth_user;
}

function auth_check_user($type, $key, $u_access, $is_admin)
{
	$auth_user = 0;

	if ( count($u_access) )
	{
		for($j = 0; $j < count($u_access); $j++)
		{
			$result = 0;
			switch($type)
			{
				case AUTH_ACL:
					$result = $u_access[$j][$key];

				case AUTH_MOD:
					$result = $result || $u_access[$j]['auth_mod'];

				case AUTH_ADMIN:
					$result = $result || $is_admin;
					break;
			}

			$auth_user = $auth_user || $result;
		}
	}
	else
	{
		$auth_user = $is_admin;
	}

	return $auth_user;
}

?>
anybody plz can help me ? thanks ...

gatekeep2
Registered User
Posts: 173
Joined: Sat Feb 16, 2002 5:26 am
Location: /dev/null
Contact:

Post by gatekeep2 » Tue Oct 29, 2002 8:47 pm

Rawly wrote:
Shaolan wrote:Hi, i've problem with this function Super Moderator Rights for MODCP, when i install it admin can't moderate the forum only the moderator and super moderator can do this.
As stated previously in this post.. DO NOT INSTALL THAT ADD-ON, it is full of bugs and I havent had chance to remove it from the .zip yet


banana please read that.
Please, do not conact me for phpBB support.

User avatar
Rawly
Registered User
Posts: 218
Joined: Sun Mar 10, 2002 7:33 pm
Location: Manchester, UK
Contact:

Post by Rawly » Fri Nov 01, 2002 12:31 pm

OK, apparently, I have already removed the file from the ZIP so where are you guys getting it from?

Is it posted in this topic? I con't remember... anyways..
DO NOT INSTALL THE CODE FOR AUTH.PHP IT IS NOT SUPPORTED AND WE CANNOT FIX IT AS OF YET!

DoubleDoom
Registered User
Posts: 844
Joined: Wed Jun 26, 2002 6:48 pm

Post by DoubleDoom » Fri Nov 01, 2002 3:24 pm

Of course, you dont need a mod for giving supermods mod ability. You just create a supermod usergoup and put all the supermods in it. Permissions for the usergroup should be set to is moderator.

User avatar
Rawly
Registered User
Posts: 218
Joined: Sun Mar 10, 2002 7:33 pm
Location: Manchester, UK
Contact:

Post by Rawly » Fri Nov 01, 2002 6:30 pm

DoubleDoom wrote: Of course, you dont need a mod for giving supermods mod ability. You just create a supermod usergoup and put all the supermods in it. Permissions for the usergroup should be set to is moderator.


As previously stated, this is the current recommended way!

[61st].XO.Bishop
Registered User
Posts: 79
Joined: Mon Jul 01, 2002 5:18 pm
Contact:

Post by [61st].XO.Bishop » Sat Nov 02, 2002 10:00 am

when a super moderator tries to add a forum, they get this:

Couldn't insert row in forums table


ideas?
"For a Bishop must be blameless, as the steward of God." - Titus 1:7

User avatar
Rawly
Registered User
Posts: 218
Joined: Sun Mar 10, 2002 7:33 pm
Location: Manchester, UK
Contact:

Post by Rawly » Sat Nov 02, 2002 6:20 pm

if you dont have the red card mod installed. remove all references to the red card mod from the file.

[61st].XO.Bishop
Registered User
Posts: 79
Joined: Mon Jul 01, 2002 5:18 pm
Contact:

Post by [61st].XO.Bishop » Sat Nov 02, 2002 8:34 pm

Rawly wrote: if you dont have the red card mod installed. remove all references to the red card mod from the file.


well, i surely dont' have it -- but i would like to get it (thats the one where you give red yellow & green cards, right?) -- where can i get that?
"For a Bishop must be blameless, as the steward of God." - Titus 1:7

User avatar
Rawly
Registered User
Posts: 218
Joined: Sun Mar 10, 2002 7:33 pm
Location: Manchester, UK
Contact:

Post by Rawly » Sat Nov 02, 2002 8:51 pm

[61st].XO.Bishop wrote:
Rawly wrote:if you dont have the red card mod installed. remove all references to the red card mod from the file.


well, i surely dont' have it -- but i would like to get it (thats the one where you give red yellow & green cards, right?) -- where can i get that?


mods.db.dk

JanieJanie
Registered User
Posts: 29
Joined: Sat Oct 19, 2002 8:41 pm
Location: Manchester, UK
Contact:

Post by JanieJanie » Sun Nov 03, 2002 11:20 am

I've successfully installed this Mod, but I have a few minor queries:

A) I would like to remove Forum Admin/Management from the Super Mod Panel and don't know how.

B) I would like to add User Admin/Ban Control to the Super Mod Panel

C) I have a Post count alteration Hack installed in the Admin Panel and would like to repeat that hack in the super mod panel, but don't know which file to edit.

Thankyou in advance :)

PS will the Super mods have moderating capabilites on all forums in the next release version ?

cmisker
Registered User
Posts: 103
Joined: Thu Jul 18, 2002 7:49 am

Post by cmisker » Sun Nov 03, 2002 11:47 am

JanieJanie wrote: I've successfully installed this Mod, but I have a few minor queries:

A) I would like to remove Forum Admin/Management from the Super Mod Panel and don't know how.

B) I would like to add User Admin/Ban Control to the Super Mod Panel

C) I have a Post count alteration Hack installed in the Admin Panel and would like to repeat that hack in the super mod panel, but don't know which file to edit.

Thankyou in advance :)

PS will the Super mods have moderating capabilites on all forums in the next release version ?
SuperMod panel works really easy. Just copy the .php files that you want your supermods to have access to from the /admin directory to the /super-mod directory.

So, remove the admin_forums.php file from the super-mod directory, and you fixed part A. :)

Copy the admin_user_ban.php file to the super-mod directory, and you'll have fixed part B. :)

And I'm sure you can figure out part C yourself.

About your PS. I think not. SuperModerators are exactly what they are.. Moderators.. you'll have to tell them yourself to be moderators of a specific forum. Easiest thing to do: Make a supermoderators group, and your SuperMods to this group and then have this group to be moderator of all the forums you want your SuperMods to be moderators off.

JanieJanie
Registered User
Posts: 29
Joined: Sat Oct 19, 2002 8:41 pm
Location: Manchester, UK
Contact:

Post by JanieJanie » Sun Nov 03, 2002 2:42 pm

Thanx cmisker ;)

All sorted, was easy really, think I was having a blonde moment .....LOL

Locked

Return to “[2.0.x] MODs in Development”