Buddylist Anpassung

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
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Buddylist Anpassung

Beitrag von kellamaster »

Hey. Ich möchte die Buddylist gerne etwas anders haben:

1) in der profile_view_body.tpl sollen alle Freunde von jedem User sichtbar sein.

2) ich möchte das anstatt der Namensanzeige die Forum-Avatare von jedem User in klein zu sehen sind.


Ich hoffe ihr könnt mir helfen. Habe schon bei phpbb gepostet, aber da hilft mir keiner...

Danke schonmal im Voraus. Vielleicht können andere User die Veränderungen ja auch gebrauchen?!
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Da blieben Fragen über:
1. Welche Buddyliste hast Du installiert?
2. Die Anzeige der Buddies sollen sich in der Profilansicht auf den aktuellen User beziehen?
3. Stimmen Deine User dem Vorhaben zu? Ich weiß nicht, ob Buddylisten nicht was "privates" sind...
4. Hast Du genügend Platz, alle Avatare nochmals zu verkleinern und sind auch alle Avatare auf in Deinem Forum hochgeladen worden? Externe Avatare können nicht bearbeitet werden!

Und BTW:
Auch schon mal auf phpbb.de versucht?
Ich habe selber etwas wenig Zeit im Moment...
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!
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Beitrag von kellamaster »

