Seite 1 von 4

Group colour Mod & show daily Users Mod

Verfasst: 01.06.2004 09:42
von Helmut71
Hallo!

Hab ein kleines Problemchen: Habe den "group colour Mod" von Nivisec eingebaut, funktioniert auch soweit ich das feststellen kann.

Nur benutze ich auch im index und im portal den "show daily users mod", der ja noch auf die alten Farben zugreift.

Code: Alles auswählen

//show dayly users mod 
$time_now=time();
$time1Hour=$time_now-3600;
$minutes = date('is', $time_now);
$hour_now = $time_now - (60*($minutes[0].$minutes[1])) - ($minutes[2].$minutes[3]); 
$dato=create_date('H', $time_now,$board_config['board_timezone']);
$timetoday = $hour_now - (3600*$dato); 
$sql = 'SELECT session_ip, MAX(session_time) as session_time FROM '.SESSIONS_TABLE.' WHERE session_user_id="'.ANONYMOUS.'" AND session_time >= '.$timetoday.' AND session_time< '.($timetoday+86399).' GROUP BY session_ip';
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve guest user today data", "", __LINE__, __FILE__, $sql); 
while( $guest_list = $db->sql_fetchrow($result))
{ 
	if ($guest_list['session_time'] >$time1Hour) $users_lasthour++;
}
$guests_today = $db->sql_numrows($result);
$sql = 'SELECT user_id,username,user_allow_viewonline,user_level,user_lastlogon FROM ' . USERS_TABLE . ' WHERE user_id!="'.ANONYMOUS.'" AND user_session_time >= '.$timetoday.' AND user_session_time< '.($timetoday+86399).' ORDER BY username'; 
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve user today data", "", __LINE__, __FILE__, $sql); 
while( $todayrow = $db->sql_fetchrow($result)) 
{ 
	$style_color = ""; 
	if ($todayrow['user_lastlogon']>=$time1Hour)
	{
		$users_lasthour++;
	}
	switch ($todayrow['user_level'])
	{
		case ADMIN :
		      $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
      		$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
			break;
		case MOD :
		      $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
      		$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
			break;
	}
 	$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>,' : '');
	if (!$todayrow['user_allow_viewonline']) $logged_hidden_today++;
	else $logged_visible_today++;
}
if ($users_today_list) 
{
	$users_today_list[ strlen( $users_today_list)-1] = ' '; 
} else
{
	$users_today_list = $lang['None'];
}
$total_users_today = $db->sql_numrows($result)+$guests_today;

$users_today_list = $lang['Registered_users'].' ' . $users_today_list;
$l_today_user_s = ($total_users_today) ? ( ( $total_users_today == 1 )? $lang['User_today_total'] : $lang['Users_today_total'] ) : $lang['Users_today_zero_total'];
$l_today_r_user_s = ($logged_visible_today) ? ( ( $logged_visible_today == 1 ) ? $lang['Reg_user_total'] : $lang['Reg_users_total'] ) : $lang['Reg_users_zero_total'];
$l_today_h_user_s = ($logged_hidden_today) ? (($logged_hidden_today == 1) ? $lang['Hidden_user_total'] : $lang['Hidden_users_total'] ) : $lang['Hidden_users_zero_total'];
$l_today_g_user_s = ($guests_today) ? (($guests_today == 1) ? $lang['Guest_user_total'] : $lang['Guest_users_total']) : $lang['Guest_users_zero_total'];
$l_today_users = sprintf($l_today_user_s, $total_users_today);
$l_today_users .= sprintf($l_today_r_user_s, $logged_visible_today); 
$l_today_users .= sprintf($l_today_h_user_s, $logged_hidden_today); 
$l_today_users .= sprintf($l_today_g_user_s, $guests_today);

Ich vermute, dass diese Änderung

Code: Alles auswählen

# 
#-----[ FIND ]------------------------------------------ 
#
								$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

# 
#-----[REPLACE WITH ]------------------------------------------ 
#
								$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : color_group_colorize_name($forum_data[$j]['user_id']);
# 
im oben geposteten Mod auch gemacht werden muss, weiß jemand Rat??

Verfasst: 01.06.2004 13:07
von rabbit
das hier funzt mit dem color_group + last_visit von niels:

Code: Alles auswählen

index.php 

--------------------------------------------------------------- 
suche: 

$style_color = ""; 
   if ($todayrow['user_lastlogon']>=$time1Hour) 
   { 
      $users_lasthour++; 
   } 
   switch ($todayrow['user_level']) 
   { 
      case ADMIN : 
            $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
            $style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; 
         break; 
      case MOD : 
            $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
            $style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
         break; 
   } 
    $users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>,' : ''); 


--------------------------------------------------------------- 
ersetze mit: 

include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx); 

$todayrow['username'] = color_group_colorize_name($todayrow['user_id']); 

if ($todayrow['user_lastlogon']>=$time1Hour) 
{ 
$users_lasthour++; 
} 

$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>,' : ''); 

--------------------------------------------------------------- 

Verfasst: 01.06.2004 14:34
von Helmut71
Klasse!! Hat geklappt! Habe aber gleich noch ein Problem entdeckt: im birthday Mod werden natürlich auch noch die alten Farben angezeigt - was wäre hier zu ändern?

Code: Alles auswählen

