PageRenderTime 54ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/gespac/gestion_donnees/import_ocs_db.php

http://gespac.googlecode.com/
PHP | 513 lines | 291 code | 134 blank | 88 comment | 33 complexity | 4456c399b77ad6cb98e1732cb8121874 MD5 | raw file
  1. <script>
  2. // Montre ou cache les logs
  3. function showlogs (log) {
  4. if ( $(log).style.display == "" )
  5. $(log).style.display = "none";
  6. else
  7. $(log).style.display = "";
  8. }
  9. </script>
  10. <?PHP
  11. function vd ($var) { return "<pre>" . var_dump ($var) . "</pre>"; }
  12. // on ouvre un fichier en écriture pour les log sql
  13. $fp = fopen('../dump/log_sql.sql', 'a+');
  14. //log
  15. $big_log = "";
  16. $marques_ajoutees = "";
  17. $marques_deja_presentes = "";
  18. $materiels_ajoutes = "";
  19. $materiels_maj = "";
  20. $materiels_deja_presents = "";
  21. $ecrans_deja_presents = "";
  22. $ecrans_ajoutes = "";
  23. $marques_creees = array(); // Permet de comptabiliser les marques nouvellement créées (je sais c'est pas super propre, mais il est 21h30 et c'est vendredi soir)
  24. // lib
  25. require_once ('../fonctions.php');
  26. include_once ('../config/databases.php');
  27. include_once ('../../class/Sql.class.php');
  28. // cnx à la base de données OCS
  29. $con_ocs = new Sql($host, $user, $pass, $ocsweb);
  30. // stockage des lignes retournées par sql dans un tableau
  31. $liste_marques_ocs = $con_ocs->QueryAll ( "SELECT DISTINCT smanufacturer, smodel FROM bios;" );
  32. $liste_marques_ecrans_ocs = $con_ocs->QueryAll ( "SELECT DISTINCT manufacturer, caption FROM monitors WHERE serial <> '';" );
  33. $liste_hardware_ocs = $con_ocs->QueryAll ( "SELECT hardware.id as id, name, smanufacturer, smodel, ssn, macaddr, speed FROM hardware, bios, networks where hardware.id=bios.hardware_id AND hardware.id=networks.hardware_id ORDER BY name;" );
  34. $liste_monitors_ocs = $con_ocs->QueryAll ( "SELECT DISTINCT serial, manufacturer, caption, name from hardware, monitors WHERE serial <> '' AND hardware.id = monitors.hardware_id;" );
  35. // cnx à la base de données GESPAC
  36. $con_gespac = new Sql($host, $user, $pass, $gespac);
  37. $liste_marques_gespac = $con_gespac->QueryAll ( "SELECT marque_id, CONCAT(TRIM(marque_marque), ' ', TRIM(marque_model)) FROM marques;" );
  38. $liste_hardware_gespac = $con_gespac->QueryAll ( "SELECT mat_id, mat_nom, mat_serial, mat_mac, marque_id FROM materiels;" );
  39. // on trouve une valeur dans une table à partir de son ssn et du numéro du champ à extraire
  40. function search_in_array($needle, $haystack, $field=0) {
  41. foreach($haystack as $key=>$value) { // association à chaque élément du tableau en entrée d'un autre tableau d'éléments. (permet de palier au manquement de la fonction in_array de php)
  42. $current_key=$key;
  43. // si la valeur cherchée correspond à la valeur de la clé courante ou, si la valeur est tableau, réutiliser la fonction dessus (plus facile en fn recursive)
  44. if($needle===$value OR (is_array($value) && search_in_array($needle,$value))) {
  45. return $value[$field];
  46. }
  47. }
  48. return false;
  49. }
  50. /***********************************************
  51. * Pour chaque PC de la base OCS
  52. ***********************************************/
  53. foreach ($liste_hardware_ocs as $hardware_ocs) {
  54. $id_ocs = $hardware_ocs['id'];
  55. $nom_ocs = $hardware_ocs['name'];
  56. $marque_ocs = $hardware_ocs['smanufacturer'];
  57. $modele_ocs = $hardware_ocs['smodel'];
  58. $ssn_ocs = $hardware_ocs['ssn'];
  59. $mac_ocs = $hardware_ocs['macaddr'];
  60. $speed_ocs = $hardware_ocs['speed'];
  61. $marque_et_model_ocs = $marque_ocs . " " . $modele_ocs;
  62. // l'id du matériel gespac en fonction du ssn du matériel OCS
  63. $gespac_matid_from_ocs_ssn = search_in_array($ssn_ocs, $liste_hardware_gespac);
  64. // Debut du test d'existence de la marque et du modele dans la table marques de gespac
  65. /*
  66. En résumé : on cherche à savoir si la marque ocs existe déjà dans la base gespac.
  67. On prend le couple marque/modele OCS et on teste son existance dans la table des correspondances
  68. Si le couple existe alors on cherche à savoir si les champs corr_marque et corr_modele existent dans la table des marques de gespac,
  69. sinon c'est que la correspondance n'existe pas et qu'on a dû insérer dans la table des marques le couple marque/modele de ocs.
  70. */
  71. // cnx à la base de données GESPAC
  72. $con_gespac = new Sql($host, $user, $pass, $gespac);
  73. // La liste des correspondances
  74. $liste_correspondances = $con_gespac->QueryRow ( "SELECT corr_marque_ocs, corr_type, corr_stype, corr_marque, corr_modele FROM correspondances WHERE corr_marque_ocs = '$marque_ocs" . " " . "$modele_ocs';" );
  75. // Si la correspondance existe on teste avec les champs corr_marque et corr_modele
  76. if ( $liste_correspondances ) {
  77. $marque = $liste_correspondances[3];
  78. $modele = $liste_correspondances[4];
  79. $famille = $liste_correspondances[1];
  80. $sfamille = $liste_correspondances[2];
  81. }
  82. // sinon on utilise les valeurs de OCS
  83. else {
  84. $marque = $marque_ocs;
  85. $modele = $modele_ocs;
  86. $famille = "PC";
  87. $sfamille = "DESKTOP";
  88. }
  89. // On teste maintenant si la marque existe dans gespac et on récupère son id (le champ de test est la concaténation de la marque et du modele)
  90. $gespac_marqueid_from_ocs_marque_modele = find_marque_id($marque . " " . $modele, $liste_marques_gespac);
  91. // Fin du test d'existence de la marque et du modele dans la table marques de gespac
  92. /******************************************************
  93. * Le matériel n'existe pas dans la base gespac
  94. *******************************************************/
  95. if ( $gespac_matid_from_ocs_ssn == false ) {
  96. $biglog .= " -> Je n'ai pas $nom_ocs (ssn : $ssn_ocs) dans ma base gespac.<br>";
  97. // le matériel n'existe pas dans gespac et sa marque non plus
  98. if ( $gespac_marqueid_from_ocs_marque_modele == false ) {
  99. $biglog .= "la marque OCS $marque &nbsp $modele du matériel ocs $nom_ocs n'est pas dans ma base gespac <br>";
  100. $biglog .= "Création de la marque avec pour paramètres : PC, DESKTOP, $marque, $modele<br>";
  101. $quadruplet = $famille . $sfamille . $marque . $modele;
  102. if ( !in_array ($quadruplet, $marques_creees) ) {
  103. $req_insert_marque = "INSERT INTO marques ( marque_type, marque_stype, marque_marque, marque_model ) VALUES ('$famille', '$sfamille', '$marque', '$modele' )";
  104. $result = $con_gespac->Execute ( $req_insert_marque );
  105. // Pas très propre => A recoder :
  106. // La marque une fois créée n'est pas comptabilisé dans la liste [gespac_marqueid_from_ocs_marque_modele]
  107. // Je créé donc un tableau contenant toutes les marques que j'ajoute afin de ne pas créer plusieurs fois la même marque.
  108. $quadruplet = $famille . $sfamille . $marque . $modele;
  109. array_push($marques_creees, $quadruplet);
  110. $marques_ajoutees .= "Ajout de la marque et du modèle <b>$marque &nbsp $modele</b>.<br>";
  111. // On log la requête SQL
  112. fwrite($fp, date("Ymd His") . " " . $req_insert_marque."\n");
  113. }
  114. else {
  115. // On log que la marque vient d'être créée
  116. $biglog .= "La marque $famille / $sfamille / $marque / $modele a déjà été créée. On ne la recrée pas ...<br>";
  117. }
  118. $biglog .= "On récupère le marque_id de la marque nouvellement créée.<br>";
  119. $id_nouvelle_marque = $con_gespac->QueryOne ( "SELECT marque_id FROM marques WHERE marque_type='$famille' AND marque_stype='$sfamille' AND marque_marque='$marque' AND marque_model='$modele';" );
  120. // Si le matériel OCS n'a pas de ssn
  121. if ( $ssn_ocs == "") {
  122. $rand_ssn_ocs = "RAND" . rand(0, 99999);
  123. $biglog .= "On met à jour le matériel ocs ($id_ocs) avec le SSN aléatoire $rand_ssn_ocs ";
  124. $req_update_ssn_ocs = "UPDATE ocsweb.bios SET SSN='$rand_ssn_ocs' WHERE HARDWARE_ID=$id_ocs";
  125. $result = $con_ocs->Execute ( $req_update_ssn_ocs );
  126. // On log la requête SQL
  127. fwrite($fp, date("Ymd His") . " " . $req_insert_materiel_gespac."\n");
  128. $biglog .= "Création du matériel $nom_ocs de ssn $rand_ssn_ocs avec pour marque_id le résultat de la ligne [SQL2] <br>";
  129. $req_insert_materiel_gespac = "INSERT INTO materiels (mat_nom, mat_serial, marque_id, mat_mac) VALUES ('$nom_ocs', '$rand_ssn_ocs', $id_nouvelle_marque, '$mac_ocs')";
  130. $result = $con_gespac->Execute ( $req_insert_materiel_gespac );
  131. $materiels_ajoutes .= "Création du matériel <b>$nom_ocs</b> de ssn <b>$rand_ssn_ocs</b> avec pour marque et modèle <b>$marque &nbsp $modele</b><br>";
  132. // On log la requête SQL
  133. fwrite($fp, date("Ymd His") . " " . $req_insert_materiel_gespac."\n");
  134. }
  135. else {
  136. $biglog .= "Création du matériel $nom_ocs de ssn $ssn_ocs avec pour marque_id le résultat de la ligne [SQL2] <br>";
  137. $req_insert_materiel_gespac = "INSERT INTO materiels (mat_nom, mat_serial, marque_id, mat_mac) VALUES ('$nom_ocs', '$ssn_ocs', $id_nouvelle_marque, '$mac_ocs')";
  138. $result = $con_gespac->Execute ( $req_insert_materiel_gespac );
  139. $materiels_ajoutes .= "Création du matériel <b>$nom_ocs</b> de ssn <b>$ssn_ocs</b> avec pour marque et modèle <b>$marque &nbsp $modele</b><br>";
  140. // On log la requête SQL
  141. fwrite($fp, date("Ymd His") . " " . $req_insert_materiel_gespac."\n");
  142. }
  143. }
  144. // le matériel n'existe pas dans gespac mais sa marque est dans la base
  145. else {
  146. $biglog .= "la marque OCS <b>$marque &nbsp $modele</b> du matériel ocs $nom_ocs est dans ma base gespac à l'indice $gespac_marqueid_from_ocs_marque_modele<br>";
  147. $marques_deja_presentes .= "La marque OCS <b>$marque &nbsp $modele</b> du matériel ocs <b>$nom_ocs</b> est dans ma base Gespac<br>";
  148. // Si le matériel OCS n'a pas de ssn
  149. if ( $ssn_ocs == "") {
  150. $rand_ssn_ocs = "RAND" . rand(0, 99999);
  151. $biglog .= "On met à jour le matériel ocs ($id_ocs) avec le SSN aléatoire $rand_ssn_ocs ";
  152. $req_update_ssn_ocs = "UPDATE ocsweb.bios SET SSN='$rand_ssn_ocs' WHERE HARDWARE_ID=$id_ocs";
  153. $result = $con_ocs->Execute ( $req_update_ssn_ocs );
  154. // On log la requête SQL
  155. fwrite($fp, date("Ymd His") . " " . $rq_MAJ_nom_materiel_gespac."\n");
  156. $biglog .= "Création du matériel $nom_ocs de ssn $rand_ssn_ocs avec pour marque_id $gespac_marqueid_from_ocs_marque_modele <br>";
  157. $req_insert_materiel_gespac = "INSERT INTO materiels (mat_nom, mat_serial, marque_id, mat_mac) VALUES ('$nom_ocs', '$rand_ssn_ocs', $gespac_marqueid_from_ocs_marque_modele, '$mac_ocs')";
  158. $result = $con_gespac->Execute ( $req_insert_materiel_gespac );
  159. $materiels_ajoutes .= "Création du matériel <b>$nom_ocs</b> de ssn <b>$rand_ssn_ocs</b> avec pour marque et modèle <b>$marque &nbsp $modele</b><br>";
  160. // On log la requête SQL
  161. fwrite($fp, date("Ymd His") . " " . $req_insert_materiel_gespac."\n");
  162. }
  163. else { //Le matériel OCS a un ssn
  164. $biglog .= "Création du matériel $nom_ocs de ssn $ssn_ocs avec pour marque_id $gespac_marqueid_from_ocs_marque_modele <br>";
  165. $req_insert_materiel_gespac = "INSERT INTO materiels (mat_nom, mat_serial, marque_id, mat_mac) VALUES ('$nom_ocs', '$ssn_ocs', $gespac_marqueid_from_ocs_marque_modele, '$mac_ocs')";
  166. $result = $con_gespac->Execute ( $req_insert_materiel_gespac );
  167. $materiels_ajoutes .= "Création du matériel <b>$nom_ocs</b> de ssn <b>$ssn_ocs</b> avec pour marque et modèle <b>$marque &nbsp $modele</b><br>";
  168. // On log la requête SQL
  169. fwrite($fp, date("Ymd His") . " " . $req_insert_materiel_gespac."\n");
  170. }
  171. }
  172. $biglog .= "----------------<br>";
  173. } // end of "Le matériel n'existe pas dans la base"
  174. /******************************************************
  175. * Le matériel existe dans la base gespac
  176. *******************************************************/
  177. else {
  178. $biglog .= " -> J'ai le matériel $nom_ocs ($ssn_ocs) dans ma base gespac.<br>";
  179. $biglog .= "On récupère la dernière version de l'inventaire de la machine ocs $id_ocs.<br>";
  180. $db_ocs = & MDB2::factory($dsn_ocs);
  181. //$dernier_inventaire_ocs = $db_ocs->queryAll ( "SELECT NAME, MAX(LASTDATE) FROM hardware WHERE ID=$id_ocs GROUP BY NAME;" );
  182. $dernier_inventaire_ocs = $db_ocs->queryAll ( "SELECT NAME, LASTDATE, MAX(LASTDATE) FROM hardware, bios WHERE ssn='$ssn_ocs' AND hardware.id=bios.hardware_id GROUP BY NAME;" );
  183. $db_ocs->disconnect();
  184. $nom_hardware_gespac = search_in_array ($ssn_ocs, $liste_hardware_gespac, 1);
  185. $biglog .= "Le nom de la machine ocs $id_ocs (ssn : $ssn_ocs) lors de son dernier inventaire (" . $dernier_inventaire_ocs[0][1] . ") : " . $dernier_inventaire_ocs[0][0] . " celui de gespac est : $nom_hardware_gespac<br>";
  186. if ( $dernier_inventaire_ocs[0][0] <> $nom_hardware_gespac) {
  187. $biglog .= "On met à jour le matériel GESPAC numéro $gespac_matid_from_ocs_ssn avec le nouveau nom OCS : " . $dernier_inventaire_ocs[0][0] . "<br>";
  188. // cnx gespac
  189. $con_gespac = new Sql($host, $user, $pass, $gespac);
  190. $rq_MAJ_nom_materiel_gespac = "UPDATE materiels SET mat_nom='" . $dernier_inventaire_ocs[0][0] . "' WHERE mat_id=$gespac_matid_from_ocs_ssn" ;
  191. $result = $con_gespac->Execute ( $rq_MAJ_nom_materiel_gespac );
  192. $materiels_maj .= "Mise à jour du matériel GESPAC <b>$nom_hardware_gespac</b> avec le nouveau nom OCS : <b>" . $dernier_inventaire_ocs[0][0] . "</b><br>";"";
  193. // On log la requête SQL
  194. fwrite($fp, date("Ymd His") . " " . $rq_MAJ_nom_materiel_gespac."\n");
  195. }
  196. else {
  197. $biglog .= "Le nom du matériel dans gespac et du dernier inventaire ocs est identique <br>";
  198. $materiels_deja_presents .= "Le matériel <b>$nom_hardware_gespac</b> est présent et à jour dans la base gespac. <br>";
  199. }
  200. $biglog .= "----------------<br>";
  201. }
  202. } // end of "Pour chaque matériel de la base OCS"
  203. /***********************************************
  204. * Pour chaque écran de la base OCS
  205. ***********************************************/
  206. foreach ($liste_monitors_ocs as $monitors_ocs) {
  207. $monitor_ssn = $monitors_ocs['serial'];
  208. $monitor_marque = $monitors_ocs['manufacturer'];
  209. $monitor_modele = $monitors_ocs['caption'];
  210. $monitor_pc_name = $monitors_ocs['name'];
  211. // Nom du matériel associé au ssn de l'écran (ca permet de tester l'existence du matériel dans gespac)
  212. $nom_pc_associe = search_in_array($monitor_ssn, $liste_hardware_gespac, 1 );
  213. // Debut du test d'existence de la marque et du modele dans la table marques de gespac
  214. /*
  215. En résumé : on cherche à savoir si la marque ocs existe déjà dans la base gespac.
  216. On prend le couple marque/modele OCS et on teste son existance dans la table des correspondances
  217. Si le couple existe alors on cherche à savoir si les champs corr_marque et corr_modele existent dans la table des marques de gespac,
  218. sinon c'est que la correspondance n'existe pas et qu'on a dû insérer dans la table des marques le couple marque/modele de ocs.
  219. */
  220. // cnx gespac
  221. $con_gespac = new Sql($host, $user, $pass, $gespac);
  222. // La liste des correspondances
  223. $liste_correspondances = $con_gespac->QueryRow ( "SELECT corr_marque_ocs, corr_type, corr_stype, corr_marque, corr_modele FROM correspondances WHERE corr_marque_ocs = '$monitor_marque" . " " . "$monitor_modele';" );
  224. // Si la correspondance existe on teste avec les champs corr_marque et corr_modele
  225. if ( $liste_correspondances ) {
  226. $marque = $liste_correspondances['corr_marque'];
  227. $modele = $liste_correspondances['corr_modele'];
  228. }
  229. // sinon on utilise les valeurs de OCS
  230. else {
  231. $marque = $monitor_marque;
  232. $modele = $monitor_modele;
  233. }
  234. // On teste maintenant si la marque existe dans gespac et on récupère son id (le champ de test est la concaténation de la marque et du modele)
  235. $gespac_marqueid_from_ocs_marque_modele = find_marque_id($marque . " " . $modele, $liste_marques_gespac);
  236. // Fin du test d'existence de la marque et du modele dans la table marques de gespac
  237. /******************************************************
  238. * Le matériel n'existe pas dans la base gespac
  239. *******************************************************/
  240. if ( $nom_pc_associe == false ) {
  241. // La marque n'existe pas et le matériel non plus
  242. if ( $gespac_marqueid_from_ocs_marque_modele == false ) {
  243. // Si la correspondance existe on insère les champs issus de la table de correspondance sinon on utilise les champs de la base OCS
  244. if ( $liste_correspondances ) {
  245. $type = $liste_correspondances['corr_type'];
  246. $stype = $liste_correspondances['corr_stype'];
  247. $marque = $liste_correspondances['corr_marque'];
  248. $modele = $liste_correspondances['corr_modele'];
  249. }
  250. else {
  251. $type = 'ECRAN';
  252. $stype = 'CRT17';
  253. $marque = $monitor_marque;
  254. $modele = $monitor_modele;
  255. }
  256. $quadruplet = $type . $stype . $marque . $modele;
  257. if ( !in_array ($quadruplet, $marques_creees) ) {
  258. // On créé la marque
  259. $biglog .= "Création de la marque : <b>$marque $modele</b> de type $type.<br>";
  260. $req_insert_marque = "INSERT INTO marques ( marque_type, marque_stype, marque_marque, marque_model ) VALUES ('$type', '$stype', '$marque', '$modele' )";
  261. $result = $con_gespac->Execute ( $req_insert_marque );
  262. // Pas très propre => A recoder :
  263. // La marque une fois créée n'est pas comptabilisé dans la liste [gespac_marqueid_from_ocs_marque_modele]
  264. // Je créé donc un tableau contenant toutes les marques que j'ajoute afin de ne pas créer plusieurs fois la même marque.
  265. $quadruplet = $type . $stype . $marque . $modele;
  266. array_push($marques_creees, $quadruplet);
  267. // On log la requête SQL
  268. fwrite($fp, date("Ymd His") . " " . $req_insert_marque."\n");
  269. $marques_ajoutees .= "Ajout de la marque et du modèle <b>$marque $modele</b> de type $type / $stype.<br>";
  270. }
  271. else {
  272. // On log que la marque vient d'être créée
  273. $biglog .= "La marque $type / $stype / $marque / $modele a déjà été créée. On ne la recrée pas ...<br>";
  274. }
  275. // On récupère le id de la marque créée
  276. $biglog .= "On récupère le marque_id de la marque nouvellement créée.<br>";
  277. $id_nouvelle_marque = $con_gespac->QueryOne ( "SELECT marque_id FROM marques WHERE marque_marque='$marque' AND marque_model='$modele';" );
  278. // On insère l'écran
  279. $biglog .= "Création du matériel Ecran_de_$monitor_pc_name de ssn $monitor_ssn avec pour marque_id $id_nouvelle_marque <br>";
  280. $req_insert_materiel_gespac = "INSERT INTO materiels (mat_nom, mat_serial, marque_id, mat_mac) VALUES ('Ecran_de_$monitor_pc_name', '$monitor_ssn', $id_nouvelle_marque, 'NA')";
  281. $result = $con_gespac->Execute ( $req_insert_materiel_gespac );
  282. // On log la requête SQL
  283. fwrite($fp, date("Ymd His") . " " . $req_insert_materiel_gespac."\n");
  284. $ecrans_ajoutes .= "Ajout de <b>Ecran_de_$monitor_pc_name</b> de ssn <b>$monitor_ssn</b> et de marque <b>$marque $modele</b><br>";
  285. }
  286. // La marque existe mais pas le matériel
  287. else {
  288. // On récupère le id de la marque trouvée
  289. $biglog .= "On récupère le marque_id de la marque nouvellement créée.<br>";
  290. $id_nouvelle_marque = $con_gespac->QueryOne ( "SELECT marque_id FROM marques WHERE marque_marque='$marque' AND marque_model='$modele';" );
  291. // On insère l'écran
  292. $biglog .= "Création du matériel Ecran_de_$monitor_pc_name de ssn $monitor_ssn avec pour marque_id $id_nouvelle_marque <br>";
  293. $req_insert_materiel_gespac = "INSERT INTO materiels (mat_nom, mat_serial, marque_id, mat_mac) VALUES ('Ecran_de_$monitor_pc_name', '$monitor_ssn', $id_nouvelle_marque, 'NA')";
  294. $result = $con_gespac->Execute ( $req_insert_materiel_gespac );
  295. // On log la requête SQL
  296. fwrite($fp, date("Ymd His") . " " . $req_insert_materiel_gespac."\n");
  297. $ecrans_ajoutes .= "Ajout de <b>Ecran_de_$monitor_pc_name</b> de ssn <b>$monitor_ssn</b> et de marque <b>$marque $modele</b><br>";
  298. }
  299. }
  300. /*************************************************************
  301. * Le matériel existe dans la base gespac donc sa marque aussi
  302. **************************************************************/
  303. else {
  304. $biglog .= "l'écran de ssn <b>$monitor_ssn</b> est déjà dans Gespac.<br>";
  305. $ecrans_deja_presents .= "l'écran de ssn <b>$monitor_ssn</b> est déjà dans Gespac.<br>";
  306. }
  307. $biglog .= "----------------<br>";
  308. } // End pour chaque écran de la base ocs
  309. // Je ferme le fichier de log sql
  310. fclose($fp);
  311. //recap et compteurs ! (et on en profite pour ne pas écrire 10 fois qu'une marque est créée par ex)
  312. $unique_marques_ajoutees = array_unique (explode ("<br>", $marques_ajoutees));
  313. $liste_marques_ajoutees = implode ("<br>", $unique_marques_ajoutees);
  314. $unique_marques_deja_presentes = array_unique (explode ("<br>", $marques_deja_presentes));
  315. $liste_marques_deja_presentes = implode ("<br>", $unique_marques_deja_presentes);
  316. $unique_materiels_ajoutes = array_unique (explode ("<br>", $materiels_ajoutes));
  317. $liste_materiels_ajoutes = implode ("<br>", $unique_materiels_ajoutes);
  318. $unique_materiels_maj = array_unique (explode ("<br>", $materiels_maj));
  319. $liste_materiels_maj = implode ("<br>", $unique_materiels_maj);
  320. $unique_materiels_deja_presents = array_unique (explode ("<br>", $materiels_deja_presents));
  321. $liste_materiels_deja_presents = implode ("<br>", $unique_materiels_deja_presents);
  322. $unique_ecrans_deja_presents = array_unique (explode ("<br>", $ecrans_deja_presents));
  323. $liste_ecrans_deja_presents = implode ("<br>", $unique_ecrans_deja_presents);
  324. $unique_ecrans_ajoutes = array_unique (explode ("<br>", $ecrans_ajoutes));
  325. $liste_ecrans_ajoutes = implode ("<br>", $unique_ecrans_ajoutes);
  326. echo "
  327. - <a href='#' onclick=\"showlogs('marques_ajoutees');\">nombre de marques ajoutées : " . (count($unique_marques_ajoutees)-1) . " </a><br>
  328. <div id=marques_ajoutees style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$liste_marques_ajoutees</div>
  329. ";
  330. echo "
  331. - <a href='#' onclick=\"showlogs('marques_deja_presentes');\">nombre de marques déjà présentes : " . (count($unique_marques_deja_presentes)-1) . " </a><br>
  332. <div id=marques_deja_presentes style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$liste_marques_deja_presentes</div>
  333. ";
  334. echo "
  335. - <a href='#' onclick=\"showlogs('materiels_ajoutes');\">nombre de matériels ajoutés : " . (count($unique_materiels_ajoutes)-1) . " </a><br>
  336. <div id=materiels_ajoutes style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$liste_materiels_ajoutes</div>
  337. ";
  338. echo "
  339. - <a href='#' onclick=\"showlogs('materiels_maj');\">nombre de matériels mis à jour : " . (count($unique_materiels_maj)-1) . " </a><br>
  340. <div id=materiels_maj style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$liste_materiels_maj</div>
  341. ";
  342. echo "
  343. - <a href='#' onclick=\"showlogs('materiels_deja_presents');\">nombre de matériels déjà présents et à jour : " . (count($unique_materiels_deja_presents)-1) . " </a><br>
  344. <div id=materiels_deja_presents style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$liste_materiels_deja_presents</div>
  345. ";
  346. echo "
  347. - <a href='#' onclick=\"showlogs('ecrans_ajoutes');\">nombre d'écrans ajoutés : " . (count($unique_ecrans_ajoutes)-1) . " </a><br>
  348. <div id=ecrans_ajoutes style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$liste_ecrans_ajoutes</div>
  349. ";
  350. echo "
  351. - <a href='#' onclick=\"showlogs('ecrans_deja_presents');\">nombre d'écrans déjà présents dans Gespac : " . (count($unique_ecrans_deja_presents)-1) . " </a><br>
  352. <div id=ecrans_deja_presents style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$liste_ecrans_deja_presents</div>
  353. ";
  354. // Le gros log
  355. echo "
  356. <br><br><a href='#' onclick=\"showlogs('biglog');\">- Montrer les gros logs</a>
  357. <div id=biglog style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>$biglog</div>
  358. ";
  359. echo "<br><br><a href='#' onclick=\"showlogs('correspondances');\">- Montrer les mises à jour de correspondances</a>
  360. <div id=correspondances style='background-color:#E3E3E3;border:1px solid black;display:none;padding:5px;'>";
  361. include ("maj_marques_avec_correspondances.php");
  362. echo "</div>";
  363. //Insertion d'un log
  364. $log_texte =
  365. "Nombre de marques déjà présentes : " . (count($unique_marques_deja_presentes)-1) .
  366. "<br>Nombre de matériels ajoutés : " . (count($unique_materiels_ajoutes)-1) .
  367. "<br>Nombre de matériels mis à jour : " . (count($unique_materiels_maj)-1) .
  368. "<br>Nombre d`écrans ajoutés : " . (count($unique_ecrans_ajoutes)-1);
  369. $req_log_import_ocs = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Import OCS', '$log_texte' );";
  370. $result = $con_gespac->Execute ( $req_log_import_ocs );
  371. ?>