Removed obsolete scripts. Product editor tab 1 is a viewer.

Fri, 05 Aug 2022 14:19:21 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 05 Aug 2022 14:19:21 +0200
changeset 818
f9c071906643
parent 817
6ee186182c70
child 819
d759d9ed357e

Removed obsolete scripts. Product editor tab 1 is a viewer.

www/Makefile file | annotate | diff | comparison | revisions
www/import_ingredients.php file | annotate | diff | comparison | revisions
www/js/global.js file | annotate | diff | comparison | revisions
www/js/import_ingredients.js file | annotate | diff | comparison | revisions
www/js/prod_edit.js file | annotate | diff | comparison | revisions
www/prod_edit.php file | annotate | diff | comparison | revisions
www/upl_fermentables.php file | annotate | diff | comparison | revisions
www/upl_hops.php file | annotate | diff | comparison | revisions
www/upl_miscs.php file | annotate | diff | comparison | revisions
www/upl_styles.php file | annotate | diff | comparison | revisions
www/upl_yeasts.php file | annotate | diff | comparison | revisions
--- a/www/Makefile	Fri Aug 05 12:12:53 2022 +0200
+++ b/www/Makefile	Fri Aug 05 14:19:21 2022 +0200
@@ -7,12 +7,10 @@
 		  getbrewlog.php getco2meter.php getco2pressurelog.php getfermentablesources.php \
 		  getfermenter.php getfermentlog.php gethopsources.php getmiscsources.php getnode.php \
 		  getwatersources.php getyeastsources.php getispindel.php getispindellog.php \
-		  import_ingredients.php index.php \
+		  index.php \
 		  log_co2pressure.php log_fermentation.php log_ispindel.php \
 		  mon_brewer.php mon_co2meter.php mon_fermenter.php mon_ispindel.php mon_node.php \
