HB/htdocs/l4H1ev9IwDs40/preview.php

74 lines
1.6 KiB
PHP

<?php
require_once('../../onyx2/load.php');
$session = new Session();
if($session->level != 1)
{
exit(header("Location: connexion.php"));
}
$pseudo = $session->values['login'];
/* Vire les personnes inactives */
$connected = Cache::read('preview_connected');
$connected[$pseudo] = time();
foreach($connected as $guy => $time)
{
if($time < time() - 300) unset($connected[$guy]); #Désactive la session au bout de 5min.
}
Cache::set('preview_connected',$connected);
/* Lance le document XML */
header('Content-Type: application/xml;charset=utf-8');
$dom = new DOMDocument();
$interface = $dom->createElement('interface');
$dom->appendChild($interface);
$logout = gpc('logout');
if($logout === '1')
{
$session->close();
$interface->setAttributeNode(new DOMAttr('status', '0'));
die($dom->saveXML());
}
$interface->setAttributeNode(new DOMAttr('status', '1'));
$interface->setAttributeNode(new DOMAttr('pseudo', $pseudo));
/* affiche les personnes connectés */
$main = $dom->createElement('main');
$interface->appendChild($main);
$everybody = array();
$logins = file('login.list');
foreach($logins as $line)
{
$acces = explode(':',$line);
$everybody[] = $acces[0];
}
foreach($everybody as $guy)
{
if($guy == $pseudo) continue;
if(isset($connected[$guy])) $main->appendChild($dom->createElement('connected',$guy));
else $main->appendChild($dom->createElement('disconnected',$guy));
}
echo($dom->saveXML());
?>