Last Visit und Show Bots bei Gästezählung verheiraten

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
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Last Visit und Show Bots bei Gästezählung verheiraten

Beitrag von modbo »

Deine phpBB Version: Vanilla phpBB 2.0.17
MODs: Ja
Dein Wissensstand: Grundwissen
Link zu Deinem Forum: http://www.svbomber.de

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?
Last Visit Mod und Show Bots in Online List installiert.


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




Fehlerbeschreibung und Nachricht

Ich habe beide zuvor ^^ genannten Mods installiert. Funktionieren so weit.

Logischerweise werden Bots als Gäste mitgezählt, sodass sie in die Berechnung der Tagesbesucher mit einfließen. Teilweise ist ein Bot auch mehrfach gleichzeitig auf dem Board unterwegs, was die Anzahl der Gäste mächtig nach oben schraubt.

Bestünde die Möglichkeit zwischen einem wirklichen Gast und einem Bot zu separtieren, ähnlich der Anzeige in der "Wer ist Online" Liste?

Als Ergebnis sollte dann in der Tageszählung folgendes als Beispiel auftauchen:
Heute haben 73 Benutzer diese Seite besucht: 12 registrierte, kein versteckter 23 Gäste und 38 Bots.
Registrierte Benutzer: User1, User2, User3, ... User12
Bots: bot, slurp, googlebot, ...
Das fänd ich mal richtig gut :D

PS: Alternative wäre einfach, Bots würden nicht als Gäste gezählt ;)
Zuletzt geändert von modbo am Mo 22.Aug, 2005 00:23, 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 »

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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Öhm :confused: ja, jetzt wie? Den hab ich doch installiert.

//edit: allerdings die v1.1.0 nicht die beta ...

ABEr das Problem liegt ja in der Last Visit Anzeige!
Zuletzt geändert von modbo am Mo 22.Aug, 2005 00:51, 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 »

Dazu hier mal der Auszug meines Last Visit Mods.
Hier ist in der SQL-Abfrage s.SearchBot hinzugekommen und weiter unten die Trennung, bzw. Aufteilung nach Bots und User.
Vergleiche mal mit Deinem Part, aber nicht unbedingt so übernehmen. Ich habe da sicherlich schon einiges wieder an OXPUS.de angepasst.

Code: Alles auswählen

//
// Get basic (usernames + totals) online
// situation
//
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$bots_online = 0;
$bots_list = "";
$online_userlist = '';
$l_online_users = '';

$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($forum_id) : '';
$sql = "SELECT u.username, u.user_browser, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip, s.searchbot
	FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
	WHERE u.user_id = s.session_user_id
		AND s.session_time >= ".( time() - 300 ) . "
		$user_forum_sql
	ORDER BY u.username ASC, s.session_ip ASC";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}

$userlist_ary = array();
$userlist_visible = array();

$prev_user_id = 0;
$prev_user_ip = $prev_session_ip = '';

while( $row = $db->sql_fetchrow($result) )
{
	// User is logged in and therefor not a guest
	if ( $row['session_logged_in'] )
	{
		// Skip multiple sessions for one user
		if ( $row['user_id'] != $prev_user_id )
		{
			$homeuser = $row['user_id'];
			$user_online_link = $row['username'];

			if ( $row['user_allow_viewonline'] )
			{
				$logged_visible_online++;
			}
			else
			{
				$logged_hidden_online++;
			}
		}

		$prev_user_id = $row['user_id'];
	}
	else
	{
		// Skip multiple sessions for one user
		if ( $row['session_ip'] != $prev_session_ip )
		{
			$searchbot = areyouabot($row['searchbot'], FALSE);
			if (!strlen($searchbot))
			{
				$guests_online++;
			}
			else
			{
				// Wenn der Bot noch nicht in der Liste eingetragen
				if (strpos($bots_list, $searchbot) === false)
				{
					$bots_online++;

					if (!strlen($bots_list))
						$bots_list .=  $searchbot;
					else
						$bots_list .=  ', ' . $searchbot;
				}
			}
		}
	}

	$prev_session_ip = $row['session_ip'];
}
$db->sql_freeresult($result);
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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Dauert jetzt leider immer etwas mit einer Antwort. Ich bin noch bemüht, oxpus.de @work wieder aus dem "pornografischen" Filter zu bekommen :(

Aus welcher Datei stammt denn die Passage?
Ich hab mittlerweile ShowBotsinOnlineList 1.20 beta installiert. Funktioniert soweit, bis auf die Anzeige der Bots im ACP. Keine Ahnung, warum nicht. Sonst gehts überall. Hab bei Netzmeister schon gepostet.

Deinen Auszug müsste ich dann mal gegenchecken, wenn du mir sagst, woher der stammt. Ich vermute, wir haben da unterschiedliche Versionen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich habe da sicher eine andere, wenn aber ähnliche Version.
Dieser ist aus dem Index-Part des Last Visit Mod.
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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Steckt bei mir in ähnlicher Form in der page_header.php, steig da aber nicht durch.
Heute haben 1234 Benutzer diese Seite besucht
Enthält die Summe den bei dir jetzt auch die Anzahl an Bot-besuchen, oder werden die dort nicht mitgezählt? Bei mir zählt er die leider mit.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Daher muss der Code ja erweitert werden, um eben die Bots von den Usern zu trennen.
Wenn Du den SearchBot MOD eingebaut hast, dann häng doch mal Deine page_header.php hier an...
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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Ok. Hier ist sie.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Bots werden bei Dir schon korrekt gezählt, also bei der Anzahl der gerade aktiven User.
Bei der Anzeige, wer heute auf Deinem Forum aktiv war, zählen die Bots weiterhin als Gäste. Soll genau das abgestellt 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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

[quote="oxpus - Di 23.Aug, 2005 10:01";p="42205"]Die Bots werden bei Dir schon korrekt gezählt, also bei der Anzahl der gerade aktiven User.
Bei der Anzeige, wer heute auf Deinem Forum aktiv war, zählen die Bots weiterhin als Gäste. Soll genau das abgestellt werden?[/quote]
Korrekt. genau so sollte es sein. Optional halt im Ausgangsbeitrag gepostete Variante, welche weiter detaillieren würde :)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Kleine Schwierigkeit:
Das ist nur machbar, wenn man die Gäste auch nicht mitzählt, da an dieser Stelle nur die Userdaten, aber nicht die Session Daten abgefragt werden.
Bei einer andere Methode könnte ich keine fehlerfreie Zählung garantieren...
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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Mmmh. Meinst du jetzt gernerell nciht zählen oder in der Last visit Anzeige?

Code: Alles auswählen

Heute hat X Benutzer diese Seite besucht: X registrierter, kein versteckter und kein Gast. 1 davon innerhalb der letzten Stunde.
Hier würde Gast (und letzte Stunde) dann wegfallen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, Gast würde wegfallen und damit auch die Bots.
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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Dann lassen wir es mal, wie es ist ;)

Trotzdem danke für deine Bemühungen.
Antworten