-		  prod_edit.php prod_inprod.php \
-		  rec_view.php rec_main.php \
-		  upl_fermentables.php upl_hops.php upl_miscs.php upl_styles.php upl_yeasts.php version.php
+		  prod_edit.php prod_inprod.php rec_view.php rec_main.php version.php
 SUB		= version.php.in images/* css/* jqwidgets/* jqwidgets/styles/* \
 		  jqwidgets/styles/images/* jqwidgets/globalization/* js/* \
 		  includes/* fpdf/* import/*
--- a/www/import_ingredients.php	Fri Aug 05 12:12:53 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<?php
-require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
-if ($my_select == "fermentables" )
-	page_header('Vergistbare ingredi&euml;nten import', 'import_ingredients');
-else if ($my_select == "hops" )
-	page_header('Hoppen import', 'import_ingredients');
-else if ($my_select == "miscs" )
-	page_header('Diverse ingredi&euml;nten import', 'import_ingredients');
-else if ($my_select == "yeasts")
-	page_header('Gisten import', 'import_ingredients');
-else if ($my_select == "styles")
-	page_header('Bierstijlen import', 'import_ingredients');
-else
-	page_header('Bummer', '');
-?>
-
-   <div id="MainPanel">
-    <div style="float: left; margin-left: 240px; margin-top: 50px;">
-<?php
-     if ($my_select == "fermentables")
-	echo '<div align="center">Vergistbare ingredi&euml;nten xml bestand upload.</div><br>' . PHP_EOL;
-     else if ($my_select == "hops")
-	echo '<div align="center">Hoppen xml bestand upload.</div><br>' . PHP_EOL;
-     else if ($my_select == "miscs")
-	echo '<div align="center">Diverse ingredi&euml;nten xml bestand upload.</div><br>' . PHP_EOL;
-     else if ($my_select == "yeasts")
-	echo '<div align="center">Gisten xml bestand upload.</div><br>' . PHP_EOL;
-     else if ($my_select == "styles")
-	echo '<div align="center">Bierstijlen xml bestand upload.</div><br>' . PHP_EOL;
-?>
-     <div id="eventsPanel"> </div>
-     <div style="float: left; margin-top: 10px;" id="jqxFileUpload"> </div>
-    </div>
-   </div>
-
-<?php
-page_footer();
-?>
--- a/www/js/global.js	Fri Aug 05 12:12:53 2022 +0200
+++ b/www/js/global.js	Fri Aug 05 14:19:21 2022 +0200
@@ -339,7 +339,7 @@
 
 IBUmethodData = [
  { id: 0, en: 'Tinseth', nl: 'Tinseth' },
- { id: 1, en: 'Rager', nl: 'Rager' },
+ { id: 1, en: 'Tinseth++', nl: 'Tinseth++' },
  { id: 2, en: 'Daniels', nl: 'Daniels' }
 ],
 IBUmethodSource = {
--- a/www/js/import_ingredients.js	Fri Aug 05 12:12:53 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*****************************************************************************
- * Copyright (C) 2019
- *
- * Michiel Broek <mbroek at mbse dot eu>
- *
- * This file is part of BMS
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * BrewCloud is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with ThermFerm; see the file COPYING.  If not, write to the Free
- * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *****************************************************************************/
-
-
-$(document).ready(function() {
-
- var url = '';
-
- if (my_select == 'fermentables')
-  url = 'upl_fermentables.php';
- else if (my_select == 'hops')
-  url = 'upl_hops.php';
- else if (my_select == 'miscs')
-  url = 'upl_miscs.php';
- else if (my_select == 'yeasts')
-  url = 'upl_yeasts.php';
- else if (my_select == 'styles')
-  url = 'upl_styles.php';
-
- $('#jqxFileUpload').jqxFileUpload({
-  width: 300,
-  browseTemplate: 'success',
-  cancelTemplate: 'inverse',
-  uploadTemplate: 'primary',
-  theme: theme,
-  multipleFilesUpload: false,
-  accept: 'application/xml',
-  uploadUrl: url,
-  fileInputName: 'fileToUpload'
- });
- $('#eventsPanel').jqxPanel({
-  width: 800,
-  height: 200,
-  theme: theme
- });
- $('#jqxFileUpload').on('select', function(event) {
-  var args = event.args,
-  fileName = args.file,
-  fileSize = args.size;
-  $('#eventsPanel').jqxPanel('clearcontent');
-  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
- });
- $('#jqxFileUpload').on('uploadEnd', function(event) {
-  var args = event.args,
-  fileName = args.file,
-  serverResponce = args.response;
-  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
- });
-
-});
--- a/www/js/prod_edit.js	Fri Aug 05 12:12:53 2022 +0200
+++ b/www/js/prod_edit.js	Fri Aug 05 14:19:21 2022 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2018-2021
+ * Copyright (C) 2018-2022
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -23,24 +23,6 @@
 
 function createPopupElements() {
 
- $('#eventWindow').jqxWindow({
-  theme: theme,
-  position: { x: 490, y: 210 },
-  width: 300,
-  height: 175,
-  resizable: false,
-  isModal: true,
-  modalOpacity: 0.4,
-  autoOpen: false,
-  okButton: $('#delOk'),
-  cancelButton: $('#delCancel'),
-  initContent: function() {
-   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
-   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
-   $('#delCancel').focus();
-  }
- });
-
  $('#volumeWindow').jqxWindow({
   theme: theme,
   position: { x: 380, y: 210 },
@@ -655,7 +637,7 @@
    $('#st_carb_min2').val(dataRecord.st_carb_min);
    $('#st_carb_max').val(dataRecord.st_carb_max);
    $('#st_carb_max2').val(dataRecord.st_carb_max);
-   $('#type').val(dataRecord.type);
+   $('#type').val(RecipeTypeData[dataRecord.type].nl);
    $('#batch_size').val(dataRecord.batch_size);
    $('#est_a_vol').val(dataRecord.batch_size * 1.04);
    $('#boil_size').val(dataRecord.boil_size);
@@ -671,10 +653,10 @@
    $('#est_color').val(dataRecord.est_color);
    $('#est_color2').val(dataRecord.est_color);
    $('#est_abv').val(dataRecord.est_abv);
-   $('#color_method').val(dataRecord.color_method);
+   $('#color_method').val(ColorMethodData[dataRecord.color_method].nl);
    $('#est_ibu').val(dataRecord.est_ibu);
    $('#est_ibu2').val(dataRecord.est_ibu);
-   $('#ibu_method').val(dataRecord.ibu_method);
+   $('#ibu_method').val(IBUmethodData[dataRecord.ibu_method].nl);
    $('#est_carb').val(dataRecord.est_carb);
    $('#mash_name').val(dataRecord.mash_name);
    $('#mash_ph').val(dataRecord.mash_ph);
@@ -3723,7 +3705,6 @@
 
  function en_stage_equipment(state) {
   $('#equipmentSelect').jqxDropDownList({ disabled: (state) ? true:false });
-  $('#Delete').jqxButton({ disabled: (state) ? true:false });
  }
 
  function en_stage_brewday(state) {
@@ -3737,17 +3718,6 @@
   var spinsmall = { spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 70:90 };
 
   $('#jqxTabs').jqxTabs((state) ? 'enableAt':'disableAt', 9);	// Fermentation tab
-  $('#name').jqxInput(onval);
-  $('#code').jqxInput(onval);
-  $('#batch_size').jqxNumberInput(spinstate);
-  $('#boil_size').jqxNumberInput(spinstate);
-  $('#boil_time').jqxNumberInput(spinstate);
-  $('#efficiency').jqxNumberInput(spinstate);
-  $('#est_og').jqxNumberInput(spinstate);
-  $('#type').jqxDropDownList(onval);
-  $('#styleSelect').jqxDropDownList(onval);
-  $('#color_method').jqxDropDownList(onval);
-  $('#ibu_method').jqxDropDownList(onval);
   $('#mash_select').jqxDropDownList(onval);
   $('#w1_name').jqxDropDownList(onval);
   $('#w2_name').jqxDropDownList(onval);
@@ -4150,79 +4120,6 @@
    calcWater();
   });
 
-  $('#color_method').on('select', function(event) {
-   dataRecord.color_method = event.args.index;
-   calcFermentables();
-  });
-  $('#ibu_method').on('select', function(event) {
-   dataRecord.ibu_method = event.args.index;
-   calcFermentables();
-   calcIBUs();
-  });
-
-  $('#batch_size').on('change', function(event) {
-   console.log('batch_size change:' + event.args.value + ' old:' + dataRecord.batch_size);
-   $('#est_a_vol').val(event.args.value * 1.04);
-   var evap = parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')) * dataRecord.boil_time / 60;
-   dataRecord.boil_size = parseFloat(event.args.value) + evap;
-   var factor = parseFloat(event.args.value) / dataRecord.batch_size;
-   $('#boil_size').val(Round(dataRecord.boil_size, 2));
-   $('#est_pre_vol').val(Round(dataRecord.boil_size * 1.04, 2));
-   dataRecord.sparge_volume *= factor;
-   $('#sparge_volume').val(dataRecord.sparge_volume);
-   $('#brew_sparge_volume').val(dataRecord.sparge_volume);
-   dataRecord.batch_size = parseFloat(event.args.value);
-   calcFermentablesFromOG(parseFloat($('#est_og').jqxNumberInput('decimal')));     // Keep the OG
-   adjustWaters(factor);
-   calcFermentables();
-   adjustHops(factor);
-   adjustMiscs(factor);
-   adjustYeasts(factor);
-   calcIBUs();
-   calcWater();
-   calcSparge();
-   calcMash();
-  });
-  $('#boil_time').on('change', function(event) {
-   var new_time, old_time, new_evap;
-   old_time = parseFloat(dataRecord.boil_time);
-   new_time = parseFloat(event.args.value);
-   console.log('boil_time change:' + new_time + ' old:' + old_time);
-   new_evap = parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')) * new_time / 60;
-   dataRecord.boil_size = parseFloat(dataRecord.batch_size) + new_evap;
-   dataRecord.boil_time = new_time;
-   $('#est_pre_vol').val(Round(dataRecord.boil_size * 1.04, 2));
-   $('#boil_size').val(Round(dataRecord.boil_size, 2));
-   calcFermentables();
-   calcIBUs();
-   calcYeast();
-   calcStage();
-   kookTijd();
-  });
-  $('#efficiency').on('change', function(event) {
-   var estog = parseFloat($('#est_og').jqxNumberInput('decimal'));
-   dataRecord.efficiency = parseFloat(event.args.value);
-   console.log('efficiency change:' + dataRecord.efficiency + ' est_og:' + estog);
-   calcFermentablesFromOG(estog);     // Keep the OG
-   calcFermentables();
-   calcIBUs();
-   calcYeast();
-  });
-  $('#est_og').on('change', function(event) {
-   dataRecord.est_og = parseFloat(event.args.value);
-   console.log('est_og change:' + dataRecord.est_og);
-   $('#est_og2').val(dataRecord.est_og);
-   calcFermentablesFromOG(dataRecord.est_og);      // Adjust fermentables amounts
-   calcFermentables();                             // Update the recipe details
-   calcIBUs();                                     // and the IBU's.
-   calcMash();
-   calcYeast();
-  });
-  $('#mash_ph').on('change', function(event) {
-   dataRecord.mash_ph = parseFloat(event.args.value);
-   calcWater();
-  });
-
   $('#sparge_ph').on('change', function(event) {
    dataRecord.sparge_ph = parseFloat(event.args.value);
    calcSparge();
@@ -4435,48 +4332,6 @@
   $('#CLog').jqxButton({ disabled: (dataRecord.log_co2pressure) ? false : true});
  }
 
- $('#styleSelect').jqxDropDownList({
-  placeHolder: 'Kies bierstijl:',
-  theme: theme,
-  source: styleslist,
-  displayMember: 'name',
-  width: 180,
-  height: 23,
-  dropDownVerticalAlignment: 'top',
-  dropDownWidth: 500,
-  dropDownHeight: 380,
-  renderer: function(index, label, value) {
-   var datarecord = styleslist.records[index];
-   return datarecord.style_guide + ' ' + datarecord.style_letter + ' ' + datarecord.name;
-  }
- });
- $('#styleSelect').on('select', function(event) {
-  if (event.args) {
-   var datarecord, index = event.args.index;
-   datarecord = styleslist.records[index];
-   $('#st_name').val(datarecord.name);
-   $('#st_category').val(datarecord.category);
-   $('#st_category_number').val(datarecord.category_number);
-   $('#st_letter').val(datarecord.style_letter);
-   $('#st_guide').val(datarecord.style_guide);
-   $('#st_type').val(StyleTypeData[datarecord.type].nl);
-   $('#st_og_min').val(datarecord.og_min);
-   $('#st_og_max').val(datarecord.og_max);
-   $('#st_fg_min').val(datarecord.fg_min);
-   $('#st_fg_max').val(datarecord.fg_max);
-   $('#st_ibu_min').val(datarecord.ibu_min);
-   $('#st_ibu_max').val(datarecord.ibu_max);
-   $('#st_color_min').val(datarecord.color_min);
-   $('#st_color_max').val(datarecord.color_max);
-   $('#st_carb_min').val(datarecord.carb_min);
-   $('#st_carb_min2').val(datarecord.carb_min);
-   $('#st_carb_max').val(datarecord.carb_max);
-   $('#st_carb_max2').val(datarecord.carb_max);
-   $('#st_abv_min').val(datarecord.abv_min);
-   $('#st_abv_max').val(datarecord.abv_max);
-  }
- });
-
  // Equipemnt dropdown list
  $('#equipmentSelect').jqxDropDownList({
   placeHolder: 'Kies apparatuur:',
@@ -4547,248 +4402,6 @@
   }
  });
 
- function saveRecord(goback) {
-  var row = {
-   record: my_record,
-   uuid: dataRecord.uuid,
-   name: $('#name').val(),
-   code: $('#code').val(),
-   birth: $('#birth').val(),
-   stage: dataRecord.stage,
-   notes: $('#notes').val(),
-   log_brew: dataRecord.log_brew,
-   log_fermentation: dataRecord.log_fermentation,
-   log_ispindel: dataRecord.log_ispindel,
-   log_co2pressure: dataRecord.log_co2pressure,
-   inventory_reduced: dataRecord.inventory_reduced,
-   locked: dataRecord.locked,
-   eq_name: $('#eq_name').val(),
-   eq_boil_size: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')),
-   eq_batch_size: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')),
-   eq_tun_volume: parseFloat($('#eq_tun_volume').jqxNumberInput('decimal')),
-   eq_tun_weight: dataRecord.eq_tun_weight,
-   eq_tun_specific_heat: dataRecord.eq_tun_specific_heat,
-   eq_tun_material: dataRecord.eq_tun_material,
-   eq_tun_height: dataRecord.eq_tun_height,
-   eq_top_up_water: parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
-   eq_trub_chiller_loss: parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')),
-   eq_evap_rate: parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')),
-   eq_boil_time: parseFloat($('#eq_boil_time').jqxNumberInput('decimal')),
-   eq_calc_boil_volume: dataRecord.eq_calc_boil_volume,
-   eq_top_up_kettle: parseFloat($('#eq_top_up_kettle').jqxNumberInput('decimal')),
-   eq_hop_utilization: parseFloat($('#eq_hop_utilization').jqxNumberInput('decimal')),
-   eq_notes: $('#eq_notes').val(),
-   eq_lauter_volume: parseFloat($('#eq_lauter_volume').jqxNumberInput('decimal')),
-   eq_lauter_height: dataRecord.eq_lauter_height,
-   eq_lauter_deadspace: parseFloat($('#eq_lauter_deadspace').jqxNumberInput('decimal')),
-   eq_kettle_volume: parseFloat($('#eq_kettle_volume').jqxNumberInput('decimal')),
-   eq_kettle_height: dataRecord.eq_kettle_height,
-   eq_mash_volume: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
-   eq_mash_max: parseFloat($('#eq_mash_max').jqxNumberInput('decimal')),
-   eq_efficiency: parseFloat($('#eq_efficiency').jqxNumberInput('decimal')),
-   brew_date_start: $('#brew_date_start').val(),
-   brew_mash_ph: parseFloat($('#brew_mash_ph').jqxNumberInput('decimal')),
-   brew_mash_sg: parseFloat($('#brew_mash_sg').jqxNumberInput('decimal')),
-   brew_mash_efficiency: parseFloat($('#brew_mash_efficiency').jqxNumberInput('decimal')),
-   brew_sparge_est: parseFloat($('#brew_sparge_est').jqxNumberInput('decimal')),
-   brew_sparge_ph: parseFloat($('#brew_sparge_ph').jqxNumberInput('decimal')),
-   brew_preboil_volume: parseFloat($('#brew_preboil_volume').jqxNumberInput('decimal')),
-   brew_preboil_sg: parseFloat($('#brew_preboil_sg').jqxNumberInput('decimal')),
-   brew_preboil_ph: parseFloat($('#brew_preboil_ph').jqxNumberInput('decimal')),
-   brew_preboil_efficiency: parseFloat($('#brew_preboil_efficiency').jqxNumberInput('decimal')),
-   brew_aboil_volume: parseFloat($('#brew_aboil_volume').jqxNumberInput('decimal')),
-   brew_aboil_sg: parseFloat($('#brew_aboil_sg').jqxNumberInput('decimal')),
-   brew_aboil_ph: parseFloat($('#brew_aboil_ph').jqxNumberInput('decimal')),
-   brew_aboil_efficiency: parseFloat($('#brew_aboil_efficiency').jqxNumberInput('decimal')),
-   brew_cooling_method: $('#brew_cooling_method').val(),
-   brew_cooling_time: parseFloat($('#brew_cooling_time').jqxNumberInput('decimal')),
-   brew_cooling_to: parseFloat($('#brew_cooling_to').jqxNumberInput('decimal')),
-   brew_whirlpool9: parseFloat($('#brew_whirlpool9').jqxNumberInput('decimal')),
-   brew_whirlpool7: parseFloat($('#brew_whirlpool7').jqxNumberInput('decimal')),
-   brew_whirlpool6: parseFloat($('#brew_whirlpool6').jqxNumberInput('decimal')),
-   brew_whirlpool2: parseFloat($('#brew_whirlpool2').jqxNumberInput('decimal')),
-   brew_fermenter_volume: parseFloat($('#brew_fermenter_volume').jqxNumberInput('decimal')),
-   brew_fermenter_extrawater: parseFloat($('#brew_fermenter_extrawater').jqxNumberInput('decimal')),
-   brew_fermenter_tcloss: parseFloat($('#brew_fermenter_tcloss').jqxNumberInput('decimal')),
-   brew_aeration_time: parseFloat($('#brew_aeration_time').jqxNumberInput('decimal')),
-   brew_aeration_speed: parseFloat($('#brew_aeration_speed').jqxNumberInput('decimal')),
-   brew_aeration_type: $('#brew_aeration_type').val(),
-   brew_fermenter_sg: parseFloat($('#brew_fermenter_sg').jqxNumberInput('decimal')),
-   brew_fermenter_ibu: parseFloat($('#brew_fermenter_ibu').jqxNumberInput('decimal')),
-   brew_fermenter_color: parseFloat($('#brew_fermenter_color').jqxNumberInput('decimal')),
-   brew_date_end: $('#brew_date_end').val(),
-   og: dataRecord.og,
-   fg: parseFloat($('#fg').jqxNumberInput('decimal')),
-   primary_start_temp: parseFloat($('#primary_start_temp').jqxNumberInput('decimal')),
-   primary_max_temp: parseFloat($('#primary_max_temp').jqxNumberInput('decimal')),
-   primary_end_temp: parseFloat($('#primary_end_temp').jqxNumberInput('decimal')),
-   primary_end_sg: parseFloat($('#primary_end_sg').jqxNumberInput('decimal')),
-   primary_end_date: $('#primary_end_date').val(),
-   secondary_temp: parseFloat($('#secondary_temp').jqxNumberInput('decimal')),
-   secondary_end_sg: parseFloat($('#secondary_end_sg').jqxNumberInput('decimal')),
-   secondary_end_date: $('#secondary_end_date').val(),
-   tertiary_temp: parseFloat($('#tertiary_temp').jqxNumberInput('decimal')),
-   package_date: $('#package_date').val(),
-   package_volume: parseFloat($('#package_volume').jqxNumberInput('decimal')),
-   package_infuse_amount: parseFloat($('#package_infuse_amount').jqxNumberInput('decimal')),
-   package_infuse_abv: parseFloat($('#package_infuse_abv').jqxNumberInput('decimal')),
-   package_infuse_notes: $('#package_infuse_notes').val(),
-   package_abv: parseFloat($('#package_abv').jqxNumberInput('decimal')),
-   package_ph: parseFloat($('#package_ph').jqxNumberInput('decimal')),
-   bottle_amount: parseFloat($('#bottle_amount').jqxNumberInput('decimal')),
-   bottle_carbonation: parseFloat($('#bottle_carbonation').jqxNumberInput('decimal')),
-   bottle_priming_water: parseFloat($('#bottle_priming_water').jqxNumberInput('decimal')),
-   bottle_priming_amount: parseFloat($('#bottle_priming_amount').jqxNumberInput('decimal')),
-   bottle_carbonation_temp: parseFloat($('#bottle_carbonation_temp').jqxNumberInput('decimal')),
-   keg_amount: parseFloat($('#keg_amount').jqxNumberInput('decimal')),
-   keg_carbonation: parseFloat($('#keg_carbonation').jqxNumberInput('decimal')),
-   keg_priming_water: parseFloat($('#keg_priming_water').jqxNumberInput('decimal')),
-   keg_priming_amount: parseFloat($('#keg_priming_amount').jqxNumberInput('decimal')),
-   keg_carbonation_temp: parseFloat($('#keg_carbonation_temp').jqxNumberInput('decimal')),
-   keg_forced_carb: dataRecord.keg_forced_carb,
-   keg_pressure: parseFloat($('#keg_pressure').jqxNumberInput('decimal')),
-   taste_notes: $('#taste_notes').val(),
-   taste_rate: parseFloat($('#taste_rate').jqxNumberInput('decimal')),
-   taste_date: $('#taste_date').val(),
-   taste_color: $('#taste_color').val(),
-   taste_transparency: $('#taste_transparency').val(),
-   taste_head: $('#taste_head').val(),
-   taste_aroma: $('#taste_aroma').val(),
-   taste_taste: $('#taste_taste').val(),
-   taste_mouthfeel: $('#taste_mouthfeel').val(),
-   taste_aftertaste: $('#taste_aftertaste').val(),
-   st_name: $('#st_name').val(),
-   st_letter: $('#st_letter').val(),
-   st_guide: $('#st_guide').val(),
-   st_type: dataRecord.st_type,
-   st_category: $('#st_category').val(),
-   st_category_number: $('#st_category_number').val(),
-   st_og_min: parseFloat($('#st_og_min').jqxNumberInput('decimal')),
-   st_og_max: parseFloat($('#st_og_max').jqxNumberInput('decimal')),
-   st_fg_min: parseFloat($('#st_fg_min').jqxNumberInput('decimal')),
-   st_fg_max: parseFloat($('#st_fg_max').jqxNumberInput('decimal')),
-   st_ibu_min: parseFloat($('#st_ibu_min').jqxNumberInput('decimal')),
-   st_ibu_max: parseFloat($('#st_ibu_max').jqxNumberInput('decimal')),
-   st_color_min: parseFloat($('#st_color_min').jqxNumberInput('decimal')),
-   st_color_max: parseFloat($('#st_color_max').jqxNumberInput('decimal')),
-   st_carb_min: parseFloat($('#st_carb_min').jqxNumberInput('decimal')),
-   st_carb_max: parseFloat($('#st_carb_max').jqxNumberInput('decimal')),
-   st_abv_min: parseFloat($('#st_abv_min').jqxNumberInput('decimal')),
-   st_abv_max: parseFloat($('#st_abv_max').jqxNumberInput('decimal')),
-   type: $('#type').val(),
-   batch_size: parseFloat($('#batch_size').jqxNumberInput('decimal')),
-   boil_size: parseFloat($('#boil_size').jqxNumberInput('decimal')),
-   boil_time: parseFloat($('#boil_time').jqxNumberInput('decimal')),
-   efficiency: parseFloat($('#efficiency').jqxNumberInput('decimal')),
-   est_og: parseFloat($('#est_og').jqxNumberInput('decimal')),
-   est_og3: parseFloat($('#est_og3').jqxNumberInput('decimal')),
-   est_fg: parseFloat($('#est_fg').jqxNumberInput('decimal')),
-   est_abv: parseFloat($('#est_abv').jqxNumberInput('decimal')),
-   est_color: parseFloat($('#est_color').jqxNumberInput('decimal')),
-   color_method: $('#color_method').val(),
-   est_ibu: parseFloat($('#est_ibu').jqxNumberInput('decimal')),
-   ibu_method: $('#ibu_method').val(),
-   est_carb: parseFloat($('#est_carb').jqxNumberInput('decimal')),
-   mash_name: $('#mash_name').val(),
-   mash_ph: parseFloat($('#mash_ph').jqxNumberInput('decimal')),
-   sparge_temp: parseFloat($('#sparge_temp').jqxNumberInput('decimal')),
-   sparge_ph: parseFloat($('#sparge_ph').jqxNumberInput('decimal')),
-   sparge_volume: parseFloat($('#sparge_volume').jqxNumberInput('decimal')),
-   sparge_source: $('#sparge_source').val(),
-   sparge_acid_type: $('#sparge_acid_type').val(),
-   sparge_acid_perc: parseFloat($('#sparge_acid_perc').jqxNumberInput('decimal')),
-   sparge_acid_amount: dataRecord.sparge_acid_amount,
-   calc_acid: dataRecord.calc_acid,
-   w1_name: $('#w1_name').val(),
-   w1_amount: parseFloat($('#w1_amount').jqxNumberInput('decimal')),
-   w1_calcium: parseFloat($('#w1_calcium').jqxNumberInput('decimal')),
-   w1_sulfate: parseFloat($('#w1_sulfate').jqxNumberInput('decimal')),
-   w1_chloride: parseFloat($('#w1_chloride').jqxNumberInput('decimal')),
-   w1_sodium: parseFloat($('#w1_sodium').jqxNumberInput('decimal')),
-   w1_magnesium: parseFloat($('#w1_magnesium').jqxNumberInput('decimal')),
-   w1_total_alkalinity: parseFloat($('#w1_total_alkalinity').jqxNumberInput('decimal')),
-   w1_ph: parseFloat($('#w1_ph').jqxNumberInput('decimal')),
-   w1_cost: dataRecord.w1_cost,
-   w2_name: $('#w2_name').val(),
-   w2_amount: parseFloat($('#w2_amount').jqxNumberInput('decimal')),
-   w2_calcium: parseFloat($('#w2_calcium').jqxNumberInput('decimal')),
-   w2_sulfate: parseFloat($('#w2_sulfate').jqxNumberInput('decimal')),
-   w2_chloride: parseFloat($('#w2_chloride').jqxNumberInput('decimal')),
-   w2_sodium: parseFloat($('#w2_sodium').jqxNumberInput('decimal')),
-   w2_magnesium: parseFloat($('#w2_magnesium').jqxNumberInput('decimal')),
-   w2_total_alkalinity: parseFloat($('#w2_total_alkalinity').jqxNumberInput('decimal')),
-   w2_ph: parseFloat($('#w2_ph').jqxNumberInput('decimal')),
-   w2_cost: dataRecord.w2_cost,
-   wg_amount: parseFloat($('#wg_amount').jqxNumberInput('decimal')),
-   wg_calcium: parseFloat($('#wg_calcium').jqxNumberInput('decimal')),
-   wg_sulfate: parseFloat($('#wg_sulfate').jqxNumberInput('decimal')),
-   wg_chloride: parseFloat($('#wg_chloride').jqxNumberInput('decimal')),
-   wg_sodium: parseFloat($('#wg_sodium').jqxNumberInput('decimal')),
-   wg_magnesium: parseFloat($('#wg_magnesium').jqxNumberInput('decimal')),
-   wg_total_alkalinity: parseFloat($('#wg_total_alkalinity').jqxNumberInput('decimal')),
-   wg_ph: parseFloat($('#wg_ph').jqxNumberInput('decimal')),
-   wb_calcium: parseFloat($('#wb_calcium').jqxNumberInput('decimal')),
-   wb_sulfate: parseFloat($('#wb_sulfate').jqxNumberInput('decimal')),
-   wb_chloride: parseFloat($('#wb_chloride').jqxNumberInput('decimal')),
-   wb_sodium: parseFloat($('#wb_sodium').jqxNumberInput('decimal')),
-   wb_magnesium: parseFloat($('#wb_magnesium').jqxNumberInput('decimal')),
-   wb_total_alkalinity: parseFloat($('#wb_total_alkalinity').jqxNumberInput('decimal')),
-   wb_ph: parseFloat($('#wb_ph').jqxNumberInput('decimal')),
-   wa_acid_name: parseInt($('#wa_acid_name').val()),
-   wa_acid_perc: parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')),
-   wa_base_name: 0,
-   starter_enable: dataRecord.starter_enable,
-   starter_type: $('#starter_type').val(),
-   starter_sg: parseFloat($('#starter_sg').jqxNumberInput('decimal')),
-   starter_viability: parseFloat($('#starter_viability').jqxNumberInput('decimal')),
-   yeast_prod_date: $('#yeast_prod_date').val(),
-   yeast_pitchrate: parseFloat($('#yeast_pitchrate').jqxNumberInput('decimal')),
-   prop1_type: $('#prop1_type').val(),
-   prop1_volume: parseFloat($('#prop1_volume').jqxNumberInput('decimal')),
-   prop2_type: $('#prop2_type').val(),
-   prop2_volume: parseFloat($('#prop2_volume').jqxNumberInput('decimal')),
-   prop3_type: $('#prop3_type').val(),
-   prop3_volume: parseFloat($('#prop3_volume').jqxNumberInput('decimal')),
-   prop4_type: $('#prop4_type').val(),
-   prop4_volume: parseFloat($('#prop4_volume').jqxNumberInput('decimal')),
-   divide_type: dataRecord.divide_type,
-   divide_size: dataRecord.divide_size,
-   divide_factor: dataRecord.divide_factor,
-   divide_parts: dataRecord.divide_parts,
-   divide_part: dataRecord.divide_part,
-   fermentables: $('#fermentableGrid').jqxGrid('getrows'),
-   hops: $('#hopGrid').jqxGrid('getrows'),
-   miscs: $('#miscGrid').jqxGrid('getrows'),
-   yeasts: $('#yeastGrid').jqxGrid('getrows'),
-   mashs: $('#mashGrid').jqxGrid('getrows')
-  },
-  data = 'update=true&' + $.param(row);
-  $.ajax({
-   dataType: 'json',
-   url: url,
-   cache: false,
-   data: data,
-   async: false,
-   type: 'POST',
-   success: function(data) {
-    if (data.error) {
-     console.log('saveRecord(' + goback + ') error ' + data.msg);
-     alert('SQL fout: ' + data.msg);
-    } else {
-     console.log('saveRecord(' + goback + ') success');
-    }
-    if (goback)
-     window.location.href = my_return;
-    else
-     window.location.href =
-        'prod_export.php?record=' + my_record + '&return=' + my_return + '&select=' + my_select + '&code=' + dataRecord.code + '&name=' + dataRecord.name +
-        '&stage=' + dataRecord.stage + '&split=' + dataRecord.divide_type;
-   },
-   error: function(jqXHR, textStatus, errorThrown) {
-    console.log('saveRecord() ' + textStatus);
-   }
-  });
- };
 
  // initialize the input fields.
  // Tab 1, Algemeen
@@ -4834,62 +4447,21 @@
  $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
  $('#code, #stage').jqxInput({ theme: theme, width: 100, height: 23 });
  $('#locked').jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true });
