Users of the Day Mod (Sortierung)

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Jessica
Mitglied
Beiträge: 59
Registriert: 05.01.2004 15:45

Users of the Day Mod (Sortierung)

Beitrag von Jessica »

Hallöle!

Ich habe bei mir den Users of the Day Mod eingebaut:
http://www.phpbbhacks.com/viewhack.php?id=770

Ich habe auch den Junior-Admin Mod installiert. Und nun passiert es, dass der Junior-Admin in der Übersicht, wer in den letzten 24 Stunden im Forum war, vor dem Administrator steht, da die Auflistung der User nach User-Level absteigend vorgenommen wird und der Junior eben Level 9 hat, der Admin Level 1. Wenn ich es aufsteigend sortieren lasse, stehen aber alle normalen User an erster Stelle und erst dann kommen die Admins, das funktioniert also auch nicht.

Kann sich mal jemand bitte folgendes anschauen:

Code: Alles auswählen

$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
	FROM ".USERS_TABLE."
	WHERE user_id > 0
	ORDER BY user_level DESC, username ASC";
Wie bekomme ich es nun hin, dass zuerst der Admin, dann der Junior-Admin und dann erst die normalen User angezeigt werden?

Hier mal der ganze Code:

Code: Alles auswählen

//
// Users of the day MOD
//

// ############ Edit below ############
// #
$display_not_day_userlist = 0;	// change to 1 here if you also want the list of the users who didn't visit to be displayed
$users_list_delay = 24;		// change here to the number of hours wanted for the list
// #
// ############ Edit above ############

$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
	FROM ".USERS_TABLE."
	WHERE user_id > 0
	ORDER BY user_level DESC, username ASC";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}

$day_userlist = '';
$day_users = 0;
$not_day_userlist = '';
$not_day_users = 0;

while( $row = $db->sql_fetchrow($result) )
{
	$style_color = '';
	if ( $row['user_level'] == ADMIN )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#00BBBE"';
	}
	else if ( $row['user_level'] == 9 ) 
	{ 
		$row['username'] = '<b>' . $row['username'] . '</b>'; 
		$style_color = 'style="color:#FFC693"'; 
	}
	else if ( $row['user_level'] == MOD )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
	}
	if ( $row['user_allow_viewonline'] )
	{
		$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
	}
	else
	{
		$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
	}
	if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
	{
		if ( $row['user_session_time'] >= ( time() - $users_list_delay * 3600 ) )
		{
			$day_userlist .= ( $day_userlist != '' ) ? ', ' . $user_day_link : $user_day_link;
			$day_users++;
		}
		else
		{
			$not_day_userlist .= ( $not_day_userlist != '' ) ? ', ' . $user_day_link : $user_day_link;
			$not_day_users++;
		}
	}
}

$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . ' ' . $day_userlist;

$not_day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Not_day_users'], $not_day_users, $users_list_delay) ) . ' ' . $not_day_userlist;

if ( $display_not_day_userlist )
{
	$day_userlist .= '<br />' . $not_day_userlist;
}

//
// End of MOD
//
Danke schon mal.
Jessica
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Re: Users of the Day Mod (Sortierung)

Beitrag von Acid »

Man kann ja auch explizit die Userlevel angeben.. z.B.

Code: Alles auswählen

$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
	FROM ".USERS_TABLE."
	WHERE user_id > 0
	ORDER BY user_level = 1 DESC, user_level = 9 DESC, username ASC";
..musst mal ein wenig testen.
Jessica
Mitglied
Beiträge: 59
Registriert: 05.01.2004 15:45

Beitrag von Jessica »

Perfekt Acid! Danke! :)
Antworten

Zurück zu „phpBB 2.0: Mod Support“