Online Rekord aus DB ausgliedern

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Online Rekord aus DB ausgliedern

Beitrag von Tobl »

hallo zusammen,

ich möchte den "user-online-rekord" in der gleichen db aus der phpbb_config in eine phpbb_online verschieben.
(record_online_users und record_online_date natürlich verschoben)

nun mein problem:
wenn ich alle mit dem rekord zusammenhängenden teile der page_header.php von $board_config in $board_online ändere und dann noch in die constants.php "define('ONLINE_TABLE', $table_prefix.'online');" einfüge, dann zeigt er mir immer als rekord die useranzahl an die sich zu diesem zeitpunkt auf der seite befinden.

weiß da jemand was?

danke
gruß tobl
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Zeig mal die kompletten Änderungen an der page_header.php ..
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Tobl »

hier die kompletten änderungen in der page_header.php:

Code: Alles auswählen

	if ( $total_online_users > $board_online['record_online_users'])
	{
		$board_online['record_online_users'] = $total_online_users;
		$board_online['record_online_date'] = time();

		$sql = "UPDATE " . ONLINE_TABLE . "
			SET config_value = '$total_online_users'
			WHERE config_name = 'record_online_users'";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update online user record (nr of users)', '', __LINE__, __FILE__, $sql);
		}

		$sql = "UPDATE " . ONLINE_TABLE . "
			SET config_value = '" . $board_online['record_online_date'] . "'
			WHERE config_name = 'record_online_date'";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update online user record (date)', '', __LINE__, __FILE__, $sql);
		}
	}



...





	'RECORD_USERS' => sprintf($lang['Record_online_users'], $board_online['record_online_users'], create_date($board_config['default_dateformat'], $board_online['record_online_date'], $board_config['board_timezone'])),
desweiteren noch folgender eintrag in die constants.php:

Code: Alles auswählen

define('ONLINE_TABLE', $table_prefix.'online');
so zeigt er mir immer als online rekord die anzahl an usern an, die sich zu diesem zeitpunkt auf dem board befinden.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Schau dir mal in der common.php noch zusätzlich an, wie $board_config definiert wird.. denn du kannst nicht $board_online angeben, wenn es nirgends definiert ist. ;)
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Tobl »

aber die veränderungen werden ja in die datenbank geschrieben.
nur halt jede besucher-veränderung und nicht nur der rekord.

in der common.php wird ja über den eintrag des besucher-rekordes nichts erwähnt. auch für die $board_config nicht.

:oops:
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Code: Alles auswählen

$board_config = array();

Code: Alles auswählen

$sql = "SELECT *
	FROM " . CONFIG_TABLE;
if( !($result = $db->sql_query($sql)) )
{
	message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result) )
{
	$board_config[$row['config_name']] = $row['config_value'];
}
..aus der common.php. Damit ist es möglich in allen anderen Dateien (da in diese ja die common.php eingebunden ist) $board_config['irgendwas'] zu benutzen und phpBB weiss dann auch was damit anzufangen.
$board_online['irgendwas'] kennt phpBB ohne eine Definierung nicht, so das dann solche Codes nicht richtig ausgegeben werden.

Wieso willst´n die online-Statistik eigentlich ausgliedern?
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Tobl »

aha, dann werd ich das mal versuchen.

ich will das ausgliedern, da ich mehrere boards betreibe und die alle ihren eigenen rekord haben. ich möchte, das aber auf allen boards der gleiche rekord zu sehen ist...
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“