- $('#locked').on('checked', function(event) {
-  if (dataRecord.stage >= 10) {
-   dataRecord.locked = 1;
-   dataRecord.stage = 11;
-   calcStage();
-  }
- });
- $('#locked').on('unchecked', function(event) {
-  if (dataRecord.stage >= 10) {
-   dataRecord.locked = 0;
-   dataRecord.stage = 10;
-   calcStage();
-  }
- });
  $('#birth,#divide_batch,#divide_type').jqxInput({ theme: theme, width: 120, height: 23 });
  $('#notes').jqxInput({ theme: theme, width: 960, height: 100 });
- $('#type').jqxDropDownList({
-  theme: theme,
-  source: RecipeTypeAdapter,
-  valueMember: 'id',
-  displayMember: 'nl',
-  width: 180,
-  height: 23,
-  autoDropDownHeight: true
- });
- $('#efficiency').jqxNumberInput(Perc1dec);
- $('#batch_size').jqxNumberInput(Spin1dec);
- $('#batch_size').jqxNumberInput({ min: 4 });
- $('#boil_time').jqxNumberInput(PosInt);
- $('#boil_time').jqxNumberInput({ min: 0, max: 360 });
- $('#boil_size').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 2, readOnly: true });
+ $('#type').jqxInput({ theme: theme, width: 180, height: 23 });
+ $('#efficiency').jqxNumberInput(Show1dec);
+ $('#batch_size').jqxNumberInput(Show1dec);
+ $('#boil_time').jqxNumberInput(Show0dec);
+ $('#boil_size').jqxNumberInput(Show2dec);
  $('#st_guide,#st_name,#st_type,#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#est_og').jqxNumberInput(SGopts);
