From 997db7f09c1f159b531fc804aacf3c5ca1208d87 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Fri, 16 Sep 2022 11:50:59 +1000 Subject: Revert "Removing scripts subdir" This reverts commit 22bbfe0e2e0ddb0ccaafe888446f2f59a9ab4e2f. --- scripts/vendorid/insert_vendors.php | 124 ++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 scripts/vendorid/insert_vendors.php (limited to 'scripts/vendorid/insert_vendors.php') diff --git a/scripts/vendorid/insert_vendors.php b/scripts/vendorid/insert_vendors.php new file mode 100644 index 0000000..630a88d --- /dev/null +++ b/scripts/vendorid/insert_vendors.php @@ -0,0 +1,124 @@ +#! /usr/bin/php +query($query)) { + $found = $result->num_rows; + } + if ($found == 0) { + //insert + $query = "INSERT INTO vendors (bus,vendorid,clean_name,full_name) VALUES ('PCI','$vendorid','$clean_name','$full_name');"; + if ($verbose) { + echo "\n Adding record: PCI $vendorid $clean_name $full_name"; + } + if ($change) { + DB::$instance->query($query); + } + } + + // Check if record has changed, update if so + $query = "SELECT vendorid, clean_name, full_name FROM vendors WHERE vendorid='$vendorid' AND (BINARY clean_name!='$clean_name' OR BINARY full_name!='$full_name') AND bus='PCI'"; + if ($result = DB::$instance->query($query)) { + $found = $result->num_rows; + } + if ($found > 0) { + $row = $result->fetch_assoc(); + //update + $query = "UPDATE vendors SET clean_name='$clean_name', full_name='$full_name' WHERE vendorid='$vendorid' AND bus='PCI';"; + if ($verbose) { + echo "\n Updating record - old value: PCI " . $row['clean_name'] . " " . $row['full_name']; + echo "\n Updating record - new value: PCI $clean_name $full_name"; + } + if ($change) { + DB::$instance->query($query); + } + } + } +} + +fclose($ids_fp); + +//insert the USB vendors +$ids_fp = fopen('usb.ids', 'r'); + +while (($line = fgets($ids_fp)) !== false) { + if (preg_match('/^([0-9a-f]{4})\s+(.*)\s*$/', + $line, $matches) == 1) { + $vendorid = $matches[1]; + $full_name = sanitizeDb(decode_soft($matches[2])); + $clean_name = sanitizeDb(decode($matches[2])); + + $query = "SELECT vendorid FROM vendors WHERE vendorid='$vendorid' AND bus='USB'"; + if ($result = DB::$instance->query($query)) { + $found = $result->num_rows; + } + if ($found == 0) { + //insert + $query = "INSERT INTO vendors (bus,vendorid,clean_name,full_name) VALUES ('USB','$vendorid','$clean_name','$full_name');"; + if ($verbose) { + echo "\n Adding record: USB $vendorid $clean_name $full_name"; + } + if ($change) { + DB::$instance->query($query); + } + } + + + // Check if record has changed, update if so + $query = "SELECT vendorid, clean_name, full_name FROM vendors WHERE vendorid='$vendorid' AND (BINARY clean_name!='$clean_name' OR BINARY full_name!='$full_name') AND bus='USB'"; + if ($result = DB::$instance->query($query)) { + $found = $result->num_rows; + } + if ($found >0) { + $row = $result->fetch_assoc(); + $query = "UPDATE vendors SET clean_name='$clean_name', full_name='$full_name' WHERE vendorid='$vendorid' AND bus='USB';"; + if ($verbose) { + echo "\n Updating record - old value: USB " . $row['clean_name'] . " " . $row['full_name']; + echo "\n Updating record - new value: USB $clean_name $full_name"; + } + if ($change) { + DB::$instance->query($query); + } + } + + } +} + +fclose($ids_fp); -- cgit v1.2.3