Seite 1 von 1

Herausfinden in welchen Foren ein User Moderator ist...

Verfasst: 06.09.2004 19:59
von kratzer54847
hi, einfache Frage:

wie kann ich mir die Foren-IDs der Foren anzeigen,in denen ein User Moderator ist?

Verfasst: 06.09.2004 22:06
von PhilippK
Versuch mal

Code: Alles auswählen

SELECT u.user_id, u.username
FROM phpbb_auth_access aa
INNER JOIN phpbb_user_group ug ON aa.group_id = ug.group_id
INNER JOIN phpbb_users u ON ug.user_id = u.user_id
WHERE aa.auth_mod AND aa.forum_id = x
Gruß, Philipp

Verfasst: 06.09.2004 23:00
von kratzer54847
ok hab es mal versucht...leider ohne Erfolg...

ich wollte per Array die Foren-IDs auslesen und in einer Liste anzeigen...hat leider nicht gefunzt...

Code: Alles auswählen

$sql = "SELECT * 
FROM phpbb_auth_access aa, phpbb_forums f
INNER JOIN phpbb_user_group ug ON aa.group_id = ug.group_id 
INNER JOIN phpbb_users u ON ug.user_id = u.user_id 
WHERE aa.auth_mod AND aa.user_id = $user_id";

$result = mysql_query($sql);

$ForumData = array();

while ($row = $db->sql_fetchrow($result)) 
{ 
$ForumData['forum_id'] = $row['forum_id']; 
}
sowie im Template:

Code: Alles auswählen

<!-- BEGIN forumdata -->
{forumdata.FORUMID}
<!-- END forumdata -->

Verfasst: 06.09.2004 23:05
von PhilippK
Geb doch das Ergebnis erst mal per echo aus - dann sehen wir weiter.

Gruß, Philipp

Verfasst: 06.09.2004 23:09
von kratzer54847
jo da kommt nichts...

Code: Alles auswählen

$sql = "SELECT * 
	FROM phpbb_auth_access aa, phpbb_forums f
	INNER JOIN phpbb_user_group ug ON aa.group_id = ug.group_id 
	INNER JOIN phpbb_users u ON ug.user_id = u.user_id 
	WHERE aa.auth_mod AND aa.user_id = $user_id";
mysql_query($sql);

echo $row['forum_id'];

Verfasst: 06.09.2004 23:30
von Pyramide
Da fehlt ja auch das $db->sql_fetchrow...BTW, wieso mischt du mysql_* und $db->sql_* aufrufe?

Verfasst: 08.09.2004 22:21
von kratzer54847
ok ich hab mal ganz einfach angefangen...

Code: Alles auswählen

	//
	// Check if User is an Admin or a normal Moderator 
	//

	$forumids = array();

	$sql = "SELECT user_level
		FROM phpbb_users
		WHERE user_id = $user_id";
	$result = mysql_query($sql);

	while( $row = $db->sql_fetchrow($result) )
	{
		$userlevel = $row['user_level'];
	}

	$mod_status = '';

	if ( $userlevel == 1 )
	{

		//
		// User is Admin so his MOD Status is true...
		//
		
		$mod_status = "You are ADMIN!";

		$forumids['id'] = "All Forums";

	}
	else if ( $userlevel == 2 )
	{
		//
		// User is a MOD so lets see in which forums this User is a MOD
		//

		$mod_status = "User is Mod...";

		$sql = "SELECT forum_id
			  FROM phpbb_auth_access
			  WHERE group_id = $user_id";
		$result = mysql_query($sql);

		while( $row = $db->sql_fetchrow($result) )
		{
			$forumids['id'] = $row['forum_id'];
		}
	}
	else if ( $userlevel == 0 )
	{
		$mod_status = "YOU aren't a MOD but a User!";	
	}	
soll mir zunächst mal eine Liste aller Foren-IDS ausgeben,in denen ein User Mod ist...es wird aber immer nur die letzte Eintragung eines Users in der Auth Access-Tabelle angezeigt... :cry:

Verfasst: 08.09.2004 22:25
von PhilippK

Code: Alles auswählen

WHERE group_id = $user_id";
Das kann auch nicht klappen. Da musst du schon den Zwischenschritt über die phpbb_user_group machen.

Gruß, Philipp

Verfasst: 08.09.2004 22:32
von kratzer54847
hm?

ich habs jetzt hinbekommen und das geht... :D