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 processDistributorChanges (Part $part, Array $data) { if (array_key_exists("updates", $data)) { foreach ($data["updates"] as $record) { foreach ($part->getDistributors() as $partDistributor) { if ($partDistributor->getId() == $record["id"]) { $partDistributor->setOrderNumber($record["orderNumber"]); $partDistributor->setDistributor(Distributor::loadById($record["distributor_id"])); $partDistributor->setPackagingUnit($record["packagingUnit"]); break; } } } } if (array_key_exists("removals", $data)) { foreach ($data["removals"] as $record) { foreach ($part->getDistributors() as $partDistributor) { if ($partDistributor->getId() == $record["id"]) { PartKeepr::getEM()->remove($partDistributor); $part->getDistributors()->removeElement($partDistributor); break; } } } } if (array_key_exists("inserts", $data)) { foreach ($data["inserts"] as $record) { $distributor = new PartDistributor($part, Distributor::loadById($record["distributor_id"])); $distributor->setOrderNumber($record["orderNumber"]); $distributor->setPackagingUnit($record["packagingUnit"]); $part->getDistributors()->add($distributor); } } }