Avatare von Freunden anzeigen in Friendslist

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
Antworten
fr33za
Mitglied
Beiträge: 5
Registriert: 12.11.2007 13:22

Avatare von Freunden anzeigen in Friendslist

Beitrag von fr33za »

Hallo zusammen

Ich würde gerne bei der Freundesliste unter den Namen den Avatar des Freundes anzeigen.
Muss nicht schön aussehen oder so, es muss nur technisch funktionieren.

Kann mir da jemand weiterhelfen oder Tipps geben wie ich das am besten anstelle?

Gruss fr33za
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17412
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Möchtest Du diesen MOD selbst entwickeln oder suchst Du nur einen MOD der dies bewerkstelligt?
fr33za
Mitglied
Beiträge: 5
Registriert: 12.11.2007 13:22

Beitrag von fr33za »

am besten wäre natürlich eine mod die es schon gibt.
habe aber nichts gefunden.

aber ich hab nicht direkt vor eine mod dafür zu machen, sondern eher es einfach zusammen zu "basteln".
fr33za
Mitglied
Beiträge: 5
Registriert: 12.11.2007 13:22

Beitrag von fr33za »

habe mal versucht aus der memberlist.php etwas zu klauen und in ucp.php einzufügen.
leider geht dann gar nix mehr ^^

Code: Alles auswählen

'AVATAR_IMG'	=> get_user_avatar($member['user_avatar'], $member['user_avatar_type'], $member['user_avatar_width'], $member['user_avatar_height']);
und hier bei den output einzufügen

Code: Alles auswählen

// Check if the zebra module is set
if ($module->is_active('zebra', 'friends'))
{
	// Output listing of friends online
	$update_time = $config['load_online_time'] * 60;

	$sql = $db->sql_build_query('SELECT_DISTINCT', array(
		'SELECT'	=> 'u.user_id, u.username, u.username_clean, u.user_colour, MAX(s.session_time) as online_time, MIN(s.session_viewonline) AS viewonline',

		'FROM'		=> array(
			USERS_TABLE		=> 'u',
			ZEBRA_TABLE		=> 'z'
		),

		'LEFT_JOIN'	=> array(
			array(
				'FROM'	=> array(SESSIONS_TABLE => 's'),
				'ON'	=> 's.session_user_id = z.zebra_id'
			)
		),

		'WHERE'		=> 'z.user_id = ' . $user->data['user_id'] . '
			AND z.friend = 1
			AND u.user_id = z.zebra_id',

		'GROUP_BY'	=> 'z.zebra_id, u.user_id, u.username_clean, u.user_colour, u.username',

		'ORDER_BY'	=> 'u.username_clean ASC',
	));

	$result = $db->sql_query($sql);

	while ($row = $db->sql_fetchrow($result))
	{
		$which = (time() - $update_time < $row['online_time'] && ($row['viewonline'] || $auth->acl_get('u_viewonline'))) ? 'online' : 'offline';

		$template->assign_block_vars("friends_{$which}", array(
			'USER_ID'		=> $row['user_id'],

			'U_PROFILE'		=> get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
			'USER_COLOUR'	=> get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
			'USERNAME'		=> get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
			'USERNAME_FULL'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']))
		);
	}
	$db->sql_freeresult($result);
}
kann mir evtl wer weiterhelfen wie ich das richtig hin bekomme?
__
edit:
tabelle ist phpbb_users
feld user_avatar

eigentlich brauche ich nur eine abfrage für dieses feld.
mal schauen ob ich hin bekomme
___
edit2:
habe glaube ich herausgefunden wie es richtig ist
hab mal so geändert:

Code: Alles auswählen

			'USERNAME_FULL'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
			'AVATAR_IMG'	=> get_username_string('avatar',$row['user_avatar']))
jetzt bekomme ich aber einen fehler:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line 1098: Missing argument 3 for get_username_string()
forum läuft aber noch.

in function_content.php habe ich auch shcon gefunden was geändert werden muss.
da muss noch irgendwie der avatar rein.

