20 } |
20 } |
21 if (isset($_POST['update'])) { |
21 if (isset($_POST['update'])) { |
22 $sql = "UPDATE `prod_main` SET "; |
22 $sql = "UPDATE `prod_main` SET "; |
23 } |
23 } |
24 // Basic settings |
24 // Basic settings |
25 $sql .= "uuid='" . $_POST['uuid']; |
25 $sql .= "puuid='" . $_POST['puuid']; |
26 $sql .= "', name='" . mysqli_real_escape_string($connect, $_POST['name']); |
26 $sql .= "', pname='" . mysqli_real_escape_string($connect, $_POST['pname']); |
27 $sql .= "', birth='" . $_POST['birth']; |
27 $sql .= "', birth='" . $_POST['birth']; |
28 $sql .= "', stage='" . $_POST['stage']; |
28 $sql .= "', stage='" . $_POST['stage']; |
29 $sql .= "', notes='" . mysqli_real_escape_string($connect, $_POST['notes']); |
29 $sql .= "', pnotes='" . mysqli_real_escape_string($connect, $_POST['pnotes']); |
30 ($_POST['log_brew'] == 'true') ? $sql .= "', log_brew='1" : $sql .= "', log_brew='0"; |
30 ($_POST['log_brew'] == 'true') ? $sql .= "', log_brew='1" : $sql .= "', log_brew='0"; |
31 ($_POST['log_fermentation'] == 'true') ? $sql .= "', log_fermentation='1" : $sql .= "', log_fermentation='0"; |
31 ($_POST['log_fermentation'] == 'true') ? $sql .= "', log_fermentation='1" : $sql .= "', log_fermentation='0"; |
32 ($_POST['inventory_reduced'] == 'true') ? $sql .= "', inventory_reduced='1" : $sql .= "', inventory_reduced='0"; |
32 ($_POST['inventory_reduced'] == 'true') ? $sql .= "', inventory_reduced='1" : $sql .= "', inventory_reduced='0"; |
33 ($_POST['locked'] == 'true') ? $sql .= "', locked='1" : $sql .= "', locked='0"; |
33 ($_POST['plocked'] == 'true') ? $sql .= "', plocked='1" : $sql .= "', plocked='0"; |
34 // Equipment |
34 // Equipment |
35 $sql .= "', eq_name='" . mysqli_real_escape_string($connect, $_POST['eq_name']); |
35 $sql .= "', eq_name='" . mysqli_real_escape_string($connect, $_POST['eq_name']); |
36 $sql .= "', eq_boil_size='" . $_POST['eq_boil_size']; |
36 $sql .= "', eq_boil_size='" . $_POST['eq_boil_size']; |
37 $sql .= "', eq_batch_size='" . $_POST['eq_batch_size']; |
37 $sql .= "', eq_batch_size='" . $_POST['eq_batch_size']; |
38 $sql .= "', eq_tun_volume='" . $_POST['eq_tun_volume']; |
38 $sql .= "', eq_tun_volume='" . $_POST['eq_tun_volume']; |
39 $sql .= "', eq_tun_weight='" . $_POST['eq_tun_weight']; |
39 $sql .= "', eq_tun_weight='" . $_POST['eq_tun_weight']; |
40 $material = mysqli_real_escape_string($connect, $_GET['tun_material']); |
40 $sql .= "', eq_tun_specific_heat='" . $_POST['eq_tun_specific_heat']; |
41 $sql .= "', eq_tun_material='" . $material; |
41 $sql .= "', eq_tun_material='" . mysqli_real_escape_string($connect, $_POST['eq_tun_material']); |
42 if ($material == "RVS") { |
|
43 $sql .= "', eq_tun_specific_heat='0.11"; |
|
44 } else if ($material == "Aluminium") { |
|
45 $sql .= "', eq_tun_specific_heat='0.22"; |
|
46 } else if ($material == "Kunststof") { |
|
47 $sql .= "', eq_tun_specific_heat='0.46"; |
|
48 } else if ($material == "Koper") { |
|
49 $sql .= "', eq_tun_specific_heat='0.092"; |
|
50 } |
|
51 $sql .= "', eq_tun_height='" . $_POST['eq_tun_height']; |
42 $sql .= "', eq_tun_height='" . $_POST['eq_tun_height']; |
52 $sql .= "', eq_top_up_water='" . $_POST['eq_top_up_water']; |
43 $sql .= "', eq_top_up_water='" . $_POST['eq_top_up_water']; |
53 $sql .= "', eq_trub_chiller_loss='" . $_POST['eq_trub_chiller_loss']; |
44 $sql .= "', eq_trub_chiller_loss='" . $_POST['eq_trub_chiller_loss']; |
54 $sql .= "', eq_evap_rate='" . $_POST['eq_evap_rate']; |
45 $sql .= "', eq_evap_rate='" . $_POST['eq_evap_rate']; |
55 $sql .= "', eq_boil_time='" . $_POST['eq_boil_time']; |
46 $sql .= "', eq_boil_time='" . $_POST['eq_boil_time']; |
56 $sql .= "', eq_calc_boil_volume='" . $_POST['eq_calc_boil_volume']; |
47 $sql .= "', eq_calc_boil_volume='" . $_POST['eq_calc_boil_volume']; |
57 $sql .= "', eq_top_up_kettle='" . $_POST['eq_top_up_kettle']; |
48 $sql .= "', eq_top_up_kettle='" . $_POST['eq_top_up_kettle']; |
58 $sql .= "', eq_hop_utilization='" . $_POST['eq_hop_utilization']; |
49 $sql .= "', eq_hop_utilization='" . $_POST['eq_hop_utilization']; |
|
50 $sql .= "', eq_notes='" . mysqli_real_escape_string($connect, $_POST['eq_notes']); |
59 $sql .= "', eq_lauter_volume='" . $_POST['eq_lauter_volume']; |
51 $sql .= "', eq_lauter_volume='" . $_POST['eq_lauter_volume']; |
60 $sql .= "', eq_lauter_height='" . $_POST['eq_lauter_height']; |
52 $sql .= "', eq_lauter_height='" . $_POST['eq_lauter_height']; |
61 $sql .= "', eq_lauter_deadspace='" . $_POST['eq_lauter_deadspace']; |
53 $sql .= "', eq_lauter_deadspace='" . $_POST['eq_lauter_deadspace']; |
62 $sql .= "', eq_kettle_volume='" . $_POST['eq_kettle_volume']; |
54 $sql .= "', eq_kettle_volume='" . $_POST['eq_kettle_volume']; |
63 $sql .= "', eq_kettle_height='" . $_POST['eq_kettle_height']; |
55 $sql .= "', eq_kettle_height='" . $_POST['eq_kettle_height']; |
64 $sql .= "', eq_mash_volume='" . $_POST['eq_mash_volume']; |
56 $sql .= "', eq_mash_volume='" . $_POST['eq_mash_volume']; |
65 $sql .= "', eq_efficiency='" . $_POST['eq_efficiency']; |
57 $sql .= "', eq_efficiency='" . $_POST['eq_efficiency']; |
66 $sql .= "', eq_top_up_water='" . $_POST['eq_top_up_water']; |
|
67 |
58 |
68 syslog(LOG_NOTICE, $sql); |
59 syslog(LOG_NOTICE, $sql); |
69 if (isset($_POST['insert'])) { |
60 if (isset($_POST['insert'])) { |
70 $sql .= "';"; |
61 $sql .= "';"; |
71 } |
62 } |
86 // } |
79 // } |
87 // } |
80 // } |
88 // echo $result; |
81 // echo $result; |
89 |
82 |
90 } else if (isset($_POST['delete'])) { |
83 } else if (isset($_POST['delete'])) { |
91 // DELETE COMMAND |
84 /* |
92 $sql = "DELETE FROM `prod_main` WHERE record='".$_POST['record']."';"; |
85 * DELETE command, first delete the recipe and then the product. |
93 syslog(LOG_NOTICE, $sql); |
86 */ |
94 // $result = mysqli_query($connect, $sql); |
87 $sql = "DELETE FROM `prod_recipes` WHERE uuid='".$_POST['uuid']."';"; |
95 // if (! $result) { |
88 $result = mysqli_query($connect, $sql); |
96 // syslog(LOG_NOTICE, "db_product: result: ".mysqli_error($connect)); |
89 if (! $result) { |
97 // } else { |
90 syslog(LOG_NOTICE, "db_product: ".$sql." result: ".mysqli_error($connect)); |
98 // syslog(LOG_NOTICE, "db_product: deleted record ".$_POST['record']); |
91 } else { |
99 // } |
92 syslog(LOG_NOTICE, "db_product: deleted recipe uuid ".$_POST['uuid']); |
100 // echo $result; |
93 } |
|
94 |
|
95 $sql = "DELETE FROM `prod_main` WHERE puuid='".$_POST['uuid']."';"; |
|
96 $result = mysqli_query($connect, $sql); |
|
97 if (! $result) { |
|
98 syslog(LOG_NOTICE, "db_product: ".$sql." result: ".mysqli_error($connect)); |
|
99 } else { |
|
100 syslog(LOG_NOTICE, "db_product: deleted product uuid ".$_POST['uuid']); |
|
101 } |
|
102 echo $result; |
101 |
103 |
102 } else { |
104 } else { |
103 // syslog(LOG_NOTICE, "db_product: select"); |
105 /* |
104 // if (isset($_GET['select'])) { |
106 * SELECT, produce a list of products that are not yet Closed. |
105 // syslog(LOG_NOTICE, "db_product: select isset ".$_GET['select']); |
107 */ |
106 // } |
|
107 // SELECT COMMAND |
|
108 if (isset($_GET['select']) && ($_GET['select'] == "inprod")) { |
108 if (isset($_GET['select']) && ($_GET['select'] == "inprod")) { |
109 $query = "SELECT record,name,code,birth,stage FROM prod_main WHERE stage != 'Closed' ORDER BY birth,code;"; |
109 $query = "SELECT record,pname,code,birth,stage FROM prod_main WHERE stage != 'Closed' ORDER BY birth,code;"; |
110 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); |
110 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); |
111 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { |
111 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { |
112 $brews[] = array( |
112 $brews[] = array( |
113 'record' => $row['record'], |
113 'record' => $row['record'], |
114 'name' => $row['name'], |
114 'pname' => $row['pname'], |
115 'code' => $row['code'], |
115 'code' => $row['code'], |
116 'birth' => $row['birth'], |
116 'birth' => $row['birth'], |
117 'stage' => $row['stage'] |
117 'stage' => $row['stage'] |
118 ); |
118 ); |
119 } |
119 } |
120 echo json_encode($brews); |
120 echo json_encode($brews); |
121 return; |
121 return; |
122 } |
122 } |
123 |
123 |
124 /* |
124 /* |
125 * Default, select all |
125 * Default, select all or a given record. |
126 */ |
126 */ |
127 if (isset($_GET['record'])) { |
127 if (isset($_GET['record'])) { |
128 syslog(LOG_NOTICE, "Request record GET " . $_GET['record']); |
128 $query = "SELECT * FROM prod_main LEFT JOIN prod_recipes ON puuid = uuid WHERE prod_main.record='"; |
129 } else if (isset($_POST['record'])) { |
129 $query .= $_GET['record'] . "';"; |
130 syslog(LOG_NOTICE, "Request record POST " . $_POST['record']); |
|
131 } else { |
130 } else { |
132 syslog(LOG_NOTICE, "No record requested"); |
131 $query = "SELECT * FROM prod_main LEFT JOIN prod_recipes ON puuid = uuid ORDER BY birth,code;"; |
133 } |
132 } |
134 $query = "SELECT * FROM prod_main LEFT JOIN prod_recipes ON prod_main.uuid = prod_recipes.uuid ORDER BY birth,code;"; |
|
135 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); |
133 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); |
136 $brews = '['; |
134 $brews = '['; |
137 $comma = FALSE; |
135 $comma = FALSE; |
138 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { |
136 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { |
139 // Manual encode to JSON. |
137 // Manual encode to JSON. |
140 if ($comma) |
138 if ($comma) |
141 $brews .= ','; |
139 $brews .= ','; |
142 $comma = TRUE; |
140 $comma = TRUE; |
143 $brew = '{"record":' . $row['record']; |
141 $brew = '{"record":' . $row['record']; |
144 $brew .= ',"uuid":"' . str_replace($escapers, $replacements, $row['uuid']); |
142 $brew .= ',"puuid":"' . str_replace($escapers, $replacements, $row['puuid']); |
145 $brew .= '","name":"' . str_replace($escapers, $replacements, $row['name']); |
143 $brew .= '","pname":"' . str_replace($escapers, $replacements, $row['pname']); |
146 $brew .= '","code":"' . str_replace($escapers, $replacements, $row['code']); |
144 $brew .= '","code":"' . str_replace($escapers, $replacements, $row['code']); |
147 $brew .= '","birth":"' . str_replace($escapers, $replacements, $row['birth']); |
145 $brew .= '","birth":"' . str_replace($escapers, $replacements, $row['birth']); |
148 $brew .= '","stage":"' . str_replace($escapers, $replacements, $row['stage']); |
146 $brew .= '","stage":"' . str_replace($escapers, $replacements, $row['stage']); |
149 $brew .= '","notes":"' . str_replace($escapers, $replacements, $row['notes']); |
147 $brew .= '","pnotes":"' . str_replace($escapers, $replacements, $row['pnotes']); |
150 $brew .= '","log_brew":' . $row['log_brew']; |
148 $brew .= '","log_brew":' . $row['log_brew']; |
151 $brew .= ',"log_fermentation":' . $row['log_fermentation']; |
149 $brew .= ',"log_fermentation":' . $row['log_fermentation']; |
152 $brew .= ',"inventory_reduced":' . $row['inventory_reduced']; |
150 $brew .= ',"inventory_reduced":' . $row['inventory_reduced']; |
153 $brew .= ',"locked":' . $row['locked']; |
151 $brew .= ',"plocked":' . $row['plocked']; |
154 $brew .= ',"eq_name":"' . str_replace($escapers, $replacements, $row['eq_name']); |
152 $brew .= ',"eq_name":"' . str_replace($escapers, $replacements, $row['eq_name']); |
155 $brew .= '","eq_notes":"' . str_replace($escapers, $replacements, $row['eq_notes']); |
153 $brew .= '","eq_notes":"' . str_replace($escapers, $replacements, $row['eq_notes']); |
156 $brew .= '","eq_boil_size":' . floatval($row['eq_boil_size']); |
154 $brew .= '","eq_boil_size":' . floatval($row['eq_boil_size']); |
157 $brew .= ',"eq_batch_size":' . floatval($row['eq_batch_size']); |
155 $brew .= ',"eq_batch_size":' . floatval($row['eq_batch_size']); |
158 $brew .= ',"eq_tun_volume":' . floatval($row['eq_tun_volume']); |
156 $brew .= ',"eq_tun_volume":' . floatval($row['eq_tun_volume']); |
197 $brew .= ',"brew_whirlpool2":' . floatval($row['brew_whirlpool2']); |
195 $brew .= ',"brew_whirlpool2":' . floatval($row['brew_whirlpool2']); |
198 $brew .= ',"brew_fermenter_volume":' . floatval($row['brew_fermenter_volume']); |
196 $brew .= ',"brew_fermenter_volume":' . floatval($row['brew_fermenter_volume']); |
199 $brew .= ',"brew_fermenter_extrawater":' . floatval($row['brew_fermenter_extrawater']); |
197 $brew .= ',"brew_fermenter_extrawater":' . floatval($row['brew_fermenter_extrawater']); |
200 $brew .= ',"brew_aeration_time":' . floatval($row['brew_aeration_time']); |
198 $brew .= ',"brew_aeration_time":' . floatval($row['brew_aeration_time']); |
201 $brew .= ',"brew_aeration_speed":' . floatval($row['brew_aeration_speed']); |
199 $brew .= ',"brew_aeration_speed":' . floatval($row['brew_aeration_speed']); |
202 $brew .= ',"brew_aeration_type":' . floatval($row['brew_aeration_type']); |
200 $brew .= ',"brew_aeration_type":"' . $row['brew_aeration_type']; |
203 $brew .= ',"brew_fermenter_sg":' . floatval($row['brew_fermenter_sg']); |
201 $brew .= '","brew_fermenter_sg":' . floatval($row['brew_fermenter_sg']); |
204 $brew .= ',"brew_fermenter_ibu":' . floatval($row['brew_fermenter_ibu']); |
202 $brew .= ',"brew_fermenter_ibu":' . floatval($row['brew_fermenter_ibu']); |
205 $brew .= ',"brew_date_end":"' . $row['brew_date_end']; |
203 $brew .= ',"brew_date_end":"' . $row['brew_date_end']; |
206 $brew .= '","brew_log_available":' . $row['brew_log_available']; |
204 $brew .= '","brew_log_available":' . $row['brew_log_available']; |
207 $brew .= ',"primary_start_temp":' . floatval($row['primary_start_temp']); |
205 $brew .= ',"primary_start_temp":' . floatval($row['primary_start_temp']); |
208 $brew .= ',"primary_max_temp":' . floatval($row['primary_max_temp']); |
206 $brew .= ',"primary_max_temp":' . floatval($row['primary_max_temp']); |
252 $brew .= ',"st_color_max":' . floatval($row['st_color_max']); |
250 $brew .= ',"st_color_max":' . floatval($row['st_color_max']); |
253 $brew .= ',"st_carb_min":' . floatval($row['st_carb_min']); |
251 $brew .= ',"st_carb_min":' . floatval($row['st_carb_min']); |
254 $brew .= ',"st_carb_max":' . floatval($row['st_carb_max']); |
252 $brew .= ',"st_carb_max":' . floatval($row['st_carb_max']); |
255 $brew .= ',"st_abv_min":' . floatval($row['st_abv_min']); |
253 $brew .= ',"st_abv_min":' . floatval($row['st_abv_min']); |
256 $brew .= ',"st_abv_max":' . floatval($row['st_abv_max']); |
254 $brew .= ',"st_abv_max":' . floatval($row['st_abv_max']); |
257 $brew .= ',"r_notes":"' . str_replace($escapers, $replacements, $row['notes']); |
255 $brew .= ',"notes":"' . str_replace($escapers, $replacements, $row['notes']); |
258 $brew .= '","type":"' . $row['type']; |
256 $brew .= '","type":"' . $row['type']; |
259 $brew .= '","batch_size":' . floatval($row['batch_size']); |
257 $brew .= '","batch_size":' . floatval($row['batch_size']); |
260 $brew .= ',"boil_size":' . floatval($row['boil_size']); |
258 $brew .= ',"boil_size":' . floatval($row['boil_size']); |
261 $brew .= ',"boil_time":' . floatval($row['boil_time']); |
259 $brew .= ',"boil_time":' . floatval($row['boil_time']); |
262 $brew .= ',"efficiency":' . floatval($row['efficiency']); |
260 $brew .= ',"efficiency":' . floatval($row['efficiency']); |