Seite 1 von 1

Avatar-Ersatz Bild anzeigen, falls kein Avatar vorhanden

Verfasst: 02.02.2008 22:02
von ~| Marc |~
Hey,

bin gerade dabei, ein bisschen mit phpBB herumzutüfteln und eine Funktion finde ich einfach nicht unter den PHP-Dateien.

Nämlich rufe ich über folgenden PHP-Code das Avatar ab:

Code: Alles auswählen

  // phpBB definieren
  define('IN_PHPBB', true);
  $phpbb_root_path = '/home/www/sp01_57/html/community/';
  $phpEx = substr(strrchr(__FILE__, '.'), 1);
  include($phpbb_root_path . 'common.' . $phpEx);

  // Start session management
  $user->session_begin();
  
  $avatar = $user->data['user_avatar'];
Nun ist aber mein Problem, dass manche Benutzer kein Avatar besitzen und dort ein rotes X statt einem Bild angezeigt wird. Wie kann ich nun hier, wenn keine Daten von der Datenbank abgerufen werden können, ein Ersatz-Bild einsetzen?

Mit freundlichen Grüßen,
Marc

Verfasst: 03.02.2008 01:05
von Dave
Hi

functions_display.php

Code: Alles auswählen

/**
* Get user avatar
*
* @param string $avatar Users assigned avatar name
* @param int $avatar_type Type of avatar
* @param string $avatar_width Width of users avatar
* @param string $avatar_height Height of users avatar
* @param string $alt Optional language string for alt tag within image, can be a language key or text
*
* @return string Avatar image
*/
function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR')
{
	global $user, $config, $phpbb_root_path, $phpEx;

	if (empty($avatar) || !$avatar_type)
	{
		return '';
	}

	$avatar_img = '';

	switch ($avatar_type)
	{
		case AVATAR_UPLOAD:
			$avatar_img = $phpbb_root_path . "download/file.$phpEx?avatar=";
		break;

		case AVATAR_GALLERY:
			$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';
		break;
	}

	$avatar_img .= $avatar;
	return '<img src="' . $avatar_img . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}

Code: Alles auswählen

$avatar = ($user->optionget('viewavatars')) ? get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']) : '';
Das sollte dir wohl weiter helfen ;)

MfG
Dave

Verfasst: 03.02.2008 13:38
von ~| Marc |~
Vielen Dank, genau das, was ich gesucht habe :)

Mit freundlichen Grüßen,
Marc