Neuster Benutzer: Username mit Vorname ersetzen...

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
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Neuster Benutzer: Username mit Vorname ersetzen...

Beitrag von Christian_N »

Deine phpBB Version: 2.0.15
Typ Deines phpBB Forums: Standard phpBB (auch Vanilla genannt)
MODs: Ja
Dein Wissensstand: Grundwissen
Link zu Deinem Forum: http://www.fanclub-littlechantal.de/test

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?



Was hast Du bereits versucht um das Problem zu lösen?




Fehlerbeschreibung und Nachricht

Hallo Profis *gg*
Also ich hab im Portal stehn
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');
$total_topics = get_db_stat('topiccount');
$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username'];
$newest_uid = $newest_userdata['user_id'];
wo wird dies jetzt gespeichert genau (rot markiert)?
Ich mein in der DB konnt ich nichts finden wo dies steht.
Aber irgendwo wird ja der neuste benutzer gespeichert um ihn auszulesen und in Portal dann anzuzeigen.

Ich hab ja schon das er mir beim anzeigt Hallo Vorname, statt benutzername, bei die Geburste zeigt er auch schon statt die benutzername die vornamen an.

Was mir zur Zeit nur probleme macht ist bei der Live Statistik "Letzter:" also der neuste Benutzer... der bekomm ich nicht hin.

Hab den Grün markierte Bereich schon geändert gehabt in

Code: Alles auswählen

$newest_user = $newest_userdata['user_vorname'];
weil in der User Tabelle user_vorname es ist für die Vornamen.

Leider war aber bei "Letzter:" im Portal das Feld dann leer also wurde garnix angezeigt...

Daher vermute ich mal das der rot markiere bereich noch was zu sagen hat, irgendwo wird ja ausgelesen wer sich zu letzt angemeldet hat nur wo?

Ich hoffe das ich verstande wurde was ich genau meine und danke schonmal für jede hilfe.

Gruß SuesseMaus28884
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 »

Du vermutest richtig! :)
Die rote zeile ruft die Funktion get_db_stat() auf und füllt die Variable $newest_userdata mit dem ergebnisen aus dieser Funktion.

Die Funktion wiederum findest du in includes/functions.php und wenn du den CH nicht eingebaut hast, sieht sie so aus:

Code: Alles auswählen

function get_db_stat($mode)
{
	global $db;

	switch( $mode )
	{
		case 'usercount':
			$sql = "SELECT COUNT(user_id) AS total
				FROM " . USERS_TABLE . "
				WHERE user_id <> " . ANONYMOUS;
			break;

		case 'newestuser':
			$sql = "SELECT user_id, username
				FROM " . USERS_TABLE . "
				WHERE user_id <> " . ANONYMOUS . "
				ORDER BY user_id DESC
				LIMIT 1";
			break;

		case 'postcount':
		case 'topiccount':
			$sql = "SELECT SUM(forum_topics) AS topic_total, SUM(forum_posts) AS post_total
				FROM " . FORUMS_TABLE;
			break;
	}

	if ( !($result = $db->sql_query($sql)) )
	{
		return false;
	}

	$row = $db->sql_fetchrow($result);

	switch ( $mode )
	{
		case 'usercount':
			return $row['total'];
			break;
		case 'newestuser':
			return $row;
			break;
		case 'postcount':
			return $row['post_total'];
			break;
		case 'topiccount':
			return $row['topic_total'];
			break;
	}

	return false;
}
Ersetz diese Zeile

Code: Alles auswählen

			$sql = "SELECT user_id, username
mit dieser

Code: Alles auswählen

			$sql = "SELECT user_id, username, user_vorname
und dir steht in Zukunft die Variable $newest_userdata['user_vorname'] zur verfügung. :)
Zuletzt geändert von AmigaLink am Mi 18.Mai, 2005 00:38, insgesamt 1-mal geändert.
[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 »

Danke danke danke vielmals :anbet:anbet:anbet Auf dich hab ich gewartet :) den wusste das ich hier geholfen bekomm :D also ich hätt es irgendwann gefunden nur wann wär die frage in 10 jahre vielleicht bis ich alle Datei durch gegangen wäre *gg*
Da ich als erste die Datenbank durch bin *g*

Mir kommt da aber auch noch eine andere Frage auch, wollt ich darmals schon bei dem phpBB Plus nachfrage, aber da ich jetzt ein Standard phpBB (auch Vanilla genannt) und meine MODs die ich brauch selbst einbaue, frag ich es jetzt *g*

