www/import/from_brouwhulp.php

Sat, 26 Jan 2019 22:01:11 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 26 Jan 2019 22:01:11 +0100
changeset 213
b0d484a5525e
parent 209
dc30801e6961
child 217
318aab371497
permissions
-rw-r--r--

First step to make profile mash work with indexes and make the edit screen universal.

11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 /*
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 * Import inventory from brouwhulp
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 */
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 require("../config.php");
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 require("../version.php");
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 require("../includes/formulas.php");
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 echo "Start adding data from brouwhulp\n";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 $db = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 if (! $db) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 }
77
a9f8de2d7b2b Fixed most charset problems. Added fpdf library. Added inventory pdf creation.
Michiel Broek <mbroek@mbse.eu>
parents: 72
diff changeset
16 mysqli_set_charset($db, "utf8" );
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 $brouwhulp = '/home/mbroek/Documents/brouwhulp';
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
19 $pCara = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
20 $pSugar = 0;
136
bcc4583fd013 Fixed estimate FG calculation during recipes import. Added estimate FG calculation in the recipe editor but do not yet update the recipe. Added SVG calculation to the recipes editor. Added calculations for hop aroma and flavour contribution.
Michiel Broek <mbroek@mbse.eu>
parents: 131
diff changeset
21 $svg = 77;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
22 $efficiency = 75;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
23 $batch_size = 20;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
24 $colorw = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
25 $f_sugars = 0;
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26
89
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
27 function get_miscs_cost($miscname) {
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
28 global $db;
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
29
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
30 if ($result = mysqli_query($db, "SELECT cost FROM inventory_miscs WHERE name='$miscname'")) {
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
31 if ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
32 return floatval($row['cost']);
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
33 }
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
34 }
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
35 return 0.0;
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
36 }
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
37
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
38
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
39
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 function do_fermentables()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 echo " Start adding fermentables to the database\n";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 $sql = "TRUNCATE TABLE inventory_fermentables;";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 $myfermentables = simplexml_load_file($brouwhulp . '/fermentables.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 foreach ($myfermentables->FERMENTABLE as $fermentable) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 $sql = "INSERT INTO inventory_fermentables SET name='" . mysqli_real_escape_string($db, $fermentable->NAME);
195
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
54 if ($fermentable->TYPE == 'Grain')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
55 $sql .= "', type='0";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
56 else if ($fermentable->TYPE == 'Sugar')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
57 $sql .= "', type='1";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
58 else if ($fermentable->TYPE == 'Extract')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
59 $sql .= "', type='2";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
60 else if ($fermentable->TYPE == 'Dry extract')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
61 $sql .= "', type='3";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
62 else if ($fermentable->TYPE == 'Adjunct')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
63 $sql .= "', type='4";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
64 else
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
65 echo "Unknown TYPE " . $fermentable->TYPE . PHP_EOL;
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 if ($fermentable->YIELD)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
67 $sql .= "', yield='" . floatval($fermentable->YIELD);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 if ($fermentable->COLOR) {
195
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
69 $sql .= "', color='" . srm_to_ebc(floatval($fermentable->COLOR));
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 ($fermentable->ADD_AFTER_BOIL == "TRUE") ? $sql .= "', add_after_boil='1" : $sql .= "', add_after_boil='0";
195
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
72 if ($fermentable->ADDED == 'Mash')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
73 $sql .= "', added='0";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
74 else if ($fermentable->ADDED == 'Boil')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
75 $sql .= "', added='1";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
76 else if ($fermentable->ADDED == 'Fermentation')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
77 $sql .= "', added='2";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
78 else if ($fermentable->ADDED == 'Lagering')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
79 $sql .= "', added='3";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
80 else if ($fermentable->ADDED == 'Bottle')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
81 $sql .= "', added='4";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
82 else
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
83 echo "Unknown ADDED " . $fermentable->ADDED . PHP_EOL;
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
84
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 $sql .= "', origin='" . mysqli_real_escape_string($db, $fermentable->ORIGIN);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 $sql .= "', supplier='" . mysqli_real_escape_string($db, $fermentable->SUPPLIER);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 $sql .= "', notes='" . mysqli_real_escape_string($db, $fermentable->NOTES);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 if ($fermentable->COARSE_FINE_DIFF)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
89 $sql .= "', coarse_fine_diff='" . floatval($fermentable->COARSE_FINE_DIFF);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 if ($fermentable->MOISTURE)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
91 $sql .= "', moisture='" . floatval($fermentable->MOISTURE);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 if ($fermentable->DIASTATIC_POWER)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
93 $sql .= "', diastatic_power='" . floatval($fermentable->DIASTATIC_POWER);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 if ($fermentable->PROTEIN)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
95 $sql .= "', protein='" . floatval($fermentable->PROTEIN);
195
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
96 if ($fermentable->DISSOLVED_PROTEIN)
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
97 $sql .= "', dissolved_protein='" . floatval($fermentable->DISSOLVED_PROTEIN);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 if ($fermentable->MAX_IN_BATCH)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
99 $sql .= "', max_in_batch='" . floatval($fermentable->MAX_IN_BATCH);
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents: 20
diff changeset
100 ($fermentable->RECOMMEND_MASH == "TRUE") ? $sql .= "', recommend_mash='1" : $sql .= "', recommend_mash='0";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 if ($fermentable->IBU_GAL_PER_LB)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
102 $sql .= "', ibu_gal_per_lb='" . floatval($fermentable->IBU_GAL_PER_LB);
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents: 20
diff changeset
103 ($fermentable->ALWAYS_ON_STOCK == "TRUE") ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 if ($fermentable->INVENTORY)
32
8bb369f32ef9 Fixed floating precision problems and also got the SRM to EBC conversion right.
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
105 $sql .= "', inventory='" . floatval($fermentable->INVENTORY);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 if ($fermentable->COST)
32
8bb369f32ef9 Fixed floating precision problems and also got the SRM to EBC conversion right.
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
107 $sql .= "', cost='" . floatval($fermentable->COST);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 /*
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 * These are not beerxml standard:
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 */
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 if ($fermentable->DI_pH)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
112 $sql .= "', di_ph='" . floatval($fermentable->DI_pH);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 if ($fermentable->{'ACID_TO_pH_5.7'})
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
114 $sql .= "', acid_to_ph_57='" . floatval($fermentable->{'ACID_TO_pH_5.7'});
195
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
115 if ($fermentable->GRAINTYPE == 'Base')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
116 $sql .= "', graintype='0";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
117 else if ($fermentable->GRAINTYPE == 'Roast')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
118 $sql .= "', graintype='1";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
119 else if ($fermentable->GRAINTYPE == 'Crystal')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
120 $sql .= "', graintype='2";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
121 else if ($fermentable->GRAINTYPE == 'Kilned')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
122 $sql .= "', graintype='3";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
123 else if ($fermentable->GRAINTYPE == 'Sour malt')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
124 $sql .= "', graintype='4";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
125 else if ($fermentable->GRAINTYPE == 'Special')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
126 $sql .= "', graintype='5";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
127 else if ($fermentable->GRAINTYPE == 'No malt')
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
128 $sql .= "', graintype='6";
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
129 else
2ac491548d8d Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
130 echo "Unknown GRAINTYPE " . $fermentable->GRAINTYPE . PHP_EOL;
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 $sql .= "';";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 function do_hops()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 echo " Start adding hops to the database\n";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 $sql = "TRUNCATE TABLE inventory_hops;";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 $myhops = simplexml_load_file($brouwhulp . '/hops.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151 foreach ($myhops->HOP as $hop) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153 $sql = "INSERT INTO inventory_hops SET name='" . mysqli_real_escape_string($db, $hop->NAME);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 if ($hop->ALPHA)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
155 $sql .= "', alpha='" . floatval($hop->ALPHA);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 if ($hop->BETA)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
157 $sql .= "', beta='" . floatval($hop->BETA);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158 if ($hop->HUMULENE)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
159 $sql .= "', humulene='" . floatval($hop->HUMULENE);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
160 if ($hop->CARYOPHYLLENE)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
161 $sql .= "', caryophyllene='" . floatval($hop->CARYOPHYLLENE);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162 if ($hop->COHUMULONE)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
163 $sql .= "', cohumulone='" . floatval($hop->COHUMULONE);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 if ($hop->MYCRENE)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
165 $sql .= "', myrcene='" . floatval($hop->MYCRENE);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 if ($hop->HSI)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
167 $sql .= "', hsi='" . floatval($hop->HSI);
196
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
168
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
169 if ($hop->TYPE == 'Bittering')
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
170 $sql .= "', type='0";
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
171 else if ($hop->TYPE == 'Aroma')
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
172 $sql .= "', type='1";
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
173 else if ($hop->TYPE == 'Both')
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
174 $sql .= "', type='2";
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
175 else
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
176 echo "Unknown TYPE " . $hop->TYPE . PHP_EOL;
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
177
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
178 if ($hop->FORM == 'Pellet')
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
179 $sql .= "', form='0";
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
180 else if ($hop->FORM == 'Plug')
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
181 $sql .= "', form='1";
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
182 else if ($hop->FORM == 'Leaf')
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
183 $sql .= "', form='2";
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
184 else
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
185 echo "Unknown FORM " . $hop->FORM . PHP_EOL;
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
186
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
187 $sql .= "', notes='" . mysqli_real_escape_string($db, $hop->NOTES);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 $sql .= "', origin='" . mysqli_real_escape_string($db, $hop->ORIGIN);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
189 $sql .= "', substitutes='" . mysqli_real_escape_string($db, $hop->SUBSTITUTES);
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents: 20
diff changeset
190 ($hop->ALWAYS_ON_STOCK == 'TRUE') ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
191 if ($hop->INVENTORY)
32
8bb369f32ef9 Fixed floating precision problems and also got the SRM to EBC conversion right.
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
192 $sql .= "', inventory='" . floatval($hop->INVENTORY) / 1000.0;
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
193 if ($hop->COST)
32
8bb369f32ef9 Fixed floating precision problems and also got the SRM to EBC conversion right.
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
194 $sql .= "', cost='" . floatval($hop->COST);
13
b8c3ca152984 Added hops inventory
Michiel Broek <mbroek@mbse.eu>
parents: 11
diff changeset
195 if ($hop->TOTAL_OIL)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
196 $sql .= "', total_oil='" . floatval($hop->TOTAL_OIL);
196
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
197 if ($hop->HARVEST_DATE) {
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
198 $date = substr($hop->HARVEST_DATE, 6, 4).'-'.substr($hop->HARVEST_DATE, 3, 2).'-'.substr($hop->HARVEST_DATE, 0, 2);
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
199 $sql .= "', production_date='" . $date;
531d5458782f Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 195
diff changeset
200 }
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
201 $sql .= "';";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
203 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
204 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
206
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
208
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
209
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211 function do_yeasts()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
212 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
213 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
214
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
215 echo " Start adding yeasts to the database\n";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
216 $sql = "TRUNCATE TABLE inventory_yeasts;";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
217 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
219 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
220
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
221 $yeasts = simplexml_load_file($brouwhulp . '/yeasts.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
222
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
223 foreach ($yeasts->YEAST as $yeast) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
224
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
225 $sql = "INSERT INTO inventory_yeasts SET name='" . mysqli_real_escape_string($db, $yeast->NAME);
198
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
226
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
227 if ($yeast->TYPE == 'Lager')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
228 $sql .= "', type='0";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
229 else if ($yeast->TYPE == 'Ale')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
230 $sql .= "', type='1";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
231 else if ($yeast->TYPE == 'Wheat')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
232 $sql .= "', type='2";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
233 else if ($yeast->TYPE == 'Wine')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
234 $sql .= "', type='3";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
235 else if ($yeast->TYPE == 'Champagne')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
236 $sql .= "', type='4";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
237 else
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
238 echo "Unknown TYPE " . $yeast->TYPE . PHP_EOL;
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
239
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
240 if ($yeast->FORM == 'Liquid')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
241 $sql .= "', form='0";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
242 else if ($yeast->FORM == 'Dry')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
243 $sql .= "', form='1";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
244 else if ($yeast->FORM == 'Slant')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
245 $sql .= "', form='2";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
246 else if ($yeast->FORM == 'Culture')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
247 $sql .= "', form='3";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
248 else if ($yeast->FORM == 'Frozen')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
249 $sql .= "', form='4";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
250 else if ($yeast->FORM == 'Bottle')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
251 $sql .= "', form='5";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
252 else
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
253 echo "Unknown FORM " . $yeast->FORM . PHP_EOL;
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
254
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
255 $sql .= "', laboratory='" . mysqli_real_escape_string($db, $yeast->LABORATORY);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
256 $sql .= "', product_id='" . mysqli_real_escape_string($db, $yeast->PRODUCT_ID);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
257 if ($yeast->MIN_TEMPERATURE)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
258 $sql .= "', min_temperature='" . floatval($yeast->MIN_TEMPERATURE);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
259 if ($yeast->MAX_TEMPERATURE)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
260 $sql .= "', max_temperature='" . floatval($yeast->MAX_TEMPERATURE);
198
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
261
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
262 if ($yeast->FLOCCULATION == 'Low')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
263 $sql .= "', flocculation='0";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
264 else if ($yeast->FLOCCULATION == 'Medium')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
265 $sql .= "', flocculation='1";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
266 else if ($yeast->FLOCCULATION == 'High')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
267 $sql .= "', flocculation='2";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
268 else if ($yeast->FLOCCULATION == 'Very high')
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
269 $sql .= "', flocculation='3";
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
270 else
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
271 echo "Unknown FLOCCULATION " . $yeast->FLOCCULATION . PHP_EOL;
f0ec83e1e01f Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
272
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
273 if ($yeast->ATTENUATION)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
274 $sql .= "', attenuation='" . floatval($yeast->ATTENUATION);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
275 $sql .= "', notes='" . mysqli_real_escape_string($db, $yeast->NOTES);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
276 $sql .= "', best_for='" . mysqli_real_escape_string($db, $yeast->BEST_FOR);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
277 if ($yeast->MAX_REUSE)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
278 $sql .= "', max_reuse='" . $yeast->MAX_REUSE;
200
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
279
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
280 if ($yeast->FORM == 'Liquid') {
202
64a9c935a66b Yeast import Imperial Yeast packs are 200 billion cells/pack. Inventory fermentables the origin country column first. Disable filter menu on some fields. Friendy display of stock inventory.
Michiel Broek <mbroek@mbse.eu>
parents: 201
diff changeset
281 if ($yeast->LABORATORY == 'Imperial Yeast')
64a9c935a66b Yeast import Imperial Yeast packs are 200 billion cells/pack. Inventory fermentables the origin country column first. Disable filter menu on some fields. Friendy display of stock inventory.
Michiel Broek <mbroek@mbse.eu>
parents: 201
diff changeset
282 $sql .= "', cells='200000000000"; // 200 billion cells per pack
64a9c935a66b Yeast import Imperial Yeast packs are 200 billion cells/pack. Inventory fermentables the origin country column first. Disable filter menu on some fields. Friendy display of stock inventory.
Michiel Broek <mbroek@mbse.eu>
parents: 201
diff changeset
283 else
64a9c935a66b Yeast import Imperial Yeast packs are 200 billion cells/pack. Inventory fermentables the origin country column first. Disable filter menu on some fields. Friendy display of stock inventory.
Michiel Broek <mbroek@mbse.eu>
parents: 201
diff changeset
284 $sql .= "', cells='100000000000"; // 100 billion cells per pack
201
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
285 if ($yeast->COST)
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
286 $sql .= "', cost='" . floatval($yeast->COST);
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
287 if ($yeast->INVENTORY)
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
288 $sql .= "', inventory='" . floatval($yeast->INVENTORY);
200
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
289 } else if ($yeast->FORM == 'Dry') {
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
290 $sql .= "', cells='15000000000"; // 6..15 billion per gram
201
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
291 if ($yeast->INVENTORY)
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
292 $sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To kg
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
293 if ($yeast->COST)
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
294 $sql .= "', cost='" . floatval($yeast->COST) * 1000.0; // to Euro/kg
200
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
295 } else {
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
296 $sql .= "', cells='1700000000"; // 1.7 billion cells per ml.
201
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
297 if ($yeast->INVENTORY)
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
298 $sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To liter
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
299 if ($yeast->COST)
f9b7e3f6be7c Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents: 200
diff changeset
300 $sql .= "', cost='" . floatval($yeast->COST) * 1000.0; // to Euro/liter
200
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
301 }
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
302 if ($yeast->CULTURE_DATE) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
303 $date = substr($yeast->CULTURE_DATE, 6, 4) . '-' . substr($yeast->CULTURE_DATE, 3, 2) . '-' . substr($yeast->CULTURE_DATE, 0, 2);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
304 $sql .= "', production_date='" . $date;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
305 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
306 $sql .= "';";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
307 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
308 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
309 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
310 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
311 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
312
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
313
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
314
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
315 function do_waters()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
316 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
317 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
318
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
319 echo " Start adding waters to the database\n";
45
95251bedfab4 Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents: 38
diff changeset
320 $sql = "TRUNCATE TABLE profile_water;";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
321 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
322 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
323 }
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
324 $sql = "TRUNCATE TABLE inventory_waters;";
15
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
325 if (! $result = mysqli_query($db, $sql)) {
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
326 printf("Error: %s\n", mysqli_error($db));
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
327 }
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
328
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
329 $waters = simplexml_load_file($brouwhulp . '/waters.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
330
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
331 foreach ($waters->WATER as $water) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
332
15
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
333 if (($water->NAME == "Gedemineraliseerd water") || ($water->NAME == "Cristalline") || ($water->NAME == "Montille (Delhaize)") ||
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
334 ($water->NAME == "Spa Reine") || ($water->NAME == "Velsen") || ($water->NAME == "Zutphen") ||
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
335 ($water->NAME == "Aurele Bronwater (Colruyt)")) {
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
336 $sql = "INSERT INTO inventory_waters SET name='" . mysqli_real_escape_string($db, $water->NAME);
15
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
337 } else {
45
95251bedfab4 Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents: 38
diff changeset
338 $sql = "INSERT INTO profile_water SET name='" . mysqli_real_escape_string($db, $water->NAME);
15
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
339 }
ccbe79db80b8 Waters import and home page
Michiel Broek <mbroek@mbse.eu>
parents: 13
diff changeset
340
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
341 if ($water->NOTES)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
342 $sql .= "', notes='" . mysqli_real_escape_string($db, $water->NOTES);
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
343 $sql .= "', calcium='" . floatval($water->CALCIUM);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
344 $sql .= "', bicarbonate='" . floatval($water->BICARBONATE);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
345 $sql .= "', sulfate='" . floatval($water->SULFATE);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
346 $sql .= "', chloride='" . floatval($water->CHLORIDE);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
347 $sql .= "', sodium='" . floatval($water->SODIUM);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
348 $sql .= "', magnesium='" . floatval($water->MAGNESIUM);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
349 $sql .= "', ph='" . floatval($water->PH);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
350 if ($water->TOTAL_ALKALINITY)
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
351 $sql .= "', total_alkalinity='" . floatval($water->TOTAL_ALKALINITY);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
352 $sql .= "';";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
353 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
354 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
355 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
356 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
357 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
358
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
359
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
360
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
361 function do_miscs()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
362 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
363 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
364
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
365 echo " Start adding miscs to the database\n";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
366 $sql = "TRUNCATE TABLE inventory_miscs;";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
367 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
368 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
369 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
370
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
371 $miscs = simplexml_load_file($brouwhulp . '/miscs.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
372
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
373 foreach ($miscs->MISC as $misc) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
374
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
375 $sql = "INSERT INTO inventory_miscs SET name='" . mysqli_real_escape_string($db, $misc->NAME);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
376 if ($misc->NOTES)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
377 $sql .= "', notes='" . mysqli_real_escape_string($db, $misc->NOTES);
200
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
378
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
379 if ($misc->TYPE == 'Spice')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
380 $sql .= "', type='0";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
381 else if ($misc->TYPE == 'Herb')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
382 $sql .= "', type='1";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
383 else if ($misc->TYPE == 'Flavor')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
384 $sql .= "', type='2";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
385 else if ($misc->TYPE == 'Fining')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
386 $sql .= "', type='3";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
387 else if ($misc->TYPE == 'Water agent')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
388 $sql .= "', type='4";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
389 else if ($misc->TYPE == 'Yeast nutrient')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
390 $sql .= "', type='5";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
391 else if ($misc->TYPE == 'Other')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
392 $sql .= "', type='6";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
393 else
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
394 echo "Unknown TYPE " . $misc->TYPE . PHP_EOL;
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
395
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
396 if ($misc->USE == 'Starter')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
397 $sql .= "', use_use='0";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
398 else if ($misc->USE == 'Mash')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
399 $sql .= "', use_use='1";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
400 else if ($misc->USE == 'Boil')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
401 $sql .= "', use_use='2";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
402 else if ($misc->USE == 'Primary')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
403 $sql .= "', use_use='3";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
404 else if ($misc->USE == 'Secondary')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
405 $sql .= "', use_use='4";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
406 else if ($misc->USE == 'Bottling')
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
407 $sql .= "', use_use='5";
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
408 else
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
409 echo "Unknown USE " . $misc->USE . PHP_EOL;
7b2f11652d67 Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.
Michiel Broek <mbroek@mbse.eu>
parents: 198
diff changeset
410
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
411 $sql .= "', time='" . $misc->TIME;
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents: 20
diff changeset
412 ($misc->AMOUNT_IS_WEIGHT == 'TRUE') ? $sql .= "', amount_is_weight='1" : $sql .= "', amount_is_weight='0";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
413 if ($misc->USE_FOR)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
414 $sql .= "', use_for='" . mysqli_real_escape_string($db, $misc->USE_FOR);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
415 if ($misc->ALWAYS_ON_STOCK)
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents: 20
diff changeset
416 ($misc->ALWAYS_ON_STOCK == 'TRUE') ? $sql .= "', always_on_stock='1" : $sql .= "', always_on_stock='0";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
417 if ($misc->INVENTORY)
32
8bb369f32ef9 Fixed floating precision problems and also got the SRM to EBC conversion right.
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
418 $sql .= "', inventory='" . floatval($misc->INVENTORY) / 1000.0;
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
419 if ($misc->COST)
32
8bb369f32ef9 Fixed floating precision problems and also got the SRM to EBC conversion right.
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
420 $sql .= "', cost='" . floatval($misc->COST);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
421 $sql .= "';";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
422 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
423 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
424 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
425 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
426 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
427
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
428
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
429
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
430 function do_equipments()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
431 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
432 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
433
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
434 echo " Start adding equipments to the database\n";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
435 $sql = "TRUNCATE TABLE inventory_equipments;";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
436 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
437 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
438 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
439
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
440 $equipments = simplexml_load_file($brouwhulp . '/equipments.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
441
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
442 foreach ($equipments->EQUIPMENT as $equipment) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
443
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
444 $sql = "INSERT INTO inventory_equipments SET name='" . mysqli_real_escape_string($db, $equipment->NAME);
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
445 $sql .= "', boil_size='" . floatval($equipment->BOIL_SIZE);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
446 $sql .= "', batch_size='" . floatval($equipment->BATCH_SIZE);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
447 $sql .= "', tun_volume='" . floatval($equipment->TUN_VOLUME);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
448 $sql .= "', tun_weight='" . floatval($equipment->TUN_WEIGHT);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
449 $sql .= "', tun_specific_heat='" . floatval($equipment->TUN_SPECIFIC_HEAT);
209
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
450 if (floatval($equipment->TUN_SPECIFIC_HEAT) == 0.11)
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
451 $sql .= "', tun_material='0";
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
452 else if (floatval($equipment->TUN_SPECIFIC_HEAT) == 0.22)
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
453 $sql .= "', tun_material='1";
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
454 else if (floatval($equipment->TUN_SPECIFIC_HEAT) == 0.46)
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
455 $sql .= "', tun_material='2";
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
456 else if (floatval($equipment->TUN_SPECIFIC_HEAT) == 0.092)
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
457 $sql .= "', tun_material='3";
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
458 else
dc30801e6961 Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.
Michiel Broek <mbroek@mbse.eu>
parents: 202
diff changeset
459 echo "Unknown TUN_SPECIFIC_HEAT" . $equipment->TUN_SPECIFIC_HEAT . PHP_EOL;
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
460 $sql .= "', tun_height='" . floatval($equipment->TUN_HEIGHT);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
461 $sql .= "', top_up_water='" . floatval($equipment->TOP_UP_WATER);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
462 $sql .= "', trub_chiller_loss='" . floatval($equipment->TRUB_CHILLER_LOSS);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
463 /*
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
464 * Brouwhulp uses a percentage for the evaporation rate. This is wrong
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
465 * but was made so because the beerxml standard requires this. What we
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
466 * do is calculate the actual evaporation and store that.
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
467 * This is what we use. Brouwhulp calculates this on the fly.
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
468 */
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
469 $sql .= "', evap_rate='" . (floatval($equipment->EVAP_RATE) * floatval($equipment->BOIL_SIZE)) / 100.0;
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
470 $sql .= "', boil_time='" . floatval($equipment->BOIL_TIME);
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents: 20
diff changeset
471 ($equipment->CALC_BOIL_VOLUME == 'TRUE') ? $sql .= "', calc_boil_volume='1" : $sql .= "', calc_boil_volume='0";
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
472 $sql .= "', top_up_kettle='" . floatval($equipment->TOP_UP_KETTLE);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
473 $sql .= "', hop_utilization='" . floatval($equipment->HOP_UTILIZATION);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
474 if ($equipment->NOTES)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
475 $sql .= "', notes='" . mysqli_real_escape_string($db, $equipment->NOTES);
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
476 $sql .= "', lauter_volume='" . floatval($equipment->LAUTER_VOLUME);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
477 $sql .= "', lauter_height='" . floatval($equipment->LAUTER_HEIGHT);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
478 $sql .= "', lauter_deadspace='" . floatval($equipment->LAUTER_DEADSPACE);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
479 $sql .= "', kettle_volume='" . floatval($equipment->KETTLE_VOLUME);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
480 $sql .= "', kettle_height='" . floatval($equipment->KETTLE_HEIGHT);
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
481 $sql .= "', mash_volume='" . floatval($equipment->MASH_VOLUME);
149
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
482 $sql .= "', mash_max='" . round((floatval($equipment->MASH_VOLUME) / 3) * 10) / 10; // Not in beerxml/brouwhulp. For RIMS systems.
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
483 $sql .= "', efficiency='" . floatval($equipment->EFFICIENCY);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
484 $sql .= "';";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
485 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
486 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
487 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
488 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
489 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
490
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
491
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
492
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
493 function do_styles()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
494 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
495 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
496
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
497 echo " Start adding styles to the database\n";
45
95251bedfab4 Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents: 38
diff changeset
498 $sql = "TRUNCATE TABLE profile_styles;";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
499 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
500 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
501 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
502
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
503 $styles = simplexml_load_file($brouwhulp . '/styles.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
504
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
505 foreach ($styles->STYLE as $style) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
506
45
95251bedfab4 Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents: 38
diff changeset
507 $sql = "INSERT INTO profile_styles SET name='" . mysqli_real_escape_string($db, $style->NAME);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
508 if ($style->NOTES)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
509 $sql .= "', notes='" . mysqli_real_escape_string($db, $style->NOTES);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
510 if ($style->CATEGORY)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
511 $sql .= "', category='" . mysqli_real_escape_string($db, $style->CATEGORY);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
512 if ($style->CATEGORY_NUMBER)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
513 $sql .= "', category_number='" . $style->CATEGORY_NUMBER;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
514 if ($style->STYLE_LETTER)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
515 $sql .= "', style_letter='" . mysqli_real_escape_string($db, $style->STYLE_LETTER);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
516 if ($style->STYLE_GUIDE)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
517 $sql .= "', style_guide='" . mysqli_real_escape_string($db, $style->STYLE_GUIDE);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
518 $sql .= "', type='" . $style->TYPE;
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
519 $sql .= "', og_min='" . floatval($style->OG_MIN);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
520 $sql .= "', og_max='" . floatval($style->OG_MAX);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
521 $sql .= "', fg_min='" . floatval($style->FG_MIN);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
522 $sql .= "', fg_max='" . floatval($style->FG_MAX);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
523 $sql .= "', ibu_min='" . floatval($style->IBU_MIN);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
524 $sql .= "', ibu_max='" . floatval($style->IBU_MAX);
152
2e4249add363 Import from brouwhulp fix style color ranges. Added calcSVG and calcABV calculation. Added batch size, time, efficiency and og change actions. Added style select and redesigned the first tab to fit this in. When equipment is changed, recalculate the recipe. Added print button.
Michiel Broek <mbroek@mbse.eu>
parents: 151
diff changeset
525 $sql .= "', color_min='" . srm_to_ebc(floatval($style->COLOR_MIN));
2e4249add363 Import from brouwhulp fix style color ranges. Added calcSVG and calcABV calculation. Added batch size, time, efficiency and og change actions. Added style select and redesigned the first tab to fit this in. When equipment is changed, recalculate the recipe. Added print button.
Michiel Broek <mbroek@mbse.eu>
parents: 151
diff changeset
526 $sql .= "', color_max='" . srm_to_ebc(floatval($style->COLOR_MAX));
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
527 $sql .= "', carb_min='" . floatval($style->CARB_MIN);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
528 $sql .= "', carb_max='" . floatval($style->CARB_MAX);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
529 $sql .= "', abv_min='" . floatval($style->ABV_MIN);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
530 $sql .= "', abv_max='" . floatval($style->ABV_MAX);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
531 if ($style->PROFILE)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
532 $sql .= "', profile='" . mysqli_real_escape_string($db, $style->PROFILE);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
533 if ($style->INGREDIENTS)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
534 $sql .= "', ingredients='" . mysqli_real_escape_string($db, $style->INGREDIENTS);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
535 if ($style->EXAMPLES)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
536 $sql .= "', examples='" . mysqli_real_escape_string($db, $style->EXAMPLES);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
537
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
538 $sql .= "';";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
539 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
540 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
541 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
542 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
543 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
544
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
545
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
546
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
547 function do_mash()
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
548 {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
549 global $brouwhulp, $db;
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
550
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
551 echo " Start adding mash profiles to the database\n";
45
95251bedfab4 Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents: 38
diff changeset
552 $sql = "TRUNCATE TABLE profile_mash;";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
553 if (! $result = mysqli_query($db, $sql)) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
554 printf("Error: %s\n", mysqli_error($db));
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
555 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
556
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
557 $mashes = simplexml_load_file($brouwhulp . '/mashs.xml');
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
558
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
559 foreach ($mashes->MASH as $mash) {
45
95251bedfab4 Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents: 38
diff changeset
560 $sql = "INSERT INTO profile_mash SET name='" . mysqli_real_escape_string($db, $mash->NAME);
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
561 if ($mash->NOTES)
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
562 $sql .= "', notes='" . mysqli_real_escape_string($db, $mash->NOTES);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
563
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
564 /*
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
565 * Put the steps in a json array
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
566 */
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
567 if ($mash->MASH_STEPS) {
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
568 $steps = "[";
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
569 $comma = FALSE;
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
570 foreach ($mash->MASH_STEPS->MASH_STEP as $step) {
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
571
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
572 if ($comma)
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
573 $steps .= ',';
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
574 $comma = TRUE;
38
b7d44c98d609 Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents: 35
diff changeset
575 $steps .= '{"step_name":"' . mysqli_real_escape_string($db, $step->NAME) . '"';
213
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
576 if ($step->TYPE == 'Infusion')
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
577 $steps .= ',"step_type":"0"';
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
578 else if ($step->TYPE == 'Temperature')
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
579 $steps .= ',"step_type":"1"';
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
580 else if ($step->TYPE == 'Decoction')
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
581 $steps .= ',"step_type":"2"';
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
582 else
b0d484a5525e First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents: 209
diff changeset
583 echo "Unknown step TYPE " . $step->TYPE . PHP_EOL;
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
584 if ($step->STEP_TEMP) {
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
585 $steps .= ',"step_temp":"' . floatval($step->STEP_TEMP) . '"';
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
586 }
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
587 if ($step->STEP_TIME) {
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
588 $steps .= ',"step_time":"' . floatval($step->STEP_TIME) . '"';
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
589 }
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
590 if ($step->RAMP_TIME) {
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
591 $steps .= ',"ramp_time":"' . floatval($step->RAMP_TIME) . '"';
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
592 }
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
593 if ($step->END_TEMP) {
118
07daa505d309 Improved float precision for databases import.
Michiel Broek <mbroek@mbse.eu>
parents: 114
diff changeset
594 $steps .= ',"end_temp":"' . floatval($step->END_TEMP) . '"';
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
595 }
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
596 $steps .= "}";
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
597 }
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
598 $steps .= ']';
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
599 $sql .= "', steps='" . $steps;
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
600 }
35
d6314a95021c Enabled mash
Michiel Broek <mbroek@mbse.eu>
parents: 32
diff changeset
601 $sql .= "';";
23
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
602 if (! $result = mysqli_query($db, $sql)) {
4b157d7a1cee Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents: 22
diff changeset
603 printf("Error: %s\n", mysqli_error($db));
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
604 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
605 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
606 }
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
607
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
608
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
609
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
610 /*
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
611 * Return recipe ingredients as json functions.
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
612 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
613 function recipe_style($recipe)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
614 {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
615 global $db;
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
616
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
617 if ($recipe->STYLE->NAME)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
618 $sql = "', st_name='" . mysqli_real_escape_string($db, $recipe->STYLE->NAME);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
619 if ($recipe->STYLE->STYLE_LETTER)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
620 $sql .= "', st_letter='" . mysqli_real_escape_string($db, $recipe->STYLE->STYLE_LETTER);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
621 if ($recipe->STYLE->STYLE_GUIDE) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
622 if ($recipe->STYLE->STYLE_GUIDE == "Biertypengids Derek Walsh") {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
623 $sql .= "', st_guide='BKG 2015";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
624 } else if ($recipe->STYLE->STYLE_GUIDE == "BKG Biertypen") {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
625 $sql .= "', st_guide='BKG 2015";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
626 } else {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
627 $sql .= "', st_guide='" . mysqli_real_escape_string($db, $recipe->STYLE->STYLE_GUIDE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
628 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
629 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
630 if ($recipe->STYLE->CATEGORY)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
631 $sql .= "', st_category='" . mysqli_real_escape_string($db, $recipe->STYLE->CATEGORY);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
632 if ($recipe->STYLE->CATEGORY_NUMBER)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
633 $sql .= "', st_category_number='" . floatval($recipe->STYLE->CATEGORY_NUMBER);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
634 if ($recipe->STYLE->TYPE)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
635 $sql .= "', st_type='" . mysqli_real_escape_string($db, $recipe->STYLE->TYPE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
636 if ($recipe->STYLE->OG_MIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
637 $sql .= "', st_og_min='" . floatval($recipe->STYLE->OG_MIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
638 if ($recipe->STYLE->OG_MAX)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
639 $sql .= "', st_og_max='" . floatval($recipe->STYLE->OG_MAX);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
640 if ($recipe->STYLE->FG_MIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
641 $sql .= "', st_fg_min='" . floatval($recipe->STYLE->FG_MIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
642 if ($recipe->STYLE->FG_MAX)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
643 $sql .= "', st_fg_max='" . floatval($recipe->STYLE->FG_MAX);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
644 if ($recipe->STYLE->IBU_MIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
645 $sql .= "', st_ibu_min='" . floatval($recipe->STYLE->IBU_MIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
646 if ($recipe->STYLE->IBU_MAX)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
647 $sql .= "', st_ibu_max='" . floatval($recipe->STYLE->IBU_MAX);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
648 if ($recipe->STYLE->COLOR_MIN) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
649 $srm = floatval($recipe->STYLE->COLOR_MIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
650 $sql .= "', st_color_min='" . srm_to_ebc($srm);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
651 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
652 if ($recipe->STYLE->COLOR_MAX) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
653 $srm = floatval($recipe->STYLE->COLOR_MAX);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
654 $sql .= "', st_color_max='" . srm_to_ebc($srm);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
655 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
656 if ($recipe->STYLE->CARB_MIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
657 $sql .= "', st_carb_min='" . floatval($recipe->STYLE->CARB_MIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
658 if ($recipe->STYLE->CARB_MAX)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
659 $sql .= "', st_carb_max='" . floatval($recipe->STYLE->CARB_MAX);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
660 if ($recipe->STYLE->ABV_MIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
661 $sql .= "', st_abv_min='" . floatval($recipe->STYLE->ABV_MIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
662 if ($recipe->STYLE->ABV_MAX)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
663 $sql .= "', st_abv_max='" . floatval($recipe->STYLE->ABV_MAX);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
664 return $sql;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
665 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
666
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
667 function recipe_fermentables($recipe)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
668 {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
669 global $db;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
670 global $pCara;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
671 global $pSugar;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
672 global $batch_size;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
673 global $efficiency;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
674 global $colorw;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
675 global $f_sugars;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
676
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
677 $fermentables = "[";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
678 $comma = FALSE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
679 foreach ($recipe->FERMENTABLES->FERMENTABLE as $fermentable) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
680 if ($comma)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
681 $fermentables .= ',';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
682 $comma = TRUE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
683 $fermentables .= '{"f_name":"' . mysqli_real_escape_string($db, $fermentable->NAME) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
684 $fermentables .= ',"f_origin":"' . mysqli_real_escape_string($db, $fermentable->ORIGIN) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
685 $fermentables .= ',"f_supplier":"' . mysqli_real_escape_string($db, $fermentable->SUPPLIER) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
686 $famount = floatval($fermentable->AMOUNT);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
687 $fermentables .= ',"f_amount":' . $famount;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
688 $fermentables .= ',"f_cost":' . floatval($fermentable->COST);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
689 $ftype = mysqli_real_escape_string($db, $fermentable->TYPE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
690 $fermentables .= ',"f_type":"' . $ftype . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
691 $fyield = floatval($fermentable->YIELD);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
692 $fermentables .= ',"f_yield":' . $fyield;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
693 if ($fermentable->COLOR) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
694 $srm = floatval($fermentable->COLOR);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
695 $ebc = srm_to_ebc($srm);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
696 } else {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
697 $srm = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
698 $ebc = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
699 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
700 $colorw += ($famount * $srm / $batch_size) * 8.34436; /* Kleurwerking */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
701 $fermentables .= ',"f_color":' . $ebc;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
702 if ($fermentable->COARSE_FINE_DIFF)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
703 $fermentables .= ',"f_coarse_fine_diff":' . floatval($fermentable->COARSE_FINE_DIFF);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
704 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
705 $fermentables .= ',"f_coarse_fine_diff":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
706 if ($fermentable->MOISTURE)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
707 $fmoisture = floatval($fermentable->MOISTURE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
708 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
709 $fmoisture = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
710 $fermentables .= ',"f_moisture":' . $fmoisture;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
711 if ($fermentable->DIASTATIC_POWER)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
712 $fermentables .= ',"f_diastatic_power":' . floatval($fermentable->DIASTATIC_POWER);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
713 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
714 $fermentables .= ',"f_diastatic_power":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
715 if ($fermentable->PROTEIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
716 $fermentables .= ',"f_protein":' . floatval($fermentable->PROTEIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
717 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
718 $fermentables .= ',"f_protein":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
719 if ($fermentable->MAX_IN_BATCH)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
720 $fermentables .= ',"f_max_in_batch":' . floatval($fermentable->MAX_IN_BATCH);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
721 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
722 $fermentables .= ',"f_max_in_batch":100.0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
723 $fgraintype = mysqli_real_escape_string($db, $fermentable->GRAINTYPE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
724 if ($fermentable->GRAINTYPE)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
725 $fgraintype = mysqli_real_escape_string($db, $fermentable->GRAINTYPE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
726 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
727 $fgraintype = "Base";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
728 $fermentables .= ',"f_graintype":"' . $fgraintype . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
729 if ($fermentable->ADDED)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
730 $fadded = mysqli_real_escape_string($db, $fermentable->ADDED);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
731 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
732 $fadded = "Mash";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
733 $fermentables .= ',"f_added":"'.$fadded.'"';
175
da16371538c3 When importing from brouwhulp use 0 and 1 instead of false and true for boolean variables. Added Export button to the recipe editor. Added beerxml recipe export.
Michiel Broek <mbroek@mbse.eu>
parents: 163
diff changeset
734 ($fermentable->ADD_AFTER_BOIL== "TRUE") ? $fermentables .= ',"f_add_after_boil":1' : $fermentables .= ',"f_add_after_boil":0';
da16371538c3 When importing from brouwhulp use 0 and 1 instead of false and true for boolean variables. Added Export button to the recipe editor. Added beerxml recipe export.
Michiel Broek <mbroek@mbse.eu>
parents: 163
diff changeset
735 ($fermentable->RECOMMEND_MASH== "TRUE") ? $fermentables .= ',"f_recommend_mash":1' : $fermentables .= ',"f_recommend_mash":0';
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
736 if ($fermentable->DISSOLVED_PROTEIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
737 $fermentables .= ',"f_dissolved_protein":' . floatval($fermentable->DISSOLVED_PROTEIN);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
738 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
739 $fermentables .= ',"f_dissolved_protein":0';
175
da16371538c3 When importing from brouwhulp use 0 and 1 instead of false and true for boolean variables. Added Export button to the recipe editor. Added beerxml recipe export.
Michiel Broek <mbroek@mbse.eu>
parents: 163
diff changeset
740 ($fermentable->ADJUST_TO_TOTAL_100 == "TRUE") ? $fermentables .= ',"f_adjust_to_total_100":1' : $fermentables .= ',"f_adjust_to_total_100":0';
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
741 $percent = floatval($fermentable->PERCENTAGE);
126
9999b3ce98cb Row editors are now per cell. Added fermentable percentages editor.
Michiel Broek <mbroek@mbse.eu>
parents: 121
diff changeset
742 $fermentables .= ',"f_percentage":' . round($percent * 10) / 10.0;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
743 if ($fermentable->DI_pH)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
744 $fermentables .= ',"f_di_ph":' . floatval($fermentable->DI_pH);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
745 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
746 $fermentables .= ',"f_di_ph":0.0';
154
ef298b5aa994 Added f_acid_to_ph_57 to the fermentables json in the recipes. The protonDeficit now processes the grist. Water pH calculations are partly in place. Added simple BU and Cl/So4 indicators. Redesign of the water screen.
Michiel Broek <mbroek@mbse.eu>
parents: 152
diff changeset
747 if ($fermentable->{'ACID_TO_pH_5.7'})
ef298b5aa994 Added f_acid_to_ph_57 to the fermentables json in the recipes. The protonDeficit now processes the grist. Water pH calculations are partly in place. Added simple BU and Cl/So4 indicators. Redesign of the water screen.
Michiel Broek <mbroek@mbse.eu>
parents: 152
diff changeset
748 $fermentables .= ',"f_acid_to_ph_57":' . floatval($fermentable->{'ACID_TO_pH_5.7'});
ef298b5aa994 Added f_acid_to_ph_57 to the fermentables json in the recipes. The protonDeficit now processes the grist. Water pH calculations are partly in place. Added simple BU and Cl/So4 indicators. Redesign of the water screen.
Michiel Broek <mbroek@mbse.eu>
parents: 152
diff changeset
749 else
ef298b5aa994 Added f_acid_to_ph_57 to the fermentables json in the recipes. The protonDeficit now processes the grist. Water pH calculations are partly in place. Added simple BU and Cl/So4 indicators. Redesign of the water screen.
Michiel Broek <mbroek@mbse.eu>
parents: 152
diff changeset
750 $fermentables .= ',"f_acid_to_ph_57":0.0';
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
751 $fermentables .= "}";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
752 /* Sugars */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
753 $d = $famount * ($fyield / 100) * (1 - $fmoisture / 100);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
754 if ($fadded == "Mash")
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
755 $d = floatval($efficiency) / 100 * $d;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
756 $f_sugars += $d;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
757 if ($fgraintype == "Crystal")
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
758 $pCara += $percent;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
759 if ($ftype == "Sugar")
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
760 $pSugar += $percent;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
761 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
762 $fermentables .= ']';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
763 return $fermentables;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
764 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
765
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
766 function recipe_hops($recipe)
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
767 {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
768 global $db;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
769
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
770 $hops = "[";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
771 $comma = FALSE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
772 foreach ($recipe->HOPS->HOP as $hop) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
773 if ($comma)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
774 $hops .= ',';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
775 $comma = TRUE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
776 $hops .= '{"h_name":"' . mysqli_real_escape_string($db, $hop->NAME) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
777 $hops .= ',"h_amount":' . floatval($hop->AMOUNT);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
778 $hops .= ',"h_cost":' . floatval($hop->COST);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
779 $hops .= ',"h_type":"' . mysqli_real_escape_string($db, $hop->TYPE) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
780 $hops .= ',"h_form":"' . mysqli_real_escape_string($db, $hop->FORM) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
781 $hops .= ',"h_useat":"' . mysqli_real_escape_string($db, $hop->USE) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
782 if ($hop->TIME)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
783 $hops .= ',"h_time":' . floatval($hop->TIME);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
784 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
785 $hops .= ',"h_time":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
786 $hops .= ',"h_alpha":' . floatval($hop->ALPHA);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
787 $hops .= ',"h_beta":' . floatval($hop->BETA);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
788 $hops .= ',"h_hsi":' . floatval($hop->HSI);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
789 $hops .= ',"h_humulene":' . floatval($hop->HUMULENE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
790 $hops .= ',"h_carophyllene":' . floatval($hop->CAROPHYLLENE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
791 $hops .= ',"h_cohumulone":' . floatval($hop->COHUMULONE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
792 $hops .= ',"h_myrcene":' . floatval($hop->MYRCENE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
793 if ($hop->TOTAL_OIL)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
794 $hops .= ',"h_total_oil":' . floatval($hop->TOTAL_OIL);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
795 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
796 $hops .= ',"h_total_oil":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
797 if ($hop->ORIGIN)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
798 $hops .= ',"h_origin":"' . mysqli_real_escape_string($db, $hop->ORIGIN) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
799 else
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
800 $hops .= ',"h_origin":""';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
801 $hops .= "}";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
802 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
803 $hops .= ']';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
804 return $hops;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
805 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
806
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
807 function recipe_miscs($recipe)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
808 {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
809 global $db;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
810
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
811 $miscs = "[";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
812 $comma = FALSE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
813 foreach ($recipe->MISCS->MISC as $misc) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
814 if ($comma)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
815 $miscs .= ',';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
816 $comma = TRUE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
817 $mname = mysqli_real_escape_string($db, $misc->NAME);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
818 $miscs .= '{"m_name":"' . $mname . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
819 $miscs .= ',"m_amount":' . floatval($misc->AMOUNT);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
820 if ($misc->COST) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
821 $miscs .= ',"m_cost":' . floatval($misc->COST);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
822 } else {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
823 /* Brouwhulp bug, added water agents have no cost field. */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
824 if ($misc->TYPE == "Water agent") {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
825 $miscs .= ',"m_cost":'. get_miscs_cost($mname);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
826 } else {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
827 $miscs .= ',"m_cost":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
828 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
829 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
830 $miscs .= ',"m_type":"' . mysqli_real_escape_string($db, $misc->TYPE) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
831 $miscs .= ',"m_use_use":"' . mysqli_real_escape_string($db, $misc->USE) . '"';
175
da16371538c3 When importing from brouwhulp use 0 and 1 instead of false and true for boolean variables. Added Export button to the recipe editor. Added beerxml recipe export.
Michiel Broek <mbroek@mbse.eu>
parents: 163
diff changeset
832 ($misc->AMOUNT_IS_WEIGHT== "TRUE") ? $miscs .= ',"m_amount_is_weight":1' : $miscs.= ',"m_amount_is_weight":0';
143
122f64716161 During recipes import of miscs ingredients, convert time in Secondary to days. The hop grid also display the country of origin. Misc ingredients now use a temporary weight table just like the hops.
Michiel Broek <mbroek@mbse.eu>
parents: 136
diff changeset
833 if ($misc->TIME) {
122f64716161 During recipes import of miscs ingredients, convert time in Secondary to days. The hop grid also display the country of origin. Misc ingredients now use a temporary weight table just like the hops.
Michiel Broek <mbroek@mbse.eu>
parents: 136
diff changeset
834 if (mysqli_real_escape_string($db, $misc->USE) == "Secondary")
122f64716161 During recipes import of miscs ingredients, convert time in Secondary to days. The hop grid also display the country of origin. Misc ingredients now use a temporary weight table just like the hops.
Michiel Broek <mbroek@mbse.eu>
parents: 136
diff changeset
835 $miscs .= ',"m_time":' . floatval($misc->TIME) / 1440;
122f64716161 During recipes import of miscs ingredients, convert time in Secondary to days. The hop grid also display the country of origin. Misc ingredients now use a temporary weight table just like the hops.
Michiel Broek <mbroek@mbse.eu>
parents: 136
diff changeset
836 else
122f64716161 During recipes import of miscs ingredients, convert time in Secondary to days. The hop grid also display the country of origin. Misc ingredients now use a temporary weight table just like the hops.
Michiel Broek <mbroek@mbse.eu>
parents: 136
diff changeset
837 $miscs .= ',"m_time":' . floatval($misc->TIME);
122f64716161 During recipes import of miscs ingredients, convert time in Secondary to days. The hop grid also display the country of origin. Misc ingredients now use a temporary weight table just like the hops.
Michiel Broek <mbroek@mbse.eu>
parents: 136
diff changeset
838 } else
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
839 $miscs .= ',"m_time":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
840 $miscs .= "}";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
841 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
842 $miscs .= ']';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
843 return $miscs;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
844 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
845
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
846 function recipe_yeasts($recipe)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
847 {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
848 global $db;
136
bcc4583fd013 Fixed estimate FG calculation during recipes import. Added estimate FG calculation in the recipe editor but do not yet update the recipe. Added SVG calculation to the recipes editor. Added calculations for hop aroma and flavour contribution.
Michiel Broek <mbroek@mbse.eu>
parents: 131
diff changeset
849 global $svg;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
850
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
851 $yeasts = "[";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
852 $comma = FALSE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
853 foreach ($recipe->YEASTS->YEAST as $yeast) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
854 if ($comma)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
855 $yeasts .= ',';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
856 $comma = TRUE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
857 $yeasts .= '{"y_name":"' . mysqli_real_escape_string($db, $yeast->NAME) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
858 $yeasts .= ',"y_amount":' . floatval($yeast->AMOUNT);
131
71f1ca48c551 When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.
Michiel Broek <mbroek@mbse.eu>
parents: 126
diff changeset
859 if ($yeast->COST) {
71f1ca48c551 When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.
Michiel Broek <mbroek@mbse.eu>
parents: 126
diff changeset
860 if (($yeast->FORM == "Liquid") && ($yeast->AMOUNT == "0.0588")) { // Packs
71f1ca48c551 When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.
Michiel Broek <mbroek@mbse.eu>
parents: 126
diff changeset
861 $yeasts .= ',"y_cost":' . floatval($yeast->COST) / 58.8;
71f1ca48c551 When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.
Michiel Broek <mbroek@mbse.eu>
parents: 126
diff changeset
862 } else {
71f1ca48c551 When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.
Michiel Broek <mbroek@mbse.eu>
parents: 126
diff changeset
863 $yeasts .= ',"y_cost":' . floatval($yeast->COST);
71f1ca48c551 When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.
Michiel Broek <mbroek@mbse.eu>
parents: 126
diff changeset
864 }
71f1ca48c551 When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.
Michiel Broek <mbroek@mbse.eu>
parents: 126
diff changeset
865 } else
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
866 $yeasts .= ',"y_cost":0';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
867 $yeasts .= ',"y_laboratory":"' . mysqli_real_escape_string($db, $yeast->LABORATORY) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
868 $yeasts .= ',"y_product_id":"' . mysqli_real_escape_string($db, $yeast->PRODUCT_ID) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
869 $yeasts .= ',"y_type":"' . mysqli_real_escape_string($db, $yeast->TYPE) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
870 $yeasts .= ',"y_form":"' . mysqli_real_escape_string($db, $yeast->FORM) . '"';
175
da16371538c3 When importing from brouwhulp use 0 and 1 instead of false and true for boolean variables. Added Export button to the recipe editor. Added beerxml recipe export.
Michiel Broek <mbroek@mbse.eu>
parents: 163
diff changeset
871 ($yeast->AMOUNT_IS_WEIGHT== "TRUE") ? $yeasts .= ',"y_amount_is_weight":1' : $yeasts.= ',"y_amount_is_weight":0';
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
872 if ($yeast->ADD_TO_SECONDARY=="FALSE") {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
873 $yeasts .= ',"y_use":"Primary"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
874 $svg = floatval($yeast->ATTENUATION);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
875 } else if ($yeast->PRODUCT_ID=="F2") {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
876 $yeasts .= ',"y_use":"Bottle"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
877 } else {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
878 $yeasts .= ',"y_use":"Secondary"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
879 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
880 $yeasts .= ',"y_min_temperature":' . floatval($yeast->MIN_TEMPERATURE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
881 $yeasts .= ',"y_max_temperature":' . floatval($yeast->MAX_TEMPERATURE);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
882 $yeasts .= ',"y_attenuation":' . floatval($yeast->ATTENUATION);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
883 $yeasts .= "}";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
884 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
885 $yeasts .= ']';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
886 return $yeasts;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
887 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
888
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
889 function recipe_waters($recipe, $db)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
890 {
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
891 $waters = "";
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
892 $index = 0;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
893 foreach ($recipe->WATERS->WATER as $water) {
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
894 $index++;
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
895 $waters .= "', w" . $index . "_name='" . mysqli_real_escape_string($db, $water->NAME);
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
896 $waters .= "', w" . $index . "_amount='" . floatval($water->AMOUNT);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
897 if ($water->CALCIUM)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
898 $waters .= "', w" . $index . "_calcium='" . floatval($water->CALCIUM);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
899 if ($water->SULFATE)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
900 $waters .= "', w" . $index . "_sulfate='" . floatval($water->SULFATE);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
901 if ($water->CHLORIDE)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
902 $waters .= "', w" . $index . "_chloride='" . floatval($water->CHLORIDE);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
903 if ($water->SODIUM)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
904 $waters .= "', w" . $index . "_sodium='" . floatval($water->SODIUM);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
905 if ($water->MAGNESIUM)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
906 $waters .= "', w" . $index . "_magnesium='" . floatval($water->MAGNESIUM);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
907 if ($water->PH)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
908 $waters .= "', w" . $index . "_ph='" . floatval($water->PH);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
909 if ($water->TOTAL_ALKALINITY)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
910 $waters .= "', w" . $index . "_total_alkalinity='" . floatval($water->TOTAL_ALKALINITY);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
911 if ($water->COST)
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
912 $waters .= "', w" . $index . "_cost='" . floatval($water->COST);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
913 else
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
914 $waters .= "', w" . $index . "_cost='0";
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
915 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
916 return $waters;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
917 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
918
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
919 function recipe_mash_steps($recipe)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
920 {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
921 global $db;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
922
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
923 $steps = '[';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
924 $comma = FALSE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
925 foreach ($recipe->MASH->MASH_STEPS->MASH_STEP as $step) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
926 if ($comma)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
927 $steps .= ',';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
928 $comma = TRUE;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
929 $steps .= '{"step_name":"' . mysqli_real_escape_string($db, $step->NAME) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
930 if ($step->TYPE)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
931 $steps .= ',"step_type":"' . $step->TYPE . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
932 if ($step->INFUSE_AMOUNT)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
933 $steps .= ',"step_infuse_amount":"' . floatval($step->INFUSE_AMOUNT) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
934 if ($step->STEP_TEMP)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
935 $steps .= ',"step_temp":"' . floatval($step->STEP_TEMP) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
936 if ($step->STEP_TIME)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
937 $steps .= ',"step_time":"' . floatval($step->STEP_TIME) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
938 if ($step->RAMP_TIME)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
939 $steps .= ',"ramp_time":"' . floatval($step->RAMP_TIME) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
940 if ($step->END_TEMP)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
941 $steps .= ',"end_temp":"' . floatval($step->END_TEMP) . '"';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
942 $steps .= "}";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
943 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
944 $steps .= ']';
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
945 return $steps;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
946 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
947
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
948
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
949
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
950 function do_recipes()
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
951 {
136
bcc4583fd013 Fixed estimate FG calculation during recipes import. Added estimate FG calculation in the recipe editor but do not yet update the recipe. Added SVG calculation to the recipes editor. Added calculations for hop aroma and flavour contribution.
Michiel Broek <mbroek@mbse.eu>
parents: 131
diff changeset
952 global $brouwhulp, $db, $efficiency, $batch_size, $pCara, $pSugar, $svg, $colorw, $f_sugars;
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
953 $len_fermentables = 0;
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
954 $len_hops = 0;
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
955 $len_miscs = 0;
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
956 $len_yeasts = 0;
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
957 $len_mash = 0;
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
958
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
959 echo " Start adding recipes to the database\n";
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
960 $sql = "TRUNCATE TABLE recipes;";
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
961 if (! $result = mysqli_query($db, $sql)) {
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
962 printf("Error: %s\n", mysqli_error($db));
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
963 }
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
964
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
965 $recipes = simplexml_load_file($brouwhulp . '/recipes.xml');
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
966
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
967 foreach ($recipes->RECIPE as $recipe) {
86
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
968 $f_sugars = 0;
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
969 $efficiency = 75;
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
970 $batch_size = 20;
94
295c3af2a421 Include boil_size field in the recipes table. Calculate pre-boil SG. Use that in the IBU calculation.
Michiel Broek <mbroek@mbse.eu>
parents: 89
diff changeset
971 $boil_size = 22;
87
7f1d0abe5571 OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents: 86
diff changeset
972 $pCara = 0;
7f1d0abe5571 OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents: 86
diff changeset
973 $pSugar = 0;
7f1d0abe5571 OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents: 86
diff changeset
974 $svg = 77;
89
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
975 $colorw = 0;
105
d06ddc4d1af0 Added uuid and locked fields to the recipes table.
Michiel Broek <mbroek@mbse.eu>
parents: 104
diff changeset
976 $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
86
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
977
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
978 $sql = "INSERT INTO recipes SET uuid='" . $uuid;
105
d06ddc4d1af0 Added uuid and locked fields to the recipes table.
Michiel Broek <mbroek@mbse.eu>
parents: 104
diff changeset
979 $sql .= "', name='" . mysqli_real_escape_string($db, $recipe->NAME);
d06ddc4d1af0 Added uuid and locked fields to the recipes table.
Michiel Broek <mbroek@mbse.eu>
parents: 104
diff changeset
980 $sql .= "', locked='0";
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
981 if ($recipe->NOTES)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
982 $sql .= "', notes='" . mysqli_real_escape_string($db, $recipe->NOTES);
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
983 else
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
984 $sql .= "', notes='";
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
985 if ($recipe->TYPE)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
986 $sql .= "', type='" . mysqli_real_escape_string($db, $recipe->TYPE);
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
987 else
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
988 $sql .= "', type='";
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
989 if ($recipe->BATCH_SIZE)
86
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
990 $batch_size = floatval($recipe->BATCH_SIZE);
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
991 $sql .= "', batch_size='" . $batch_size;
94
295c3af2a421 Include boil_size field in the recipes table. Calculate pre-boil SG. Use that in the IBU calculation.
Michiel Broek <mbroek@mbse.eu>
parents: 89
diff changeset
992 if ($recipe->BOIL_SIZE)
295c3af2a421 Include boil_size field in the recipes table. Calculate pre-boil SG. Use that in the IBU calculation.
Michiel Broek <mbroek@mbse.eu>
parents: 89
diff changeset
993 $boil_size = floatval($recipe->BOIL_SIZE);
295c3af2a421 Include boil_size field in the recipes table. Calculate pre-boil SG. Use that in the IBU calculation.
Michiel Broek <mbroek@mbse.eu>
parents: 89
diff changeset
994 $sql .= "', boil_size='" . $boil_size;
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
995 if ($recipe->BOIL_TIME)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
996 $sql .= "', boil_time='" . floatval($recipe->BOIL_TIME);
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
997 else
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
998 $sql .= "', boil_time='90";
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
999 if ($recipe->EFFICIENCY)
86
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
1000 $efficiency = floatval($recipe->EFFICIENCY);
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
1001 $sql .= "', efficiency='" . $efficiency;
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
1002 /* Don't use $recipe->EST_OG but recalculate it */
87
7f1d0abe5571 OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents: 86
diff changeset
1003 /* Don't use $recipe->EST_FG but recalculate it */
89
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
1004 /* Don't use $recipe->EST_COLOR but recalculate it */
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1005 if ($recipe->COLOR_METHOD)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1006 $sql .= "', color_method='" . mysqli_real_escape_string($db, $recipe->COLOR_METHOD);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1007 if ($recipe->IBU)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1008 $sql .= "', est_ibu='" . floatval($recipe->IBU);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1009 if ($recipe->IBU_METHOD)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1010 $sql .= "', ibu_method='" . mysqli_real_escape_string($db, $recipe->IBU_METHOD);
102
679ddf512b65 Added est_carb field import in the recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 100
diff changeset
1011 if ($recipe->CARBONATION)
679ddf512b65 Added est_carb field import in the recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 100
diff changeset
1012 $sql .= "', est_carb='" . floatval($recipe->CARBONATION);
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1013
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1014 if ($recipe->STYLE) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1015 $sql .= recipe_style($recipe);
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1016 }
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1017 if ($recipe->CALC_ACID) {
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1018 ($recipe->CALC_ACID == "TRUE") ? $sql .= "', calc_acid='1" : $sql .= "', calc_acid='0";
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1019 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1020 if ($recipe->TARGET_PH) {
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1021 $sql .= "', mash_ph='" . floatval($recipe->TARGET_PH);
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1022 }
149
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1023 if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Lactic")) {
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1024 $sql .= "', sparge_acid_type='Melkzuur";
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1025 } else if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Hydrochloric")) {
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1026 $sql .= "', sparge_acid_type='Zoutzuur";
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1027 } else if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Phosphoric")) {
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1028 $sql .= "', sparge_acid_type='Fosforzuur";
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1029 } else if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Sulfuric")) {
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1030 $sql .= "', sparge_acid_type='Zwavelzuur";
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1031 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1032 if ($recipe->ACID_SPARGE_PERC) {
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1033 $sql .= "', sparge_acid_perc='" . floatval($recipe->ACID_SPARGE_PERC);
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1034 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1035 if ($recipe->LACTIC_SPARGE) {
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1036 $sql .= "', sparge_acid_amount='" . floatval($recipe->LACTIC_SPARGE);
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1037 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1038 if ($recipe->VOLUME_HLT) {
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1039 $sql .= "', sparge_volume='" . floatval($recipe->VOLUME_HLT);
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1040 }
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1041
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1042 /*
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1043 * Put the fermentables in a json array
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1044 */
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1045 if ($recipe->FERMENTABLES) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1046 $fermentables = recipe_fermentables($recipe);
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1047 $sql .= "', json_fermentables='" . $fermentables;
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1048 if (strlen($fermentables) > $len_fermentables)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1049 $len_fermentables = strlen($fermentables);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1050 }
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1051
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1052 /*
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1053 * Put the hops in a json array
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1054 */
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1055 if ($recipe->HOPS) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1056 $hops = recipe_hops($recipe);
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1057 $sql .= "', json_hops='" . $hops;
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1058 if (strlen($hops) > $len_hops)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1059 $len_hops = strlen($hops);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1060 }
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1061
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1062 /*
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1063 * Put the miscs in a json array
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1064 */
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1065 if ($recipe->MISCS) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1066 $miscs = recipe_miscs($recipe);
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1067 $sql .= "', json_miscs='" . $miscs;
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1068 if (strlen($miscs) > $len_miscs)
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1069 $len_miscs = strlen($miscs);
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1070 }
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1071
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1072 /*
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1073 * Put the yeasts in a json array
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1074 */
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1075 if ($recipe->YEASTS) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1076 $yeasts = recipe_yeasts($recipe);
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1077 $sql .= "', json_yeasts='" . $yeasts;
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1078 if (strlen($yeasts) > $len_yeasts)
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1079 $len_yeasts = strlen($yeasts);
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1080 }
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1081
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1082 /*
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
1083 * Get the waters
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1084 */
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1085 if ($recipe->WATERS) {
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
1086 $sql .= recipe_waters($recipe, $db);
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1087 }
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1088
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1089 /*
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1090 * Put the mash in a json array
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1091 */
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1092 if ($recipe->MASH) {
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1093 $sql .= "',sparge_temp='" . floatval($recipe->MASH->SPARGE_TEMP);
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1094 $sql .= "',sparge_ph='" . floatval($recipe->MASH->PH);
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1095 if ($recipe->MASH->NAME)
51
7224109adfe1 More recipe editor changes
Michiel Broek <mbroek@mbse.eu>
parents: 50
diff changeset
1096 $sql .= "',mash_name='" . mysqli_real_escape_string($db, $recipe->MASH->NAME);
7224109adfe1 More recipe editor changes
Michiel Broek <mbroek@mbse.eu>
parents: 50
diff changeset
1097
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1098 if ($recipe->MASH->MASH_STEPS) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1099 $steps = recipe_mash_steps($recipe);
51
7224109adfe1 More recipe editor changes
Michiel Broek <mbroek@mbse.eu>
parents: 50
diff changeset
1100 $sql .= "', json_mashs='" . $steps;
7224109adfe1 More recipe editor changes
Michiel Broek <mbroek@mbse.eu>
parents: 50
diff changeset
1101 if (strlen($steps) > $len_mash)
7224109adfe1 More recipe editor changes
Michiel Broek <mbroek@mbse.eu>
parents: 50
diff changeset
1102 $len_mash = strlen($steps);
49
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1103 }
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1104 }
4d27a7fb1265 Finisched recipe import. Added recipe retrieve script.
Michiel Broek <mbroek@mbse.eu>
parents: 48
diff changeset
1105
86
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
1106 /*
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
1107 * Added the calculated values
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
1108 * OG, FG, color, IBU
e977a505ea8c With recipe import calculate the OG
Michiel Broek <mbroek@mbse.eu>
parents: 77
diff changeset
1109 */
96
107c12c3e49d Renamed estimate_og() to estimate_sg() formula. Updated the formulas in javascript. The calcFermenter() function now only calculates the gravities. The colors still need to be added. When a recept is loaded in the editor, all tabs are selected once to load all subgrid data. Ugly and slow but it at least it works.
Michiel Broek <mbroek@mbse.eu>
parents: 94
diff changeset
1110 $og = estimate_sg($f_sugars, $batch_size);
87
7f1d0abe5571 OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents: 86
diff changeset
1111 $sql .= "', est_og='" . floatval($og);
7f1d0abe5571 OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents: 86
diff changeset
1112 $fg = estimate_fg($pSugar, $pCara, 0, 0, 0, $svg, $og);
7f1d0abe5571 OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents: 86
diff changeset
1113 $sql .= "', est_fg='" . floatval($fg);
88
0a39cbdcf085 Added ABV clculation.
Michiel Broek <mbroek@mbse.eu>
parents: 87
diff changeset
1114 $abv = abvol($og, $fg);
0a39cbdcf085 Added ABV clculation.
Michiel Broek <mbroek@mbse.eu>
parents: 87
diff changeset
1115 $sql .= "', est_abv='" . floatval($abv);
89
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
1116 $color = kw_to_ebc(mysqli_real_escape_string($db, $recipe->COLOR_METHOD), $colorw);
082c23b26055 Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents: 88
diff changeset
1117 $sql .= "', est_color='" . floatval($color);
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1118 $sql .= "';";
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1119 if (! $result = mysqli_query($db, $sql)) {
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1120 printf("Error: %s\n", mysqli_error($db));
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1121 }
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1122 }
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1123 // echo "Fermentables: " . $len_fermentables . PHP_EOL;
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1124 // echo "Hops: " . $len_hops . PHP_EOL;
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1125 // echo "Miscs: " . $len_miscs . PHP_EOL;
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1126 // echo "Yeasts: " . $len_yeasts . PHP_EOL;
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1127 // echo "Mash: " . $len_mash . PHP_EOL;
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1128 }
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1129
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1130
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1131
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1132 function do_brews()
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1133 {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1134 global $brouwhulp, $db, $efficiency, $batch_size, $pCara, $pSugar, $colorw, $f_sugars;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1135 $len_fermentables = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1136 $len_hops = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1137 $len_miscs = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1138 $len_yeasts = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1139 $len_mash = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1140
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1141 echo " Start adding brews to the database\n";
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1142 $sql = "TRUNCATE TABLE products;";
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1143 if (! $presult = mysqli_query($db, $sql)) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1144 printf("Error: %s\n", mysqli_error($db));
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1145 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1146
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1147 date_default_timezone_set('Europe/Amsterdam');
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1148 $recipes = simplexml_load_file($brouwhulp . '/brews.xml');
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1149
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1150 foreach ($recipes->RECIPE as $recipe) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1151 $f_sugars = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1152 $efficiency = 75;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1153 $batch_size = 20;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1154 $boil_size = 22;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1155 $pCara = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1156 $pSugar = 0;
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1157 $svg = 77;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1158 $colorw = 0;
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1159 $stageno = 0;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1160 $stage = "Plan"; // Default value.
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1161 $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1162
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1163 $sql = "INSERT INTO products SET uuid='" . $uuid;
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1164 $sql .= "', name='" . mysqli_real_escape_string($db, $recipe->NAME);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1165
111
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents: 108
diff changeset
1166 if ($recipe->NOTES) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1167 $sql .= "', notes='" . mysqli_real_escape_string($db, $recipe->NOTES);
111
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents: 108
diff changeset
1168 } else {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1169 $sql .= "', notes='";
111
8c4ba91adf58 Basic screens for brew products.
Michiel Broek <mbroek@mbse.eu>
parents: 108
diff changeset
1170 }
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1171 if ($recipe->TYPE)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1172 $sql .= "', type='" . mysqli_real_escape_string($db, $recipe->TYPE);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1173 else
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1174 $sql .= "', type='";
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1175 if ($recipe->BATCH_SIZE)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1176 $batch_size = floatval($recipe->BATCH_SIZE);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1177 $sql .= "', batch_size='" . $batch_size;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1178 if ($recipe->BOIL_SIZE)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1179 $boil_size = floatval($recipe->BOIL_SIZE);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1180 $sql .= "', boil_size='" . $boil_size;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1181 if ($recipe->BOIL_TIME)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1182 $sql .= "', boil_time='" . floatval($recipe->BOIL_TIME);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1183 else
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1184 $sql .= "', boil_time='90";
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1185 if ($recipe->EFFICIENCY)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1186 $efficiency = floatval($recipe->EFFICIENCY);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1187 $sql .= "', efficiency='" . $efficiency;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1188 /* Don't use $recipe->EST_OG but recalculate it */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1189 /* Don't use $recipe->EST_FG but recalculate it */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1190 /* Don't use $recipe->EST_COLOR but recalculate it */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1191 if ($recipe->COLOR_METHOD)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1192 $sql .= "', color_method='" . mysqli_real_escape_string($db, $recipe->COLOR_METHOD);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1193 if ($recipe->IBU)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1194 $sql .= "', est_ibu='" . floatval($recipe->IBU);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1195 if ($recipe->IBU_METHOD)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1196 $sql .= "', ibu_method='" . mysqli_real_escape_string($db, $recipe->IBU_METHOD);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1197 if ($recipe->CARBONATION)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1198 $sql .= "', est_carb='" . floatval($recipe->CARBONATION);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1199
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1200 if ($recipe->STYLE) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1201 $sql .= recipe_style($recipe);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1202 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1203
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1204 if ($recipe->CALC_ACID) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1205 ($recipe->CALC_ACID == "TRUE") ? $sql .= "', calc_acid='1" : $sql .= "', calc_acid='0";
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1206 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1207 if ($recipe->TARGET_PH) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1208 $sql .= "', mash_ph='" . floatval($recipe->TARGET_PH);
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1209 }
149
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1210 if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Lactic")) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1211 $sql .= "', sparge_acid_type='Melkzuur";
149
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1212 } else if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Hydrochloric")) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1213 $sql .= "', sparge_acid_type='Zoutzuur";
149
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1214 } else if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Phosphoric")) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1215 $sql .= "', sparge_acid_type='Fosforzuur";
149
ff45488d480e Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 148
diff changeset
1216 } else if ($recipe->SPARGE_ACID_TYPE && ($recipe->SPARGE_ACID_TYPE == "Sulfuric")) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1217 $sql .= "', sparge_acid_type='Zwavelzuur";
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1218 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1219 if ($recipe->ACID_SPARGE_PERC) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1220 $sql .= "', sparge_acid_perc='" . floatval($recipe->ACID_SPARGE_PERC);
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1221 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1222 if ($recipe->LACTIC_SPARGE) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1223 $sql .= "', sparge_acid_amount='" . floatval($recipe->LACTIC_SPARGE);
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1224 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1225 if ($recipe->VOLUME_HLT) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1226 $sql .= "', sparge_volume='" . floatval($recipe->VOLUME_HLT);
147
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1227 }
e6e5d007eb54 Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 143
diff changeset
1228
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1229 /*
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1230 * Put the fermentables in a json array
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1231 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1232 if ($recipe->FERMENTABLES) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1233 $fermentables = recipe_fermentables($recipe);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1234 $sql .= "', json_fermentables='" . $fermentables;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1235 if (strlen($fermentables) > $len_fermentables)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1236 $len_fermentables = strlen($fermentables);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1237 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1238
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1239 /*
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1240 * Put the hops in a json array
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1241 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1242 if ($recipe->HOPS) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1243 $hops = recipe_hops($recipe);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1244 $sql .= "', json_hops='" . $hops;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1245 if (strlen($hops) > $len_hops)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1246 $len_hops = strlen($hops);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1247 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1248
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1249 /*
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1250 * Put the miscs in a json array
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1251 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1252 if ($recipe->MISCS) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1253 $miscs = recipe_miscs($recipe);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1254 $sql .= "', json_miscs='" . $miscs;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1255 if (strlen($miscs) > $len_miscs)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1256 $len_miscs = strlen($miscs);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1257 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1258
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1259 /*
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1260 * Put the yeasts in a json array
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1261 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1262 if ($recipe->YEASTS) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1263 $yeasts = recipe_yeasts($recipe);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1264 $sql .= "', json_yeasts='" . $yeasts;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1265 if (strlen($yeasts) > $len_yeasts)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1266 $len_yeasts = strlen($yeasts);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1267 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1268
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1269 /*
148
c0f0bbfefd63 Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.
Michiel Broek <mbroek@mbse.eu>
parents: 147
diff changeset
1270 * Get the waters
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1271 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1272 if ($recipe->WATERS) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1273 $sql .= recipe_waters($recipe, $db);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1274 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1275
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1276 /*
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1277 * Put the mash in a json array
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1278 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1279 if ($recipe->MASH) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1280 $sql .= "',sparge_temp='" . floatval($recipe->MASH->SPARGE_TEMP);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1281 $sql .= "',sparge_ph='" . floatval($recipe->MASH->PH);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1282 if ($recipe->MASH->NAME)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1283 $sql .= "',mash_name='" . mysqli_real_escape_string($db, $recipe->MASH->NAME);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1284
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1285 if ($recipe->MASH->MASH_STEPS) {
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1286 $steps = recipe_mash_steps($recipe);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1287 $sql .= "', json_mashs='" . $steps;
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1288 if (strlen($steps) > $len_mash)
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1289 $len_mash = strlen($steps);
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1290 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1291 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1292
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1293 /*
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1294 * Added the calculated values
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1295 * OG, FG, color, IBU
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1296 */
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1297 $og = estimate_sg($f_sugars, $batch_size);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1298 $sql .= "', est_og='" . floatval($og);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1299 $fg = estimate_fg($pSugar, $pCara, 0, 0, 0, $svg, $og);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1300 $sql .= "', est_fg='" . floatval($fg);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1301 $abv = abvol($og, $fg);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1302 $sql .= "', est_abv='" . floatval($abv);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1303 $color = kw_to_ebc(mysqli_real_escape_string($db, $recipe->COLOR_METHOD), $colorw);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1304 $sql .= "', est_color='" . floatval($color);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1305 $sql .= "', code='" . mysqli_real_escape_string($db, $recipe->NR_RECIPE);
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1306
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1307 /*
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1308 * Update external logfiles
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1309 */
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1310 $lsql = "UPDATE log_brews SET product_uuid='".$uuid."', product_name='".mysqli_real_escape_string($db, $recipe->NAME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1311 $lsql .= "' WHERE product_code='".mysqli_real_escape_string($db, $recipe->NR_RECIPE)."';";
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1312 if (! $result = mysqli_query($db, $lsql)) {
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1313 printf("Error: %s\n", mysqli_error($db));
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1314 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1315 $count = mysqli_affected_rows($db);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1316 if ($count > 0) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1317 $sql .= "', log_brew='1";
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1318 }
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1319 $lsql = "UPDATE log_fermentation SET product_uuid='".$uuid."', product_name='".mysqli_real_escape_string($db, $recipe->NAME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1320 $lsql .= "' WHERE product_code='".mysqli_real_escape_string($db, $recipe->NR_RECIPE)."';";
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1321 if (! $result = mysqli_query($db, $lsql)) {
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1322 printf("Error: %s\n", mysqli_error($db));
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1323 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1324 $count = mysqli_affected_rows($db);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1325 if ($count > 0) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1326 $sql .= "', log_fermentation='1";
114
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1327 } else {
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1328 // See if there really are no records
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1329 $lsql = "SELECT product_code FROM log_fermentation WHERE product_code='".$recipe->NR_RECIPE."';";
114
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1330 $count = mysqli_affected_rows($db);
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1331 if ($count > 0) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1332 $sql .= "', log_fermentation='1";
114
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1333 }
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1334 }
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1335
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1336 /*
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1337 * If no external fermentation log is found, check for an internal one.
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1338 */
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1339 if (($count == 0) && $recipe->FERM_MEASUREMENTS) {
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1340 $lsql = "DELETE FROM log_fermentation WHERE product_code='".mysqli_real_escape_string($db, $recipe->NR_RECIPE)."';";
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1341 if (! $lresult = mysqli_query($db, $lsql)) {
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1342 printf("Error: %s\n", mysqli_error($db));
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1343 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1344 foreach ($recipe->FERM_MEASUREMENTS->FERM_MEASUREMENT as $measurement) {
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1345 $dt = substr($measurement->DATE_TIME, 6, 4).substr($measurement->DATE_TIME,2,4).substr($measurement->DATE_TIME,0,2);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1346 $dt .= ' '.substr($measurement->DATE_TIME, 11,8);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1347 $lsql = "INSERT INTO log_fermentation SET product_uuid='".$uuid;
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1348 $lsql .= "', product_code='" . mysqli_real_escape_string($db, $recipe->NR_RECIPE);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1349 $lsql .= "', product_name='" . mysqli_real_escape_string($db, $recipe->NAME);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1350 $lsql .= "', datetime='" . $dt;
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1351 $lsql .= "', temperature_air='" . floatval($measurement->TEMP_SENSOR_1);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1352 $lsql .= "', temperature_beer='" . floatval($measurement->TEMP_SENSOR_2);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1353 $lsql .= "';";
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1354 if (! $lresult = mysqli_query($db, $lsql)) {
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1355 printf("Error: %s\n", mysqli_error($db));
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1356 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1357 }
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1358 $sql .= "', log_fermentation='1";
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1359 }
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1360
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1361 if ($recipe->EQUIPMENT) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1362 $sql .= "', eq_name='" . mysqli_real_escape_string($db, $recipe->EQUIPMENT->NAME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1363 $sql .= "', eq_notes='" . mysqli_real_escape_string($db, $recipe->EQUIPMENT->NOTES);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1364 $sql .= "', eq_boil_size='" . floatval($recipe->EQUIPMENT->BOIL_SIZE);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1365 $sql .= "', eq_batch_size='" . floatval($recipe->EQUIPMENT->BATCH_SIZE);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1366 $sql .= "', eq_tun_volume='" . floatval($recipe->EQUIPMENT->TUN_VOLUME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1367 $sql .= "', eq_tun_weight='" . floatval($recipe->EQUIPMENT->TUN_WEIGHT);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1368 $sql .= "', eq_tun_specific_heat='" . floatval($recipe->EQUIPMENT->TUN_SPECIFIC_HEAT);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1369 $sql .= "', eq_tun_material='" . mysqli_real_escape_string($db, $recipe->EQUIPMENT->TUN_MATERIAL);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1370 $sql .= "', eq_tun_height='" . floatval($recipe->EQUIPMENT->TUN_HEIGHT);
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1371 if ($recipe->EQUIPMENT->TOP_UP_WATER)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1372 $sql .= "', eq_top_up_water='" . floatval($recipe->EQUIPMENT->TOP_UP_WATER);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1373 $sql .= "', eq_trub_chiller_loss='" . floatval($recipe->EQUIPMENT->TRUB_CHILLER_LOSS);
114
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1374 /*
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1375 * Brouwhulp uses a percentage for the evaporation rate. This is wrong
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1376 * but was made so because the beerxml standard requires this. What we
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1377 * do is calculate the actual evaporation and store that.
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1378 * This is what we use. Brouwhulp calculates this on the fly.
4935e86b2775 Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.
Michiel Broek <mbroek@mbse.eu>
parents: 111
diff changeset
1379 */
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1380 $sql .= "', eq_evap_rate='" . (floatval($recipe->EQUIPMENT->EVAP_RATE) * floatval($recipe->EQUIPMENT->BOIL_SIZE)) / 100;
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1381 $sql .= "', eq_boil_time='" . floatval($recipe->EQUIPMENT->BOIL_TIME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1382 ($recipe->EQUIPMENT->CALC_BOIL_VOLUME == 'TRUE') ? $sql .= "', eq_calc_boil_volume='1" : $sql .= "', eq_calc_boil_volume='0";
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1383 if ($recipe->EQUIPMENT->TOP_UP_KETTLE)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1384 $sql .= "', eq_top_up_kettle='" . floatval($recipe->EQUIPMENT->TOP_UP_KETTLE);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1385 $sql .= "', eq_hop_utilization='" . floatval($recipe->EQUIPMENT->HOP_UTILIZATION);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1386 $sql .= "', eq_lauter_volume='" . floatval($recipe->EQUIPMENT->LAUTER_VOLUME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1387 $sql .= "', eq_lauter_height='" . floatval($recipe->EQUIPMENT->LAUTER_HEIGHT);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1388 $sql .= "', eq_lauter_deadspace='" . floatval($recipe->EQUIPMENT->LAUTER_DEADSPACE);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1389 $sql .= "', eq_kettle_volume='" . floatval($recipe->EQUIPMENT->KETTLE_VOLUME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1390 $sql .= "', eq_kettle_height='" . floatval($recipe->EQUIPMENT->KETTLE_HEIGHT);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1391 $sql .= "', eq_mash_volume='" . floatval($recipe->EQUIPMENT->MASH_VOLUME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1392 $sql .= "', eq_mash_max='" . round((floatval($recipe->EQUIPMENT->MASH_VOLUME) / 3) * 10) / 10; // Not in beerxml/brouwhulp. For RIMS systems.
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1393 $sql .= "', eq_efficiency='" . floatval($recipe->EQUIPMENT->EFFICIENCY);
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1394 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1395
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1396 if (($recipe->DATE) && (! $recipe->TIME_STARTED) && (! $recipe->TIME_ENDED)) {
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1397 /* We have a plan date but haven't brewed yet, use current date */
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1398 $sql .= "', birth='" . date("Y-m-d");
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1399 $stageno= 1;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1400 $stage = "Wait";
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1401 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1402
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1403 if (($recipe->DATE) && ($recipe->TIME_STARTED) && ($recipe->TIME_ENDED)) {
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1404 /* We have brew data */
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1405 $stageno = 3;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1406 $stage = "Primary"; // Need to think about during a brew...
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1407 $brewdate = substr($recipe->DATE, 6, 4).substr($recipe->DATE,2,4).substr($recipe->DATE,0,2);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1408 $sql .= "', birth='" . $brewdate;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1409 $date_start = $brewdate.' '.$recipe->TIME_STARTED;
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1410 $date_end = $brewdate.' '.$recipe->TIME_ENDED;
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1411 $sql .= "', brew_date_start='" . $date_start;
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1412
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1413 if ($recipe->PH_ADJUSTED)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1414 $sql .= "', brew_mash_ph='" . floatval($recipe->PH_ADJUSTED);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1415 if (floatval($recipe->SG_END_MASH) != 1.0)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1416 $sql .= "', brew_mash_sg='" . floatval($recipe->SG_END_MASH);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1417 if ($recipe->MASH->SPARGE_TEMP)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1418 $sql .= "', brew_sparge_temperature='" . floatval($recipe->MASH->SPARGE_TEMP);
121
875aeb365e1c Added sparge pH during import. Added several calculations. Added calculated estimates to the brewday screen.
Michiel Broek <mbroek@mbse.eu>
parents: 119
diff changeset
1419 if ($recipe->MASH->PH)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1420 $sql .= "', brew_sparge_ph='" . floatval($recipe->MASH->PH);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1421 if ($recipe->VOLUME_HLT)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1422 $sql .= "', brew_sparge_volume='" . floatval($recipe->VOLUME_HLT);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1423 if ($recipe->VOLUME_BEFORE_BOIL)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1424 $sql .= "', brew_preboil_volume='" . floatval($recipe->VOLUME_BEFORE_BOIL);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1425 if (floatval($recipe->OG_BEFORE_BOIL) != 1.0)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1426 $sql .= "', brew_preboil_sg='" . floatval($recipe->OG_BEFORE_BOIL);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1427 if ($recipe->PH_BEFORE_BOIL)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1428 $sql .= "', brew_preboil_ph='" . floatval($recipe->PH_BEFORE_BOIL);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1429 if ($recipe->VOLUME_AFTER_BOIL)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1430 $sql .= "', brew_aboil_volume='" . floatval($recipe->VOLUME_AFTER_BOIL);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1431 $sql .= "', brew_aboil_sg='" . floatval($recipe->OG);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1432 if ($recipe->PH_AFTER_BOIL)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1433 $sql .= "', brew_aboil_ph='" . floatval($recipe->PH_AFTER_BOIL);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1434 if ($recipe->ACTUAL_EFFICIENCY)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1435 $sql .= "', brew_aboil_efficiency='" . floatval($recipe->ACTUAL_EFFICIENCY);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1436 $sql .= "', brew_whirlpool2='" . floatval($recipe->WHIRLPOOL_TIME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1437 $sql .= "', brew_cooling_method='" . mysqli_real_escape_string($db, $recipe->COOLING_METHOD);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1438 $sql .= "', brew_cooling_time='" . floatval($recipe->COOLING_TIME);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1439 $sql .= "', brew_cooling_to='" . floatval($recipe->COOLING_TO);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1440 if ($recipe->VOLUME_FERMENTER)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1441 $sql .= "', brew_fermenter_volume='" . floatval($recipe->VOLUME_FERMENTER);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1442 if ($recipe->EQUIPMENT->TOP_UP_WATER_BREWDAY)
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1443 $sql .= "', brew_fermenter_extrawater='" . floatval($recipe->EQUIPMENT->TOP_UP_WATER_BREWDAY);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1444 $sql .= "', brew_fermenter_sg='" . floatval($recipe->OG_FERMENTER);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1445 $sql .= "', brew_fermenter_ibu='" . floatval($recipe->IBU);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1446 $sql .= "', brew_aeration_type='" . mysqli_real_escape_string($db, $recipe->AERATION_TYPE);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1447 if ($recipe->AERATION_TYPE != "None") {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1448 $sql .= "', brew_aeration_speed='" . floatval($recipe->AERATION_SPEED);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1449 $sql .= "', brew_aeration_time='" . floatval($recipe->AERATION_TIME);
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1450 }
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1451 $sql .= "', brew_date_end='" . $date_end;
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1452 }
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1453
163
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1454 $sql .= "', og='" . floatval($recipe->OG);
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1455 $sql .= "', fg='" . floatval($recipe->FG);
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1456
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1457 if ($recipe->PRIMARY_AGE && ($stageno >= 3)) {
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1458 /* PRIMARY_TEMP is the average of START_TEMP_PRIMARY MAX_TEMP_PRIMARY END_TEMP_PRIMARY */
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1459 $pdate = new DateTime($brewdate);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1460 $pdate->modify("+".floatval($recipe->PRIMARY_AGE)." days");
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1461 $sql .= "', primary_start_temp='" . floatval($recipe->START_TEMP_PRIMARY);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1462 $sql .= "', primary_max_temp='" . floatval($recipe->MAX_TEMP_PRIMARY);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1463 $sql .= "', primary_end_temp='" . floatval($recipe->END_TEMP_PRIMARY);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1464 $sql .= "', primary_end_sg='" . floatval($recipe->SG_END_PRIMARY);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1465 $sql .= "', primary_end_date='" . $pdate->format("Y-m-d");
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1466 $stageno = 4;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1467 $stage = "Secondary";
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1468
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1469 if ($recipe->SECONDARY_AGE && ($stageno >= 4)) {
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1470 $sdate = new DateTime($brewdate);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1471 $sdate->modify("+".floatval($recipe->SECONDARY_AGE)." days");
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1472 $sql .= "', secondary_temp='" . floatval($recipe->SECONDARY_TEMP);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1473 $sql .= "', secondary_end_date='" . $sdate->format("Y-m-d");
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1474 $stageno = 5;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1475 $stage = "Tertiary";
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1476
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1477 if ($recipe->TERTIARY_TEMP && ($stageno >= 5)) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1478 $sql .= "', tertiary_temp='" . floatval($recipe->TERTIARY_TEMP);
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1479 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1480 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1481 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1482
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1483 if ($recipe->DATE_BOTTLING && ($recipe->AMOUNT_BOTTLING || $recipe->AMOUNT_KEGGED) &&
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1484 ($recipe->AMOUNT_PRIMING || $recipe->AMOUNT_PRIMING_KEGS) && ($stageno >= 5)) {
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1485 $bdate = substr($recipe->DATE_BOTTLING, 6, 4).substr($recipe->DATE_BOTTLING,2,4).substr($recipe->DATE_BOTTLING,0,2);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1486 $sql .= "', package_date='" . $bdate;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1487 $stage = "Package";
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1488 $stageno = 6;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1489 $dStart = new DateTime($bdate);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1490 $dEnd = new DateTime('');
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1491 $dDiff = $dStart->diff($dEnd);
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1492 $age = floatval($dDiff->days);
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1493 if ($age == 0) { // Package day
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1494 $stage = "Package";
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1495 $stageno = 6;
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1496 } else if ($age < 14) { // Carbonation period
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1497 $stage = "Carbonation";
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1498 $stageno = 7;
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1499 } else if ($age < 42) { // Mature, fixed 6 weeks
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1500 $stage = "Mature";
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1501 $stageno = 8;
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1502 } else { // Ready for tasting.
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1503 $stage = "Taste";
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1504 $stageno = 9;
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1505 }
107
8b4fdadf320c Added brewday data
Michiel Broek <mbroek@mbse.eu>
parents: 106
diff changeset
1506
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1507 if ($recipe->AMOUNT_BOTTLING && $recipe->AMOUNT_PRIMING) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1508 $sql .= "', bottle_amount='" . floatval($recipe->AMOUNT_BOTTLING);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1509 $sql .= "', bottle_carbonation='" . floatval($recipe->CARBONATION);
163
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1510 if ($recipe->PRIMING_SUGAR_BOTTLES == "Saccharose")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1511 $sql .= "', bottle_priming_sugar='Kristalsuiker";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1512 else if ($recipe->PRIMING_SUGAR_BOTTLES == "Glucose or dextrose")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1513 $sql .= "', bottle_priming_sugar='Glucose/dextrose";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1514 else if ($recipe->PRIMING_SUGAR_BOTTLES == "Honey")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1515 $sql .= "', bottle_priming_sugar='Honing";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1516 else if ($recipe->PRIMING_SUGAR_BOTTLES == "DME")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1517 $sql .= "', bottle_priming_sugar='Moutextract";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1518 else if ($recipe->PRIMING_SUGAR_BOTTLES == "Molassis")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1519 $sql .= "', bottle_priming_sugar='Melasse";
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1520 $sql .= "', bottle_priming_amount='" . floatval($recipe->AMOUNT_PRIMING);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1521 $sql .= "', bottle_carbonation_temp='" . floatval($recipe->CARBONATION_TEMP);
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1522 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1523 if ($recipe->AMOUNT_KEGGED && $recipe->AMOUNT_PRIMING_KEGS) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1524 $sql .= "', keg_amount='" . floatval($recipe->AMOUNT_KEGGED);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1525 $sql .= "', keg_carbonation='" . floatval($recipe->CARBONATION); // Lijkt wel hetzelfde als bottles
163
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1526 if ($recipe->PRIMING_SUGAR_BOTTLES == "Saccharose")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1527 $sql .= "', keg_priming_sugar='Kristalsuiker";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1528 else if ($recipe->PRIMING_SUGAR_BOTTLES == "Glucose or dextrose")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1529 $sql .= "', keg_priming_sugar='Glucose/dextrose";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1530 else if ($recipe->PRIMING_SUGAR_BOTTLES == "Honey")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1531 $sql .= "', keg_priming_sugar='Honing";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1532 else if ($recipe->PRIMING_SUGAR_BOTTLES == "DME")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1533 $sql .= "', keg_priming_sugar='Moutextract";
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1534 else if ($recipe->PRIMING_SUGAR_BOTTLES == "Molassis")
4a4cc3497a57 Added the packaging tab contents.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
1535 $sql .= "', keg_priming_sugar='Melasse";
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1536 $sql .= "', keg_priming_amount='" . floatval($recipe->AMOUNT_PRIMING_KEGS);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1537 $sql .= "', keg_carbonation_temp='" . floatval($recipe->KEG_CARB_TEMP);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1538 ($recipe->FORCED_CARB_KEGS == 'TRUE') ? $sql .= "', keg_forced_carb='1" : $sql .= "', keg_forced_carb='0";
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1539 $sql .= "', keg_pressure='" . floatval($recipe->KEG_PRESSURE);
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1540 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1541 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1542
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1543 if ($recipe->TASTE_NOTES && $recipe->TASTING_RATE && $recipe->TASTE_DATE && ($stageno >= 9)) {
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1544 $stage = "Ready"; // Ready if tasted.
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1545 $stageno = 10;
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1546 $sql .= "', taste_notes='" . mysqli_real_escape_string($db, $recipe->TASTE_NOTES);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1547 $sql .= "', taste_rate='" . floatval($recipe->TASTING_RATE);
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1548 $tdate = substr($recipe->TASTE_DATE, 6, 4).substr($recipe->TASTE_DATE,2,4).substr($recipe->TASTE_DATE,0,2);
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1549 $sql .= "', taste_date='" . $tdate;
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1550 $sql .= "', taste_color='" . mysqli_real_escape_string($db, $recipe->TASTE_COLOR);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1551 $sql .= "', taste_transparency='" . mysqli_real_escape_string($db, $recipe->TASTE_TRANSPARENCY);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1552 $sql .= "', taste_head='" . mysqli_real_escape_string($db, $recipe->TASTE_HEAD);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1553 $sql .= "', taste_aroma='" . mysqli_real_escape_string($db, $recipe->TASTE_AROMA);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1554 $sql .= "', taste_taste='" . mysqli_real_escape_string($db, $recipe->TASTE_TASTE);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1555 $sql .= "', taste_mouthfeel='" . mysqli_real_escape_string($db, $recipe->TASTE_MOUTHFEEL);
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1556 $sql .= "', taste_aftertaste='" . mysqli_real_escape_string($db, $recipe->TASTE_AFTERTASTE);
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1557 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1558
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1559 ($recipe->INVENTORY_REDUCED == 'TRUE') ? $sql .= "', inventory_reduced='1" : $sql .= "', inventory_reduced='0";
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1560 if (($recipe->LOCKED == 'TRUE') && ($stage == 'Ready')) {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1561 $sql .= "', locked='1";
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1562 $stage = "Closed";
150
159d7a89fcef Better stage detection during product import from brouwhulp. Added tooltips for treated water.
Michiel Broek <mbroek@mbse.eu>
parents: 149
diff changeset
1563 $stageno = 11;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1564 } else {
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1565 $sql .= "', locked='0";
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1566 }
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1567
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1568 $sql .= "', stage='" . $stage;
108
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1569 // echo ' '.$brewdate.' '.$recipe->NR_RECIPE.' '.$stage . PHP_EOL;
a466373bc23f Finished brews import
Michiel Broek <mbroek@mbse.eu>
parents: 107
diff changeset
1570
151
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1571 $sql .= "';";
2c9cfe2f0860 Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.
Michiel Broek <mbroek@mbse.eu>
parents: 150
diff changeset
1572 if (! $rresult = mysqli_query($db, $sql)) {
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1573 printf("Error: %s\n", mysqli_error($db));
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1574 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1575 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1576 }
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1577
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1578
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1579
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1580 do_fermentables();
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1581 do_hops();
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1582 do_yeasts();
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1583 do_miscs();
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1584 do_waters();
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1585 do_equipments();
50
6d94167c2697 Next steps to implement a recipe editor
Michiel Broek <mbroek@mbse.eu>
parents: 49
diff changeset
1586 do_styles();
64
5d5fc6f7cbfe Improved recipes import. Finished inventory_suppliers.
Michiel Broek <mbroek@mbse.eu>
parents: 61
diff changeset
1587 do_mash();
106
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1588 do_recipes();
c64d979613ab Prepare for production brews databases
Michiel Broek <mbroek@mbse.eu>
parents: 105
diff changeset
1589 do_brews();
48
bdd1ec9b9c06 Start recipes import and menus.
Michiel Broek <mbroek@mbse.eu>
parents: 45
diff changeset
1590
11
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1591
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1592 mysqli_close($db);
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1593
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1594 echo "Finished adding data\n";
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1595
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1596
d341f0a91a91 Added fermentable inventory
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1597 ?>

mercurial