Avatardarstellung im Profil falsch

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Susan
Beiträge: 530
Registriert: Mo 03.Jan, 2005 22:55
Wohnort: Hamburg

Avatardarstellung im Profil falsch

Beitrag von Susan »

Hi,

habe gerade die profile_view_body.tpl geändert und da ist mir ausgefallen das das Avatar nicht richtig dargestellt wird.
Folgende Probleme:

- Man ist nicht eingeloggt: In allen Profilen wird kein Avatar angezeigt
- Normaler User (ohne spezielle Rechte, ohne eigenem Avatar) ist eingeloggt: In allen Profilen wird kein Avatar angezeigt
- Normaler User (ohne spezielle Rechte, mit eigenem Avatar) ist eingeloggt: In allen Profilen wird sein Avatar angezeigt :(
- Ich bin eingeloggt (Admin mit eigenem Avatar): In allen Profilen wird mein Avatar angezeigt :(
- Andere Admin ohne eigenes Avatar ist eingeloggt: In allen Profilen wird kein Avatar angezeigt

Eingebaute MODS:
- ez-Portal - Umgeändert so das aus der portal.php "index.php" geworden ist und diese im root-Verzeichnis liegt. (das Forum ist in einem Unterordner). Siehe diesen Beitrag wie ich das gemacht habe

Diese leichten Änderungen hab ich vorgenommen:
- Änderung der bbcode URL
(Pop-Up-Fenster für die URL-Eingabe und URL-Beschreibung)
- Adminlink in die overall_header verschieben

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
includes/page_header.php

#
#-----[ FIND ]-----
#
$template->assign_vars(array(

#
#-----[ BEVOR, ADD ]-----
#
$admin_link = ( $userdata['user_level'] == ADMIN ) ? '<a href="admin/index.' . $phpEx . '?sid=' . $userdata['session_id'] . '">' . $lang['Admin_panel'] . '</a><br /><br />' : '';

#
#-----[ AFTER, ADD ]-----
#
'ADMIN_LINK' => $admin_link,
Ich wüsste nicht bewusst wo ich einen Fehler gemacht habe, da ja noch nicht wirklich viel verändert ist ...

Danke für die Hilfe
gruß
Susan
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Für die Anzeige des Avatars in den Profilen ist dieser Codeblock der usercp_viewprofile.php zuständig:

Code: Alles auswählen

$avatar_img = '';
if ( $profiledata['user_avatar_type'] && $profiledata['user_allowavatar'] )
{
	switch( $profiledata['user_avatar_type'] )
	{
		case USER_AVATAR_UPLOAD:
			$avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
		case USER_AVATAR_REMOTE:
			$avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $profiledata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
		case USER_AVATAR_GALLERY:
			$avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
	}
}
Deiner Beschreibung nach zu urteilen steht in diesem Block entweder $userdata['user_avatar'] anstelle von $profiledata['user_avatar'], oder der Wert von $profiledata['user_avatar'] wird irgendwo mit dem Wert von $userdata['user_avatar'] überschrieben.

// EDIT
Der array $profiledata() wird am anfang der usercp_viewprofile.php mittels

Code: Alles auswählen

$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
gefüllt.
Sollten die anderen Profiledaten ebenfalls immer die des aktuellen Benutzers sein, dann wird die user_id falsch übergeben und somit $profiledata() mit den falschen werten gefüllt.
Zuletzt geändert von AmigaLink am So 11.Jun, 2006 17:19, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Susan
Beiträge: 530
Registriert: Mo 03.Jan, 2005 22:55
Wohnort: Hamburg

Beitrag von Susan »

Hi Amiga :),
hmmm, in dieser php-datei habe ich nichts geändert. Stimmt soweit alles mit dem überein was du gepostet hast.

Aber mir fällt da ein das ich das Avatar für das ez-Portal von der portal.php in die page_header.php verschoben habe. Un die ist ja auch im includes-Ordner.
2. Schritt:
Integration der ezportal Menüs in die overall_header. Downloaden kann man das ganze hier

Info dazu: in der page_header habe ich noch zusätzlich dieses gemacht: Damit wird auch das Avatar angezeigt. Dieser Eintrag existiert auch noch in der index(portal).php. Dort habe ich ihn nicht gelöscht

Code: Alles auswählen

#
#-----[ FIND ]----------------------------------------
#
	'NAV_LINKS' => $nav_links_html)
);
#
#-----[ AFTER ADD ]-----------------------------------
#
//
// Avatar On Index MOD
//
$avatar_img = '';
if ( $userdata['user_avatar_type'] && $userdata['user_allowavatar'] )
{
	switch( $userdata['user_avatar_type'] )
	{
		case USER_AVATAR_UPLOAD:
			$avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
		case USER_AVATAR_REMOTE:
			$avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
		case USER_AVATAR_GALLERY:
			$avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
	}
}
// Check For Anonymous User
if ($userdata['user_id'] != '-1')
{
	$name_link = '<a href="' . append_sid("profile.$phpEx?mode=editprofile&" . $userdata['user_id']) . '" class="menuueb">' . $userdata['username'] . '</a>';
}
else
{
	$name_link = $lang['Guest'];
}
//
// END: Avatar On Index MOD
//

$template->assign_vars(array(
	// Welcome Avatar
	'L_NAME_WELCOME' => $lang['Welcome'],
	'L_NAME_WELCOME1' => $lang['Welcome1'],
	'L_WELCOMETEXT_PORTAL' => $lang['Welcometext_Portal'],
	'U_NAME_LINK' => $name_link,
	'AVATAR_IMG' => $avatar_img)
);
und da steht ja userdata ...... wird damit das profildata überschrieben?
Muß man das jetzt irgendwie zusammenschliessen damit immer das richtige Avatar angezeigt wird, oder vertragen sich die beiden nun gar nicht?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du verwendest hier AVATAR_IMG was auch die usercp_viewprofile.php verwendet. Nimm hier einen anderen Platzhalter, z. B. HEADER_AVATAR_IMG, damit die Werte nicht überschrieben werden...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Susan
Beiträge: 530
Registriert: Mo 03.Jan, 2005 22:55
Wohnort: Hamburg

Beitrag von Susan »

vielen lieben Dank :)
jetzt klappt das ohne Probleme. Hab PROFIL_AVATAR_IMG genommen. So weiss man genau welches Avatar das sein soll ;)

gruß
Susan
Antworten