Seite 1 von 2

Wer war heute da - Mod

Verfasst: 16.08.2005 20:23
von Snowblind
Ich bräuchte diesen Mod so, das man da auch die Farbgruppen drin hat

Code: Alles auswählen

/*----------WER WAR HEUTE DA HACK----------*/
$user_today_text['count_user'] = 'Heute waren bisher <b>{COUNT_USER_TODAY}</b> registrierte User online.';
$user_today_text['zuletzt_um'] = 'zuletzt um';
$user_today_text['no_user'] = 'Heute war bisher kein registrierter User online.';

$mitternacht = mktime(0,0,0,date('m'),date('d'),date('Y'));
$result = $db->sql_query('Select `user_id`, `username`, `user_session_time`, `user_level` FROM '.USERS_TABLE." WHERE `user_allow_viewonline` = '1' AND `user_session_time` > $mitternacht ORDER BY `user_session_time` DESC");
while( $row = $db->sql_fetchrow($result))
	{
	$user_today .= ($count_user_today > 0) ? ', ' : ''; 
	$user_today .= '<a href="'.append_sid('profile.php?mode=viewprofile&u='.$row['user_id']).'"';
	$user_today .= ($row['user_level'] == 1) ? ' style="color: #'.$theme['fontcolor3'].'"><b>'.$row['username'].'</b></a>' : '';
	$user_today .= ($row['user_level'] == 2) ? ' style="color: #'.$theme['fontcolor2'].'"><b>'.$row['username'].'</b></a>' : '';
	$user_today .= ($row['user_level'] != 1 && $row['user_level'] != 2) ? '">'.$row['username'].'</a>' : '';
	$user_today .= ' ('.$user_today_text['zuletzt_um'].' '.date('H:i', $row['user_session_time']).')';
	$count_user_today++;
	}
$user_today_text['count_user'] = ($count_user_today > 0) ? str_replace('{COUNT_USER_TODAY}', $count_user_today, $user_today_text['count_user']) : $user_today_text['no_user'];
$db->sql_freeresult($result);
/*----------WER WAR HEUTE DA HACK----------*/

Code: Alles auswählen

'COUNT_USER_TODAY' => $user_today_text['count_user'],
'USER_TODAY' => $user_today,

Hier noch der Link in die Moddatenbank: http://www.phpbb.de/moddb/mod.php?id=324

Verfasst: 16.08.2005 20:25
von webmaster128
was für farbgruppen?

Verfasst: 16.08.2005 20:26
von Snowblind

Verfasst: 17.08.2005 17:27
von Tecwar
hi,

würde gener das auch wisssen. mit der farbdarstellung.

hab etwas den code verändert:

die login zeiten werden nicht mehr angezeigt,
& die farben werden nicht mehr vom forum übernohmen ( admin, mod´s + user einheitliche farbe).


Code: Alles auswählen

/*----------WER WAR HEUTE DA HACK----------*/
$user_today_text['count_user'] = 'Heute waren bisher <b>{COUNT_USER_TODAY}</b> registrierte User online.';

$user_today_text['no_user'] = 'Heute war bisher kein registrierter User online.';

$mitternacht = mktime(0,0,0,date('m'),date('d'),date('Y'));
$result = $db->sql_query('Select `user_id`, `username`, `user_level` FROM '.USERS_TABLE." WHERE `user_allow_viewonline` = '1' AND `user_session_time` > $mitternacht ORDER BY `user_session_time` DESC");
while( $row = $db->sql_fetchrow($result))
	{
	$user_today .= ($count_user_today > 0) ? ', ' : '';
	$user_today .= '<a href="'.append_sid('profile.php?mode=viewprofile&u='.$row['user_id']).'"';
	$user_today .= ($row['user_level'] == 1) ? '"><b>'.$row['username'].'</b></a>' : '';
	$user_today .= ($row['user_level'] == 2) ? '"><b>'.$row['username'].'</b></a>' : '';
	$user_today .= ($row['user_level'] != 1 && $row['user_level'] != 2) ? '">'.$row['username'].'</a>' : '';

	$count_user_today++;
	}
