# HG changeset patch # User Michiel Broek # Date 1576005097 -3600 # Node ID dfc850e6ee1fff1fdf2e5e29c2bf92d8104a956d # Parent d5fad7d808999050bffcb4785f464f6953554a7b Fix upgrade of the yeast data in products and recipes if the original yeast is not found. Export product or recipe for forum is now coded in forum format and copied to the clipboard ready to paste on a forum. diff -r d5fad7d80899 -r dfc850e6ee1f www/includes/db_product.php --- a/www/includes/db_product.php Sun Dec 08 11:27:19 2019 +0100 +++ b/www/includes/db_product.php Tue Dec 10 20:11:37 2019 +0100 @@ -965,7 +965,22 @@ $yeasts[$i]['y_pofpos'] = intval($obj->pofpos); if (! isset($yeasts[$i]['y_zymocide'])) $yeasts[$i]['y_zymocide'] = intval($obj->zymocide); - } + } else { + if (! isset($yeasts[$i]['y_sta1'])) + $yeasts[$i]['y_sta1'] = 0; + if (! isset($yeasts[$i]['y_bacteria'])) + $yeasts[$i]['y_bacteria'] = 0; + if (! isset($yeasts[$i]['y_harvest_top'])) + $yeasts[$i]['y_harvest_top'] = 0; + if (! isset($yeasts[$i]['y_harvest_time'])) + $yeasts[$i]['y_harvest_time'] = 0; + if (! isset($yeasts[$i]['y_pitch_temperature'])) + $yeasts[$i]['y_pitch_temperature'] = 0; + if (! isset($yeasts[$i]['y_pofpos'])) + $yeasts[$i]['y_pofpos'] = 0; + if (! isset($yeasts[$i]['y_zymocide'])) + $yeasts[$i]['y_zymocide'] = 0; + } mysqli_free_result($result2); } } diff -r d5fad7d80899 -r dfc850e6ee1f www/includes/db_recipes.php --- a/www/includes/db_recipes.php Sun Dec 08 11:27:19 2019 +0100 +++ b/www/includes/db_recipes.php Tue Dec 10 20:11:37 2019 +0100 @@ -293,7 +293,7 @@ $yeast .= ',"y_pofpos":' . $item['y_pofpos']; $yeast .= ',"y_zymocide":' . $item['y_zymocide']; $yeast .= ',"y_cost":' . $item['y_cost'] . '}'; - //syslog(LOG_NOTICE, $yeast); + syslog(LOG_NOTICE, $yeast); $yeasts .= $yeast; } } @@ -552,10 +552,26 @@ $yeasts[$i]['y_pofpos'] = intval($obj->pofpos); if (! isset($yeasts[$i]['y_zymocide'])) $yeasts[$i]['y_zymocide'] = intval($obj->zymocide); + } else { + if (! isset($yeasts[$i]['y_sta1'])) + $yeasts[$i]['y_sta1'] = 0; + if (! isset($yeasts[$i]['y_bacteria'])) + $yeasts[$i]['y_bacteria'] = 0; + if (! isset($yeasts[$i]['y_harvest_top'])) + $yeasts[$i]['y_harvest_top'] = 0; + if (! isset($yeasts[$i]['y_harvest_time'])) + $yeasts[$i]['y_harvest_time'] = 0; + if (! isset($yeasts[$i]['y_pitch_temperature'])) + $yeasts[$i]['y_pitch_temperature'] = 0; + if (! isset($yeasts[$i]['y_pofpos'])) + $yeasts[$i]['y_pofpos'] = 0; + if (! isset($yeasts[$i]['y_zymocide'])) + $yeasts[$i]['y_zymocide'] = 0; } mysqli_free_result($result2); } } + syslog(LOG_NOTICE, json_encode($yeasts, JSON_UNESCAPED_UNICODE)); $recipes .= ',"yeasts":' . json_encode($yeasts, JSON_UNESCAPED_UNICODE); } else { // Just leave it. diff -r d5fad7d80899 -r dfc850e6ee1f www/js/prod_forum.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www/js/prod_forum.js Tue Dec 10 20:11:37 2019 +0100 @@ -0,0 +1,27 @@ + +$(document).ready(function() { + + /** + * This will copy the innerHTML of an element to the clipboard + * @param element reference OR string + */ + function copyToClipboard(e) { + var tempItem = document.createElement('textarea'); + + document.body.appendChild(tempItem); + tempItem.value = e; + tempItem.select(); + document.execCommand('Copy'); + + tempItem.parentElement.removeChild(tempItem); + } + + + $('#copytoClipboard').jqxButton({ template: 'success', theme: theme, width: 150 }); + $('#copytoClipboard').click(function() { + copyToClipboard(forumstr); + window.close(); + }); + +}); + diff -r d5fad7d80899 -r dfc850e6ee1f www/js/rec_forum.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www/js/rec_forum.js Tue Dec 10 20:11:37 2019 +0100 @@ -0,0 +1,27 @@ + +$(document).ready(function() { + + /** + * This will copy the innerHTML of an element to the clipboard + * @param element reference OR string + */ + function copyToClipboard(e) { + var tempItem = document.createElement('textarea'); + + document.body.appendChild(tempItem); + tempItem.value = e; + tempItem.select(); + document.execCommand('Copy'); + + tempItem.parentElement.removeChild(tempItem); + } + + + $('#copytoClipboard').jqxButton({ template: 'success', theme: theme, width: 150 }); + $('#copytoClipboard').click(function() { + copyToClipboard(forumstr); + window.close(); + }); + +}); + diff -r d5fad7d80899 -r dfc850e6ee1f www/prod_forum.php --- a/www/prod_forum.php Sun Dec 08 11:27:19 2019 +0100 +++ b/www/prod_forum.php Tue Dec 10 20:11:37 2019 +0100 @@ -3,10 +3,9 @@ require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php'); require_once($_SERVER['DOCUMENT_ROOT'].'/includes/constants.php'); - $link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME); if (! $link) { - die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); + die('Connect Error ('.mysqli_connect_errno().') '.mysqli_connect_error()); } if (! mysqli_set_charset($link, "utf8" )) { echo "error"; @@ -22,91 +21,53 @@ date_default_timezone_set('Europe/Amsterdam'); $prdate = date(DATE_RFC2822); -?> - - - - - BMS v<?php echo $my_version;?> - Export recipe - - - -
-':
-                                        $strout .= '>';
-                                        break;
-                        case '&':
-                                        $strout .= '&';
-                                        break;
-                        case '"':
-                                        $strout .= '"';
-                                        break;
-                        default:
-                                        $strout .= $strin[$i];
-        	}
-
-		if ($cnt >= $len)
-			break;
-        }
+$memo  = "[u][b]BMS v".$my_version." - Datum export: ".$prdate.'[/b][/u]'.PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= '[u][b]Basis[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+$memo .= $rows.$datas.'Bier naam'.$datae.$datas.$row['code'].' '.$row['name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bier stijl'.$datae.$datas.$row['st_name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Recept type'.$datae.$datas.$recipetype[$row['type']].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Batch grootte'.$datae.$datas.$row['batch_size'].' liter'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kooktijd'.$datae.$datas.$row['boil_time'].' minuten'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Brouwzaal rendement'.$datae.$datas.$row['efficiency'].' %'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte begin densiteit'.$datae.$datas.sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte eind densiteit'.$datae.$datas.sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschat alcohol'.$datae.$datas.sprintf("%.1f",$row['est_abv']).'% vol'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kleur ('.$colormethod[$row['color_method']].')'.$datae.$datas.$row['est_color'].' EBC'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bitterheid ('.$ibumethod[$row['ibu_method']].')'.$datae.$datas.$row['est_ibu'].' IBU'.$datae.$rowe.PHP_EOL;
+if ($row['divide_parts'])
+    $memo .= $rows.$datas.'Split batch (' .$splitat[$row['divide_type']].')'.$datae.$datas.($row['divide_part'] + 1)." van ".($row['divide_parts'] + 1).$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-	for ($i = $cnt; $i < $len; $i++)
-		$strout .= " ";
-        return $strout;
-}
-
-
-echo "BMS v" . $my_version . " - Datum export: " . $prdate . PHP_EOL;
-echo "----------------------------------------------------------" . PHP_EOL;
-itemline("Bier naam", $row['code'].' '.$row['name']);
-itemline("Bier stijl", $row['st_name']);
-itemline("Recept type", $recipetype[$row['type']]);
-itemline("Batch grootte", $row['batch_size'].' liter');
-itemline("Kooktijd", $row['boil_time'].' minuten');
-itemline("Brouwzaal rendement", $row['efficiency'].' %');
-itemline("Geschatte begin densiteit", sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'°P');
-itemline("Geschatte eind densiteit", sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'°P');
-itemline("Geschat alcohol", sprintf("%.1f",$row['est_abv']).'% vol');
-itemline("Kleur (" . $colormethod[$row['color_method']] . ")", $row['est_color'] . ' EBC');
-itemline("Bitterheid (" . $ibumethod[$row['ibu_method']] . ")", $row['est_ibu'] . ' IBU');
-if ($row['divide_parts'])
-    itemline("Split batch (".$splitat[$row['divide_type']].")", ($row['divide_part'] + 1)." van ".($row['divide_parts'] + 1));
-echo PHP_EOL . PHP_EOL;
 
 $sugarsm = 0;
 $grainabsorbtion = 0;
 $mashwater = 0;
 