Wie ist es möglich das bei Live Statistik beim "Letzter:" (also neuster Benutzer) der mit die Farbgruppe angezeigt wird die ihm zugeteilt wurde?

Da ich es so eingerichtet habe das bei der Anmeldung die Mitglieder automatisch in die Benutzergruppe "Mitglieder" hinzugefügt werden und diese Benutzergruppe hat eine Farbe (Lila) so das alle Mitglieder Lila angezeigt werden.
Hätt ich doch es gerne wenn möglich das der Neuste Benutzer Lila in der Live Statistik hervorgehoben wird. :)

Ich mein könnte es machen normal aber wenn ich jetzt den neueste benutzer eine andere Farbgruppe manuell zuteil wär er immer noch Lila dort wenn sich in der Seit kein neuer angemeldet hat er soll also nach die Farbgruppe gehn.

Ist es möglich zu machen?
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 »

Normalerweise ganz einfach mittels

Code: Alles auswählen

$newest_user = color_group_colorize_name($newest_userdata['user_id'], true);
Das gibt aber den normalen Usernamen eingefärbt zurück und du möchtest ja den Vornamen des jeweiligen Users. Von daher müste der color groups mod bzw. die Funktion color_group_colorize_name() umgeschrieben werden. :(
[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 »

Zum Einfärben des letzten Users finde in der index.php

Code: Alles auswählen

        	'NEWEST_USER' => sprintf($lang['Newest_user_plus'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),
und ersetze diese Zeile mit

Code: Alles auswählen

        	'NEWEST_USER' => sprintf($lang['Newest_user_plus'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', color_group_colorize_name($newest_uid,true), '</a>'),
Und zum automatischen Eintragen neu registrierter User in eine Gruppe siehe hier: http://www.oxpus.de/fpost-11874.html#11874

EDIT
@AmigaLink
Auf dem Plus 1.5.2 ist der Text vor dem neuesten User mit in der Zeile enthalten, aber im Grundsatz ist Dein Ansatz nicht verkehrt ;)
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 »

ich habe die color_group_colorize_name() in der functions_color_groups.php umgeschrieben, da die geburstage ja auch der vorname angezeigt werde sollte...

Daher sollte deins funktionieren, ich versuch es mal aus und meld mich wieder...

Ansonste versuch es von oxpus den code mal :)

@oxpus Das mit dem automaitschen eintragen in ne Benutzergruppe hab ich schon gemacht gehabt ;)

EDIT: Es klappte von AmigaLink den Code zeigt an der Letzte Benutzer in die Farbgruppe :)

EDIT2: Shit lol, sehe da alles jetzt mit user_id ist zwecks die farbe zu zuordnen, wird es überall dann der benutzername mit vorname ersetzt das wollt ich aber net ich wollt im memberlist, benutzername in die farbgruppe lasse im forum und so :(
Da muss man wohl des zu stände dulpizieren geht das? das user_id2 dann vorname ist und des user_id benutzername?

Sollte eigentlich gehn wenn man alles zuständige dulpizieren tut oder?
Zuletzt geändert von Christian_N am Mi 18.Mai, 2005 02:05, 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 »

Mach doch einfach eine Kopie von der color_group_colorize_name() und benenne die von dir geändere in color_group_colorize_vorname() um. ;)
[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 »

das meinte ich mit dulpizieren :D Also sollte es gehn dann? oki das mach ich aber den mittag erst wenn ich ausgeschlafen habe...

Meld mich bei probleme die sicher auftauchen werden, dann hier :)
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 »

Mir ist gerade noch was feines eingefallen. :)
Probier das mal:

Code: Alles auswählen

#
#----------[ OPEN ]-------------------------------------
#

includes/functions_color_groups.php

#
#----------[ FIND ]-------------------------------------
#

function color_group_colorize_name($user_id, $no_profile = false) 

#
#----------[ REPLACE WITH ]-----------------------------
#

function color_group_colorize_name($user_id, $no_profile = false, $first_name = false) 

#
#----------[ FIND ]-------------------------------------
#

      $sql = "SELECT user_color_group, username, user_id FROM " . USERS_TABLE . " 

#
#----------[ REPLACE WITH ]-----------------------------
#

      $sql = "SELECT user_color_group, username, user_vorname, user_id FROM " . USERS_TABLE . " 

#
#----------[ FIND ]-------------------------------------
#

         $username = $row['username']; 

#
#----------[ AFTER, ADD ]-------------------------------
#

         $user_firstname = $row['user_vorname']; 

#
#----------[ FIND ]-------------------------------------
#

   // Make the profile link or no and return it // 
   if ($no_profile) 

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

