récup matos

This commit is contained in:
jbousquie 2016-11-29 12:05:24 +01:00
parent 70616c8119
commit 3dfdfa2441

View File

@ -8,9 +8,11 @@ if ( $_SERVER["REQUEST_METHOD"] == "POST" && $_SERVER["SERVER_PORT"] == "443" &&
$db = db_connect(); $db = db_connect();
$action = db_escape_string($db, $_POST["action"]); $action = db_escape_string($db, $_POST["action"]);
$username = db_escape_string($db, $_POST["username"]);
$computer = db_escape_string($db, $_POST["computer"]); $computer = db_escape_string($db, $_POST["computer"]);
$ip = $_SERVER["REMOTE_ADDR"]; $ip = $_SERVER["REMOTE_ADDR"];
if ( isset($_POST["username"]) ) {
$username = db_escape_string($db, $_POST["username"]);
}
// requête de purge d'une éventuelle connexion restée ouverte sur une machine (multi-session non autorisée sur les PC) // requête de purge d'une éventuelle connexion restée ouverte sur une machine (multi-session non autorisée sur les PC)
$req_purge_C = 'UPDATE connexions SET close = 1 WHERE close = 0 AND hote = "'.$computer.'"'; $req_purge_C = 'UPDATE connexions SET close = 1 WHERE close = 0 AND hote = "'.$computer.'"';
@ -21,34 +23,47 @@ if ( $_SERVER["REQUEST_METHOD"] == "POST" && $_SERVER["SERVER_PORT"] == "443" &&
// requête de mise à jour de l'adresse IP dans la table machines // requête de mise à jour de l'adresse IP dans la table machines
$req_ip_machine = 'UPDATE machines SET adresse_ip = "'. $ip .'" WHERE machine_id = "'. $computer .'"'; $req_ip_machine = 'UPDATE machines SET adresse_ip = "'. $ip .'" WHERE machine_id = "'. $computer .'"';
switch ($action) {
if ($action == "C") {
db_query($db, $req_purge_C); // on commence par purger avant de créer une connexion case "C":
db_query($db, $req_con_C); db_query($db, $req_purge_C); // on commence par purger avant de créer une connexion
db_query($db, $req_ip_machine); db_query($db, $req_con_C); // nouvelle connexion
} db_query($db, $req_ip_machine); // update IP de la machine
else { break;
// requête déconnexion
db_query($db, $req_con_D); case "D":
// collecte marque, modèle, architecture db_query($db, $req_con_D); // déconnexion
$marque = db_escape_string($db, $_POST["manufacturer"]); break;
$modele = db_escape_string($db, $_POST["model"]);
$type = db_escape_string($db, $_POST["systemType"]); case "M":
// collecte mac address et description à partir des tableaux JSON des itnerfaces de la machine // collecte marque, modèle, architecture
$mac = ""; $marque = db_escape_string($db, $_POST["manufacturer"]);
$descr = ""; $modele = db_escape_string($db, $_POST["model"]);
$mac_array = json_decode(str_replace(",]", "]", $_POST["mac"])); // nettoyage la virgule de fin dans le tableau json avant decode() $type = db_escape_string($db, $_POST["systemType"]);
$ip_array = json_decode(str_replace(",]", "]", $_POST["ip"])); // collecte RAM, vitesse processeur, taille disque C: et espace libre
$descr_array = json_decode(str_replace(",]", "]", $_POST["descr"])); $ram = db_escape_string($db, $_POST["ram"]);
$ip_index = array_search($ip, $ip_array); // recherche de l'IP de connexion dans la liste des IP json $procSpeed = db_escape_string($db, $_POST["procSpeed"]);
if (false !== $ip_index) { // si l'IP existe dans le tableau, on récupère la mac et la description associées $diskSize = db_escape_string($db, $_POST["diskSize"]);
$mac = db_escape_string($db, $mac_array[$ip_index]); $freeSpace = db_escape_string($db, $_POST["diskFreeSpace"]);
$descr = db_escape_string($db, $descr_array[$ip_index]); // collecte mac address et description à partir des tableaux JSON des interfaces de la machine
} $mac = "";
// requête de mise à jour des marque, modèle, archi et mac address de la machine $descr = "";
$req_modele_machine = 'UPDATE machines SET marque = "'. $marque .'", modele = "'. $modele .'", type_systeme ="'. $type .'", mac = "'. $mac .'", mac_description = "'. $descr .'" WHERE machine_id = "'. $computer .'"'; $mac_array = json_decode(str_replace(",]", "]", $_POST["mac"])); // nettoyage la virgule de fin dans le tableau json avant decode()
db_query($db, $req_modele_machine); $ip_array = json_decode(str_replace(",]", "]", $_POST["ip"]));
} $descr_array = json_decode(str_replace(",]", "]", $_POST["descr"]));
$ip_index = array_search($ip, $ip_array); // recherche de l'IP de connexion dans la liste des IP json
if (false !== $ip_index) { // si l'IP existe dans le tableau, on récupère la mac et la description associées
$mac = db_escape_string($db, $mac_array[$ip_index]);
$descr = db_escape_string($db, $descr_array[$ip_index]);
}
// requête de mise à jour des marque, modèle, archi et mac address de la machine
$req = "UPDATE machines SET marque = \"{$marque}\", modele = \"{$modele}\", type_systeme =\"{$type}\"";
$req = $req . ", mac = \"{$mac}\", mac_description = \"{$descr}\", ram = $ram, procSpeed = $procSpeed, diskSize = $diskSize, freeSpace = $freeSpace";
$req_modele_machine = $req . " WHERE machine_id = \"{$computer}\"";
db_query($db, $req_modele_machine);
break;
} // fin switch
} }
else { else {
// renvoi sur le menu principal // renvoi sur le menu principal