+ $('#est_og').jqxNumberInput(Show3dec);
  $('#est_fg').jqxNumberInput(Show3dec);
  $('#st_og_min,#st_og_max,#st_fg_min,#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
  $('#est_ibu,#est_color').jqxNumberInput(Show0dec);
- $('#color_method').jqxDropDownList({
-  theme: theme,
-  source: ColorMethodAdapter,
-  valueMember: 'id',
-  displayMember: 'nl',
-  width: 180,
-  height: 23,
-  autoDropDownHeight: true
- });
+ $('#color_method').jqxInput({ theme: theme, width: 180, height: 23 });
  $('#st_color_min,#st_color_max,#st_category_number,#st_ibu_min,#st_ibu_max,#kcal').jqxNumberInput(Smal0dec);
- $('#ibu_method').jqxDropDownList({
-  theme: theme,
-  source: IBUmethodAdapter,
-  valueMember: 'id',
-  displayMember: 'nl',
-  width: 180,
-  height: 23,
-  autoDropDownHeight: true,
-  dropDownVerticalAlignment: 'top'
- });
+ $('#ibu_method').jqxInput({ theme: theme, width: 180, height: 23 });
  $('#est_abv,#st_abv_min,#st_abv_max,#est_carb,#st_carb_min,#st_carb_max').jqxNumberInput(Smal1dec);
 
  // Tab 2, Equipment
@@ -6413,37 +5985,11 @@
  });
 
  // Buttons below
