# HG changeset patch # User Michiel Broek # Date 1543612307 -3600 # Node ID 07daa505d3094b294988c102e45bc29e5779a029 # Parent 9e378e37f20f6e6403cdc0bd5cf367a30a051bf0 Improved float precision for databases import. diff -r 9e378e37f20f -r 07daa505d309 www/import/from_brouwhulp.php --- a/www/import/from_brouwhulp.php Fri Nov 30 21:05:13 2018 +0100 +++ b/www/import/from_brouwhulp.php Fri Nov 30 22:11:47 2018 +0100 @@ -52,7 +52,7 @@ $sql = "INSERT INTO inventory_fermentables SET name='" . mysqli_real_escape_string($db, $fermentable->NAME); $sql .= "', type='" . $fermentable->TYPE; if ($fermentable->YIELD) - $sql .= "', yield='" . $fermentable->YIELD; + $sql .= "', yield='" . floatval($fermentable->YIELD); if ($fermentable->COLOR) { $srm = floatval($fermentable->COLOR); $ebc = srm_to_ebc($srm); @@ -63,18 +63,18 @@ $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='" . $fermentable->COARSE_FINE_DIFF; + $sql .= "', coarse_fine_diff='" . floatval($fermentable->COARSE_FINE_DIFF); if ($fermentable->MOISTURE) - $sql .= "', moisture='" . $fermentable->MOISTURE; + $sql .= "', moisture='" . floatval($fermentable->MOISTURE); if ($fermentable->DIASTATIC_POWER) - $sql .= "', diastatic_power='" . $fermentable->DIASTATIC_POWER; + $sql .= "', diastatic_power='" . floatval($fermentable->DIASTATIC_POWER); if ($fermentable->PROTEIN) - $sql .= "', protein='" . $fermentable->PROTEIN; + $sql .= "', protein='" . floatval($fermentable->PROTEIN); if ($fermentable->MAX_IN_BATCH) - $sql .= "', max_in_batch='" . $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"; if ($fermentable->IBU_GAL_PER_LB) - $sql .= "', ibu_gal_per_lb='" . $fermentable->IBU_GAL_PER_LB; + $sql .= "', ibu_gal_per_lb='" . floatval($fermentable->IBU_GAL_PER_LB); ($fermentable->ALWAYS_ON_STOCK == "TRUE") ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0"; if ($fermentable->INVENTORY) $sql .= "', inventory='" . floatval($fermentable->INVENTORY); @@ -84,9 +84,9 @@ * These are not beerxml standard: */ if ($fermentable->DI_pH) - $sql .= "', di_ph='" . $fermentable->DI_pH; + $sql .= "', di_ph='" . floatval($fermentable->DI_pH); if ($fermentable->{'ACID_TO_pH_5.7'}) - $sql .= "', acid_to_ph_57='" . $fermentable->{'ACID_TO_pH_5.7'}; + $sql .= "', acid_to_ph_57='" . floatval($fermentable->{'ACID_TO_pH_5.7'}); $sql .= "', graintype='" . $fermentable->GRAINTYPE; $sql .= "';"; if (! $result = mysqli_query($db, $sql)) { @@ -112,19 +112,19 @@ $sql = "INSERT INTO inventory_hops SET name='" . mysqli_real_escape_string($db, $hop->NAME); if ($hop->ALPHA) - $sql .= "', alpha='" . $hop->ALPHA; + $sql .= "', alpha='" . floatval($hop->ALPHA); if ($hop->BETA) - $sql .= "', beta='" . $hop->BETA; + $sql .= "', beta='" . floatval($hop->BETA); if ($hop->HUMULENE) - $sql .= "', humulene='" . $hop->HUMULENE; + $sql .= "', humulene='" . floatval($hop->HUMULENE); if ($hop->CARYOPHYLLENE) - $sql .= "', caryophyllene='" . $hop->CARYOPHYLLENE; + $sql .= "', caryophyllene='" . floatval($hop->CARYOPHYLLENE); if ($hop->COHUMULONE) - $sql .= "', cohumulone='" . $hop->COHUMULONE; + $sql .= "', cohumulone='" . floatval($hop->COHUMULONE); if ($hop->MYCRENE) - $sql .= "', myrcene='" . $hop->MYCRENE; + $sql .= "', myrcene='" . floatval($hop->MYCRENE); if ($hop->HSI) - $sql .= "', hsi='" . $hop->HSI; + $sql .= "', hsi='" . floatval($hop->HSI); $sql .= "', useat='Boil"; // brouwhulp says Aroma always :) $sql .= "', type='" . $hop->TYPE; $sql .= "', form='" . $hop->FORM; @@ -137,7 +137,7 @@ if ($hop->COST) $sql .= "', cost='" . floatval($hop->COST); if ($hop->TOTAL_OIL) - $sql .= "', total_oil='" . $hop->TOTAL_OIL; + $sql .= "', total_oil='" . floatval($hop->TOTAL_OIL); $sql .= "';"; if (! $result = mysqli_query($db, $sql)) { printf("Error: %s\n", mysqli_error($db)); @@ -168,12 +168,12 @@ $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='" . $yeast->MIN_TEMPERATURE; + $sql .= "', min_temperature='" . floatval($yeast->MIN_TEMPERATURE); if ($yeast->MAX_TEMPERATURE) - $sql .= "', max_temperature='" . $yeast->MAX_TEMPERATURE; + $sql .= "', max_temperature='" . floatval($yeast->MAX_TEMPERATURE); $sql .= "', flocculation='" . $yeast->FLOCCULATION; if ($yeast->ATTENUATION) - $sql .= "', attenuation='" . $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) @@ -223,15 +223,15 @@ if ($water->NOTES) $sql .= "', notes='" . mysqli_real_escape_string($db, $water->NOTES); - $sql .= "', calcium='" . $water->CALCIUM; - $sql .= "', bicarbonate='" . $water->BICARBONATE; - $sql .= "', sulfate='" . $water->SULFATE; - $sql .= "', chloride='" . $water->CHLORIDE; - $sql .= "', sodium='" . $water->SODIUM; - $sql .= "', magnesium='" . $water->MAGNESIUM; - $sql .= "', ph='" . $water->PH; + $sql .= "', calcium='" . floatval($water->CALCIUM); + $sql .= "', bicarbonate='" . floatval($water->BICARBONATE); + $sql .= "', sulfate='" . floatval($water->SULFATE); + $sql .= "', chloride='" . floatval($water->CHLORIDE); + $sql .= "', sodium='" . floatval($water->SODIUM); + $sql .= "', magnesium='" . floatval($water->MAGNESIUM); + $sql .= "', ph='" . floatval($water->PH); if ($water->TOTAL_ALKALINITY) - $sql .= "', total_alkalinity='" . $water->TOTAL_ALKALINITY; + $sql .= "', total_alkalinity='" . floatval($water->TOTAL_ALKALINITY); $sql .= "';"; if (! $result = mysqli_query($db, $sql)) { printf("Error: %s\n", mysqli_error($db)); @@ -294,37 +294,35 @@ foreach ($equipments->EQUIPMENT as $equipment) { $sql = "INSERT INTO inventory_equipments SET name='" . mysqli_real_escape_string($db, $equipment->NAME); - $sql .= "', boil_size='" . $equipment->BOIL_SIZE; - $sql .= "', batch_size='" . $equipment->BATCH_SIZE; - $sql .= "', tun_volume='" . $equipment->TUN_VOLUME; - $sql .= "', tun_weight='" . $equipment->TUN_WEIGHT; - $sql .= "', tun_specific_heat='" . $equipment->TUN_SPECIFIC_HEAT; - $sql .= "', top_up_water='" . $equipment->TOP_UP_WATER; - $sql .= "', trub_chiller_loss='" . $equipment->TRUB_CHILLER_LOSS; + $sql .= "', boil_size='" . floatval($equipment->BOIL_SIZE); + $sql .= "', batch_size='" . floatval($equipment->BATCH_SIZE); + $sql .= "', tun_volume='" . floatval($equipment->TUN_VOLUME); + $sql .= "', tun_weight='" . floatval($equipment->TUN_WEIGHT); + $sql .= "', tun_specific_heat='" . floatval($equipment->TUN_SPECIFIC_HEAT); + $sql .= "', tun_material='" . mysqli_real_escape_string($db, $equipment->TUN_MATERIAL); + $sql .= "', tun_height='" . floatval($equipment->TUN_HEIGHT); + $sql .= "', top_up_water='" . floatval($equipment->TOP_UP_WATER); + $sql .= "', trub_chiller_loss='" . floatval($equipment->TRUB_CHILLER_LOSS); /* * Brouwhulp uses a percentage for the evaporation rate. This is wrong * but was made so because the beerxml standard requires this. What we * do is calculate the actual evaporation and store that. * This is what we use. Brouwhulp calculates this on the fly. */ - $sql .= "', evap_rate='" . ($equipment->EVAP_RATE * $equipment->BOIL_SIZE) / 100.0; - $sql .= "', boil_time='" . $equipment->BOIL_TIME; + $sql .= "', evap_rate='" . (floatval($equipment->EVAP_RATE) * floatval($equipment->BOIL_SIZE)) / 100.0; + $sql .= "', boil_time='" . floatval($equipment->BOIL_TIME); ($equipment->CALC_BOIL_VOLUME == 'TRUE') ? $sql .= "', calc_boil_volume='1" : $sql .= "', calc_boil_volume='0"; - $sql .= "', lauter_deadspace='" . $equipment->LAUTER_DEADSPACE; - $sql .= "', top_up_kettle='" . $equipment->TOP_UP_KETTLE; - $sql .= "', hop_utilization='" . $equipment->HOP_UTILIZATION; + $sql .= "', top_up_kettle='" . floatval($equipment->TOP_UP_KETTLE); + $sql .= "', hop_utilization='" . floatval($equipment->HOP_UTILIZATION); if ($equipment->NOTES) $sql .= "', notes='" . mysqli_real_escape_string($db, $equipment->NOTES); - $sql .= "', lauter_volume='" . $equipment->LAUTER_VOLUME; - $sql .= "', kettle_volume='" . $equipment->KETTLE_VOLUME; - if ($equipment->TUN_MATERIAL) - $sql .= "', tun_material='" . mysqli_real_escape_string($db, $equipment->TUN_MATERIAL); - $sql .= "', tun_height='" . $equipment->TUN_HEIGHT; - $sql .= "', kettle_height='" . $equipment->KETTLE_HEIGHT; - $sql .= "', lauter_height='" . $equipment->LAUTER_HEIGHT; - $sql .= "', mash_volume='" . $equipment->MASH_VOLUME; - $sql .= "', efficiency='" . $equipment->EFFICIENCY; - + $sql .= "', lauter_volume='" . floatval($equipment->LAUTER_VOLUME); + $sql .= "', lauter_height='" . floatval($equipment->LAUTER_HEIGHT); + $sql .= "', lauter_deadspace='" . floatval($equipment->LAUTER_DEADSPACE); + $sql .= "', kettle_volume='" . floatval($equipment->KETTLE_VOLUME); + $sql .= "', kettle_height='" . floatval($equipment->KETTLE_HEIGHT); + $sql .= "', mash_volume='" . floatval($equipment->MASH_VOLUME); + $sql .= "', efficiency='" . floatval($equipment->EFFICIENCY); $sql .= "';"; if (! $result = mysqli_query($db, $sql)) { printf("Error: %s\n", mysqli_error($db)); @@ -421,16 +419,16 @@ $steps .= ',"step_type":"' . $step->TYPE . '"'; } if ($step->STEP_TEMP) { - $steps .= ',"step_temp":"' . $step->STEP_TEMP . '"'; + $steps .= ',"step_temp":"' . floatval($step->STEP_TEMP) . '"'; } if ($step->STEP_TIME) { - $steps .= ',"step_time":"' . $step->STEP_TIME . '"'; + $steps .= ',"step_time":"' . floatval($step->STEP_TIME) . '"'; } if ($step->RAMP_TIME) { - $steps .= ',"ramp_time":"' . $step->RAMP_TIME . '"'; + $steps .= ',"ramp_time":"' . floatval($step->RAMP_TIME) . '"'; } if ($step->END_TEMP) { - $steps .= ',"end_temp":"' . $step->END_TEMP . '"'; + $steps .= ',"end_temp":"' . floatval($step->END_TEMP) . '"'; } $steps .= "}"; }