Wer ist online: Avatare statt Username

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Greyhound76
Mitglied
Beiträge: 501
Registriert: 22.02.2008 23:08
Wohnort: Herzogenrath
Kontaktdaten:

Wer ist online: Avatare statt Username

Beitrag von Greyhound76 »

Hallo,

ich wollte mal nachhaken ob wer weiss wie man, statt den Usernames, die jeweiligen Avatare als Thumb in der wer ist online Liste im index_body.html (also nicht die Liste wenn man auf dem wer ist online draufklickt, also schon im Index) auslesen lassen kann. Mein Style basiert auf prosilver.

Ich selbst hab zwar schon ein, zwei kleinere Versuche gestartet, aber da ich in Sachen php & html kein Crack bin, hat´s natürlich nicht gefunzt :oops: .

Wäre schön wenn mir da wer einen guten Tipp geben könnte, danke.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Wer ist online: Avatare statt Username

Beitrag von Mahony »

Hallo
Meinst du vielleicht so etwas Avatars in Who is Online?

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Greyhound76
Mitglied
Beiträge: 501
Registriert: 22.02.2008 23:08
Wohnort: Herzogenrath
Kontaktdaten:

Re: Wer ist online: Avatare statt Username

Beitrag von Greyhound76 »

Nee, den hab ich ja schon drinne. Der Mod setzt lediglich Avatare vor den Usernames in der who is online Auflistung, also dort wo man auch sehen kann, wo wer genau auch sich im Board aufhält. Ich meine aber die in der Foren-Übersicht.
Greyhound76
Mitglied
Beiträge: 501
Registriert: 22.02.2008 23:08
Wohnort: Herzogenrath
Kontaktdaten:

Re: Wer ist online: Avatare statt Username

Beitrag von Greyhound76 »

*push*
JFooty
Ehemaliges Teammitglied
Beiträge: 1868
Registriert: 02.10.2007 11:46

Re: Wer ist online: Avatare statt Username

Beitrag von JFooty »

Das dürfte mit einer einfachen Template-Anpassung nicht machbar sein.
Damit ist das wohl eher ein Fall für die MOD-Suche.
Kein Support per PN!
lefty74
Mitglied
Beiträge: 250
Registriert: 01.07.2006 11:26
Kontaktdaten:

Re: Wer ist online: Avatare statt Username

Beitrag von lefty74 »

Greyhound76 hat geschrieben:Hallo,

ich wollte mal nachhaken ob wer weiss wie man, statt den Usernames, die jeweiligen Avatare als Thumb in der wer ist online Liste im index_body.html (also nicht die Liste wenn man auf dem wer ist online draufklickt, also schon im Index) auslesen lassen kann. Mein Style basiert auf prosilver.

Ich selbst hab zwar schon ein, zwei kleinere Versuche gestartet, aber da ich in Sachen php & html kein Crack bin, hat´s natürlich nicht gefunzt :oops: .

Wäre schön wenn mir da wer einen guten Tipp geben könnte, danke.
wie meinst das jetzt genau, avatare sind clickable und fuehren zum profil? wie hast dir das denn vorgestellt fuer benutzer die keinen avatar haben oder versteckte benutzer?
Greyhound76
Mitglied
Beiträge: 501
Registriert: 22.02.2008 23:08
Wohnort: Herzogenrath
Kontaktdaten:

Re: Wer ist online: Avatare statt Username

Beitrag von Greyhound76 »

Ich hab mir des wie folgt vorgestellt ... Member die online sind werden als ihr Avatar (ca 80x80pix/thumb) dargestellt, ebenfalls so das man per Klick aufs Ava zu deren Profil gelangt. Member die Unsichtbar bleiben wollen, werden nach wie vor nur vom Admin erkannt und Member ohne Avatar erhalten auf dem Index einfach ein obligatorisches NO IMAGE Avatar.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Wer ist online: Avatare statt Username

Beitrag von 4seven »

bin schon nah dran. obwohl ich persönlich ein transition-pic mit dem avatar in originalgröße beim überstreichen des user-links mit der maus viel schicker finde. aber nu..
lefty74
Mitglied
Beiträge: 250
Registriert: 01.07.2006 11:26
Kontaktdaten:

Re: Wer ist online: Avatare statt Username

Beitrag von lefty74 »

Du kannst die obtain_users_online_string funktion mit dieser ersetzen wenn du willst, habs allerdings nicht besonders getestet und weiss nicht wie es mit der server load aussieht wenn du sehr viele besucher hast...

damit hast du allerdings ueberall avatare, nicht nur auf der index seite sonder auch z.b. in der forum seite.

Code: Alles auswählen

