Seite 1 von 2

Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 29.01.2009 13:57
von brummel
Hallo!
Ich möchte, dass ein bestimmter User unter "Wer ist online?" nicht angezeigt wird, egal ob er normal oder versteckt da ist.
Er soll auch von keinem Moderator gesehen werden. Ob ihn die Admins sehen, wäre egal.
Hat jemand einen Tipp?

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 30.01.2009 23:10
von Gumfuzi
versuche es mal damit (ungetestet):
öffne "viewonline.php":

finde:

Code: Alles auswählen

$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_type, u.user_colour, s.session_id, s.session_time, s.session_page, s.session_ip, s.session_browser, s.session_viewonline, s.session_forum_id
	FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . ' s
	WHERE u.user_id = s.session_user_id
		AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) .
		((!$show_guests) ? ' AND s.session_user_id <> ' . ANONYMOUS : '') . '
	ORDER BY ' . $order_by;
ersatze mit:

Code: Alles auswählen

$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_type, u.user_colour, s.session_id, s.session_time, s.session_page, s.session_ip, s.session_browser, s.session_viewonline, s.session_forum_id
	FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . ' s
	WHERE u.user_id = s.session_user_id
		AND u.username <> "unsichtbarer_name"
		AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) .
		((!$show_guests) ? ' AND s.session_user_id <> ' . ANONYMOUS : '') . '
	ORDER BY ' . $order_by;
das "unsichtbarer_name" einfach mit dem Namen ersetzen, der nicht angezeigt werden soll.

vorher aber Backup von der Datei machen!!!

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 30.01.2009 23:47
von brummel
Hab's mit username und user_id probiert. Da tut sich irgendwie nix, auch wenn mir die Stelle einleuchtend erscheint.
Cache habe ich auch geleert. Gibt's in der Richtung evtl. noch was zu beachten?

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 31.01.2009 00:05
von Gumfuzi
Stimmt, das ändert nur die Namen in der "großen" Liste (auf der eigenen Seite).

für den Index ist es woanders versteckt:

öffne:
includes/functions.php:

finde:

Code: Alles auswählen

	$sql = 'SELECT s.session_user_id, s.session_ip, s.session_viewonline
		FROM ' . SESSIONS_TABLE . ' s
		WHERE s.session_time >= ' . ($time - ((int) ($time % 30))) .
			$reading_sql .
		' AND s.session_user_id <> ' . ANONYMOUS;
ersetze mit:

Code: Alles auswählen

	$sql = 'SELECT s.session_user_id, s.session_ip, s.session_viewonline
		FROM ' . SESSIONS_TABLE . ' s
		WHERE s.session_time >= ' . ($time - ((int) ($time % 30))) .
			$reading_sql .
		' AND s.session_user_id <> 3
		 AND s.session_user_id <> ' . ANONYMOUS;
dort muss Du dann die id "3" durch die user_ID ersetzen, die ausgeblendet werden soll ;)

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 31.01.2009 00:10
von brummel
Danke! Funktioniert, wie gewünscht :grin:

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 31.01.2009 09:45
von Gumfuzi
Sehr gut!

wobei Du auch den ersten Code von mir ändern solltest, da der User sonst noch in der viewonline.php sichtbar wäre.

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 31.01.2009 10:02
von brummel
Gumfuzi hat geschrieben:Sehr gut!

wobei Du auch den ersten Code von mir ändern solltest, da der User sonst noch in der viewonline.php sichtbar wäre.
Hab' ich gemacht. Danke!

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 04.02.2009 08:35
von tafelsalz
Halli hallo und guten morgen :D

ich habe das so eingebaut aber noch zwei Sachen, wo gebastelt werden muss. :)

1. Ich habe dieses Snippet eingebaut: http://www.phpbb.de/community/viewtopic ... 5&t=184040
Das zeigt den Onlinestatus in der Mitgliederliste an, wenn ein User online ist. Ich stelle mir vor, dass es in etwa so geht:

aus

Code: Alles auswählen

<!-- IF memberrow.S_ONLINE -->&nbsp;{L_ONLINE}<!-- ENDIF -->
mache

Code: Alles auswählen

<!-- IF u.username  <> "unsichtbarer_name"-->0<!-- ENDIF --><!-- IF memberrow.S_ONLINE -->&nbsp;{L_ONLINE}<!-- ENDIF -->
Ich bin mir natürlich darüber klar, dass der Code so wahrscheinlich nicht funktioniert, möchte damit nur zeigen wie ich
denke, dass es klappt und zeigen, dass ich mir auch meine eigenen Gedanken mache und nicht nur nach Hilfe bettel :wink:


2. Ich habe die MOD "[RC] NV "Who Was Here?" 1.0.0-RC1" (http://www.phpbb.de/community/viewtopic ... 8&t=148975) eingebaut, dort wird
der Username dann aucn gelistet, was ich gerne unterbinden möchte.
Ich habe die install.xml mal hochgeladen, vielleicht kannst du auch dort mal gucken, wie ich den einen Benutzer dort ausbelden
kann, das wäre echt lieb! :) http://www.fo-to-run.de/NV_who_was_here ... nstall.xml

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 04.02.2009 16:46
von Miriam
Also bei mir funktioniert es einwandfrei.

Re: Einen bestimmten User ausblenen unter "Wer ist online?"

Verfasst: 05.02.2009 07:09
von tafelsalz
Was funktioniert bei dir einwandfrei?