- $('#Delete').jqxButton({ template: 'danger', width: '80px', theme: theme });
- $('#Delete').bind('click', function() {
-  // Open a popup to confirm this action.
-  $('#eventWindow').jqxWindow('open');
-  $('#delOk').click(function() {
-   var data = 'delete=true&' + $.param({ uuid: dataRecord.uuid });
-   $.ajax({
-    dataType: 'json',
-    url: url,
-    cache: false,
-    data: data,
-    type: 'POST',
-    success: function(data, status, xhr) {
-     // delete command is executed.
-     window.location.href = my_return;
-    },
-    error: function(jqXHR, textStatus, errorThrown) {
-    }
-   });
-  });
- });
-
- $('#Cancel').jqxButton({ template: 'primary', width: '80px', theme: theme });
- $('#Cancel').bind('click', function() {
+ $('#Terug').jqxButton({ template: 'primary', width: '80px', theme: theme });
+ $('#Terug').bind('click', function() {
   window.location.href = my_return;
  });
 
- $('#Save').jqxButton({ template: 'success', width: '80px', theme: theme });
- $('#Save').bind('click', function() {
-  saveRecord(1);
- });
  createPopupElements();
 });
 
--- a/www/prod_edit.php	Fri Aug 05 12:12:53 2022 +0200
+++ b/www/prod_edit.php	Fri Aug 05 14:19:21 2022 +0200
@@ -50,7 +50,7 @@
        </tr>
        <tr>
         <td style="vertical-align: top; float: right; padding: 3px;">Brouw type:</td>