// Birthday Mod, Show users with birthday 
$sql = "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username";
if($result = $db->sql_query($sql))
{
$birthdayrow = $db->sql_fetchrowset($result);
if (!empty($birthdayrow))
{
	$year=create_date('Y', time(), $board_config['board_timezone']);
	$date_today = create_date('Ymd', time(), $board_config['board_timezone']);
	$date_forward = create_date('Ymd', time()+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
	for($i = 0; $i < count($birthdayrow); $i++)
	{
		$user_birthday=realdate("md",$birthdayrow[$i]['user_birthday']);
		$user_birthday2=(($year.$user_birthday<$date_today)? $year+1:$year).$user_birthday;
		if ($user_birthday2==$date_today)
		{
			//user have birthday today
			$user_age=$year- realdate ('Y',$birthdayrow[$i]['user_birthday']); 
			$style_color = ($birthdayrow[$i]['user_level'] == ADMIN )?'style="color:#' . $theme['fontcolor3'] . '"':(( $birthdayrow[$i]['user_level'] == MOD )?'style="color:#' . $theme['fontcolor2'] . '"':''); 
			$birthday_today_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow[$i]['user_id']) . '"' . $style_color .'><b>' . $birthdayrow[$i]['username'] . ' ('.$user_age.')</b></a>'; 
		}
		else if ($user_birthday2>$date_today  && $user_birthday2<=$date_forward)
		{
			// user are having birthday within the next days
			$user_age=($year.$user_birthday<$date_today)?$year- realdate('Y',$birthdayrow[$i]['user_birthday']) + 1 : $year- realdate('Y',$birthdayrow[$i]['user_birthday']); 
			$style_color = ($birthdayrow[$i]['user_level'] == ADMIN )?'style="color:#' . $theme['fontcolor3'] . '"':(( $birthdayrow[$i]['user_level'] == MOD )?'style="color:#' . $theme['fontcolor2'] . '"':'');
			$birthday_week_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow[$i]['user_id']) . '"' . $style_color .'><b>' . $birthdayrow[$i]['username'] . ' ('.$user_age.')</b></a>';
		}
	}
}
}
$db->sql_freeresult($result);

Verfasst: 01.06.2004 14:56
von Helmut71
ich hab das jetzt selbst geschafft, aber jetzt ist mir gerade etwas aufgefallen: als Admin sehe ich nun die versteckten User nicht mehr schräg sondern wie normale User.

Verfasst: 01.06.2004 16:44
von Jungpionier
wie hast du es geschafft ???

kannst du mir helfen?

mfg Jungpionier

Verfasst: 01.06.2004 17:05
von rabbit
für den birthday-mod hab' ich auch keine lösung parat, aber vielleicht könntest du hier mal deine lösung posten für leute, die evtl. über die suche auf dieses topic stoßen... :)

btw, die versteckten user werden nach einbau der mods (glaube, es liegt am last-visit) nicht mehr kursiv angezeigt... :wink:

evtl. gibt es da einen fix zu, hab' ich aber noch nicht gesehen.

Verfasst: 01.06.2004 19:54
von Helmut71
ich hab den Mod mal wieder deaktiviert, wäre toll, wenn jemand den Fix für die kursiven, unsichtbaren User weiß :-) danke im voraus.

bzgl. birthday Mod hab ich die von dir angegebene Änderung einfach analog angewendet.

ersetze

Code: Alles auswählen

$style_color = ($birthdayrow[$i]['user_level'] == ADMIN )?'style="color:#' . $theme['fontcolor3'] . '"':(( $birthdayrow[$i]['user_level'] == MOD )?'style="color:#' . $theme['fontcolor2'] . '"':''); 
durch

Code: Alles auswählen

include_once $phpbb_root_path.'includes/functions_color_groups.'.$phpEx); 
$birthdayrow[$i]['username'] = color_group_colorize_name($birthdayrow[$i]['user_id']);
und das ganze 6 Zeilen später noch einmal. Sollte funktionieren!

[/code]

Verfasst: 04.06.2004 08:41
von noxx
rabbit hat geschrieben:das hier funzt mit dem color_group + last_visit von niels:

Code: Alles auswählen

index.php 

--------------------------------------------------------------- 
suche: 

$style_color = ""; 
   if ($todayrow['user_lastlogon']>=$time1Hour) 
   { 
      $users_lasthour++; 
   } 
   switch ($todayrow['user_level']) 
   { 
      case ADMIN : 
            $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
            $style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; 
         break; 
      case MOD : 
            $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
            $style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
         break; 
   } 
    $users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>,' : ''); 


--------------------------------------------------------------- 
ersetze mit: 

include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx); 

$todayrow['username'] = color_group_colorize_name($todayrow['user_id']); 

if ($todayrow['user_lastlogon']>=$time1Hour) 
{ 
$users_lasthour++; 
} 

$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>,' : ''); 

--------------------------------------------------------------- 
Ich hab dann leider doch hiermit ein Problem.
In meiner Index.php steht der gesuchte part nicht.
Hab den aber mal in der portal.php gefunden, aber das hat wohl nichts damit zu tun.

Weiß jemand Rat? :-/

Verfasst: 04.06.2004 11:02
von rabbit
bitte mal die index.php verlinken. :)
KB:datei

Verfasst: 04.06.2004 11:08
von noxx
danke für deine Hilfsbereitschaft:

index.txt

Kann das sein, dass ich an der "page_header.php" arbeiten muss?
Mensch, ich werd noch bekloppt! Kann doch nicht so schwierig sein. :-(