Hallo Alexander,
hier mal der Inhalt:
<?php
define('ROOT', '/var/www/html/web173/html');
//Libraries includen, bei Fehler abbrechen
if( !@include(ROOT . "/configs/mysql_access.php")) die("<b>Fatal Error:</b> Die Datei mysql_access.php, welche die MySQL Zugansdaten enthält, konnte nicht included werden in <b>" .
$_SERVER['SCRIPT_FILENAME'] . "</b>. Die Datei muss in " . $docroot . "/configs/mysql_access.php liegen.");
if( !@include(ROOT . "/configs/defines.php") ) die("<b>Fatal Error:</b> Die Datei defines.php, welche die Definirungen bezüglich der Hosts enthält, konnte nicht included werden in <b>" .
$_SERVER['SCRIPT_FILENAME'] . "</b>. Die Datei muss in " . $docroot . "/configs/defines.php liegen.");
if( !@include(ROOT . "/configs/functions.php") ) die("<b>Fatal Error:</b> Die Datei functions.php, welche die verschiedenen Funktionen enthält, konnte nicht included werden in <b>" .
$_SERVER['SCRIPT_FILENAME'] . "</b>. Die Datei muss in " . $docroot . "/configs/functions.php liegen.");
//Verbindung herstellen und Datenbank auswählen
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Bei dem Verbindungsaufbau mit der Datenbank ist ein Fehler aufgetreten.<br>MySQL hat folgende Fehlermeldung ausgegeben: <tt>".mysql_error()."</tt><br>Bitte probieren Sie es später noch einmal.");
mysql_select_db(MYSQL_DATABASE) OR die("Die Verbindung mit der Datenbank konnte zwar hergestellt werden, jedoch gab es Probleme beim Auswählen der Datenbank.<br>MySQL hat folgende Fehlermeldung ausgegeben: <tt>".mysql_error()."</tt><br>Bitte Probieren Sie es später noch einmal.");
################################################################
Teil 2 #
------------------------ #
- Allgemeine Settings aus der Datenbank laden #
################################################################
//Settings aus der DB laden:
$sql = "SELECT
name,
wert
FROM
de_settings
";
$tmp_return = mysql_query($sql) OR die(mysql_error());
//Arrays initialisieren
$_tmp_settings = array();
$_settings = array();
//Alle Daten auslesen und als name => wert in $_settings ablegen
while($_data = mysql_fetch_assoc($tmp_return))
{
$_tmp_settings[] = $_data;
}
foreach($_tmp_settings as $arr => $set)
{
$_settings[ $set['name'] ] = $set['wert'];
}
//Temponäre Daten löschen
mysql_free_result($tmp_return);
unset($tmp_return);
unset($_tmp_settings);
################################################################
Teil 3 #
------------------------ #
- User Online Status aktualisieren #
- Gäste Online Status aktualisieren #
################################################################
//Wenn der Besucher eingeloggt ist
if(isset($_SESSION['rights']))
{
//Wenn ein falscher, nicht vorhandener Status übermittelt wurde,
//auf Null zurück setzen:
if(!isset($_GET['setstatus']) OR !is_numeric($_GET['setstatus']))
{
if(isset($_SESSION['userstatus']))
{
$_GET['setstatus'] = $_SESSION['userstatus'];
}
else
{
$_GET['setstatus'] = 0;
}
}
//Wenn Status auf 2 gesetzt wurde, dann User ausloggen:
if($_GET['setstatus'] == 2)
{
header("Location: ".HOST_DE."/community/logout.php");
exit;
}
//Ansonsten wenn Status nicht gleich 0 oder 1, auf Null setzen:
elseif($_GET['setstatus'] != 0 AND $_GET['setstatus'] != 1)
{
$_GET['setstatus'] = 0;
}
//Status in Session schreiben
$_SESSION['userstatus'] = $_GET['setstatus'];
//Datenbank updaten:
$sql = "REPLACE INTO user_online
(
benutzername,
lastmove,
status
)
VALUES
(
'".strtolower(addslashes($_SESSION['benutzername']))."',
'".time()."',
".addslashes($_GET['setstatus'])."
)
";
mysql_query($sql) OR die(mysql_error());
//Und noch die eigene IP aus der Gäste Online Tabelle löschen,
//falls diese dort noch drin stehen sollte.
$sql = "DELETE FROM
guests_online
WHERE
guest_ip = '".addslashes($_SERVER['REMOTE_ADDR'])."'
";
mysql_query($sql) OR die(mysql_error());
}
else
{
$sql = "REPLACE INTO guests_online
(
guest_ip,
lastmove
)
VALUES
(
'".addslashes($_SERVER['REMOTE_ADDR'])."',
'".time()."'
)
";
mysql_query($sql) OR die(mysql_error());
}
//alte Datensätze löschen
//Zeitpunkt vor $online_for Min feststellen
$away_time = time() - $away_for;
$del_time = time() - $online_for - $away_for;
$sql = "DELETE FROM
user_online
WHERE
'".$del_time."' > lastmove;
";
mysql_query($sql) OR die(mysql_error());
$sql = "DELETE FROM
guests_online
WHERE
'".$del_time."' > lastmove;
";
mysql_query($sql) OR die(mysql_error());
$sql = "UPDATE
user_online
SET
status = 1
WHERE
'".$away_time."' > lastmove;
";
mysql_query($sql) OR die(mysql_error());
?>