Sat, 17 Nov 2018 19:44:39 +0100
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.
--- 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
--- 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; }
--- 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; ?> <!DOCTYPE html> <html lang=nl-NL> @@ -58,6 +92,7 @@ var theme = "<?php echo $my_style; ?>"; var my_record = "<?php echo $my_record; ?>"; var my_return = "<?php echo $my_return; ?>"; + var my_brewery_name = "<?php echo $my_brewery_name; ?>"; </script> <script src="js/jquery-1.11.1.min.js"></script> <script src="jqwidgets/jqxcore.js"></script>
--- 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; }