function obtain_users_online_string($online_users, $forum_id = 0)
{
	global $config, $db, $user, $auth;

	$user_online_link = $online_userlist = $user_online_avatar = '';

	if (sizeof($online_users['online_users']))
	{
		$sql = 'SELECT username, username_clean, user_id, user_type, user_allow_viewonline, user_colour, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height 
				FROM ' . USERS_TABLE . '
				WHERE ' . $db->sql_in_set('user_id', $online_users['online_users']) . '
				ORDER BY username_clean ASC';
		$result = $db->sql_query($sql);
				$max_avatar_online_users = $avatar_width_online_users = $avatar_height_online_users	= '';
		while ($row = $db->sql_fetchrow($result))
		{
			// User is logged in and therefore not a guest
			if ($row['user_id'] != ANONYMOUS)
			{
				$max_avatar_online_users = 40; // here you can change the max-width you would like to have the avatars displayed, change to 0 to use default 
				
				if ( !empty($row['user_avatar']) )
				{
					if ( $max_avatar_online_users )
					{	
						if ( $row['user_avatar_width'] >= $row['user_avatar_height'] )
						{
							$avatar_width_online_users = ( $row['user_avatar_width'] > $max_avatar_online_users ) ? $max_avatar_online_users : $row['user_avatar_width'] ;
							$avatar_height_online_users = ( $avatar_width_online_users == $max_avatar_online_users ) ? round($max_avatar_online_users / $row['user_avatar_width'] * $row['user_avatar_height']) : $row['user_avatar_height'] ;
						}
						else 
						{
							$avatar_height_online_users = ( $row['user_avatar_height'] > $max_avatar_online_users ) ? $max_avatar_online_users : $row['user_avatar_height'] ;
							$avatar_width_online_users = ( $avatar_height_online_users == $max_avatar_online_users ) ? round($max_avatar_online_users / $row['user_avatar_height'] * $row['user_avatar_width']) : $row['user_avatar_width'] ;
						}
					}
					else
					{
						$avatar_height_online_users 	= $row['user_avatar_height'];
						$avatar_width_online_users 	= $row['user_avatar_width'];
					}
				}

				if (isset($online_users['hidden_users'][$row['user_id']]))
				{
//					$row['username'] = '<em>' . $row['username'] . '</em>';
					$row['username'] = $row['username'] . '&nbsp;[hidden]';
				}
				
				global $phpbb_root_path, $phpEx;
				if (!isset($online_users['hidden_users'][$row['user_id']]) || $auth->acl_get('u_viewonline'))
				{
					if ( !function_exists('get_user_avatar'))
					{
						include($phpbb_root_path . 'includes/functions_display.' . $phpEx); 
					}
					
				
					$user_online_link = get_username_string(($row['user_type'] <> USER_IGNORE) ? 'profile' : 'no_profile', $row['user_id'], $row['username'], $row['user_colour']);
					
					$user_online_avatar = (empty($row['user_avatar']) || $row['user_type'] == USER_IGNORE ) ? '<img src="' . $phpbb_root_path . 'styles/' . $user->theme['imageset_path'] . '/theme/images/no_avatar.gif" height="' . $max_avatar_online_users . '" width="' . $max_avatar_online_users . '" title="'. $row['username'] . '" alt=""  />' : get_user_avatar($row['user_avatar'],$row['user_avatar_type'], $avatar_width_online_users, $avatar_height_online_users, $row['username']);
					
					
					$online_userlist .= ($online_userlist != '') ? '&nbsp; <a href="' . $user_online_link . '" title = "'. $row['username'] . '">' . $user_online_avatar . '</a>' : '<a href="' . $user_online_link . '" title = "'. $row['username'] . '">' . $user_online_avatar . '</a>';
				}
			}
		}
		$db->sql_freeresult($result);
	}

	if (!$online_userlist)
	{
		$online_userlist = $user->lang['NO_ONLINE_USERS'];
	}

	if ($forum_id === 0)
	{
		$online_userlist = $user->lang['REGISTERED_USERS'] . ' ' . $online_userlist;
	}
	else if ($config['load_online_guests'])
	{
		$l_online = ($online_users['guests_online'] === 1) ? $user->lang['BROWSING_FORUM_GUEST'] : $user->lang['BROWSING_FORUM_GUESTS'];
		$online_userlist = sprintf($l_online, $online_userlist, $online_users['guests_online']);
	}
	else
	{
		$online_userlist = sprintf($user->lang['BROWSING_FORUM'], $online_userlist);
	}
	// Build online listing
	$vars_online = array(
		'ONLINE'	=> array('total_online', 'l_t_user_s', 0),
		'REG'		=> array('visible_online', 'l_r_user_s', !$config['load_online_guests']),
		'HIDDEN'	=> array('hidden_online', 'l_h_user_s', $config['load_online_guests']),
		'GUEST'		=> array('guests_online', 'l_g_user_s', 0)
	);

	foreach ($vars_online as $l_prefix => $var_ary)
	{
		if ($var_ary[2])
		{
			$l_suffix = '_AND';
		}
		else
		{
			$l_suffix = '';
		}
		switch ($online_users[$var_ary[0]])
		{
			case 0:
				${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_ZERO_TOTAL' . $l_suffix];
			break;

			case 1:
				${$var_ary[1]} = $user->lang[$l_prefix . '_USER_TOTAL' . $l_suffix];
			break;

			default:
				${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_TOTAL' . $l_suffix];
			break;
		}
	}
	unset($vars_online);

	$l_online_users = sprintf($l_t_user_s, $online_users['total_online']);
	$l_online_users .= sprintf($l_r_user_s, $online_users['visible_online']);
	$l_online_users .= sprintf($l_h_user_s, $online_users['hidden_online']);

	if ($config['load_online_guests'])
	{
		$l_online_users .= sprintf($l_g_user_s, $online_users['guests_online']);
	}



	return array(
		'online_userlist'	=> $online_userlist,
		'l_online_users'	=> $l_online_users,
	);
}
p.s. ab 3.0.6 wird die funktion etwas anders aussehen und es waere wahrscheinlich besser die originale version wieder reinzupacken bevor du upgradest...

edit: @4seven, sorry, lass dich bitte nicht hiervon abzubringen aufzuhalten, deine version ist mit sicherheit besser getested als meine...
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Wer ist online: Avatare statt Username

Beitrag von 4seven »

ich machs grad ganz klassisch in der index.php mit braver sql abfrage. deine modifizierte function ist allerdings nicht von schlechten eltern :grin:
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“