summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics/inc/hardwareparserlegacy.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/statistics/inc/hardwareparserlegacy.inc.php')
-rw-r--r--modules-available/statistics/inc/hardwareparserlegacy.inc.php43
1 files changed, 3 insertions, 40 deletions
diff --git a/modules-available/statistics/inc/hardwareparserlegacy.inc.php b/modules-available/statistics/inc/hardwareparserlegacy.inc.php
index 4d8a8502..277f6d4a 100644
--- a/modules-available/statistics/inc/hardwareparserlegacy.inc.php
+++ b/modules-available/statistics/inc/hardwareparserlegacy.inc.php
@@ -134,47 +134,10 @@ class HardwareParserLegacy
$row['hdds'] = &$hdds;
}
- public static function parsePci(&$pci1, &$pci2, $data)
+ public static function parsePci(string $data): array
{
- preg_match_all('/[a-f0-9:.]{7}\s+"(Class\s*)?(?<class>[a-f0-9]{4})"\s+"(?<ven>[a-f0-9]{4})"\s+"(?<dev>[a-f0-9]{4})"/is', $data, $out, PREG_SET_ORDER);
- $pci = array();
- foreach ($out as $entry) {
- if (!isset($pci[$entry['class']])) {
- $class = 'c.' . $entry['class'];
- $res = PciId::getPciId('CLASS', $class);
- if ($res === false) {
- $pci[$entry['class']]['lookupClass'] = 'do-lookup';
- $pci[$entry['class']]['class'] = $class;
- } else {
- $pci[$entry['class']]['class'] = $res;
- }
- }
- $new = array(
- 'ven' => $entry['ven'],
- 'dev' => $entry['ven'] . ':' . $entry['dev'],
- );
- $res = PciId::getPciId('VENDOR', $new['ven']);
- if ($res === false) {
- $new['lookupVen'] = 'do-lookup';
- } else {
- $new['ven'] = $res;
- }
- $res = PciId::getPciId('DEVICE', $new['dev']);
- if ($res === false) {
- $new['lookupDev'] = 'do-lookup';
- } else {
- $new['dev'] = $res . ' (' . $new['dev'] . ')';
- }
- $pci[$entry['class']]['entries'][] = $new;
- }
- ksort($pci);
- foreach ($pci as $class => $entry) {
- if ($class === '0300' || $class === '0200' || $class === '0403') {
- $pci1[] = $entry;
- } else {
- $pci2[] = $entry;
- }
- }
+ preg_match_all('/[a-f0-9:.]{7}\s+"(Class\s*)?(?<class>[a-f0-9]{4})"\s+"(?<vendor>[a-f0-9]{4})"\s+"(?<device>[a-f0-9]{4})"/is', $data, $out, PREG_SET_ORDER);
+ return $out;
}
public static function parseSmartctl(&$hdds, $data)