$user_today_text['count_user'] = ($count_user_today > 0) ? str_replace('{COUNT_USER_TODAY}', $count_user_today, $user_today_text['count_user']) : $user_today_text['no_user'];
$db->sql_freeresult($result);
/*----------WER WAR HEUTE DA HACK----------*/
vielleicht hilft das erstmal weiter

Verfasst: 17.08.2005 17:43
von S2B
OK, so macht es auch nur teilweise Sinn, weil in deinem Code trotzdem noch zwischen user_level unterschieden wird. :wink:

versucht mal das:

Code: Alles auswählen

/*----------WER WAR HEUTE DA HACK----------*/
$user_today_text['count_user'] = 'Heute waren bisher <b>{COUNT_USER_TODAY}</b> registrierte User online.';

$user_today_text['no_user'] = 'Heute war bisher kein registrierter User online.';

$mitternacht = mktime(0,0,0,date('m'),date('d'),date('Y'));
$result = $db->sql_query('Select `user_id`, `username`, `user_level` FROM '.USERS_TABLE." WHERE `user_allow_viewonline` = '1' AND `user_session_time` > $mitternacht ORDER BY `user_session_time` DESC");
while( $row = $db->sql_fetchrow($result))
	{
	$user_today .= ($count_user_today > 0) ? ', ' : '';
	$user_today .= color_group_colorize_name($row['user_id']);
	$count_user_today++;
	}
$user_today_text['count_user'] = ($count_user_today > 0) ? str_replace('{COUNT_USER_TODAY}', $count_user_today, $user_today_text['count_user']) : $user_today_text['no_user'];
$db->sql_freeresult($result);
/*----------WER WAR HEUTE DA HACK----------*/

Verfasst: 17.08.2005 18:08
von Snowblind

Code: Alles auswählen

  $user_today .= color_group_colorize_name($row['user_id']); 

Das stimmt nicht, gibt mir eine Fehlermeldung ...

Verfasst: 17.08.2005 18:11
von S2B
Was ist es denn für ein Fehler?

Es kann sein, dass die functions_color_groups.php nicht standardmäßig in die page_header.php eingebunden wird (hab jetzt nicht in die Anleitung geschaut...).
Versuch mal, das vor den Code des "Wer war heute da"-MODs einzufügen:

Code: Alles auswählen

include_once("includes/functions_color_groups.$phpEx");

Verfasst: 17.08.2005 18:17
von Tecwar
hi,

so funzt das jetzt. danke für die änderung.

Code: Alles auswählen

/*----------WER WAR HEUTE DA HACK----------*/
$user_today_text['count_user'] = 'Heute waren bisher <b>{COUNT_USER_TODAY}</b> registrierte User online.';

$user_today_text['no_user'] = 'Heute war bisher kein registrierter User online.';

$mitternacht = mktime(0,0,0,date('m'),date('d'),date('Y'));
$result = $db->sql_query('Select `user_id`, `username`, `user_level` FROM '.USERS_TABLE." WHERE `user_allow_viewonline` = '1' AND `user_session_time` > $mitternacht ORDER BY `user_session_time` DESC");
while( $row = $db->sql_fetchrow($result))
   {
   include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
   $user_today .= ($count_user_today > 0) ? ', ' : '';
   $user_today .= color_group_colorize_name($row['user_id']);
   $count_user_today++;
   }
$user_today_text['count_user'] = ($count_user_today > 0) ? str_replace('{COUNT_USER_TODAY}', $count_user_today, $user_today_text['count_user']) : $user_today_text['no_user'];
$db->sql_freeresult($result);
/*----------WER WAR HEUTE DA HACK----------*/ 

Verfasst: 17.08.2005 18:19
von S2B
Dein Code ist leider nicht ganz ideal, verschieb mal das include um ein paar Zeilen nach oben vor die while-Schleife, da es sonst jedes Mal neu aufgerufen wird. :wink:

Verfasst: 17.08.2005 18:36
von Snowblind
Ok, so funktioniert, thx S2B und Tecwar, deines geht nicht. also zeigt mir nicht die Farbe an, die ich ihm ACP eingestellt habe