diff --git a/admin/bloque_salle.php b/admin/bloque_salle.php
new file mode 100644
index 0000000..ccede44
--- /dev/null
+++ b/admin/bloque_salle.php
@@ -0,0 +1,26 @@
+send();
+ if ($r->getResponseCode() == 200) {
+ $r->getResponseBody();
+ $reponse = json_decode($r->getResponseBody());
+ }
+ }
+ catch (HttpException $ex) {
+ echo $ex;
+ }
+ return $r->getResponseCode();
+}
+$action = $_GET["a"];
+$salle = $_GET["s"];
+$url = "";
+if ($action === "b") { $url = "http://cache.iut-rodez.fr/salles/bloque_salle.php?s=$salle"; }
+if ($action === "d") { $url = "http://cache.iut-rodez.fr/salles/debloque_salle.php?s=$salle"; }
+
+if ($action != "" ) { bascule_salle($url); }
+$precedent = $_SERVER["HTTP_REFERER"];
+header("Location: $precedent");
+?>
diff --git a/admin/con_ip.php b/admin/con_ip.php
new file mode 100644
index 0000000..d64e569
--- /dev/null
+++ b/admin/con_ip.php
@@ -0,0 +1,11 @@
+
diff --git a/admin/connexions.php b/admin/connexions.php
new file mode 100644
index 0000000..bdc1e36
--- /dev/null
+++ b/admin/connexions.php
@@ -0,0 +1,232 @@
+
diff --git a/admin/db_access.php b/admin/db_access.php
new file mode 100644
index 0000000..5f0208a
--- /dev/null
+++ b/admin/db_access.php
@@ -0,0 +1,29 @@
+query($query);
+ return $res;
+}
+
+// Fonction : db_fetch_row
+// Renvoie un tableau indexé à partir d'une ligne de résultat d'une requête
+function db_fetch_row($res) {
+ $row = $res->fetch_row();
+ return $row;
+}
+
+// Fonction : db_free
+// Libère la mémoire
+function db_free($res) {
+ $res->free();
+}
+?>
\ No newline at end of file
diff --git a/admin/ma_salle_live.php b/admin/ma_salle_live.php
new file mode 100644
index 0000000..1c5840e
--- /dev/null
+++ b/admin/ma_salle_live.php
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/admin/ordi.php b/admin/ordi.php
new file mode 100644
index 0000000..8483798
--- /dev/null
+++ b/admin/ordi.php
@@ -0,0 +1,49 @@
+connect();
+ $conn->processUntil('session_start');
+ $conn->presence();
+ //$msg = "task ".$pc." | findstr DOMETUD | sort";
+ //$msg = "reload-execute";
+ $msg = "task ".$pc." | findstr IUT | sort";
+ $conn->message('windows@iut.rdz', $msg);
+ $conn->disconnect();
+} catch(XMPPHP_Exception $e) {
+ die($e->getMessage());
+}
+
+?>
+
+
+
+
Machine echo($pc); ?>
+
+
+
+
+
+
+
+
+
+
+
+
Machine echo($pc) ; ?>
+
+
+
Processus
+
+
+
Notifications
+
+
+
+
diff --git a/admin/recup_salles.php b/admin/recup_salles.php
new file mode 100644
index 0000000..c3b618c
--- /dev/null
+++ b/admin/recup_salles.php
@@ -0,0 +1,116 @@
+
diff --git a/admin/reload_ma_salle.php b/admin/reload_ma_salle.php
new file mode 100644
index 0000000..d9c6dab
--- /dev/null
+++ b/admin/reload_ma_salle.php
@@ -0,0 +1,83 @@
+send();
+ if ($r->getResponseCode() == 200) {
+ $r->getResponseBody();
+ $salles_bloquees = json_decode($r->getResponseBody());
+ }
+ }
+ catch (HttpException $ex) {
+ echo $ex;
+ }
+ return $salles_bloquees;
+ }
+/*
+Function Get_user_connected($ip) {
+ $user = array();
+ $r = new HttpRequest("https://winlog.iut.rdz/admin/con_ip.php?ip=$ip", HttpRequest::METH_GET);
+ try {
+ $r->send();
+ if ($r->getResponseCode() == 200) {
+ $r->getResponseBody();
+ $user = json_decode($r->getResponseBody());
+ }
+ }
+ catch (HttpException $ex) {
+ echo $ex;
+ }
+ return $user;
+ }
+*/
+if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )
+ $ip_connectee = $_SERVER["HTTP_X_FORWARDED_FOR"];
+ else
+ $ip_connectee = $_SERVER["REMOTE_ADDR"];
+
+$con = Con_ip($ip_connectee);
+if (empty($con) || $con[6] !== "Enseignant") { echo($msg_salle_live_non_autorise."
adresse IP : ".$ip_connectee); return; } // on quitte immédiatement si non autorisé
+$nom = $con[4];
+$prenom = $con[5];
+$hote = $con[2];
+$machines = Machines();
+$salle = $machines[$hote][0];
+if ( is_null($salle) ) { echo "hors d'une salle"; return; } //on quitte immédiatement si on n'est pas sur une machine d'une salle
+
+$bloque = '
bloque';
+$debloque = '
debloque';
+$lien = $bloque;
+//$salles_bloquees = Get_salles_bloquees();
+//if (in_array(strtolower($salle), $salles_bloquees)) { $lien = $debloque; }
+$connexions_de_ma_salle = Connexions_par_salle($salle);
+$machines_de_salle = machines_de_salle($machines);
+$nb_machines_de_ma_salle = count($machines_de_salle[$salle]);
+$nb_connexions = 0;
+foreach($connexions_de_ma_salle as $con) {
+ if ($con["username"]) { // on ne compte que les machines connectées
+ $nb_connexions++;
+ }
+ }
+echo "
$salle ($nb_connexions connexions sur $nb_machines_de_ma_salle machines) ($lien)
\n";
+echo "
";
+foreach($connexions_de_ma_salle as $con) {
+ if ($con["username"]) { // on n'affiche que les machines connectées
+ $username = $con["username"];
+ $cpt = Compte($username);
+ $style = "";
+ $fin_style = "";
+ if ($cpt[2]=="Enseignant") { $style = ""; $fin_style=""; }
+ echo "";
+ echo "".$style.$con["machine"].$fin_style." | ";
+ echo "".$style.date("H:i:s",$con["stamp"]).$fin_style." | ";
+ echo "".$style.$con["ip"].$fin_style." | ";
+ echo "".$style.$username.$fin_style." | ";
+ echo "".$style.$cpt[1]." ".$cpt[0].$fin_style." | ";
+ echo "".$style.$cpt[2].$fin_style." | ";
+ echo "
\n";
+ }
+ }
+echo "
";
+ ?>
diff --git a/admin/reload_salles.php b/admin/reload_salles.php
new file mode 100644
index 0000000..f2db25a
--- /dev/null
+++ b/admin/reload_salles.php
@@ -0,0 +1,122 @@
+send();
+ if ($r->getResponseCode() == 200) {
+ $r->getResponseBody();
+ $salles_bloquees = json_decode($r->getResponseBody());
+ }
+ }
+ catch (HttpException $ex) {
+ echo $ex;
+ }
+ return $salles_bloquees;
+}
+
+echo "
Connexions Windows en cours par salle";
+echo "
";
+// connexions dans les salles
+//$salles_bloquees = Get_salles_bloquees();
+
+while ($mdc = current($machines_de_salle)) {
+ $salle = key($machines_de_salle);
+ if (!in_array($salle, $salles_invisibles) ) {
+ $bloque = '
bloque';
+ $debloque = '
debloque';
+ $lien = $bloque;
+ // calcul dernière connexion la plus ancienne
+ $jours_last_con = Connexion_doyenne_salle($machines_de_salle[$salle]);
+ $class_jour ='jours ';
+ if ($jours_last_con > 9) { $class_jour = 'jours j10'; }
+ if ($jours_last_con > 19) { $class_jour = 'jours j20'; }
+ if ($jours_last_con > 29) { $class_jour = 'jours j30'; }
+
+ // lien bloque/debloque
+ //if (in_array(strtolower($salle), $salles_bloquees)) { $lien = $debloque; }
+ // calcul nombre de machines connectées / nombre machines de la salle
+ $nb_machines_salle = count($mdc);
+ $i = 0;
+ if (!empty($connexion_machine)) {
+ foreach($mdc as $mac) {
+ if ( array_key_exists($mac, $connexion_machine)) { // on ne compte que les machines connectées
+ $i++;
+ }
+ }
+ }
+ // affichage ligne de salle
+ echo "
$salle ($i connexions sur $nb_machines_salle machines)
($lien)
\n";
+ echo "
\n";
+
+ if (!empty($connexion_machine)) {
+ // parcours des machines connectées de la salle courante
+ foreach($mdc as $mac) {
+ if (array_key_exists($mac, $connexion_machine)) { // on n'affiche que les machines connectées
+ $username = $connexion_machine[$mac]["username"];
+ $cpt = Compte($username); // récupère les informations sur l'utilisateur courant
+ $style = "";
+ $fin_style = "";
+ if ($cpt[2]=="Enseignant") { $style = ""; $fin_style=""; }
+ echo "";
+ echo "".$style.$mac.$fin_style." | ";
+ echo "".$style.date("H:i:s",$connexion_machine[$mac]["stamp"]).$fin_style." | ";
+ echo "".$style.$connexion_machine[$mac]["ip"].$fin_style." | ";
+ echo "".$style.$username.$fin_style." | ";
+ echo "".$style.$cpt[1]." ".$cpt[0].$fin_style." | ";
+ echo "".$style.$cpt[2].$fin_style." | ";
+ echo "
\n";
+ }
+ }
+ }
+ echo "
\n";
+ } // fin du test salle invisible
+ next($machines_de_salle);
+ }
+// connexions wifi
+/*
+$connexions_wifi = Connexions_wifi();
+echo "
";
+echo "
";
+echo "
Connexions WIFI en cours (".count($connexions_wifi) ." connexions)
";
+echo "
\n";
+echo "
\n";
+ // boucle sur les connexions wifi en cours
+while ($wc = current($connexions_wifi)) {
+ $l = ''.date("H:i:s",$wc["debut"]).' | '.$wc["ip"].' | '.$wc["username"].' | '.$wc["browser"]." |
\n";
+ echo $l;
+ next($connexions_wifi);
+}
+echo "
\n
\n";
+
+// on ajoute un appel masqué au script wifi/kanet.php pour forcer la purge des connexions wifi fermées
+$lien_purge = "
";
+echo $lien_purge;
+*/
+$connexions_blacklist_live = Connexions_blacklist_live();
+$string_javascript_tab = "";
+foreach($connexions_blacklist_live as $bl) {
+ $string_javascript_tab = $string_javascript_tab."bl[\"".str_replace('.','-',$bl["ip"])."\"]=[\"".$bl["username"]."\", \"".$bl["target"]."\"];\n";
+}
+
+?>
+
+
diff --git a/admin/salles_live.php b/admin/salles_live.php
new file mode 100644
index 0000000..ac0ef26
--- /dev/null
+++ b/admin/salles_live.php
@@ -0,0 +1,46 @@
+
+
+
+
+
Winlog : Connexions en cours dans les salles
+
+
+
+
+
+
+
+
+
+
+ ');
+ include('reload_salles.php');
+ echo('
');
+ }
+ else
+ {
+ // sinon on affiche un message
+ echo("Vous n'avez pas l'autorisation d'afficher cette page");
+ }
+?>
+