+$memo .= '[u][b]Vergistbare ingrediënten[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Mout, granen en suikers'.$heade.$heads.'EBC'. $heade.$heads.'Gewicht kg'.$heade.$heads.'%'.$heade.$heads.'Gebruik tijdens'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_fermentables'], true);
-echo "Mout, granen en suikers                   EBC Gewicht kg     % Gebruik tijdens" . PHP_EOL;
-echo "---------------------------------------- ---- ---------- ----- ----------------" . PHP_EOL;
 foreach($arr as $item) {
-	$name = formatstr($item['f_name'] . " (" . $item['f_supplier'] . ")", 40);
+	$name = $item['f_name']." (".$item['f_supplier'].")";
 	$amount   = floatval($item['f_amount']);
 	$d = $amount * (floatval($item['f_yield']) / 100) * (1 - floatval($item['f_moisture']) / 100);
         if ($item['f_added']  == 0) {
@@ -114,18 +75,26 @@
                 $sugarsm += $d;
 		$grainabsorbtion += $item['f_amount'];
         }
-	echo sprintf("%s %4.0f %10.3f %5.1f ", $name, floatval($item['f_color']), $amount, floatval($item['f_percentage']));
-	echo $added[$item['f_added']] . PHP_EOL;
+	$pct = '';
+	if ($item['f_added']  < 4)
+		$pct = sprintf("%.1f", floatval($item['f_percentage']));
+
+	$memo .= $rows.$datas.$name.$datae.$datas.sprintf("%.0f", floatval($item['f_color'])).$datae.$datas;
+	$memo .= sprintf("%.3f", $amount).$datae.$datas.$pct.$datae.$datas;
+	$memo .= $added[$item['f_added']].$datae.$rowe .PHP_EOL;
 }
 $preboil_sg = estimate_sg($sugarsm, floatval($row['boil_size']));
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
 