Code: Alles auswählen

	switch ($mode)
	{
		case 'profile':
			return $profile_url;
		break;

		case 'username':
			return $username;
		break;

		case 'colour':
			return $username_colour;
		break;

		case 'no_profile':
		case 'full':
		default:

			$tpl = '';
			if (!$profile_url && !$username_colour)
			{
				$tpl = '{USERNAME}';
			}
			else if (!$profile_url && $username_colour)
			{
				$tpl = '<span style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</span>';
			}
			else if ($profile_url && !$username_colour)
			{
				$tpl = '<a href="{PROFILE_URL}">{USERNAME}</a>';
			}
			else if ($profile_url && $username_colour)
			{
				$tpl = '<a href="{PROFILE_URL}" style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</a>';
			}

			return str_replace(array('{PROFILE_URL}', '{USERNAME_COLOUR}', '{USERNAME}'), array($profile_url, $username_colour, $username), $tpl);
		break;
	}
fr33za
Mitglied
Beiträge: 5
Registriert: 12.11.2007 13:22

Beitrag von fr33za »

kann mir den keiner weiterhelfen?
finde einfach nicht heraus wie das rein soll bei function_content.php rein muss :(
fr33za
Mitglied
Beiträge: 5
Registriert: 12.11.2007 13:22

Beitrag von fr33za »

oke ist in der functions_content.php wohl eher in diesem abschnitt:
finde es aber einfach nicht heraus wie genau eintragen :(
kann mir wirklich keiner helfen? bitte.

Code: Alles auswählen

function get_username_string($mode, $user_id, $username, $username_colour = '', $guest_username = false, $custom_profile_url = false)
{
	global $phpbb_root_path, $phpEx, $user, $auth;

	$profile_url = '';
	$username_colour = ($username_colour) ? '#' . $username_colour : '';

	if ($guest_username === false)
	{
		$username = ($username) ? $username : $user->lang['GUEST'];
	}
	else
	{
		$username = ($user_id && $user_id != ANONYMOUS) ? $username : ((!empty($guest_username)) ? $guest_username : $user->lang['GUEST']);
	}

	// Only show the link if not anonymous
	if ($mode != 'no_profile' && $user_id && $user_id != ANONYMOUS)
	{
		// Do not show the link if the user is already logged in but do not have u_viewprofile permissions (relevant for bots mostly).
		// For all others the link leads to a login page or the profile.
		if ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile'))
		{
			$profile_url = '';
		}
		else
		{
			$profile_url = ($custom_profile_url !== false) ? $custom_profile_url . '&u=' . (int) $user_id : append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . (int) $user_id);
		}
	}
	else
	{
		$profile_url = '';
	}

	switch ($mode)
	{
		case 'profile':
			return $profile_url;
		break;

		case 'username':
			return $username;
		break;

		case 'colour':
			return $username_colour;
		break;

		case 'no_profile':
		case 'full':
		default:

			$tpl = '';
			if (!$profile_url && !$username_colour)
			{
				$tpl = '{USERNAME}';
			}
			else if (!$profile_url && $username_colour)
			{
				$tpl = '<span style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</span>';
			}
			else if ($profile_url && !$username_colour)
			{
				$tpl = '<a href="{PROFILE_URL}">{USERNAME}</a>';
			}
			else if ($profile_url && $username_colour)
			{
				$tpl = '<a href="{PROFILE_URL}" style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</a>';
			}

			return str_replace(array('{PROFILE_URL}', '{USERNAME_COLOUR}', '{USERNAME}'), array($profile_url, $username_colour, $username), $tpl);
		break;
	}
}
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

Gibt es so etwas nicht schon?? :o

Also bevor Du dir da weiter einen abbrichst schau mal hier vorbei!

Möglicherweise hab ich ja etwas falsch verstanden, denn es wundert mich, dass dir noch kein anderer diesen Tip gegeben hat, aber wenn du mit "friendslist" die Liste im UCP meinst, dann ist dieser Mod genau das was du suchst.

Wenn nich, dann weiterhin viel Glück^^
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“