74 lines
1.6 KiB
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());
|
||
|
|
||
|
?>
|