-echo "Hop                                      Vorm       α %   IBU   Gram Toevoegen moment" . PHP_EOL;
-echo "---------------------------------------- -------- ----- ----- ------ --------------------" . PHP_EOL;
+$memo .= '[u][b]Hop[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Hop'.$heade.$heads.'Vorm'.$heade.$heads.'Alpha'.$heade.$heads.'IBU'.$heade.$heads.'Gram'.$heade.$heads.'Toevoegen moment'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_hops'], true);
 foreach($arr as $item) {
-	$name   = formatstr($item['h_name'] . " (" . $item['h_origin'] . ")", 40);
+	$name   = $item['h_name']." (".$item['h_origin'].")";
 	$amount = floatval($item['h_amount']) * 1000;
 	$time   = floatval($item['h_time']);
         $alpha  = floatval($item['h_alpha']);
@@ -138,36 +107,37 @@
 		$moment = $hopuse[$item['h_useat']].' '.sprintf("%.0f", $time / 1440).' dagen';
         }
 
-	echo sprintf("%s %-8s %5.1f %5.1f %6.1f %-20s", $name, $hopform[$item['h_form']], $alpha, $ibu, $amount, $moment);
-	echo PHP_EOL;
+	$memo .= $rows.$datas.$name.$datae.$datas.$hopform[$item['h_form']].$datae.$datas.sprintf("%.1f", $alpha).'%'.$datae.$datas;
+	$memo .= sprintf("%.1f", $ibu).$datae.$datas.sprintf("%.1f", $amount).$datae.$datas.$moment.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Specerij, kruid, brouwzout etc Type grondstof  Gebruik tijdens          Hoeveel" . PHP_EOL;
-echo "------------------------------ --------------- -------------------- -----------" . PHP_EOL;
+$memo .= '[u][b]Diversen[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Specerij, kruid, brouwzout'.$heade.$heads.'Type grondstof'.$heade.$heads.'Gebruik tijdens'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_miscs'], true);
 foreach($arr as $item) {
-	$amount  = floatval($item['m_amount']) * 1000;
-	$aiw     = $item['m_amount_is_weight'];
-	$use_use = $item['m_use_use'];
-	$time    = floatval($item['m_time']);
-
-	if ($use_use == 2)      // Boil
-        	$gebruik = sprintf("%s %d min",$miscuse[$use_use],$time);
+	if ($item['m_use_use'] == 2)      // Boil
+        	$gebruik = sprintf("%s %d min",$miscuse[$item['m_use_use']],floatval($item['m_time']));
         else
-        	$gebruik = $miscuse[$use_use];
-	$hoeveel = sprintf("%.2f %s",$amount,$aiw ? "gr":"ml");
+        	$gebruik = $miscuse[$item['m_use_use']];
+	$hoeveel = sprintf("%.2f %s",floatval($item['m_amount']) * 1000,$item['m_amount_is_weight'] ? "gr":"ml");
 
-	echo sprintf("%s %-15s %-20s %11s", formatstr($item['m_name'], 30), $misctype[$item['m_type']], $gebruik, $hoeveel) . PHP_EOL;
+	$memo .= $rows.$datas.$item['m_name'].$datae.$datas.$misctype[$item['m_type']].$datae.$datas;
+	$memo .= $gebruik.$datae.$datas.$hoeveel.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Gistlab en code      Omschrijving                   Gebruik      Vorm            Hoeveel" . PHP_EOL;
-echo "-------------------- ------------------------------ ------------ ------------ ----------" . PHP_EOL;
+$memo .= '[u][b]Gist[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Gistlab en code'.$heade.$heads.'Omschrijving'.$heade.$heads.'Gebruik'.$heade.$heads.'Vorm'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_yeasts'], true);
 foreach($arr as $item) {
-	$name    = formatstr($item['y_name'], 30);
-	$product = formatstr($item['y_laboratory']." ".$item['y_product_id'], 20);
+	$product = $item['y_laboratory']." ".$item['y_product_id'];
 
 	if ($item['y_form'] == 0)       // Liquid
                 $amount = sprintf("%.0f",floatval($item['y_amount']))." pak";
@@ -176,8 +146,10 @@
         else
                 $amount = sprintf("%.0f",floatval($item['y_amount'])*1000)." ml";
 
-	echo sprintf("%s %s %-12s %-12s %10s", $product, $name, $yeastuse[$item['y_use']], $yeastform[$item['y_form']], $amount) . PHP_EOL;
+	$memo .= $rows.$datas.$product.$datae.$datas.$item['y_name'].$datae.$datas.$yeastuse[$item['y_use']].$datae.$datas;
+	$memo .= $yeastform[$item['y_form']].$datae.$datas.$amount.$datae.$rowe.PHP_EOL;
 }
+$memo .= $tabue.PHP_EOL;
 if ($row['starter_enable'] && $row['prop1_volume']) {
 	$sv = 0;
 	for ($i = 1; $i < 5; $i++) {
@@ -186,44 +158,70 @@
 			$sv = floatval($row[$pv]);
 		}
 	}
-	echo PHP_EOL . "Maak een giststarter van " . sprintf("%.1f", $sv) . " liter." . PHP_EOL;
+	$memo .= "Maak een giststarter van ".sprintf("%.1f", $sv)." liter.".PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= PHP_EOL;
+
 
 if ($row['w1_name'])
 	$mashwater += floatval($row['w1_amount']);
 if ($row['w2_name'])
 	$mashwater += floatval($row['w2_amount']);
 
-echo "Maisch stap          stap type              stap temp    rusten  opwarmen" . PHP_EOL;
-echo "-------------------- ---------------------- --------- --------- ---------" . PHP_EOL;
+$memo .= '[u][b]Maischschema[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Maisch stap'.$heade.$heads.'Stap type'.$heade.$heads.'Temperatuur'.$heade.$heads.'Rust tijd'.$heade.$heads.'Opwarmen tijd'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_mashs'], true);
 foreach($arr as $item) {
 	
 	if ($item['step_type'] == 1) {
-		$stype = formatstr($mashtype[$item['step_type']], 22);
+		$stype = $mashtype[$item['step_type']];
 	} else {
-		$stype = formatstr($mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter', 22);
+		$stype = $mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter';
 	}
-	echo sprintf("%s %s %s %s %s", 
-		formatstr($item['step_name'], 20), $stype, sprintf("%6.1f °C", $item['step_temp']),
-		sprintf("%4.0f min.", $item['step_time']), sprintf("%4.0f min.", $item['ramp_time'])) . PHP_EOL;
+	$memo .= $rows.$datas.$item['step_name'].$datae.$datas.$stype.$datae.$datas.sprintf("%.1f °C", $item['step_temp']);
+	$memo .= $datae.$datas.sprintf("%.0f min.", $item['step_time']).$datae.$datas.sprintf("%.0f min.", $item['ramp_time']);
+	$memo .= $datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
+
+$memo .= '[u][b]Brouwwater[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+
 if ($row['w1_name'] && $row['w2_name']) {
-	itemline("Maischwater 1", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
-	itemline("Maischwater 2", sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name']);
+	$memo .= $rows.$datas.'Maischwater 1'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
+	$memo .= $rows.$datas.'Maischwater 2'.$datae.$datas.sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name'].$datae.$rowe.PHP_EOL;
 } else {
-	itemline("Maischwater", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
+	$memo .= $rows.$datas.'Maischwater'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
 }
-itemline("Maischwater aanzuren tot pH", $row['mash_ph'].' pH');
-itemline("Spoelwater geschat", sprintf("%.1f", $row['brew_sparge_est'])." liter");
-itemline("Spoelwater temperatuur", $row['sparge_temp'].' °C');
-itemline("Spoelwater aanzuren tot pH", sprintf("%.1f",$row['sparge_ph']).' pH');
-echo PHP_EOL . PHP_EOL;
+$memo .= $rows.$datas.'Maischwater aanzuren tot pH'.$datae.$datas.$row['mash_ph'].' pH'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater geschat'.$datae.$datas.sprintf("%.1f",$row['brew_sparge_est'])." liter".$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater temperatuur'.$datae.$datas.$row['sparge_temp'].' °C'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater aanzuren tot pH'.$datae.$datas.sprintf("%.1f",$row['sparge_ph']).' pH'.$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
 
 
+page_header('Product naar forum', 'prod_forum');
 ?>
-  
- - + +
+
+

+

Het product met alle gegevens staan gereed.

+

Zodra je de "Klembord" toets gebruikt zullen deze gegevens naar het klembord gekopieerd
+ worden. In het scherm van het forum kun je deze gegevens vervolgens "plakken".

+

Na het drukken van de toets wordt dit scherm gesloten.

+

+
+
+
+ + diff -r d5fad7d80899 -r dfc850e6ee1f www/rec_forum.php --- a/www/rec_forum.php Sun Dec 08 11:27:19 2019 +0100 +++ b/www/rec_forum.php Tue Dec 10 20:11:37 2019 +0100 @@ -22,89 +22,51 @@ date_default_timezone_set('Europe/Amsterdam'); $prdate = date(DATE_RFC2822); -?> - - - - - BMS v<?php echo $my_version;?> - Export recipe - - - -
-':
-                                        $strout .= '>';
-                                        break;
-                        case '&':
-                                        $strout .= '&';
-                                        break;
-                        case '"':
-                                        $strout .= '"';
-                                        break;
-                        default:
-                                        $strout .= $strin[$i];
-        	}
-
-		if ($cnt >= $len)
-			break;
-        }
-
-	for ($i = $cnt; $i < $len; $i++)
-		$strout .= " ";
-        return $strout;
-}
-
-
-echo "BMS v" . $my_version . " - Datum export: " . $prdate . PHP_EOL;
-echo "----------------------------------------------------------" . PHP_EOL;
-itemline("Bier naam", $row['name']);
-itemline("Bier stijl", $row['st_name']);
-itemline("Recept type", $recipetype[$row['type']]);
-itemline("Batch grootte", $row['batch_size'].' liter');
-itemline("Kooktijd", $row['boil_time'].' minuten');
-itemline("Brouwzaal rendement", $row['efficiency'].' %');
-itemline("Geschatte begin densiteit", sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'°P');
-itemline("Geschatte eind densiteit", sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'°P');
-itemline("Geschat alcohol", sprintf("%.1f",$row['est_abv']).'% vol');
-itemline("Kleur (" . $colormethod[$row['color_method']] . ")", $row['est_color'] . ' EBC');
-itemline("Bitterheid (" . $ibumethod[$row['ibu_method']] . ")", $row['est_ibu'] . ' IBU');
-echo PHP_EOL . PHP_EOL;
+$memo  = "[u][b]BMS v".$my_version." - Datum export: ".$prdate.'[/b][/u]'.PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= '[u][b]Basis[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+$memo .= $rows.$datas.'Bier naam'.$datae.$datas.$row['name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bier stijl'.$datae.$datas.$row['st_name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Recept type'.$datae.$datas.$recipetype[$row['type']].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Batch grootte'.$datae.$datas.$row['batch_size'].' liter'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kooktijd'.$datae.$datas.$row['boil_time'].' minuten'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Brouwzaal rendement'.$datae.$datas.$row['efficiency'].' %'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte begin densiteit'.$datae.$datas.sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte eind densiteit'.$datae.$datas.sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschat alcohol'.$datae.$datas.sprintf("%.1f",$row['est_abv']).'% vol'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kleur ('.$colormethod[$row['color_method']].')'.$datae.$datas.$row['est_color'].' EBC'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bitterheid ('.$ibumethod[$row['ibu_method']].')'.$datae.$datas.$row['est_ibu'].' IBU'.$datae.$rowe.PHP_EOL;
+if ($row['divide_parts'])
+    $memo .= $rows.$datas.'Split batch (' .$splitat[$row['divide_type']].')'.$datae.$datas.($row['divide_part'] + 1)." van ".($row['divide_parts'] + 1).$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
 $sugarsm = 0;
 $grainabsorbtion = 0;
 $mashwater = 0;
 
+$memo .= '[u][b]Vergistbare ingrediënten[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Mout, granen en suikers'.$heade.$heads.'EBC'. $heade.$heads.'Gewicht kg'.$heade.$heads.'%'.$heade.$heads.'Gebruik tijdens'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_fermentables'], true);
-echo "Mout, granen en suikers                  EBC Gewicht kg     % Gebruik tijdens" . PHP_EOL;
-echo "---------------------------------------- --- ---------- ----- ----------------" . PHP_EOL;
 foreach($arr as $item) {
-	$name = formatstr($item['f_name'] . " (" . $item['f_supplier'] . ")", 40);
+	$name = $item['f_name']." (".$item['f_supplier'].")";
 	$amount   = floatval($item['f_amount']);
 	$d = $amount * (floatval($item['f_yield']) / 100) * (1 - floatval($item['f_moisture']) / 100);
         if ($item['f_added']  == 0) {
@@ -112,18 +74,25 @@
                 $sugarsm += $d;
 		$grainabsorbtion += $item['f_amount'];
         }
-	echo sprintf("%s %3.0f %10.3f %5.1f ", $name, floatval($item['f_color']), $amount, floatval($item['f_percentage']));
-	echo $added[$item['f_added']] . PHP_EOL;
+	$pct = '';
+        if ($item['f_added']  < 4)
+                $pct = sprintf("%.1f", floatval($item['f_percentage']));
+
+	$memo .= $rows.$datas.$name.$datae.$datas.sprintf("%.0f", floatval($item['f_color'])).$datae.$datas;
+        $memo .= sprintf("%.3f", $amount).$datae.$datas.$pct.$datae.$datas;
+        $memo .= $added[$item['f_added']].$datae.$rowe .PHP_EOL;
 }
 $preboil_sg = estimate_sg($sugarsm, floatval($row['boil_size']));
-echo PHP_EOL . PHP_EOL;
-
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Hop                                      Vorm       α %   IBU   Gram Toevoegen moment" . PHP_EOL;
-echo "---------------------------------------- -------- ----- ----- ------ --------------------" . PHP_EOL;
+$memo .= '[u][b]Hop[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Hop'.$heade.$heads.'Vorm'.$heade.$heads.'Alpha'.$heade.$heads.'IBU'.$heade.$heads.'Gram'.$heade.$heads.'Toevoegen moment'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_hops'], true);
 foreach($arr as $item) {
-	$name   = formatstr($item['h_name'] . " (" . $item['h_origin'] . ")", 40);
+	$name   = $item['h_name']." (".$item['h_origin'].")";
 	$amount = floatval($item['h_amount']) * 1000;
 	$time   = floatval($item['h_time']);
         $alpha  = floatval($item['h_alpha']);
@@ -136,17 +105,18 @@
 		$moment = $hopuse[$item['h_useat']].' '.sprintf("%.0f", $time / 1440).' dagen';
         }
 
-	echo sprintf("%s %-8s %5.1f %5.1f %6.1f %-20s", $name, $hopform[$item['h_form']], $alpha, $ibu, $amount, $moment);
-	echo PHP_EOL;
+	$memo .= $rows.$datas.$name.$datae.$datas.$hopform[$item['h_form']].$datae.$datas.sprintf("%.1f", $alpha).'%'.$datae.$datas;
+        $memo .= sprintf("%.1f", $ibu).$datae.$datas.sprintf("%.1f", $amount).$datae.$datas.$moment.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Specerij, kruid, brouwzout etc Type grondstof  Gebruik tijdens          Hoeveel" . PHP_EOL;
-echo "------------------------------ --------------- -------------------- -----------" . PHP_EOL;
+$memo .= '[u][b]Diversen[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Specerij, kruid, brouwzout'.$heade.$heads.'Type grondstof'.$heade.$heads.'Gebruik tijdens'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_miscs'], true);
 foreach($arr as $item) {
-	$amount  = floatval($item['m_amount']) * 1000;
-	$aiw     = $item['m_amount_is_weight'];
 	$use_use = $item['m_use_use'];
 	$time    = floatval($item['m_time']);
 
@@ -154,18 +124,21 @@
         	$gebruik = sprintf("%s %d min",$miscuse[$use_use],$time);
         else
         	$gebruik = $miscuse[$use_use];
-	$hoeveel = sprintf("%.2f %s",$amount,$aiw ? "gr":"ml");
+	$hoeveel = sprintf("%.2f %s",floatval($item['m_amount']) * 1000,$item['m_amount_is_weight'] ? "gr":"ml");
 
-	echo sprintf("%s %-15s %-20s %11s", formatstr($item['m_name'], 30), $misctype[$item['m_type']], $gebruik, $hoeveel) . PHP_EOL;
+	$memo .= $rows.$datas.$item['m_name'].$datae.$datas.$misctype[$item['m_type']].$datae.$datas;
+        $memo .= $gebruik.$datae.$datas.$hoeveel.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Gistlab en code      Omschrijving                   Gebruik      Vorm            Hoeveel" . PHP_EOL;
-echo "-------------------- ------------------------------ ------------ ------------ ----------" . PHP_EOL;
+$memo .= '[u][b]Gist[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Gistlab en code'.$heade.$heads.'Omschrijving'.$heade.$heads.'Gebruik'.$heade.$heads.'Vorm'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_yeasts'], true);
 foreach($arr as $item) {
-	$name    = formatstr($item['y_name'], 30);
-	$product = formatstr($item['y_laboratory']." ".$item['y_product_id'], 20);
+	$product = $item['y_laboratory']." ".$item['y_product_id'];
 
 	if ($item['y_form'] == 0)       // Liquid
                 $amount = sprintf("%.0f",floatval($item['y_amount']))." pak";
@@ -174,8 +147,10 @@
         else
                 $amount = sprintf("%.0f",floatval($item['y_amount'])*1000)." ml";
 
-	echo sprintf("%s %s %-12s %-12s %10s", $product, $name, $yeastuse[$item['y_use']], $yeastform[$item['y_form']], $amount) . PHP_EOL;
+	$memo .= $rows.$datas.$product.$datae.$datas.$item['y_name'].$datae.$datas.$yeastuse[$item['y_use']].$datae.$datas;
+        $memo .= $yeastform[$item['y_form']].$datae.$datas.$amount.$datae.$rowe.PHP_EOL;
 }
+$memo .= $tabue.PHP_EOL;
 if ($row['starter_enable'] && $row['prop1_volume']) {
 	$sv = 0;
 	for ($i = 1; $i < 5; $i++) {
@@ -184,45 +159,69 @@
 			$sv = floatval($row[$pv]);
 		}
 	}
-	echo PHP_EOL . "Maak een giststarter van " . sprintf("%.1f", $sv) . " liter." . PHP_EOL;
+	$memo .= "Maak een giststarter van ".sprintf("%.1f", $sv)." liter.".PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= PHP_EOL;
 
 if ($row['w1_name'])
 	$mashwater += floatval($row['w1_amount']);
 if ($row['w2_name'])
 	$mashwater += floatval($row['w2_amount']);
 
-echo "Maisch stap          stap type              stap temp    rusten  opwarmen" . PHP_EOL;
-echo "-------------------- ---------------------- --------- --------- ---------" . PHP_EOL;
+$memo .= '[u][b]Maischschema[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Maisch stap'.$heade.$heads.'Stap type'.$heade.$heads.'Temperatuur'.$heade.$heads.'Rust tijd'.$heade.$heads.'Opwarmen tijd'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_mashs'], true);
 foreach($arr as $item) {
 	
 	if ($item['step_type'] == 1) {
-		$stype = formatstr($mashtype[$item['step_type']], 22);
+		$stype = $mashtype[$item['step_type']];
 	} else {
-		$stype = formatstr($mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter', 22);
+		$stype = $mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter';
 	}
-	echo sprintf("%s %s %s %s %s", 
-		formatstr($item['step_name'], 20), $stype, sprintf("%6.1f °C", $item['step_temp']),
-		sprintf("%4.0f min.", $item['step_time']), sprintf("%4.0f min.", $item['ramp_time'])) . PHP_EOL;
+	$memo .= $rows.$datas.$item['step_name'].$datae.$datas.$stype.$datae.$datas.sprintf("%.1f °C", $item['step_temp']);
+        $memo .= $datae.$datas.sprintf("%.0f min.", $item['step_time']).$datae.$datas.sprintf("%.0f min.", $item['ramp_time']);
+        $memo .= $datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
+
+$memo .= '[u][b]Brouwwater[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+
 if ($row['w1_name'] && $row['w2_name']) {
-	itemline("Maischwater 1", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
-	itemline("Maischwater 2", sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name']);
+        $memo .= $rows.$datas.'Maischwater 1'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
+        $memo .= $rows.$datas.'Maischwater 2'.$datae.$datas.sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name'].$datae.$rowe.PHP_EOL;
 } else {
-	itemline("Maischwater", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
+        $memo .= $rows.$datas.'Maischwater'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
 }
-itemline("Maischwater aanzuren tot pH", $row['mash_ph'].' pH');
+$memo .= $rows.$datas.'Maischwater aanzuren tot pH'.$datae.$datas.$row['mash_ph'].' pH'.$datae.$rowe.PHP_EOL;
 $spoelw = ($row['boil_size'] - $mashwater + $grainabsorbtion + $row['eq_lauter_deadspace']) * 1.03;     // A small heat correction
-itemline("Spoelwater geschat", sprintf("%.1f", $spoelw)." liter");
-itemline("Spoelwater temperatuur", $row['sparge_temp'].' °C');
-itemline("Spoelwater aanzuren tot pH", sprintf("%.1f",$row['sparge_ph']).' pH');
-echo PHP_EOL . PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater geschat'.$datae.$datas.sprintf("%.1f",$spoelw)." liter".$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater temperatuur'.$datae.$datas.$row['sparge_temp'].' °C'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater aanzuren tot pH'.$datae.$datas.sprintf("%.1f",$row['sparge_ph']).' pH'.$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
 
-
+page_header('Recept naar forum', 'rec_forum');
 ?>
-  
- - + +
+
+

+

Het recept met alle gegevens staan gereed.

+

Zodra je de "Klembord" toets gebruikt zullen deze gegevens naar het klembord gekopieerd
+ worden. In het scherm van het forum kun je deze gegevens vervolgens "plakken".

+

Na het drukken van de toets wordt dit scherm gesloten.

+

+
+
+
+ +