Martin2004: Was ist das?

Beitrag lesen

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());
?>