$aRandomUnitNames = array("Spannung", "Strom", "Leitfähigkeit", "Viskosität", "Nessis"); $fc=0; while ($part = mysql_fetch_assoc($r)) { $oPart = new Part(); $oPart->setName(convertText($part["name"])); $oPart->setComment(convertText($part["comment"])); $oPart->setFootprint($newFootprints[$part["id_footprint"]]); $oPart->setCategory($newCategories[$part["id_category"]]); $oPart->setStorageLocation($newStorageLocations[$part["id_storeloc"]]); $oPart->setMinStockLevel($part["mininstock"]); $oPart->setPartUnit($partUnit); for ($i=0;$i<rand(0,15);$i++) { $randomManufacturer = rand(0, count($aManufacturers)-1); $oPart->getManufacturers()->add(new PartManufacturer($oPart, $aManufacturers[$randomManufacturer])); } $oPart->getDistributors()->add(new PartDistributor($oPart, $aDistributors[$part["id_supplier"]])); //echo "Migrating part ".sprintf("%-40s", $part["name"])."\r"; /* Add existing datasheets */ $datasheetQuery = "SELECT datasheeturl FROM datasheets WHERE part_id = ".$part["id"]; $r3 = mysql_query($datasheetQuery); while ($res = mysql_fetch_assoc($r3)) { $attachment = new PartAttachment(); $attachment->setPart($oPart); $attachment->replaceFromURL($res["datasheeturl"]); $attachment->setDescription(PartKeepr::i18n("Datasheet")); $oPart->getAttachments()->add($attachment);
private function processManufacturerChanges (Part $part, Array $data) { if (array_key_exists("updates", $data)) { foreach ($data["updates"] as $record) { foreach ($part->getManufacturers() as $partManufacturer) { if ($partManufacturer->getId() == $record["id"]) { $partManufacturer->setPartNumber($record["partNumber"]); $partManufacturer->setManufacturer(Manufacturer::loadById($record["manufacturer_id"])); break; } } } } if (array_key_exists("removals", $data)) { foreach ($data["removals"] as $record) { foreach ($part->getManufacturers() as $partManufacturer) { if ($partManufacturer->getId() == $record["id"]) { PartKeepr::getEM()->remove($partManufacturer); $part->getManufacturers()->removeElement($partManufacturer); break; } } } } if (array_key_exists("inserts", $data)) { foreach ($data["inserts"] as $record) { $manufacturer = new PartManufacturer($part, Manufacturer::loadById($record["manufacturer_id"])); $manufacturer->setPartNumber($record["partNumber"]); $part->getManufacturers()->add($manufacturer); } } }