...Auf phpbb antwortet mir garkeiner :(

1. Welche Buddyliste hast Du installiert?
- Buddylist 1.1.1

2. Die Anzeige der Buddies sollen sich in der Profilansicht auf den aktuellen User beziehen?
- genau, wenn ich bei einem User ins Profil gehe, möchte ich seine Freunde sehen.

3. Stimmen Deine User dem Vorhaben zu? Ich weiß nicht, ob Buddylisten nicht was "privates" sind...
- Ich interpretiere die Buddylist als eine Liste, wo man alle seine Freunde in dem Forum angeben kann. Deswegen ist es auch für die User spannend zu sehen, wer mit wem befreundet ist. Außerdem verlinkt es die User besser untereinander. Falls User dem System nicht zustimmen, brauchen sie ja keine Freunde einfügen.

4. Hast Du genügend Platz, alle Avatare nochmals zu verkleinern und sind auch alle Avatare auf in Deinem Forum hochgeladen worden? Externe Avatare können nicht bearbeitet werden!
- Ist es nicht möglich die Avatare aus dem Ordner zb auf 50% zu verkleinern?
- Ja die Avatare sind alle im images/avatars

Ich hoffe du findest ein paar Minuten...
Ich weiß nicht wie ich die buddylist umbauen muss, damit nicht die eigenen Buddys da stehen (ist ja kein Problem über {BUDDYLIST} in die profile_view_body, sondern die von der jeweiligen user_id.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Mal schaun, wie ich die Tage Zeit finde.
Ist ja nicht so komplex, daß man hier gewaltige Klimmzüge machen muss, denn das meiste ist ja bereits vorhanden...

EDIT
Das hier sollte es sein. Ist ein halbwegs brauchbares Ergebnis, wie ich finde:

Code: Alles auswählen

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

#
#-----[ FIND ]-----
#
//
// Generate page

#
#-----[ BEFORE, ADD ]-----
#
$buddyliste = '<table cellpadding="2" cellspacing="2" border="0" width="100%">';

$sql = "SELECT b.buddy_id, u.username AS buddy_name, u.user_avatar_type, u.user_allowavatar, u.user_avatar
		FROM " . BUDDIES_TABLE . " b, " . USERS_TABLE . " u
		WHERE b.user_id = " . $profiledata['user_id'] . "
			AND u.user_id = b.buddy_id
		ORDER BY u.username ASC";
if(!($result = $db->sql_query($sql)))
{
	message_die(GENERAL_ERROR, 'Could not query buddies information', '', __LINE__, __FILE__, $sql);
}

$i = 0;
while($row = $db->sql_fetchrow($result))
{
	$avatar_type = $row['user_avatar_type'];
	$avatar_allowed = $row['user_allowavatar'];

	$avatar = '';
	$poster_avatar = '';
	if ($avatar_allowed)
	{
		switch( $row['user_avatar_type'] )
		{
			case USER_AVATAR_UPLOAD:
				$avatar = $board_config['avatar_path'] . '/' . $row['user_avatar'];
				$poster_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" {SIZE} />' : '';
				break;
			case USER_AVATAR_REMOTE:
				$avatar = '';
				$poster_avatar = '';
				break;
			case USER_AVATAR_GALLERY:
				$avatar = $board_config['avatar_gallery_path'] . '/' . $row['user_avatar'];
				$poster_avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" {SIZE} />' : '';
				break;
		}

		if ($avatar)
		{
			$avatar_size = 30;
			$pic_size = getimagesize($avatar); 
			if ( $pic_size !== FALSE )
			{
				$pic_width = $pic_size[0]; 
				$pic_height = $pic_size[1]; 

				if ( $pic_width > $avatar_size )
				{
					if ($pic_width > $pic_height)
					{
						$width = $avatar_size;
						$height = $avatar_size * ($pic_height/$pic_width);
					}
					else
					{
						$height = $avatar_size;
						$width = $avatar_size * ($pic_width/$pic_height);
					}

					$size = 'width="'.$width.'" height="'.$height.'"';
				}
				else
				{
					$size = '';
				}
			}
			else
			{
				$size = '';
			}
		}
		else
		{
			$size = '';
		}

		$poster_avatar = str_replace("{SIZE}", $size, $poster_avatar);
	}

	if ($i == 0)
	{
		$buddyliste .= '<tr>';
	}

	$buddyliste .= '<td>' . $poster_avatar . ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['buddy_id']) . '">' . $row['buddy_name'] . '</a></td>';

	if ($i == 3)
	{
		$buddyliste .= '</tr>';
		$i = -1;
	}
	$i++;
}
$db->sql_freeresult($result);

$buddyliste .= '</table>';

#
#-----[ FIND ]-----
#
	'POST_PERCENT_STATS' => sprintf($lang['User_post_pct_stats'], $percentage), 

#
#-----[ AFTER, ADD ]-----
#
	'L_BUDDYLIST' => $lang['Buddylist'],
	'BUDDYLIST' => $buddyliste,

#
#-----[ OPEN ]-----
#
templates/subSilver/profile_view_body.tpl

#
#-----[ FIND ]-----
#
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr> 
	<td align="right"><span class="nav">
{JUMPBOX}</span></td>
  </tr>
</table>

#
#-----[ BEFORE, ADD ]-----
#


<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
	<td class="row2"><span class="gen"><b>{L_BUDDYLIST}</b></span></td>
</tr>
<tr>
	<td class="row1"><span class="genmed">{BUDDYLIST}</span></td>
</tr>
</table>


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Zuletzt geändert von oxpus am Fr 17.Nov, 2006 16:28, insgesamt 4-mal geändert.
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!
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Beitrag von kellamaster »

Erstmal ein mega Dankeschön! Das klappt perfekt, genau wie ichs haben wollte.

Habe nur eine Nachfrage noch...

Ich will das immer 4 User (Bild<br />Username) nebeneinander haben!
Könntest du das noch da einbauen?

Wäre super nett!

Danke
Zuletzt geändert von kellamaster am Do 16.Nov, 2006 17:15, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Würde ich lassen, da das dann bei kleineren Auslösungen und längeren Usernamen auch wieder zu unschönen Umbrüchen führen kann. Und dann wäre das Layout komplett hinüber...
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!
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Beitrag von kellamaster »

okay, aber ich denke wenn 4 in einer reihe sind, wäre noch genug platz, damit es grafisch eig ganz gut aussieht.

Ist das viel Arbeit? Wäre cool, wenn du mir einfach sagst wie und dann kann ich ja daran rumprobieren...

So wird das ne endlos lange Leitung nach unten... ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich habe den Code angepasst.
Einfach den Part für die usercp_viewprofile.php ersetzen und hoffen, daß ich keinen Fehler gemacht habe...
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!
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Beitrag von kellamaster »

Im Moment macht er bei jedem Eintrag ein <tr><td>
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öh, ja, da hatte ich tatsächlich den Zähler vergessen.
Ich hab den Code nochmal korrigiert...
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!
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Beitrag von kellamaster »

Und wieder einen Menschen wunschlos glücklich gemacht...Danke!

Achso, Momentan ist wenn ein User kein Avatar hat, mein Avatar zu sehen. Wie komm ich da auf den default?
Also wenn ein User keinen Avatar hat, dann wird der letzte davor genommen!
Zuletzt geändert von kellamaster am Fr 17.Nov, 2006 16:14, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich habe es geändert, aber um es für Dich jetzt mal abzukürzen:
Finde in der usercp_viewprofile.php die Zeilen

Code: Alles auswählen

	if ($avatar_allowed)
	{
		switch( $row['user_avatar_type'] )
und füge davor ein:

Code: Alles auswählen

	$avatar = '';
	$poster_avatar = '';
Damit sollte auch dieser letzte Wunsch erfüllt worden sein ;)
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!
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Beitrag von kellamaster »

...Falls einem mal gaaaaaaaaanz langweilig sein sollte: (gibts sowas?)

Wenn ich einen Freund hinzufüge,
möchte ich, dass dieser User eine Mail bekommt
Du wurdest von XXX als Freund hinzugefügt!
Aber wirklich nur falls Zeit, ich weiß ich bin ne Nervensäge! ^1
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann müssten aber auch schon Ostern und Weihnachten auf einen Tag fallen..... :(
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!
kellamaster
Beiträge: 44
Registriert: Do 09.Mär, 2006 10:55

Beitrag von kellamaster »

Ist das echt so kompliziert??? Hätte ich garnicht gedacht...
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Kompliziert nicht, aber etwas aufwendig...
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!
Antworten