migration du script flash vers salles_live

This commit is contained in:
jbousquie 2016-09-26 16:19:33 +02:00
parent 466ba6aaeb
commit 71d30ca7b1

View File

@ -1,4 +1,7 @@
<?php <?php
// Cette page affiche le code HTML (sans les en-têtes) de la liste des connexions par salle.
// Elle est incluse dans un <div> et rechargée à intervalles réguliers par le script salles_live.php.
include_once('connexions.php'); include_once('connexions.php');
$machines = Machines(); // récupération de toutes les machines connues $machines = Machines(); // récupération de toutes les machines connues
@ -6,19 +9,19 @@ $machines_de_salle = Machines_de_salle($machines); // range les machines dans l
$connexion_machine = Connexion_machine(); // récupère toutes les connexions en cours $connexion_machine = Connexion_machine(); // récupère toutes les connexions en cours
Function Get_salles_bloquees() { Function Get_salles_bloquees() {
$salles_bloquees = array(); $salles_bloquees = array();
$r = new HttpRequest("http://cache.iut-rodez.fr/salles/salles_bloquees.php", HttpRequest::METH_GET); $r = new HttpRequest("http://cache.iut-rodez.fr/salles/salles_bloquees.php", HttpRequest::METH_GET);
try { try {
$r->send(); $r->send();
if ($r->getResponseCode() == 200) { if ($r->getResponseCode() == 200) {
$r->getResponseBody(); $r->getResponseBody();
$salles_bloquees = json_decode($r->getResponseBody()); $salles_bloquees = json_decode($r->getResponseBody());
} }
} }
catch (HttpException $ex) { catch (HttpException $ex) {
echo $ex; echo $ex;
} }
return $salles_bloquees; return $salles_bloquees;
} }
echo "<b>Connexions Windows en cours par salle</b><br/><br/>"; echo "<b>Connexions Windows en cours par salle</b><br/><br/>";
@ -27,58 +30,58 @@ echo "<br/>";
//$salles_bloquees = Get_salles_bloquees(); //$salles_bloquees = Get_salles_bloquees();
while ($mdc = current($machines_de_salle)) { while ($mdc = current($machines_de_salle)) {
$salle = key($machines_de_salle); $salle = key($machines_de_salle);
if (!in_array($salle, $salles_invisibles) ) { if (!in_array($salle, $salles_invisibles) ) {
$bloque = '<i><a href="bloque_salle.php?a=b&s='.strtolower($salle).'">bloque</a></i>'; $bloque = '<i><a href="bloque_salle.php?a=b&s='.strtolower($salle).'">bloque</a></i>';
$debloque = '<i><a href="bloque_salle.php?a=d&s='.strtolower($salle).'">debloque</a></i>'; $debloque = '<i><a href="bloque_salle.php?a=d&s='.strtolower($salle).'">debloque</a></i>';
$lien = $bloque; $lien = $bloque;
// calcul dernière connexion la plus ancienne // calcul dernière plus ancienne connexion
$jours_last_con = Connexion_doyenne_salle($machines_de_salle[$salle]); $jours_last_con = Connexion_doyenne_salle($machines_de_salle[$salle]);
$class_jour ='jours '; $class_jour ='jours ';
if ($jours_last_con > 9) { $class_jour = 'jours j10'; } if ($jours_last_con > 9) { $class_jour = 'jours j10'; }
if ($jours_last_con > 19) { $class_jour = 'jours j20'; } if ($jours_last_con > 19) { $class_jour = 'jours j20'; }
if ($jours_last_con > 29) { $class_jour = 'jours j30'; } if ($jours_last_con > 29) { $class_jour = 'jours j30'; }
// lien bloque/debloque // lien bloque/debloque
//if (in_array(strtolower($salle), $salles_bloquees)) { $lien = $debloque; } //if (in_array(strtolower($salle), $salles_bloquees)) { $lien = $debloque; }
// calcul nombre de machines connectées / nombre machines de la salle // calcul nombre de machines connectées / nombre machines de la salle
$nb_machines_salle = count($mdc); $nb_machines_salle = count($mdc);
$i = 0; $i = 0;
if (!empty($connexion_machine)) { if (!empty($connexion_machine)) {
foreach($mdc as $mac) { foreach($mdc as $mac) {
if ( array_key_exists($mac, $connexion_machine)) { // on ne compte que les machines connectées if ( array_key_exists($mac, $connexion_machine)) { // on ne compte que les machines connectées
$i++; $i++;
} }
}
} }
// affichage ligne de salle }
echo "<div class=\"salle\"><a href=\"salles/?salle=$salle\">$salle</a> ($i connexions sur $nb_machines_salle machines) <span class='".$class_jour."' title='".$class_jour."'>&nbsp;&nbsp;&nbsp;&nbsp;</span> ($lien)</div>\n"; // affichage ligne de salle
echo "<div class=\"connexions\"><table>\n"; echo "<div class=\"salle\"><a href=\"salles/?salle=$salle\">$salle</a> ($i connexions sur $nb_machines_salle machines) <span class='".$class_jour."' title='".$class_jour."'>&nbsp;&nbsp;&nbsp;&nbsp;</span> ($lien)</div>\n";
echo "<div class=\"connexions\"><table>\n";
if (!empty($connexion_machine)) { if (!empty($connexion_machine)) {
// parcours des machines connectées de la salle courante // parcours des machines connectées de la salle courante
foreach($mdc as $mac) { foreach($mdc as $mac) {
if (array_key_exists($mac, $connexion_machine)) { // on n'affiche que les machines connectées if (array_key_exists($mac, $connexion_machine)) { // on n'affiche que les machines connectées
$username = $connexion_machine[$mac]["username"]; $username = $connexion_machine[$mac]["username"];
$cpt = Compte($username); // récupère les informations sur l'utilisateur courant $cpt = Compte($username); // récupère les informations sur l'utilisateur courant
$style = ""; $style = "";
$fin_style = ""; $fin_style = "";
if ($cpt[2]=="Enseignant") { $style = "<b>"; $fin_style="</b>"; } if ($cpt[2]=="Enseignant") { $style = "<b>"; $fin_style="</b>"; }
echo "<tr id=\"".str_replace('.','-',$connexion_machine[$mac]["ip"])."\">"; echo "<tr id=\"".str_replace('.','-',$connexion_machine[$mac]["ip"])."\">";
echo "<td><a href=\"taches.php?machine=".$mac."\">".$style.$mac.$fin_style."</a></td>"; echo "<td><a href=\"taches.php?machine=".$mac."\">".$style.$mac.$fin_style."</a></td>";
echo "<td>".$style.date("H:i:s",$connexion_machine[$mac]["stamp"]).$fin_style."</td>"; echo "<td>".$style.date("H:i:s",$connexion_machine[$mac]["stamp"]).$fin_style."</td>";
echo "<td>".$style.$connexion_machine[$mac]["ip"].$fin_style."</td>"; echo "<td>".$style.$connexion_machine[$mac]["ip"].$fin_style."</td>";
echo "<td>".$style.$username.$fin_style."</td>"; echo "<td>".$style.$username.$fin_style."</td>";
echo "<td>".$style.$cpt[1]." ".$cpt[0].$fin_style."</td>"; echo "<td>".$style.$cpt[1]." ".$cpt[0].$fin_style."</td>";
echo "<td>".$style.$cpt[2].$fin_style."</td>"; echo "<td>".$style.$cpt[2].$fin_style."</td>";
echo "</tr>\n"; echo "</tr>\n";
} }
}
} }
echo "</table></div>\n"; }
} // fin du test salle invisible echo "</table></div>\n";
next($machines_de_salle); } // fin du test salle invisible
} next($machines_de_salle);
}
// connexions wifi // connexions wifi
/* /*
$connexions_wifi = Connexions_wifi(); $connexions_wifi = Connexions_wifi();
@ -87,11 +90,11 @@ echo "<br/>";
echo "<b>Connexions WIFI en cours</b> (".count($connexions_wifi) ." connexions)<br/><br/>"; echo "<b>Connexions WIFI en cours</b> (".count($connexions_wifi) ." connexions)<br/><br/>";
echo "<div class=\"wifi\">\n"; echo "<div class=\"wifi\">\n";
echo "<table>\n"; echo "<table>\n";
// boucle sur les connexions wifi en cours // boucle sur les connexions wifi en cours
while ($wc = current($connexions_wifi)) { while ($wc = current($connexions_wifi)) {
$l = '<tr id="'.str_replace('.','-',$wc["ip"]).'"><td>'.date("H:i:s",$wc["debut"]).'</td><td>'.$wc["ip"].'</td><td>'.$wc["username"].'</td><td><i><a href="http://user-agent-string.info/?Fuas='.$wc["browser"].'" target="_blank">'.$wc["browser"]."</a></i></td></tr>\n"; $l = '<tr id="'.str_replace('.','-',$wc["ip"]).'"><td>'.date("H:i:s",$wc["debut"]).'</td><td>'.$wc["ip"].'</td><td>'.$wc["username"].'</td><td><i><a href="http://user-agent-string.info/?Fuas='.$wc["browser"].'" target="_blank">'.$wc["browser"]."</a></i></td></tr>\n";
echo $l; echo $l;
next($connexions_wifi); next($connexions_wifi);
} }
echo "</table>\n</div>\n"; echo "</table>\n</div>\n";
@ -99,24 +102,13 @@ echo "</table>\n</div>\n";
$lien_purge = "<iframe src='/wifi/kanet.php' width='0' heigth='0' style='display: none;'></iframe>"; $lien_purge = "<iframe src='/wifi/kanet.php' width='0' heigth='0' style='display: none;'></iframe>";
echo $lien_purge; echo $lien_purge;
*/ */
// Récupération des connexions sur la blacklist Squid
// Stockage du résultat dans un dataset d'une <div> dédiée
$connexions_blacklist_live = Connexions_blacklist_live(); $connexions_blacklist_live = Connexions_blacklist_live();
$string_javascript_tab = ""; $div_blacklist = '<div id="blacklist" data-rejected=\''.json_encode($connexions_blacklist_live).'\'></div>';
foreach($connexions_blacklist_live as $bl) { echo($div_blacklist);
$string_javascript_tab = $string_javascript_tab."bl[\"".str_replace('.','-',$bl["ip"])."\"]=[\"".$bl["username"]."\", \"".$bl["target"]."\"];\n";
}
?> ?>
<script>
function flashLogin() {
var bl=new Object();
<?php
echo $string_javascript_tab;
?>
for (var ip in bl) {
//$("#"+ip).toggle("highlight");
$("#"+ip).effect("highlight", {color:"darkorange"}, 1000);
}
}
$(document).ready(flashLogin);
</script>