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