if ($first_name) 
{ 
	// Make the profile link or no and return it // 
	if ($no_profile) 
	{ 
		$user_link = "<span $style_color>$user_firstname</span>"; 
	} else { 
		$user_link = '<a href="' . append_sid($phpbb_root_path."profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id") . '" '.$style_color.'>'.$user_firstname.'</a>'; 
	} 
} else {

#
#----------[ FIND ]-------------------------------------
#
   
         $user_link = '<a href="' . append_sid($phpbb_root_path."profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id") . '" '.$style_color.'>'.$username.'</a>'; 
   } 

#
#----------[ AFTER, ADD ]-------------------------------
#

}

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
Und dann überall wo du den eingefärben Vornamen, anstelle des Usernamens, haben möchtest den entsprechenden Platzhalter mittels

Code: Alles auswählen

color_group_colorize_name($userdata['user_id'], true, true);
definieren. :D

Ist nicht getestet, müsste aber eigentlich gehen. :)
[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 »

Habs so mal eingebaut wie es schriebs es klappt so prima, danke dir :)
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 »

Keine Ursache.
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 »

Freut mich das es geht! :)
(und wieder was gelernt)
[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 »

nachdem hier: http://www.oxpus.de/ftopic-2876.html zeigt er die vorname net mehr an überall wo ich mit ein zusätzliche , true gemacht hatte für vorname bleibt das feld jetzt leer :(

ob man da noch was dran machen kann damit es wieder funktioniert? mit der änderrung (fix)?
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 »

Hast du meinen code denn in den fix eingebaut?
Der überschreibt ja schließlich den bereich der für den vornamen geändert wurde. ;)
[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 »

Das ist mir klar und hab auch es versucht den code von dir dort einzubaun aber dann hab ich nur fehler gehabt, irgendwie stimmte da was net, muss wohl was noch anders geändert werden an den fix.
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 »

Schläftst du eigentlich nie? ;)

Ich schau die tage mal in den fix. Vielleicht fällt mir ja was auf. :)
*jetzt erstmal is bett geh*
[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 - Sa 28.Mai, 2005 04:20";p="33490"]Schläftst du eigentlich nie? ;)

Ich schau die tage mal in den fix. Vielleicht fällt mir ja was auf. :)
*jetzt erstmal is bett geh*[/quote]
Naja, schlafe tue ich meisten erst gegen 5uhr meisten. und bis 12-13uhr dann muss ich auch mich langsam fertig mache für Arbeit, falls es ein do. fr. oder sa. ist :D

Oki, hoffe das es hinbekommst... hab erstmal den fix nochmal rausgenommen damit die anzeige erstmal wieder funktioniert.

EDIT:
Das Thema scheint eingeschlafen zu sein darmals *gg*
Hab jetzt nur nochmal nach geschaut, da ich in die neue Seite die ich gerade aufbaue, den Cache von Beitrag #13 eingebaut habe und wollte wissen wie wir es auf die alte Seite darmals gelöst hatte, aber gab keine lösung, daher hab ich die komplette funktion color_group_colorize_name() kopiert und darunter eingefügt in der functions_color_groups.php - diese hab ich dan in color_group_colorize_vorname() unbenannt und überall wo in dieser funktion "username" stande in "user_vorname" geändert, dann testweisse mal im statistic block den den befehl

Code: Alles auswählen

$newest_user = color_group_colorize_name($newest_userdata['user_id'], true);
in diesen geändert

Code: Alles auswählen

$newest_user = color_group_colorize_vorname($newest_userdata['user_id'], true);
Jetzt zeigt eingefärbt der beim Letzten: als Vorname...
Also soweit klappt es damit schonmal :)

Hoffe das es auch mit dem Cache ohne probleme klappt... habe in der funktion color_group_colorize_vorname() auch extra es so gemacht

Code: Alles auswählen

   // Version cache mod start 
   // Change following two variables if you need to: 
   $cache_update = 86400; // 1 day cache timeout. change it to whatever you want 
   $cache_file = $phpbb_root_path . '/cache/cg-vorname.'.$phpEx;
also aus die datei cg_user.php die im cache angelegt wird in cg-vorname.php geändert, damit es ggf. keine komplikationen zwischen denne gibt.

EDIT2: Scheint zu gehn, hab im cache ordner beide dateien in der cg_user zeigen die mit den username an und in der cg_vorname sind die selbe nur statt mit username eben vorname drin... :)
Zuletzt geändert von Christian_N am Fr 03.Mär, 2006 17:03, insgesamt 1-mal geändert.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Antworten