foreach (array('PCI' => 'http://pciids.sourceforge.net/v2.2/pci.ids', 'USB' => 'http://www.linux-usb.org/usb.ids') as $type => $URL) { echo "Processing : $type\n"; foreach (file($URL) as $line) { if ($line[0] == '#') { continue; } $line = rtrim($line); if (empty($line)) { continue; } if ($line[0] != '\t') { $id = strtolower(substr($line, 0, 4)); $name = addslashes(trim(substr($line, 4))); if ($registeredid->getFromDBByQuery("WHERE `itemtype` = 'Manufacturer' AND `name` = '$id' AND `device_type` = '$type'")) { $manufacturer->getFromDB($registeredid->fields['items_id']); } else { if (!$manufacturer->getFromDBByQuery("WHERE `name` = '$name'")) { $input = array('name' => $name); $manufacturer->add($input); } $input = array('itemtype' => $manufacturer->getType(), 'items_id' => $manufacturer->getID(), 'device_type' => $type, 'name' => $id); $registeredid->add($input); } continue; }
$registeredid = new RegisteredID(); $manufacturer = new Manufacturer(); foreach (array('PCI' => 'http://pciids.sourceforge.net/v2.2/pci.ids', 'USB' => 'http://www.linux-usb.org/usb.ids') as $type => $URL) { echo "Processing : {$type}\n"; foreach (file($URL) as $line) { if ($line[0] == '#') { continue; } $line = rtrim($line); if (empty($line)) { continue; } if ($line[0] != '\\t') { $id = strtolower(substr($line, 0, 4)); $name = addslashes(trim(substr($line, 4))); if ($registeredid->getFromDBByQuery("WHERE `itemtype` = 'Manufacturer'\n AND `name` = '{$id}'\n AND `device_type` = '{$type}'")) { $manufacturer->getFromDB($registeredid->fields['items_id']); } else { if (!$manufacturer->getFromDBByQuery("WHERE `name` = '{$name}'")) { $input = array('name' => $name); $manufacturer->add($input); } $input = array('itemtype' => $manufacturer->getType(), 'items_id' => $manufacturer->getID(), 'device_type' => $type, 'name' => $id); $registeredid->add($input); } continue; } // if (($line[0] == "\t") && ($line[1] != '\t')) { // $line = trim($line); // $id = strtolower(substr($line, 0, 4)); // $name = addslashes(trim(substr($line, 4)));