Wer ist Online Box

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
Feuerball
Beiträge: 636
Registriert: Mi 15.Sep, 2004 22:11

Wer ist Online Box

Beitrag von Feuerball »

Deine phpBB Version: 2.0.15
Typ Deines phpBB Forums: Standard phpBB (auch Vanilla genannt)
MODs: Nein
Dein Wissensstand: Einsteiger
Link zu Deinem Forum: [url]http://[/url]

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?
siehe dieses Thema

http://www.oxpus.de/fpost-32114.html#32114



Was hast Du bereits versucht um das Problem zu lösen?
Die komplette Tabelle aus der Datenabnk phpbb_users in die neue eingefügt.



Fehlerbeschreibung und Nachricht

soweit habe ich die User ins neue Forum bekommen, aber wie,wo kann ich jetzt noch die Online Statistik anpassen, in der "Wer ist Online?" Box ?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Warum willst Du diese Box anpassen?
"Wer is Online" sagt nur aus, wer wirklich gerade aktiv am Board angemeldet ist.
Spätestens nach 5 Minuten ist das eh wieder überholt.

@Alle anderen:
Wer jetzt meinst, einfach die Session-Tabelle zu übernehmen, sollte sich schnell wieder von diesem Gedanken verabschieden!
Die Sessions stellen das einzigste Bollwerk des phpBB gegen Hacker dar und sollte nie einfach mal übernommen werden.
Dann ist es besser, die Sessions im neuen Forum auch wirklich neu erstellen zu lassen, d.h. die User melden sich wie gewohnt an und sind damit online.
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!
Feuerball
Beiträge: 636
Registriert: Mi 15.Sep, 2004 22:11

Beitrag von Feuerball »

eigentlich wollte ich nur "Der neueste Benutzer ist" ändern, aber wenn sich die User neu Registrieren müßen kann ich das auch sein lassen. Wofür gibt es die funktion Massen eMail ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nein, nicht registrieren, anmelden!
Und Du schriebst von der "Wer ist Online" Box.
Sorry, ich wusste nicht, daß Du den letzten User meinst.

Der wird nach der Anmeldezeit abgefragt. Wenn alle anderen User, die Du hinzugefügt hast, (logischerweise) früher registriert sind, wird keiner daraus als "Neuester Benutzer" angezeigt.
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 »

Der wird nach der Anmeldezeit abgefragt. Wenn alle anderen User, die Du hinzugefügt hast, (logischerweise) früher registriert sind, wird keiner daraus als "Neuester Benutzer" angezeigt.
Das stimmt nicht ganz. Der zuletzt angemeldete User wird wenn der CH verbaut ist seperat in der Datenbank gespeichert um Zeitaufwändige vergleiche zu sparen (phpbb_config - record_last_username + record_last_userid) und ansonsten anhand der höchsten User_id ermittelt. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Feuerball
Beiträge: 636
Registriert: Mi 15.Sep, 2004 22:11

Beitrag von Feuerball »

@ oxpus
mit der Wer ist Online Box meinte ich eigentlich alles, aber nach demm ich in der DB geschaut hatte (so gut kenn ich mich da nicht aus) habe ich es gesehen das das nicht so einfach ist. OK hätte vieleicht erst gucken sollen und dann Fragen. mein Fehler.

PS
wie heist die Schrift für deine Buttons und welche größe ist das zb Online, Speichern usw ?

@AmigaLink
ja den CH Mod habe ich verbaut und habs auch gefunden in der DB ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

@AmigaLink
Vom CH Mod bin ich jetzt nicht ausgegangen, war hier auch nicht die Rede (oder ich bin betriebsblind).
Aber jetzt weiß ich auch endlich wieder, wo ich diese Felder her habe ;)

@Feuerball
Schau mal nach "Buttongenetaror" in der Knowledge Base. Da sind die Button her.
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 »

@ oxpus
Vom CH Mod bin ich jetzt nicht ausgegangen, war hier auch nicht die Rede (oder ich bin betriebsblind).
Der CH wurde vor meinem posting noch nicht erwähnt. Ich wollte nur 2 Fliegen mit einer Klappe schlagen um weitere Fragen auszuschließen bzw. im vorfeld zu beantworten. :D
Deine Antwort war falsch, weil der neuste User nicht anhand des Anmeldedatums ermittelt wird, sondern anhand der höchsten user_id!
Da dies bei eingebautem CH aber ebenfalls nicht der Fall ist. Hab ich gleich dabeigeschrieben das er (bzw. der cache vom CH) den neusten User direkt in der Datenbank speichert, wodurch er im board_config array jederzeit zur verfügung steht. :)
Nebenbei bemerkt sehe ich da keinen goßen sinn drin. Denn die abfrage anhand der letzten user_id verursacht nur einen querie und dürfte von daher das Board nicht gerade ausbremsen. ;)
Der große Nachteil der CH methode ist nämlich: Wenn man den letzten User löscht, wird er trotzdem noch als neuster User angezeigt, da er ja weiterhin in der borad_config gespeichert ist! :(
(Das wollte ich bei mir immer schonmal ändern, verschiebe es aber ständig.)
[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 »

Deine Antwort war falsch, weil der neuste User nicht anhand des Anmeldedatums ermittelt wird, sondern anhand der höchsten user_id!
Stümmt, hatte ich auch zu spät entdeckt :!: *zu lange her, ohne den CH Mod*

Und ich ändere das nicht, denn ich habe hierzu neben anderen Prüfungen neue Routinen im DB Maintenance Mod drinnen, der die DB schön von User-Altlasten befreit. Mit manuellem Aufruf.
Bin einfach zu faul, die User-Delete-Funktion sauber zu erweitern...

EDIT
Für den neuesten User habe ich jetzt folgenden Funktionsaufbau:

Code: Alles auswählen

function get_db_stat($mode)
{
	global $board_config, $db;

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

		case 'newestuser':
			$sql = "SELECT user_id, username
				FROM " . USERS_TABLE . "
				WHERE user_id <> " . ANONYMOUS . "
				AND user_active = 1
				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)) )
	{
		// first inits
		if ( !isset($board_config['max_users']) || !isset($board_config['record_last_user_id']) || !isset($board_config['record_last_username']) )
		{
			users_stats();
			cache_birthday();
		}
		if ( !isset($board_config['max_posts']) || !isset($board_config['max_topics']) )
		{
			board_stats();
		}
		switch ( $mode )
		{
			case 'usercount':
				return intval($board_config['max_users']);
				break;
			case 'newestuser':
				$row = array( 'user_id' => intval($board_config['record_last_user_id']), 'username' => $board_config['record_last_username']);
				return $row;
				break;
			case 'postcount':
				return intval($board_config['max_posts']);
				break;
			case 'topiccount':
				return intval($board_config['max_topics']);
				break;
		}
	}

	$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;
}
Damit wird zunächst aus der DB gelesen. Schlägt das fehl, kommen zumindest die Daten aus der phpbb_config dran.
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 »

Du hast den DB Maintenance erweitert? *lechtz*
[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 »

Na dann schau mal hier: http://www.oxpus.de/fpost-32271.html#32271

Ich finds so bequemer, da nicht jeder "User-Löschen"-Mod alle Daten sauber entfernt und man hiermit bequem aufräumen kann.
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