# HG changeset patch # User Michiel Broek # Date 1542480279 -3600 # Node ID 08c92cb740b9ec8e73d43ae059207d5ba2d553d1 # Parent f433193f7bb64912a2af7fb0f03c557e0f66a0b7 Fix for missing coor info on fermentables during recipes import. Log when srm or ebc values are negatie during conversions. Load setup record in global.inc.php and make some variables available for PHP and JS. diff -r f433193f7bb6 -r 08c92cb740b9 www/import/from_brouwhulp.php --- a/www/import/from_brouwhulp.php Sat Nov 17 15:58:13 2018 +0100 +++ b/www/import/from_brouwhulp.php Sat Nov 17 19:44:39 2018 +0100 @@ -574,10 +574,13 @@ $fermentables .= ',"f_yield":' . $fyield; if ($fermentable->COLOR) { $srm = floatval($fermentable->COLOR); - $colorw += ($famount * $srm / $batch_size) * 8.34436; /* Kleurwerking */ $ebc = srm_to_ebc($srm); - $fermentables .= ',"f_color":' . $ebc; + } else { + $srm = 0; + $ebc = 0; } + $colorw += ($famount * $srm / $batch_size) * 8.34436; /* Kleurwerking */ + $fermentables .= ',"f_color":' . $ebc; if ($fermentable->COARSE_FINE_DIFF) $fermentables .= ',"f_coarse_fine_diff":' . floatval($fermentable->COARSE_FINE_DIFF); else diff -r f433193f7bb6 -r 08c92cb740b9 www/includes/formulas.php --- a/www/includes/formulas.php Sat Nov 17 15:58:13 2018 +0100 +++ b/www/includes/formulas.php Sat Nov 17 19:44:39 2018 +0100 @@ -21,20 +21,21 @@ function ebc_to_srm($ebc) { - // Srm = -1.32303E-12*Ebc4-0.00000000291515*Ebc3+0.00000818515*Ebc2+0.372038*Ebc+0.596351 - return -1.32303E-12 * pow($ebc, 4) - 0.00000000291515 * pow($ebc, 3) + 0.00000818515 * pow($ebc, 2) + 0.372038 * $ebc + 0.596351; - // return $ebc * 0.508; + $srm = -1.32303E-12 * pow($ebc, 4) - 0.00000000291515 * pow($ebc, 3) + 0.00000818515 * pow($ebc, 2) + 0.372038 * $ebc + 0.596351; + if (($ebc < 0) || ($srm < 0)) + syslog(LOG_NOTICE, "ebc_to_srm(".$ebc.") = ".$srm); + return $srm; } function srm_to_ebc($srm) { - // EBC = 0.000000000176506*Srm4+ 0.000000154529*Srm3-0.000159428*Srm2+2.68837*Srm-1.6004 - // // Formule van Adrie Otten. brouwhulp. - $ebc = 0.000000000176506 * pow($srm, 4) + 0.000000154529 * pow($srm, 3) - 0.000159428 * pow($srm, 2) + 2.68837 * $srm - 1.6004; - return round($ebc); + $ebc = round( 0.000000000176506 * pow($srm, 4) + 0.000000154529 * pow($srm, 3) - 0.000159428 * pow($srm, 2) + 2.68837 * $srm - 1.6004 ); + if (($ebc < 0) || ($srm < 0)) + syslog(LOG_NOTICE, "srm_to_ebc(".$srm.") = ".$ebc); + return $ebc; } diff -r f433193f7bb6 -r 08c92cb740b9 www/includes/global.inc.php --- a/www/includes/global.inc.php Sat Nov 17 15:58:13 2018 +0100 +++ b/www/includes/global.inc.php Sat Nov 17 19:44:39 2018 +0100 @@ -39,11 +39,45 @@ else $my_return = ''; +$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c"); +$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b"); + +/* Load setup record */ +#Connect to the database +$connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); +if (! $connect) { + die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); +} +mysqli_set_charset($connect, "utf8" ); +$my_default_water = $my_brewery_name = $my_ibu_method = $my_color_method = ''; +$my_factor_mashhop = $my_factor_fwh = $my_factor_pellet = $my_factor_plug = 0; +$my_brix_correction = $my_grain_absorbtion = 1.0; + +$result = mysqli_query($connect, "SELECT * FROM profile_setup WHERE record='1'") or die("SQL Error 1: " . mysqli_error($connect)); +if ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { + /* search water name */ + $wresult = mysqli_query($connect, "SELECT name FROM inventory_waters WHERE record='".$row['default_water']."';"); + if ($wrow = mysqli_fetch_array($wresult, MYSQLI_ASSOC)) + $my_default_water = str_replace($escapers, $replacements, $wrow['name']); + $my_brewery_name = str_replace($escapers, $replacements, $row['brewery_name']); + $my_factor_mashhop = floatval($row['factor_mashhop']); + $my_factor_fwh= floatval($row['factor_fwh']); + $my_factor_pellet= floatval($row['factor_pellet']); + $my_factor_plug= floatval($row['factor_plug']); + $my_ibu_method = str_replace($escapers, $replacements, $row['ibu_method']); + $my_color_method = str_replace($escapers, $replacements, $row['color_method']); + $my_brix_correction = floatval($row['brix_correction']); + $my_grain_absorbtion = floatval($row['grain_absorbtion']); +} +//mysqli_free_result($result); + + function page_header($title, $loadjs) { global $my_style; global $my_version; global $my_record; global $my_return; + global $my_brewery_name; ?> @@ -58,6 +92,7 @@ var theme = ""; var my_record = ""; var my_return = ""; + var my_brewery_name = ""; diff -r f433193f7bb6 -r 08c92cb740b9 www/js/global.js --- a/www/js/global.js Sat Nov 17 15:58:13 2018 +0100 +++ b/www/js/global.js Sat Nov 17 19:44:39 2018 +0100 @@ -84,15 +84,20 @@ function ebc_to_srm(ebc) { - return -1.32303E-12 * Math.pow(ebc, 4) - 0.00000000291515 * Math.pow(ebc, 3) + 0.00000818515 * Math.pow(ebc, 2) + 0.372038 * ebc + 0.596351; + var srm = -1.32303E-12 * Math.pow(ebc, 4) - 0.00000000291515 * Math.pow(ebc, 3) + 0.00000818515 * Math.pow(ebc, 2) + 0.372038 * ebc + 0.596351; + if ((ebc < 0) || (srm < 0)) + console.log("ebc_to_srm("+ebc+") = "+srm); + return srm } function srm_to_ebc(srm) { - var ebc = 0.000000000176506 * Math.pow(srm, 4) + 0.000000154529 * Math.pow(srm, 3) - 0.000159428 * Math.pow(srm, 2) + 2.68837 * srm - 1.6004; - return Math.round(ebc); + var ebc = Math.round(0.000000000176506 * Math.pow(srm, 4) + 0.000000154529 * Math.pow(srm, 3) - 0.000159428 * Math.pow(srm, 2) + 2.68837 * srm - 1.6004); + if ((ebc < 0) || (srm < 0)) + console.log("srm_to_ebc("+srm+") = "+ebc); + return ebc; }