<?php
/*
# Fuer debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
#echo __LINE__."<br>";
*/
include_once './classes/TestProjektSmarty.class.php';
$smarty = new Smarty();
require_once("./config.inc.php");
$template = "standard";
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "./language/german.inc.php";
require_once("func_rollenrechte.php");
require_once("func_agent.php");

// Rechteüberprüfung
#$db = dbconnect();
if ($user_admin == ""){ require("index.php"); exit;} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
if(!rore($user_admin,'a_stat','RE')){echo "Keine Rechte";exit;}
// Rechteüberprüfung ende


// Datendefinition für die Clientausgabe
$start = (isset($_GET['start'])) ? abs((int)$_GET['start']) : 0;

$limit = 13;                     // Datensätze pro Ausgabeseite

// Feststellen der Anzahl der verfügbaren Datensätze.
$result_anz = $db->query("SELECT count(*) Anz FROM prog_userlog_admin");
$row_anz = $result_anz->fetch_array();
$total = $row_anz['Anz'];

// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)

if(isset($_GET['start'])){
  $start    = ($_GET['start'] >= $total) ? $total - $limit : $start;
}else{
  $start = 0;
}

// Datenbankabfrage ausführen.
$query    = "SELECT ulid, datum as datorder, DATE_Format(datum, '%d.%m.%Y') as datum, DATE_Format(datum, '%H:%i:%s')AS zeit,ip, vorname, nachname
               FROM prog_userlog_admin, prog_admin
              WHERE prog_userlog_admin.uid = prog_admin.vaid
              ORDER BY datorder DESC
              LIMIT ".$start.",".$limit;
$result = $db->query( $query);

// Ergebnisse lesen und an den Client ausgeben

while ($data = $result->fetch_array()){
  $agent = agent($data['ulid']);
  $results = explode('|', $agent);
  
  $ip = $results[0];
  $browser = $results[1];
  $os = $results[2];
  $isp = $results[3];
  $organisation = $results[4];
  $host = $results[5];
  $text ="<table width=100%>";
  
  if($ip != ''){
    $text .="<tr><td><b>IP:</b></td><td>$ip</td></tr>";
  }
  if($browser != ''){
    $text .="<tr><td><b>Browser:</b></td><td>$browser</td></tr>";
  }
  if($os != ''){
    $text .="<tr><td><b>Betriebssystem:</b></td><td>$os</td></tr>";
  }
  if($isp != ''){
    $text .="<tr><td><b>Internetanbieter:</b></td><td>$isp</td></tr>";
  }
  if($organisation != ''){
    $text .="<tr><td><b>Organisation:</b></td><td>$organisation</td></tr>";
  }
  if($host != ''){
    $text .="<tr><td><b>Hostname:</b></td><td>$host</td></tr>";
  }
  $text .="</table>";
  

  $data['text'] = $text;
  $value[] = $data;
}
$smarty->assign('table_data', $value);


$show = ceil($total/$limit);           //Seitenzahlen aufrunden
$last = floor($total/$limit)*$limit;   //Sprungziel zur letzten Seite BSP abrunden(1954/13)*13 ==> 150*13=1950 Sprungmarke auf Zeile 1950, 4 DS werden angezeigt
$akt = round((($start-$limit)/$limit+2),0);
$smarty->assign('login_log_currpage', "$akt");
$smarty->assign('login_log_pagecount', "$show");


// Zurück- und Vorblättern
if ($start > 0){
  $newStart = ($start - $limit < 0) ? 0 : ($start-$limit); // wenn $start-$limit kleiner 0 dann $newstart=0 sonst $start-$limit
  $smarty->assign('login_log_start0', "1");
  $smarty->assign('login_log_start_newstart', "$newStart");
}else{
   $smarty->assign('login_log_start0', "2");
}


if ($start + $limit < $total){
  $newStart = $start + $limit;
  $smarty->assign('login_log_end0', "1");
  $smarty->assign('login_log_end_newstart', "$newStart");
  $smarty->assign('login_log_end_last', "$last");
}else{
  $smarty->assign('login_log_end0', "2");
}

$smarty->display("$template/$templatename");
?>