diff -r b316b88ebe12 -r f6fafccd8a6d www/upl_fermentables.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/upl_fermentables.php Sun Mar 03 13:26:28 2019 +0100
@@ -0,0 +1,152 @@
+ 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;
+$myfermentables= simplexml_load_file($target_file);
+
+
+foreach ($myfermentables->FERMENTABLE as $fermentable) {
+
+ $sql = "INSERT INTO inventory_fermentables SET name='" . mysqli_real_escape_string($db, $fermentable->NAME);
+ if ($fermentable->TYPE == 'Grain')
+ $sql .= "', type='0";
+ else if ($fermentable->TYPE == 'Sugar')
+ $sql .= "', type='1";
+ else if ($fermentable->TYPE == 'Extract')
+ $sql .= "', type='2";
+ else if ($fermentable->TYPE == 'Dry extract')
+ $sql .= "', type='3";
+ else if ($fermentable->TYPE == 'Adjunct')
+ $sql .= "', type='4";
+ else
+ echo "Unknown TYPE " . $fermentable->TYPE . "
";
+ if ($fermentable->YIELD)
+ $sql .= "', yield='" . floatval($fermentable->YIELD);
+ if ($fermentable->COLOR) {
+ $sql .= "', color='" . srm_to_ebc(floatval($fermentable->COLOR));
+ }
+ ($fermentable->ADD_AFTER_BOIL == "TRUE") ? $sql .= "', add_after_boil='1" : $sql .= "', add_after_boil='0";
+ if ($fermentable->ADDED == 'Mash')
+ $sql .= "', added='0";
+ else if ($fermentable->ADDED == 'Boil')
+ $sql .= "', added='1";
+ else if ($fermentable->ADDED == 'Fermentation')
+ $sql .= "', added='2";
+ else if ($fermentable->ADDED == 'Lagering')
+ $sql .= "', added='3";
+ else if ($fermentable->ADDED == 'Bottle')
+ $sql .= "', added='4";
+ else
+ echo "Unknown ADDED " . $fermentable->ADDED . "
";
+
+ $sql .= "', origin='" . mysqli_real_escape_string($db, $fermentable->ORIGIN);
+ $sql .= "', supplier='" . mysqli_real_escape_string($db, $fermentable->SUPPLIER);
+ $sql .= "', notes='" . mysqli_real_escape_string($db, $fermentable->NOTES);
+ if ($fermentable->COARSE_FINE_DIFF)
+ $sql .= "', coarse_fine_diff='" . floatval($fermentable->COARSE_FINE_DIFF);
+ if ($fermentable->MOISTURE)
+ $sql .= "', moisture='" . floatval($fermentable->MOISTURE);
+ if ($fermentable->DIASTATIC_POWER)
+ $sql .= "', diastatic_power='" . floatval($fermentable->DIASTATIC_POWER);
+ if ($fermentable->PROTEIN)
+ $sql .= "', protein='" . floatval($fermentable->PROTEIN);
+ if ($fermentable->DISSOLVED_PROTEIN)
+ $sql .= "', dissolved_protein='" . floatval($fermentable->DISSOLVED_PROTEIN);
+ if ($fermentable->MAX_IN_BATCH)
+ $sql .= "', max_in_batch='" . floatval($fermentable->MAX_IN_BATCH);
+ ($fermentable->RECOMMEND_MASH == "TRUE") ? $sql .= "', recommend_mash='1" : $sql .= "', recommend_mash='0";
+ ($fermentable->ALWAYS_ON_STOCK == "TRUE") ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
+ if ($fermentable->INVENTORY)
+ $sql .= "', inventory='" . floatval($fermentable->INVENTORY);
+ if ($fermentable->COST)
+ $sql .= "', cost='" . floatval($fermentable->COST);
+
+ /*
+ * These are not beerxml standard:
+ */
+ if ($fermentable->DI_pH)
+ $sql .= "', di_ph='" . floatval($fermentable->DI_pH);
+ if ($fermentable->{'ACID_TO_pH_5.7'})
+ $sql .= "', acid_to_ph_57='" . floatval($fermentable->{'ACID_TO_pH_5.7'});
+ if ($fermentable->GRAINTYPE == 'Base')
+ $sql .= "', graintype='0";
+ else if ($fermentable->GRAINTYPE == 'Roast')
+ $sql .= "', graintype='1";
+ else if ($fermentable->GRAINTYPE == 'Crystal')
+ $sql .= "', graintype='2";
+ else if ($fermentable->GRAINTYPE == 'Kilned')
+ $sql .= "', graintype='3";
+ else if ($fermentable->GRAINTYPE == 'Sour malt')
+ $sql .= "', graintype='4";
+ else if ($fermentable->GRAINTYPE == 'Special')
+ $sql .= "', graintype='5";
+ else if ($fermentable->GRAINTYPE == 'No malt')
+ $sql .= "', graintype='6";
+ else
+ echo "Unknown GRAINTYPE " . $fermentable->GRAINTYPE . "
";
+ $sql .= "';";
+ if (! $result = mysqli_query($db, $sql)) {
+ echo "Fout 8: " . mysqli_error($db) . "
";
+ } else {
+ echo "+ " . $fermentable->NAME . "
";
+ $imported++;
+ }
+}
+
+if ($imported == 0) {
+ echo "Fout 7: geen vergistbare ingredienten in dit bestand.
";
+} else {
+ echo $imported . " ingredienten toegevoegd.
";
+}
+
+
+
+// Don't clutter the upload directory.
+unlink($target_file);
+
+?>