-        <td align="left" style="padding: 3px;"><div id="type"></div></td>
+        <td align="left" style="padding: 3px;"><input id="type" readonly /></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Brouwzaal rendement:</td>
 	<td style="padding: 3px;"><div id="efficiency"></div></td>
 	<td style="vertical-align: top; float: right; padding: 3px;" id="ok_pmpt">Ingredienten aanwezig:</td>
@@ -70,8 +70,7 @@
        <tr>
         <td></td>
         <th>Bierstijl gegevens</th>
-        <td></td>
-        <td align="left" colspan="3"><div id="styleSelect">Stylenlijst</div></td>
+        <td colspan="4"></td>
        </tr>
        <tr>
         <td style="vertical-align: top; float: right; padding: 3px;">Stijlgids:</td>
@@ -101,7 +100,7 @@
         <td style="vertical-align: top; float: right; padding: 3px;">Kleur EBC:</td>
         <td style="padding: 3px;"><div style="float: left;" id="est_color"></div><div style="float: left; margin-left: 15px;" id="st_color_min"></div><div style="float: left; margin-left: 5px;" id="st_color_max"></div><div id="bcolor" class='ebccolor'> </div></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Kleur methode:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="color_method"></div></td>
+        <td style="padding: 3px;"><input id="color_method" readonly /></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Koolzuur vol:</td>
         <td style="padding: 3px;"><div style="float: left;" id="est_carb"></div><div style="float: left; margin-left: 15px;" id="st_carb_min"></div><div style="float: left; margin-left: 5px;" id="st_carb_max"></div></td>
        </tr>
@@ -109,15 +108,13 @@
         <td style="vertical-align: top; float: right; padding: 3px;">Bitterheid IBU:</td>
         <td style="padding: 3px;"><div style="float: left;" id="est_ibu"></div><div style="float: left; margin-left: 15px;" id="st_ibu_min"></div><div style="float: left; margin-left: 5px;" id="st_ibu_max"></div></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Bitterheid methode:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="ibu_method"></div></td>
+        <td style="padding: 3px;"><input id="ibu_method" readonly /></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Energie-inhoud kcal/l:</td>
         <td style="padding: 3px;"><div style="float: left;" id="kcal"></div></td>
        </tr>
       </table>
       <div style="float: right; margin-top: 20px; margin-bottom: 5px;">
-       <input style="margin-right: 100px;" type="button" id="Delete" value="Delete" />
-       <input style="margin-right: 100px;" type="button" id="Save"   value="Save" />
-       <input style="margin-right: 320px;" type="button" id="Cancel" value="Cancel" />
+       <input style="margin-right: 600px;" type="button" id="Terug" value="Terug" />
       </div>
      </div>
     </div>
@@ -1180,6 +1177,5 @@
    </div>
 
 <?php
-confirm_delete();
 page_footer();
 ?>
