Buddylist, Namens-Anzeige

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!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Da ich zugeben muss das der Einwurf mit dem mehrdimensionalem array ein wenig Gemein war, mal ein Tipp ganz anderer art:
Warum eigentlich den Usernamen ermitteln wenn er bereits zur Verfügung steht?
Wo auch immer dieser Code bzw. diese Funktion aufgerufen wird (Profil, Beitragsansicht, Mitgliederliste, bei den PNs, ...). Wenn man den Aufruf der Funktion geschickt platziert, dann existiert der Username bereits und muss nur an die Funktion übergeben werden. ;)
Also:

Code: Alles auswählen

function get_buddy_img(&$user_id, &$buddy_id, $username = '')
{
	global $db, $lang, $template, $theme, $images, $phpEx;
	global $HTTP_SERVER_VARS;

	$action = preg_replace("#(\&buddy=remove)+?#si", '', $HTTP_SERVER_VARS['REQUEST_URI']);
	$action = preg_replace("#(\&b=$buddy_id)+?#si", '', $action);
	$action = preg_replace('#.*?([a-z]+?\.' . $phpEx . '.*?)$#i', '\1', htmlspecialchars($action));

	$buddy = '';
	$buddy_img = '';
	if( $buddy_id != $user_id && $user_id != ANONYMOUS && $buddy_id != ANONYMOUS )
	{
		$sql = "SELECT buddy_id FROM " . BUDDIES_TABLE . " WHERE user_id = $user_id AND buddy_id = $buddy_id";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not retrieve buddy information', '', __LINE__, __FILE__, $sql);
		}

		if( $row = $db->sql_fetchrow($result) )
		{
			$temp_url = $action . ( ( preg_match('#\?#', $action) ) ? '&' : '?' ) . "buddy=remove&b=$buddy_id";
			$buddy_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_buddy_remove'] . '" alt="' . $lang['Remove_buddy'] . '" title="' . $lang['Remove_buddy'] . '" border="0" /></a>';
			$buddy = '<a href="' . $temp_url . '">' . $username . ' ' . $lang['Remove_buddy'] . '</a>';
		}
		else
		{
			$temp_url = $action . ( ( preg_match('#\?#', $action) ) ? '&' : '?' ) . "buddy=add&b=$buddy_id";
			$buddy_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_buddy'] . '" alt="' . $lang['Add_buddy'] . '" title="' . $lang['Add_buddy'] . '" border="0" /></a>';
			$buddy = '<a href="' . $temp_url . '">' . $username . ' ' . $lang['Add_buddy'] . '</a>';
		}

		$db->sql_freeresult($result);
	}

	return array($buddy_img, $buddy);
}
Jetzt kann man beim Funktionsaufruf den Namen des User (als dritten Parameter) mit übergeben und wenn man es nicht tut, dann wird er halt nicht Angezeigt.

Im Profil wäre der Aufruf somit:

Code: Alles auswählen

get_buddy_img (&$user_id, &$buddy_id, $profiledata['username']);
Und in der Viewtopic:

Code: Alles auswählen

get_buddy_img (&$user_id, &$buddy_id, $poster);
Und so weiter und so fort ...

Damit wäre auch das Problem gelöst das der Name (von diesem Code) nur Ermittelt werden kann, wenn der entsprechende User sich bereits in der Buddyliste befindet.

(Soviel nochmal zur Logik. ;))
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, das wäre natürlich dann auch die geschickteste Variante.

Prima, haben wir uns doch wieder "halbwegs" gerettet...
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
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich denke nicht das wir uns "Retten" müssen. Denn was geschrieben wurde, musste mal geschrieben werden um allgemein ein paar Tatsachen auf den Tisch zu bringen.

Dare hat schon recht, wenn er sagt das er meistens bereits einen Code vorgibt.
Das ändert aber nichts an der Tatsache das die darin enthaltenen Fehler so offensichtlich sind, das sie mit Grundkenntnissen gelöst werden können! Und von Grundkenntnissen kann man, nach 1,5 Jahren, nun wirklich ausgehen. Zumindest bei jemandem der so viel an seinem Board ändert, wie Dare, und darüber hinaus sogar bereits selber MODs veröffentlicht hat.

