Seite 1 von 1

PHPBB BOT

Verfasst: 16.12.2010 13:45
von Poke-Area
Hallo.
Wie kann ich es so machen, dass ein bestimmter User IMMER in der Wer ist online Liste angezeigt wird?
Also er soll "für immer" online gezeigt werden, auch wenn er nicht gerade online ist..
Benutze phpbb 3.0.8.
Gruß

Re: PHPBB BOT

Verfasst: 16.12.2010 15:33
von cYbercOsmOnauT
Hallo,

ich habe eine Lösung im Kopf die Du mal ausprobieren kannst. Getestet ist sie somit nicht. In der /includes/functions.php findest Du die Funktion obtain_users_online. Darin ersetz den Block

Code: Alles auswählen

	while ($row = $db->sql_fetchrow($result))
	{
		// Skip multiple sessions for one user
		if (!isset($online_users['online_users'][$row['session_user_id']]))
		{
			$online_users['online_users'][$row['session_user_id']] = (int) $row['session_user_id'];
			if ($row['session_viewonline'])
			{
				$online_users['visible_online']++;
			}
			else
			{
				$online_users['hidden_users'][$row['session_user_id']] = (int) $row['session_user_id'];
				$online_users['hidden_online']++;
			}
		}
	}
durch

Code: Alles auswählen

	$botId = 2; // Die Userid des Botusers. Ich habe hier 2 - also den Founder - gesetzt.
	$botOn = false;
	while ($row = $db->sql_fetchrow($result))
	{
		// Falls der Botuser wirklich on ist soll er nicht doppelt erscheinen
		if ($row['session_user_id'] = $botId)
			$botOn = true;

		// Skip multiple sessions for one user
		if (!isset($online_users['online_users'][$row['session_user_id']]))
		{
			$online_users['online_users'][$row['session_user_id']] = (int) $row['session_user_id'];
			if ($row['session_viewonline'])
			{
				$online_users['visible_online']++;
			}
			else
			{
				$online_users['hidden_users'][$row['session_user_id']] = (int) $row['session_user_id'];
				$online_users['hidden_online']++;
			}
		}
	}

	if (!$botOn)
	{
		$online_users['visible_online']++
		$online_users['online_users'][$botId] = $botId;
	}
Grüße,
Tekin

Edit: Dies betrifft natürlich nur die Onlineanzeige auf dem Index. Wenn man auf whoisonline.php geht erscheint der Botuser nicht. Zudem erscheint er in jedem Forum als Online. Willst Du ihn in Foren nicht in der Liste, mach aus

Code: Alles auswählen

if (!$botOn)
dies

Code: Alles auswählen

if (!$botOn && $item_id === 0)