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); + +?>