--- a/www/upl_fermentables.php	Fri Aug 05 12:12:53 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-<?php
-require_once('config.php');
-require("version.php");
-require("includes/formulas.php");
-
-
-$target_dir = "tmp/";
-$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
-$uploadOk = 1;
-$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
-
-// Check if file already exists
-if (file_exists($target_file)) {
-	echo "Fout 1: bestand bestaat al. ";
-	$uploadOk = 0;
-}
-// Check file size
-if ($_FILES["fileToUpload"]["size"] > 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"]). "<br />";
-} 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) {
-
-	$uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
-	$sql  = "INSERT INTO inventory_fermentables SET uuid='" . $uuid;
-
-	$sql .= "', 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 . "<br />";
-	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 . "<br />";
-
-	$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 . "<br />";
-	$sql .= "';";
-	if (! $result = mysqli_query($db, $sql)) {
-		echo "Fout 8: " . mysqli_error($db) . "<br />";
-	} else {
-		echo "+ " . $fermentable->NAME . "<br />";
-		$imported++;
-	}
-}
-
-if ($imported == 0) {
-	echo "Fout 7: geen vergistbare ingredienten in dit bestand.<br />";
-} else {
-	echo $imported . " ingredienten toegevoegd.<br />";
-}
-
-
-
-// Don't clutter the upload directory.
-unlink($target_file);
-
-?>
--- a/www/upl_hops.php	Fri Aug 05 12:12:53 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-<?php
-require_once('config.php');
-require("version.php");
-require("includes/formulas.php");
-
-
-$target_dir = "tmp/";
-$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
-$uploadOk = 1;
-$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
-
-// Check if file already exists
-if (file_exists($target_file)) {
-	echo "Fout 1: bestand bestaat al. ";
-	$uploadOk = 0;
-}
-// Check file size
-if ($_FILES["fileToUpload"]["size"] > 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"]). "<br />";
-} 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;
-$hops = simplexml_load_file($target_file);
-
-
-foreach ($hops->HOP as $hop) {
-
-	$uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
-	$sql  = "INSERT INTO inventory_hops SET uuid='" . $uuid;
-	$sql .= "', name='" . mysqli_real_escape_string($db, $hop->NAME);
-	if ($hop->ALPHA)
-		$sql .= "', alpha='" . floatval($hop->ALPHA);
-	if ($hop->BETA)
-		$sql .= "', beta='" . floatval($hop->BETA);
-	if ($hop->HUMULENE)
-		$sql .= "', humulene='" . floatval($hop->HUMULENE);
-	if ($hop->CAROPHYLLENE)
-		$sql .= "', caryophyllene='" . floatval($hop->CAROPHYLLENE);
-	if ($hop->COHUMULONE)
-		$sql .= "', cohumulone='" . floatval($hop->COHUMULONE);
-	if ($hop->MYRCENE)
-		$sql .= "', myrcene='" . floatval($hop->MYRCENE);
-	if ($hop->HSI)
-		$sql .= "', hsi='" . floatval($hop->HSI);
-
-	if ($hop->TYPE == 'Bittering')
-		$sql .= "', type='0";
-	else if ($hop->TYPE == 'Aroma')
-		$sql .= "', type='1";
-	else if ($hop->TYPE == 'Both')
-		$sql .= "', type='2";
-	else
-		echo "Unknown TYPE " . $hop->TYPE . "<br />";
-
-	if ($hop->FORM == 'Pellet')
-		$sql .= "', form='0";
-	else if ($hop->FORM == 'Plug')
-		$sql .= "', form='1";
-	else if ($hop->FORM == 'Leaf')
-		$sql .= "', form='2";
-	else
-		echo "Unknown FORM " . $hop->FORM . "<br />";
-
-	$sql .= "', notes='" . mysqli_real_escape_string($db, $hop->NOTES);
-	$sql .= "', origin='" . mysqli_real_escape_string($db, $hop->ORIGIN);
-	$sql .= "', substitutes='" . mysqli_real_escape_string($db, $hop->SUBSTITUTES);
-	($hop->ALWAYS_ON_STOCK == 'TRUE') ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
-	if ($hop->INVENTORY)
-		$sql .= "', inventory='" . floatval($hop->INVENTORY) / 1000.0;
-	if ($hop->COST)
-		$sql .= "', cost='" . floatval($hop->COST);
-	if ($hop->TOTAL_OIL)
-		$sql .= "', total_oil='" . floatval($hop->TOTAL_OIL);
-	if ($hop->HARVEST_DATE) {
-		$date = substr($hop->HARVEST_DATE, 6, 4).'-'.substr($hop->HARVEST_DATE, 3, 2).'-'.substr($hop->HARVEST_DATE, 0, 2);
-		$sql .= "', production_date='" . $date;
-	}
-	$sql .= "';";
-	if (! $result = mysqli_query($db, $sql)) {
-		echo "Fout 8: " . mysqli_error($db) . "<br />";
-	} else {
-		echo "+ " . $hop->NAME . "<br />";
-		$imported++;
-	}
-}
-
-if ($imported == 0) {
-	echo "Fout 7: geen hoppen in dit bestand.<br />";
-} else {
-	echo $imported . " hoppen toegevoegd.<br />";
-}
-
-
-
-// Don't clutter the upload directory.
-unlink($target_file);
-
-?>
--- a/www/upl_miscs.php	Fri Aug 05 12:12:53 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-<?php
-require_once('config.php');
-require("version.php");
-require("includes/formulas.php");
-
-
-$target_dir = "tmp/";
-$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
-$uploadOk = 1;
-$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
-
-// Check if file already exists
-if (file_exists($target_file)) {
-	echo "Fout 1: bestand bestaat al. ";
-	$uploadOk = 0;
-}
-// Check file size
-if ($_FILES["fileToUpload"]["size"] > 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"]). "<br />";
-} 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;
-$miscs = simplexml_load_file($target_file);
-
-foreach ($miscs->MISC as $misc) {
-
-	$uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
-	$sql  = "INSERT INTO inventory_miscs SET uuid='" . $uuid;
-	$sql .= "', name='" . mysqli_real_escape_string($db, $misc->NAME);
-	if ($misc->NOTES)
-		$sql .= "', notes='" . mysqli_real_escape_string($db, $misc->NOTES);
-
-	if ($misc->TYPE == 'Spice')
-		$sql .= "', type='0";
-	else if ($misc->TYPE == 'Herb')
-		$sql .= "', type='1";
-	else if ($misc->TYPE == 'Flavor')
-		$sql .= "', type='2";
-	else if ($misc->TYPE == 'Fining')
-		$sql .= "', type='3";
-	else if ($misc->TYPE == 'Water agent')
-		$sql .= "', type='4";
-	else if ($misc->TYPE == 'Yeast nutrient')
-		$sql .= "', type='5";
-	else if ($misc->TYPE == 'Other')
-		$sql .= "', type='6";
-	else
-		echo "Unknown TYPE " . $misc->TYPE . "<br />";
-
-	if ($misc->USE == 'Starter')
-		$sql .= "', use_use='0";
-	else if ($misc->USE == 'Mash')
-		$sql .= "', use_use='1";
-	else if ($misc->USE == 'Boil')
-		$sql .= "', use_use='2";
-	else if ($misc->USE == 'Primary')
-		$sql .= "', use_use='3";
-	else if ($misc->USE == 'Secondary')
-		$sql .= "', use_use='4";
-	else if ($misc->USE == 'Bottling')
-		$sql .= "', use_use='5";
-	else
-		echo "Unknown USE " . $misc->USE . "<br />";
-
-	$sql .= "', time='" . $misc->TIME;
-	($misc->AMOUNT_IS_WEIGHT == 'TRUE') ? $sql .= "', amount_is_weight='1" : $sql .= "', amount_is_weight='0";
-	if ($misc->USE_FOR)
-		$sql .= "', use_for='" . mysqli_real_escape_string($db, $misc->USE_FOR);
-	if ($misc->ALWAYS_ON_STOCK)
-		($misc->ALWAYS_ON_STOCK == 'TRUE') ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
-	if ($misc->INVENTORY)
-		$sql .= "', inventory='" . floatval($misc->INVENTORY) / 1000.0;
-	if ($misc->COST)
-		$sql .= "', cost='" . floatval($misc->COST);
-	$sql .= "';";
-	if (! $result = mysqli_query($db, $sql)) {
-		echo "Fout 8: " . mysqli_error($db) . "<br />";
-	} else {
-		echo "+ " . $misc->NAME . "<br />";
-		$imported++;
-	}
-}
-
-if ($imported == 0) {
-	echo "Fout 7: geen diverse ingredienten in dit bestand.<br />";
-} else {
-	echo $imported . " diverse ingredienten toegevoegd.<br />";
-}
-
-
-
-// Don't clutter the upload directory.
-unlink($target_file);
-
-?>
--- a/www/upl_styles.php	Fri Aug 05 12:12:53 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-<?php
-require_once('config.php');
-require("version.php");
-require("includes/formulas.php");
-
-
-$target_dir = "tmp/";
-$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
-$uploadOk = 1;
-$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
-
-// Check if file already exists
-if (file_exists($target_file)) {
-	echo "Fout 1: bestand bestaat al. ";
-	$uploadOk = 0;
-}
-// Check file size
-if ($_FILES["fileToUpload"]["size"] > 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"]). "<br />";
-} 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;
-$styles = simplexml_load_file($target_file);
-
-foreach ($styles->STYLE as $style) {
-
-	$uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
-	$sql  = "INSERT INTO profile_styles SET uuid='" . $uuid;
-	$sql .= "',name='" . mysqli_real_escape_string($db, $style->NAME);
-	if ($style->NOTES)
-		$sql .= "', notes='" . mysqli_real_escape_string($db, $style->NOTES);
-	if ($style->CATEGORY)
-		$sql .= "', category='" . mysqli_real_escape_string($db, $style->CATEGORY);
-	if ($style->CATEGORY_NUMBER) {
-		if (strlen($style->CATEGORY_NUMBER))
-			$sql .= "', category_number='" . $style->CATEGORY_NUMBER;
-		else
-			$sql .= "', category_number='0";
-	}
-	if ($style->STYLE_LETTER)
-		$sql .= "', style_letter='" . mysqli_real_escape_string($db, $style->STYLE_LETTER);
-	if ($style->STYLE_GUIDE)
-		$sql .= "', style_guide='" . mysqli_real_escape_string($db, $style->STYLE_GUIDE);
-
-	if ($style->TYPE == 'Lager')
-		$sql .= "', type='0";
-	else if ($style->TYPE == 'Ale')
-		$sql .= "', type='1";
-	else if ($style->TYPE == 'Mead')
-		$sql .= "', type='2";
-	else if ($style->TYPE == 'Wheat')
-		$sql .= "', type='3";
-	else if ($style->TYPE == 'Mixed')
-		$sql .= "', type='4";
-	else if ($style->TYPE == 'Cider')
-		$sql .= "', type='5";
-	else
-		echo "Unknown TYPE " . $style->TYPE . "<br />";
-
-	$sql .= "', og_min='" . floatval($style->OG_MIN);
-	$sql .= "', og_max='" . floatval($style->OG_MAX);
-	$sql .= "', fg_min='" . floatval($style->FG_MIN);
-	$sql .= "', fg_max='" . floatval($style->FG_MAX);
-	$sql .= "', ibu_min='" . floatval($style->IBU_MIN);
-	$sql .= "', ibu_max='" . floatval($style->IBU_MAX);
-	$sql .= "', color_min='" . srm_to_ebc(floatval($style->COLOR_MIN));
-	$sql .= "', color_max='" . srm_to_ebc(floatval($style->COLOR_MAX));
-	$sql .= "', carb_min='" . floatval($style->CARB_MIN);
-	$sql .= "', carb_max='" . floatval($style->CARB_MAX);
-	$sql .= "', abv_min='" . floatval($style->ABV_MIN);
-	$sql .= "', abv_max='" . floatval($style->ABV_MAX);
-	if ($style->PROFILE)
-		$sql .= "', profile='" . mysqli_real_escape_string($db, $style->PROFILE);
-	if ($style->INGREDIENTS)
-		$sql .= "', ingredients='" . mysqli_real_escape_string($db, $style->INGREDIENTS);
-	if ($style->EXAMPLES)
-		$sql .= "', examples='" . mysqli_real_escape_string($db, $style->EXAMPLES);
-
-	$sql .= "';";
-	if (! $result = mysqli_query($db, $sql)) {
-		echo "Fout 8: " . mysqli_error($db) . "<br />";
-	} else {
-		echo "+ " . $style->NAME . "<br />";
-		$imported++;
-	}
-}
-
-if ($imported == 0) {
-	echo "Fout 7: geen stylen in dit bestand.<br />";
-} else {
-	echo $imported . " stylen toegevoegd.<br />";
-}
-
-
-
-// Don't clutter the upload directory.
-unlink($target_file);
-
-?>
--- a/www/upl_yeasts.php	Fri Aug 05 12:12:53 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-<?php
-require_once('config.php');
-require("version.php");
-require("includes/formulas.php");
-
-
-$target_dir = "tmp/";
-$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
-$uploadOk = 1;
-$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
-
-// Check if file already exists
-if (file_exists($target_file)) {
-	echo "Fout 1: bestand bestaat al. ";
-	$uploadOk = 0;
-}
-// Check file size
-if ($_FILES["fileToUpload"]["size"] > 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"]). "<br />";
-} 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;
-$yeasts = simplexml_load_file($target_file);
-
-foreach ($yeasts->YEAST as $yeast) {
-
-	$uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
-	$sql  = "INSERT INTO inventory_yeasts SET uuid='" . $uuid;
-	$sql .= "', name='" . mysqli_real_escape_string($db, $yeast->NAME);
-	if ($yeast->TYPE == 'Lager')
-		$sql .= "', type='0";
-	else if ($yeast->TYPE == 'Ale')
-		$sql .= "', type='1";
-	else if ($yeast->TYPE == 'Wheat')
-		$sql .= "', type='2";
-	else if ($yeast->TYPE == 'Wine')
-		$sql .= "', type='3";
-	else if ($yeast->TYPE == 'Champagne')
-		$sql .= "', type='4";
-	else
-		echo "Unknown TYPE " . $yeast->TYPE . "<br />";
-
-	if ($yeast->FORM == 'Liquid')
-		$sql .= "', form='0";
-	else if ($yeast->FORM == 'Dry')
-		$sql .= "', form='1";
-	else if ($yeast->FORM == 'Slant')
-		$sql .= "', form='2";
-	else if ($yeast->FORM == 'Culture')
-		$sql .= "', form='3";
-	else if ($yeast->FORM == 'Frozen')
-		$sql .= "', form='4";
-	else if ($yeast->FORM == 'Bottle')
-		$sql .= "', form='5";
-	else
-		echo "Unknown FORM " . $yeast->FORM . "<br />";
-
-	$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='" . floatval($yeast->MIN_TEMPERATURE);
-	if ($yeast->MAX_TEMPERATURE)
-		$sql .= "', max_temperature='" . floatval($yeast->MAX_TEMPERATURE);
-
-	if ($yeast->FLOCCULATION == 'Low')
-		$sql .= "', flocculation='0";
-	else if ($yeast->FLOCCULATION == 'Medium')
-		$sql .= "', flocculation='1";
-	else if ($yeast->FLOCCULATION == 'High')
-		$sql .= "', flocculation='2";
-	else if ($yeast->FLOCCULATION == 'Very high')
-		$sql .= "', flocculation='3";
-	else
-		echo "Unknown FLOCCULATION " . $yeast->FLOCCULATION . PHP_EOL;
-
-	if ($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)
-		$sql .= "', max_reuse='" . $yeast->MAX_REUSE;
-
-	if ($yeast->FORM == 'Liquid') {
-		if ($yeast->LABORATORY == 'Imperial Yeast')
-			$sql .= "', cells='200000000000";       // 200 billion cells per pack
-		else
-			$sql .= "', cells='100000000000";       // 100 billion cells per pack
-		if ($yeast->COST)
-			$sql .= "', cost='" . floatval($yeast->COST);
-		if ($yeast->INVENTORY)
-			$sql .= "', inventory='" . floatval($yeast->INVENTORY);
-	} else if ($yeast->FORM == 'Dry') {
-		$sql .= "', cells='15000000000";        // 6..15 billion per gram
-		if ($yeast->INVENTORY)
-			$sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To kg
-		if ($yeast->COST)
-			$sql .= "', cost='" . floatval($yeast->COST) * 1000.0;  // to Euro/kg
-	} else {
-		$sql .= "', cells='1700000000";         // 1.7 billion cells per ml.
-		if ($yeast->INVENTORY)
-			$sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To liter
-		if ($yeast->COST)
-			$sql .= "', cost='" . floatval($yeast->COST) * 1000.0;  // to Euro/liter
-	}
-	if ($yeast->CULTURE_DATE) {
-		$date = substr($yeast->CULTURE_DATE, 6, 4) . '-' . substr($yeast->CULTURE_DATE, 3, 2) . '-' . substr($yeast->CULTURE_DATE, 0, 2);
-		$sql .= "', production_date='" . $date;
-	}
-	$sql .= "';";
-	if (! $result = mysqli_query($db, $sql)) {
-		echo "Fout 8: " . mysqli_error($db) . "<br />";
-	} else {
-		echo "+ " . $yeast->NAME . "<br />";
-		$imported++;
-	}
-}
-
-if ($imported == 0) {
-	echo "Fout 7: geen gisten in dit bestand.<br />";
-} else {
-	echo $imported . " gisten toegevoegd.<br />";
-}
-
-
-
-// Don't clutter the upload directory.
-unlink($target_file);
-
-?>

mercurial