Nochmal einen allgemeinen Tipp an dich, Dare.
Wenn du etwas Programmierst, es partout nicht klappen will und du anfängst unruhig (oder sogar verzweifelt) zu werden. Dann mach eine Pause und beschäftige dich mit etwas komplett anderem.
Geh Spazieren, unter nimm etwas mit Freunden, schau fern oder leg dich ein paar Stunden schlafen, ... Scheiß egal was es ist. Es muss einfach nur etwas sein was dich ablenkt. Wenn du danach (evtl. erst am nächstem Tag) dir den Code nochmal in aller ruhe ansiehst, fällt alles schon viel leichter. Es könnte dir sogar passieren, das dir die Lösung einfällt wenn du gerade mit deiner Freundin zu gange bist (ist mir schon passiert). :D
Die Ablenkung ist das Zauberwort. Der Kopf brauch ne Pause. Das geht jedem so und ist vollkommen normal.

Und "Ich kann nicht" gibt es nicht!
Ja, die Lehrnfähigkeiten sind bei jedem Menschen anders. Dem einem fliegen die sachen Regelrecht zu und der andere muss ordentlich Büffeln.
Aber eins haben beide gemeinsam: Sie Lernen schneller wenn sie sich für eine sache wirklich Interessieren, es nicht Übertreiben (5 Stunden am Stück Büffeln bringt nichts) und vor allem dürfen sie nicht sagen "Ich kann das nicht" und sich auf die Vorgaben anderer verlassen!
An der fehlenden Interesse kann es bei dir nicht liegen. :) Bleiben nur noch die anderen 3 gründe. ;)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

[quote="AmigaLink";p="70757"] Es könnte dir sogar passieren, das dir die Lösung einfällt wenn du gerade mit deiner Freundin zu gange bist (ist mir schon passiert). :D[/quote]
Hey Schatz, sorry wir müssen aber mal Unterbrechen mir ist gerade die Lösung gekommen....
:rofl:
Nene, also pfui, sind hier kleine Kinder momentan? Dann sollen aber alle jetzt ruck zuck ins bettchen und die augen schließen... :rofl:

EDIT: Sorry, das Smilie hat ein Mitglied bei mir als "Avatar" und das passt eigentlich noch zu den Satz, weshalb ich mal so frei bin: Bild :D
Zuletzt geändert von Christian_N am Mo 05.Mär, 2007 23:51, insgesamt 2-mal geändert.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

*LOL* Nee, ganz so lief es natürlich nicht. :D
Und Kinderchen dürfen ruhig weiter mitlesen, solange keiner die sache beim Namen nennt oder näher beschreibt. ;)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

*mundzuschließtundschlüsselwegwirft* :D Aber würde mal sage zurück zum themen bevor wir hier noch kanns aus den Ursprung kommen :D

Aber zu deinem Beitag #26 kann ich nur soweit sagen, das ist mir auch schon oft passiert, das ich es mir schwer und kompliziert gemacht habe und am ende war die Lösung sowas von easy und Logik. :D
Wie heißt das dann so schön warum sich es leicht mache, wenn es auch schwer geht? (glaub war andersrum *gg*)
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Tztztz... Und ich meinte, hier gehts um die Buddyliste... Tztztz ;)
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
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

:rofl: dachte ich anfänglich auch
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Wenn ich ne Freundin habe, dann steht sie in meiner Buddyliste. ;) :D
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Kann mal jemand das <ontopic> hier entfernen ;) :bofl:
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
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Besser nicht. Sonst wird das Thema wohl möglich doch noch "frei ab 18". :)
Dabei hab ich doch nur einen gut gemeinten Tipp gegeben. ^5
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

So also ich habs zwar noch nicht ausprobiert, aber deine Lösung hört sich gut an amiga!

Schön dass wir uns jetzt alle wieder lieb haben! ;)
Ich werde dann in Zukunft wenn ich wieder Fragen hab versuchen meine Gehirnzellen besser anzustrengen bevor ich frage, und ihr seid nicht mehr so zynisch in euren Antworten, ... und alle sind zufrieden!
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

AMEN!
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
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

<Gebetsgesang an>
Oh Moni ich schlag dich im Domino
</Gebetsgesang aus>

:bofl:
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Antworten