From 45f09908a8970dd39f90f266b013e4aea4c761cb Mon Sep 17 00:00:00 2001 From: Stanislas Date: Wed, 30 Apr 2025 11:40:08 +0200 Subject: [PATCH 1/4] Fix(Disk): fix disk space unit --- CHANGELOG.md | 1 + inc/sccm.class.php | 19 +++++++++++++++++++ inc/sccmxml.class.php | 8 ++++++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f36ccb0..c105116 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,4 +12,5 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - Fix option ```Use LastHWScan``` that no longer worked. +- Fix the disk space units for `TOTAL` and `FREE`. diff --git a/inc/sccm.class.php b/inc/sccm.class.php index 5cf6f1c..248597f 100644 --- a/inc/sccm.class.php +++ b/inc/sccm.class.php @@ -49,6 +49,25 @@ public function showHome() echo __('Please, read the documentation before using that.', 'footprints'); } + function getSccmVersion() { + $PluginSccmSccmdb = new PluginSccmSccmdb(); + $res = $PluginSccmSccmdb->connect(); + if (!$res) { + die; + } + + $query = "SELECT TOP 1 Version FROM dbo.Site;"; + + $result = $PluginSccmSccmdb->exec_query($query); + + $version = null; + if ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { + $version = Sanitizer::sanitize($row['Version']); + } + + return (int)$version; + } + public function getDevices($where = 0, $limit = 99999999) { diff --git a/inc/sccmxml.class.php b/inc/sccmxml.class.php index 6ca1b82..50d85ca 100644 --- a/inc/sccmxml.class.php +++ b/inc/sccmxml.class.php @@ -418,8 +418,12 @@ public function setStorages() $CONTENT = $this->sxml->CONTENT[0]; $i = 0; foreach ($PluginSccmSccm->getStorages($this->device_id) as $value) { - $value['gld-TotalSize'] = intval($value['gld-TotalSize']) * 1024; - $value['gld-FreeSpace'] = intval($value['gld-FreeSpace']) * 1024; + // since sccm 2409 is no more in KB but in MB + $multiplier = ($PluginSccmSccm->getSccmVersion() > 2409) ? 1 : 1024; + + $value['gld-TotalSize'] = intval($value['gld-TotalSize']) * $multiplier; + $value['gld-FreeSpace'] = intval($value['gld-FreeSpace']) * $multiplier; + $CONTENT->addChild('DRIVES'); $DRIVES = $this->sxml->CONTENT[0]->DRIVES[$i]; $DRIVES->addChild('DESCRIPTION', $value['gld-Description']); From d4e6c0422fd6b948230fac7783444e45825f7a15 Mon Sep 17 00:00:00 2001 From: Stanislas Date: Fri, 9 May 2025 13:51:57 +0200 Subject: [PATCH 2/4] fix CS --- inc/sccm.class.php | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/inc/sccm.class.php b/inc/sccm.class.php index 248597f..69c0822 100644 --- a/inc/sccm.class.php +++ b/inc/sccm.class.php @@ -49,24 +49,25 @@ public function showHome() echo __('Please, read the documentation before using that.', 'footprints'); } - function getSccmVersion() { - $PluginSccmSccmdb = new PluginSccmSccmdb(); - $res = $PluginSccmSccmdb->connect(); - if (!$res) { - die; - } + public function getSccmVersion() + { + $PluginSccmSccmdb = new PluginSccmSccmdb(); + $res = $PluginSccmSccmdb->connect(); + if (!$res) { + die; + } - $query = "SELECT TOP 1 Version FROM dbo.Site;"; + $query = "SELECT TOP 1 Version FROM dbo.Site;"; - $result = $PluginSccmSccmdb->exec_query($query); + $result = $PluginSccmSccmdb->exec_query($query); - $version = null; - if ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { - $version = Sanitizer::sanitize($row['Version']); - } + $version = null; + if ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { + $version = Sanitizer::sanitize($row['Version']); + } - return (int)$version; - } + return (int) $version; + } public function getDevices($where = 0, $limit = 99999999) { From 251a6333290831e909d288ac1827c19a7f5a94df Mon Sep 17 00:00:00 2001 From: Stanislas Date: Fri, 9 May 2025 13:56:21 +0200 Subject: [PATCH 3/4] fix --- inc/sccm.class.php | 6 +++--- inc/sccmxml.class.php | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/inc/sccm.class.php b/inc/sccm.class.php index 69c0822..a9c1867 100644 --- a/inc/sccm.class.php +++ b/inc/sccm.class.php @@ -49,7 +49,7 @@ public function showHome() echo __('Please, read the documentation before using that.', 'footprints'); } - public function getSccmVersion() + public function getSccmBuildNumber() { $PluginSccmSccmdb = new PluginSccmSccmdb(); $res = $PluginSccmSccmdb->connect(); @@ -57,13 +57,13 @@ public function getSccmVersion() die; } - $query = "SELECT TOP 1 Version FROM dbo.Site;"; + $query = "SELECT TOP 1 BuildNumber FROM dbo.Site;"; $result = $PluginSccmSccmdb->exec_query($query); $version = null; if ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { - $version = Sanitizer::sanitize($row['Version']); + $version = Sanitizer::sanitize($row['BuildNumber']); } return (int) $version; diff --git a/inc/sccmxml.class.php b/inc/sccmxml.class.php index 50d85ca..0a146c9 100644 --- a/inc/sccmxml.class.php +++ b/inc/sccmxml.class.php @@ -418,8 +418,9 @@ public function setStorages() $CONTENT = $this->sxml->CONTENT[0]; $i = 0; foreach ($PluginSccmSccm->getStorages($this->device_id) as $value) { - // since sccm 2409 is no more in KB but in MB - $multiplier = ($PluginSccmSccm->getSccmVersion() > 2409) ? 1 : 1024; + // since SCCM 2409 (Version: 5.0.9132.1000) (BuildNumber 9132) + // is total and freespace are no more in KB but in MB + $multiplier = ($PluginSccmSccm->getSccmBuildNumber() > 9132 ) ? 1 : 1024; $value['gld-TotalSize'] = intval($value['gld-TotalSize']) * $multiplier; $value['gld-FreeSpace'] = intval($value['gld-FreeSpace']) * $multiplier; From 016546f62d9982ffcaab5033d5dee54186df8db5 Mon Sep 17 00:00:00 2001 From: Stanislas Date: Fri, 9 May 2025 13:59:37 +0200 Subject: [PATCH 4/4] fix CS --- inc/sccmxml.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/sccmxml.class.php b/inc/sccmxml.class.php index 0a146c9..ecf0964 100644 --- a/inc/sccmxml.class.php +++ b/inc/sccmxml.class.php @@ -420,7 +420,7 @@ public function setStorages() foreach ($PluginSccmSccm->getStorages($this->device_id) as $value) { // since SCCM 2409 (Version: 5.0.9132.1000) (BuildNumber 9132) // is total and freespace are no more in KB but in MB - $multiplier = ($PluginSccmSccm->getSccmBuildNumber() > 9132 ) ? 1 : 1024; + $multiplier = ($PluginSccmSccm->getSccmBuildNumber() > 9132) ? 1 : 1024; $value['gld-TotalSize'] = intval($value['gld-TotalSize']) * $multiplier; $value['gld-FreeSpace'] = intval($value['gld-FreeSpace']) * $multiplier;