Advertisement
bforcex

Fix Install Date GLPI

Aug 14th, 2018
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.67 KB | None | 0 0
  1. <?php
  2. set_time_limit(0);
  3.  
  4. $servername = "localhost";
  5. $username = "root";
  6. $password = "root";
  7. $ocsdb = "ocsweb";
  8. $glpidb = "glpi";
  9. //$i = 0;
  10.  
  11. $ocsconn = new mysqli($servername, $username, $password, $ocsdb);
  12. $glpiconn = new mysqli($servername, $username, $password, $glpidb);
  13.  
  14. function getCurrentNumbers() {
  15.         global $glpiconn;
  16.         $sql = "SELECT COUNT(id) AS count FROM glpi_computers_softwareversions";
  17.         $query = mysqli_query($glpiconn, $sql);
  18.         $exec = mysqli_fetch_assoc($query);
  19.         $count = round($exec['count'] / 6, 0);
  20.         return $count;
  21. }
  22.  
  23. $sql = "SELECT id,computers_id,softwareversions_id FROM glpi_computers_softwareversions WHERE date_install='0000-00-00' AND is_deleted_computer='0' LIMIT 5000";
  24.  
  25. $q1 = mysqli_query($glpiconn, $sql);
  26. while( $row = mysqli_fetch_assoc($q1)) {
  27.         $computer_name = getComputerName($row['computers_id']);
  28.         $software = getSoftware($row['softwareversions_id']);
  29.         $software_id = $software[0];
  30.         $software_version = $software[1];
  31.         $software_name = getSoftwareName($software_id);
  32.         // start ocs
  33.         $ocs_hardwareId = getOCSHardwareId($computer_name);
  34.         $ocs_softwares = getOCSSoftwares($ocs_hardwareId, $software_name, $software_version);
  35.  
  36.  
  37.         $ocs_install_date = substr($ocs_softwares[0]['INSTALLDATE'], 0, 10);
  38.         if($ocs_install_date != '') {
  39.                 // Update
  40.                 // Commented for tester
  41.                 $glpi_query = "UPDATE glpi_computers_softwareversions SET date_install = '".$ocs_install_date."' WHERE id = '".$row['id']."'";
  42.                 //$exec = mysqli_query($glpiconn, $glpi_query);
  43.                 //echo $glpi_query ."<br>";
  44.                 echo "Software Name:  ".$software_name." <br> Computer Name: ".$computer_name." <br> ID " . $row['id'] . " <br> Latest date: " . $ocs_install_date . "\n <br> <hr>";
  45.         }
  46. }
  47.  
  48. function getOCSSoftwares($ocs_hardwareId, $software_name, $software_version) {
  49.         global $ocsconn;
  50.         $query = "SELECT * FROM softwares WHERE HARDWARE_ID = '".$ocs_hardwareId."' AND NAME = '".$software_name."' AND VERSION = '".$software_version."' AND INSTALLDATE != '0000-00-00 00:00:00'";
  51.         $exec = mysqli_query($ocsconn, $query);
  52.         $array = [];
  53.         if(mysqli_num_rows($exec) > 0) {
  54.                 while($data = mysqli_fetch_assoc($exec)) {
  55.                         $array[] = $data;
  56.                         //$i++;
  57.                 }
  58.         }
  59.         return $array;
  60. }
  61.  
  62.  
  63.  
  64. function getOCSHardwareId($computer_name) {
  65.         global $ocsconn;
  66.         $query = "SELECT * FROM `hardware` WHERE `NAME` = '".$computer_name."'";
  67.         $exec = mysqli_query($ocsconn, $query);
  68.         $data = mysqli_fetch_assoc($exec);
  69.         return $data['ID'];
  70. }
  71.  
  72. function getSoftwareName($software_id) {
  73.         global $glpiconn;
  74.         $query = "SELECT id, name FROM glpi_softwares WHERE id = '".$software_id."'";
  75.         $exec = mysqli_query($glpiconn, $query);
  76.         $data = mysqli_fetch_assoc($exec);
  77.         return $data['name'];
  78. }
  79.  
  80. function getSoftware($softwareversion_id) {
  81.         global $glpiconn;
  82.         $query = "SELECT softwares_id, name FROM `glpi_softwareversions` WHERE id = '".$softwareversion_id."'";
  83.         $exec = mysqli_query($glpiconn, $query);
  84.         $data = mysqli_fetch_assoc($exec);
  85.         $array = [$data['softwares_id'], $data['name']];
  86.         return $array;
  87. }
  88.  
  89. function getComputerName($comp_id) {
  90.         global $glpiconn;
  91.         $query = "SELECT id, name FROM glpi_computers WHERE id = '".$comp_id."'";
  92.         $exec = mysqli_query($glpiconn, $query);
  93.         $data = mysqli_fetch_assoc($exec);
  94.         return $data['name'];
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement