diff -r b316b88ebe12 -r f6fafccd8a6d www/upl_yeasts.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www/upl_yeasts.php Sun Mar 03 13:26:28 2019 +0100 @@ -0,0 +1,155 @@ + 500000 && $uploadOk) { + echo "Fout 2: het bestand is te groot. "; + $uploadOk = 0; +} +// Allow certain file formats +if ($imageFileType != "xml" && $uploadOk) { + echo "Fout 3: alleen XML bestanden toegestaan. "; + $uploadOk = 0; +} +// Check if $uploadOk is set to 0 by an error +if ($uploadOk == 0) { + exit; +} + +if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + echo "Verwerken bestand ". basename( $_FILES["fileToUpload"]["name"]). "
"; +} else { + echo "Fout 4: er ging iets fout met de upload."; + exit; +} + + +$db = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); +if (! $db) { + echo "Fout 5: ".mysqli_connect_errno()." ".mysqli_connect_error(); + exit; +} +mysqli_set_charset($db, "utf8" ); +date_default_timezone_set('Europe/Amsterdam'); + + +$imported = 0; +$yeasts = simplexml_load_file($target_file); + +foreach ($yeasts->YEAST as $yeast) { + + $sql = "INSERT INTO inventory_yeasts SET name='" . mysqli_real_escape_string($db, $yeast->NAME); + + if ($yeast->TYPE == 'Lager') + $sql .= "', type='0"; + else if ($yeast->TYPE == 'Ale') + $sql .= "', type='1"; + else if ($yeast->TYPE == 'Wheat') + $sql .= "', type='2"; + else if ($yeast->TYPE == 'Wine') + $sql .= "', type='3"; + else if ($yeast->TYPE == 'Champagne') + $sql .= "', type='4"; + else + echo "Unknown TYPE " . $yeast->TYPE . "
"; + + if ($yeast->FORM == 'Liquid') + $sql .= "', form='0"; + else if ($yeast->FORM == 'Dry') + $sql .= "', form='1"; + else if ($yeast->FORM == 'Slant') + $sql .= "', form='2"; + else if ($yeast->FORM == 'Culture') + $sql .= "', form='3"; + else if ($yeast->FORM == 'Frozen') + $sql .= "', form='4"; + else if ($yeast->FORM == 'Bottle') + $sql .= "', form='5"; + else + echo "Unknown FORM " . $yeast->FORM . "
"; + + $sql .= "', laboratory='" . mysqli_real_escape_string($db, $yeast->LABORATORY); + $sql .= "', product_id='" . mysqli_real_escape_string($db, $yeast->PRODUCT_ID); + if ($yeast->MIN_TEMPERATURE) + $sql .= "', min_temperature='" . floatval($yeast->MIN_TEMPERATURE); + if ($yeast->MAX_TEMPERATURE) + $sql .= "', max_temperature='" . floatval($yeast->MAX_TEMPERATURE); + + if ($yeast->FLOCCULATION == 'Low') + $sql .= "', flocculation='0"; + else if ($yeast->FLOCCULATION == 'Medium') + $sql .= "', flocculation='1"; + else if ($yeast->FLOCCULATION == 'High') + $sql .= "', flocculation='2"; + else if ($yeast->FLOCCULATION == 'Very high') + $sql .= "', flocculation='3"; + else + echo "Unknown FLOCCULATION " . $yeast->FLOCCULATION . PHP_EOL; + + if ($yeast->ATTENUATION) + $sql .= "', attenuation='" . floatval($yeast->ATTENUATION); + $sql .= "', notes='" . mysqli_real_escape_string($db, $yeast->NOTES); + $sql .= "', best_for='" . mysqli_real_escape_string($db, $yeast->BEST_FOR); + if ($yeast->MAX_REUSE) + $sql .= "', max_reuse='" . $yeast->MAX_REUSE; + + if ($yeast->FORM == 'Liquid') { + if ($yeast->LABORATORY == 'Imperial Yeast') + $sql .= "', cells='200000000000"; // 200 billion cells per pack + else + $sql .= "', cells='100000000000"; // 100 billion cells per pack + if ($yeast->COST) + $sql .= "', cost='" . floatval($yeast->COST); + if ($yeast->INVENTORY) + $sql .= "', inventory='" . floatval($yeast->INVENTORY); + } else if ($yeast->FORM == 'Dry') { + $sql .= "', cells='15000000000"; // 6..15 billion per gram + if ($yeast->INVENTORY) + $sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To kg + if ($yeast->COST) + $sql .= "', cost='" . floatval($yeast->COST) * 1000.0; // to Euro/kg + } else { + $sql .= "', cells='1700000000"; // 1.7 billion cells per ml. + if ($yeast->INVENTORY) + $sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To liter + if ($yeast->COST) + $sql .= "', cost='" . floatval($yeast->COST) * 1000.0; // to Euro/liter + } + if ($yeast->CULTURE_DATE) { + $date = substr($yeast->CULTURE_DATE, 6, 4) . '-' . substr($yeast->CULTURE_DATE, 3, 2) . '-' . substr($yeast->CULTURE_DATE, 0, 2); + $sql .= "', production_date='" . $date; + } + $sql .= "';"; + if (! $result = mysqli_query($db, $sql)) { + echo "Fout 8: " . mysqli_error($db) . "
"; + } else { + echo "+ " . $yeast->NAME . "
"; + $imported++; + } +} + +if ($imported == 0) { + echo "Fout 7: geen gisten in dit bestand.
"; +} else { + echo $imported . " gisten toegevoegd.
"; +} + + + +// Don't clutter the upload directory. +unlink($target_file); + +?>