www/includes/db_product.php

changeset 115
ad31f4bd4036
parent 114
4935e86b2775
child 119
ae5e8d740173
equal deleted inserted replaced
114:4935e86b2775 115:ad31f4bd4036
7 $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); 7 $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
8 if (! $connect) { 8 if (! $connect) {
9 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); 9 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
10 } 10 }
11 mysqli_set_charset($connect, "utf8" ); 11 mysqli_set_charset($connect, "utf8" );
12
13 $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
14 $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
12 15
13 16
14 if (isset($_POST['insert']) || isset($_POST['update'])) { 17 if (isset($_POST['insert']) || isset($_POST['update'])) {
15 if (isset($_POST['insert'])) { 18 if (isset($_POST['insert'])) {
16 $sql = "INSERT INTO `prod_main` SET "; 19 $sql = "INSERT INTO `prod_main` SET ";
58 $sql .= "', eq_lauter_deadspace='" . $_POST['eq_lauter_deadspace']; 61 $sql .= "', eq_lauter_deadspace='" . $_POST['eq_lauter_deadspace'];
59 $sql .= "', eq_kettle_volume='" . $_POST['eq_kettle_volume']; 62 $sql .= "', eq_kettle_volume='" . $_POST['eq_kettle_volume'];
60 $sql .= "', eq_kettle_height='" . $_POST['eq_kettle_height']; 63 $sql .= "', eq_kettle_height='" . $_POST['eq_kettle_height'];
61 $sql .= "', eq_mash_volume='" . $_POST['eq_mash_volume']; 64 $sql .= "', eq_mash_volume='" . $_POST['eq_mash_volume'];
62 $sql .= "', eq_efficiency='" . $_POST['eq_efficiency']; 65 $sql .= "', eq_efficiency='" . $_POST['eq_efficiency'];
63 66 $sql .= "', eq_top_up_water='" . $_POST['eq_top_up_water'];
64 67
65 syslog(LOG_NOTICE, $sql); 68 syslog(LOG_NOTICE, $sql);
66 if (isset($_POST['insert'])) { 69 if (isset($_POST['insert'])) {
67 $sql .= "';"; 70 $sql .= "';";
68 } 71 }
69 if (isset($_POST['update'])) { 72 if (isset($_POST['update'])) {
70 $sql .= "' WHERE record='" . $_POST['record'] . "';"; 73 $sql .= "' WHERE record='" . $_POST['record'] . "';";
71 } 74 }
72 75
73 $result = mysqli_query($connect, $sql); 76
74 if (! $result) { 77 // $result = mysqli_query($connect, $sql);
75 syslog(LOG_NOTICE, "db_product: result: ".mysqli_error($connect)); 78 // if (! $result) {
76 } else { 79 // syslog(LOG_NOTICE, "db_product: result: ".mysqli_error($connect));
77 if (isset($_POST['update'])) { 80 // } else {
78 syslog(LOG_NOTICE, "db_product: updated record ".$_POST['record']); 81 // if (isset($_POST['update'])) {
79 } else { 82 // syslog(LOG_NOTICE, "db_product: updated record ".$_POST['record']);
80 $lastid = mysqli_insert_id($connect); 83 // } else {
81 syslog(LOG_NOTICE, "db_product: inserted record ".$lastid); 84 // $lastid = mysqli_insert_id($connect);
82 } 85 // syslog(LOG_NOTICE, "db_product: inserted record ".$lastid);
83 } 86 // }
84 echo $result; 87 // }
88 // echo $result;
85 89
86 } else if (isset($_POST['delete'])) { 90 } else if (isset($_POST['delete'])) {
87 // DELETE COMMAND 91 // DELETE COMMAND
88 $sql = "DELETE FROM `prod_main` WHERE record='".$_POST['record']."';"; 92 $sql = "DELETE FROM `prod_main` WHERE record='".$_POST['record']."';";
89 syslog(LOG_NOTICE, $sql); 93 syslog(LOG_NOTICE, $sql);
118 } 122 }
119 123
120 /* 124 /*
121 * Default, select all 125 * Default, select all
122 */ 126 */
123 $query = "SELECT * FROM prod_main ORDER BY birth,code;"; 127 if (isset($_GET['record'])) {
128 syslog(LOG_NOTICE, "Request record GET " . $_GET['record']);
129 } else if (isset($_POST['record'])) {
130 syslog(LOG_NOTICE, "Request record POST " . $_POST['record']);
131 } else {
132 syslog(LOG_NOTICE, "No record requested");
133 }
134 $query = "SELECT * FROM prod_main LEFT JOIN prod_recipes ON prod_main.uuid = prod_recipes.uuid ORDER BY birth,code;";
124 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); 135 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
136 $brews = '[';
137 $comma = FALSE;
125 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 138 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
126 $brews[] = array( 139 // Manual encode to JSON.
127 'record' => $row['record'], 140 if ($comma)
128 'uuid' => $row['uuid'], 141 $brews .= ',';
129 'name' => $row['name'], 142 $comma = TRUE;
130 'code' => $row['code'], 143 $brew = '{"record":' . $row['record'];
131 'birth' => $row['birth'], 144 $brew .= ',"uuid":"' . str_replace($escapers, $replacements, $row['uuid']);
132 'stage' => $row['stage'], 145 $brew .= '","name":"' . str_replace($escapers, $replacements, $row['name']);
133 'notes' => $row['notes'], 146 $brew .= '","code":"' . str_replace($escapers, $replacements, $row['code']);
134 'log_brew' => $row['log_brew'], 147 $brew .= '","birth":"' . str_replace($escapers, $replacements, $row['birth']);
135 'log_fermentation' => $row['log_fermentation'], 148 $brew .= '","stage":"' . str_replace($escapers, $replacements, $row['stage']);
136 'inventory_reduced' => $row['inventory_reduced'], 149 $brew .= '","notes":"' . str_replace($escapers, $replacements, $row['notes']);
137 'locked' => $row['locked'], 150 $brew .= '","log_brew":' . $row['log_brew'];
138 'eq_name' => $row['eq_name'], 151 $brew .= ',"log_fermentation":' . $row['log_fermentation'];
139 'eq_notes' => $row['eq_notes'], 152 $brew .= ',"inventory_reduced":' . $row['inventory_reduced'];
140 'eq_boil_size' => $row['eq_boil_size'], 153 $brew .= ',"locked":' . $row['locked'];
141 'eq_batch_size' => $row['eq_batch_size'], 154 $brew .= ',"eq_name":"' . str_replace($escapers, $replacements, $row['eq_name']);
142 'eq_tun_volume' => $row['eq_tun_volume'], 155 $brew .= '","eq_notes":"' . str_replace($escapers, $replacements, $row['eq_notes']);
143 'eq_tun_weight' => $row['eq_tun_weight'], 156 $brew .= '","eq_boil_size":' . floatval($row['eq_boil_size']);
144 'eq_tun_specific_heat' => $row['eq_tun_specific_heat'], 157 $brew .= ',"eq_batch_size":' . floatval($row['eq_batch_size']);
145 'eq_tun_material' => $row['eq_tun_material'], 158 $brew .= ',"eq_tun_volume":' . floatval($row['eq_tun_volume']);
146 'eq_tun_height' => $row['eq_tun_height'], 159 $brew .= ',"eq_tun_weight":' . floatval($row['eq_tun_weight']);
147 'eq_top_up_water' => $row['eq_top_up_water'], 160 $brew .= ',"eq_tun_specific_heat":' . floatval($row['eq_tun_specific_heat']);
148 'eq_trub_chiller_loss' => $row['eq_trub_chiller_loss'], 161 $brew .= ',"eq_tun_material":"' . $row['eq_tun_material'];
149 'eq_evap_rate' => $row['eq_evap_rate'], 162 $brew .= '","eq_tun_height":' . floatval($row['eq_tun_height']);
150 'eq_boil_time' => $row['eq_boil_time'], 163 $brew .= ',"eq_top_up_water":' . floatval($row['eq_top_up_water']);
151 'eq_calc_boil_volume' => $row['eq_calc_boil_volume'], 164 $brew .= ',"eq_trub_chiller_loss":' . floatval($row['eq_trub_chiller_loss']);
152 'eq_top_up_kettle' => $row['eq_top_up_kettle'], 165 $brew .= ',"eq_evap_rate":' . floatval($row['eq_evap_rate']);
153 'eq_hop_utilization' => $row['eq_hop_utilization'], 166 $brew .= ',"eq_boil_time":' . floatval($row['eq_boil_time']);
154 'eq_lauter_volume' => $row['eq_lauter_volume'], 167 $brew .= ',"eq_calc_boil_volume":' . $row['eq_calc_boil_volume'];
155 'eq_lauter_height' => $row['eq_lauter_height'], 168 $brew .= ',"eq_calc_boil_volume":' . floatval($row['eq_calc_boil_volume']);
156 'eq_lauter_deadspace' => $row['eq_lauter_deadspace'], 169 $brew .= ',"eq_top_up_kettle":' . floatval($row['eq_top_up_kettle']);
157 'eq_kettle_volume' => $row['eq_kettle_volume'], 170 $brew .= ',"eq_hop_utilization":' . floatval($row['eq_hop_utilization']);
158 'eq_kettle_height' => $row['eq_kettle_height'], 171 $brew .= ',"eq_lauter_volume":' . floatval($row['eq_lauter_volume']);
159 'eq_mash_volume' => $row['eq_mash_volume'], 172 $brew .= ',"eq_lauter_height":' . floatval($row['eq_lauter_height']);
160 'eq_efficiency' => $row['eq_efficiency'], 173 $brew .= ',"eq_lauter_deadspace":' . floatval($row['eq_lauter_deadspace']);
161 'brew_date_start' => $row['brew_date_start'], 174 $brew .= ',"eq_kettle_volume":' . floatval($row['eq_kettle_volume']);
162 'brew_mash_ph' => $row['brew_mash_ph'], 175 $brew .= ',"eq_kettle_height":' . floatval($row['eq_kettle_height']);
163 'brew_mash_sg' => $row['brew_mash_sg'], 176 $brew .= ',"eq_mash_volume":' . floatval($row['eq_mash_volume']);
164 'brew_sparge_temperature' => $row['brew_sparge_temperature'], 177 $brew .= ',"eq_efficiency":' . floatval($row['eq_efficiency']);
165 'brew_sparge_volume' => $row['brew_sparge_volume'], 178 $brew .= ',"eq_top_up_water":' . floatval($row['eq_top_up_water']);
166 'brew_preboil_volume' => $row['brew_preboil_volume'], 179 $brew .= ',"brew_date_start":"' . $row['brew_date_start'];
167 'brew_preboil_sg' => $row['brew_preboil_sg'], 180 $brew .= '","brew_mash_ph":' . floatval($row['brew_mash_ph']);
168 'brew_preboil_ph' => $row['brew_preboil_ph'], 181 $brew .= ',"brew_mash_sg":' . floatval($row['brew_mash_sg']);
169 'brew_aboil_volume' => $row['brew_aboil_volume'], 182 $brew .= ',"brew_sparge_temperature":' . floatval($row['brew_sparge_temperature']);
170 'brew_aboil_sg' => $row['brew_aboil_sg'], 183 $brew .= ',"brew_sparge_volume":' . floatval($row['brew_sparge_volume']);
171 'brew_aboil_ph' => $row['brew_aboil_ph'], 184 $brew .= ',"brew_preboil_volume":' . floatval($row['brew_preboil_volume']);
172 'brew_aboil_efficiency' => $row['brew_aboil_efficiency'], 185 $brew .= ',"brew_preboil_sg":' . floatval($row['brew_preboil_sg']);
173 'brew_cooling_method' => $row['brew_cooling_method'], 186 $brew .= ',"brew_preboil_ph":' . floatval($row['brew_preboil_ph']);
174 'brew_cooling_time' => $row['brew_cooling_time'], 187 $brew .= ',"brew_aboil_volume":' . floatval($row['brew_aboil_volume']);
175 'brew_cooling_to' => $row['brew_cooling_to'], 188 $brew .= ',"brew_aboil_sg":' . floatval($row['brew_aboil_sg']);
176 'brew_whirlpool9' => $row['brew_whirlpool9'], 189 $brew .= ',"brew_aboil_ph":' . floatval($row['brew_aboil_ph']);
177 'brew_whirlpool7' => $row['brew_whirlpool7'], 190 $brew .= ',"brew_aboil_efficiency":' . floatval($row['brew_aboil_efficiency']);
178 'brew_whirlpool6' => $row['brew_whirlpool6'], 191 $brew .= ',"brew_cooling_method":"' . $row['brew_cooling_method'];
179 'brew_whirlpool2' => $row['brew_whirlpool2'], 192 $brew .= '","brew_cooling_time":' . floatval($row['brew_cooling_time']);
180 'brew_fermenter_volume' => $row['brew_fermenter_volume'], 193 $brew .= ',"brew_cooling_to":' . floatval($row['brew_cooling_to']);
181 'brew_fermenter_extrawater' => $row['brew_fermenter_extrawater'], 194 $brew .= ',"brew_whirlpool9":' . floatval($row['brew_whirlpool9']);
182 'brew_aeration_time' => $row['brew_aeration_time'], 195 $brew .= ',"brew_whirlpool7":' . floatval($row['brew_whirlpool7']);
183 'brew_aeration_speed' => $row['brew_aeration_speed'], 196 $brew .= ',"brew_whirlpool6":' . floatval($row['brew_whirlpool6']);
184 'brew_aeration_type' => $row['brew_aeration_type'], 197 $brew .= ',"brew_whirlpool2":' . floatval($row['brew_whirlpool2']);
185 'brew_fermenter_sg' => $row['brew_fermenter_sg'], 198 $brew .= ',"brew_fermenter_volume":' . floatval($row['brew_fermenter_volume']);
186 'brew_fermenter_ibu' => $row['brew_fermenter_ibu'], 199 $brew .= ',"brew_fermenter_extrawater":' . floatval($row['brew_fermenter_extrawater']);
187 'brew_date_end' => $row['brew_date_end'], 200 $brew .= ',"brew_aeration_time":' . floatval($row['brew_aeration_time']);
188 'brew_log_available' => $row['brew_log_available'], 201 $brew .= ',"brew_aeration_speed":' . floatval($row['brew_aeration_speed']);
189 'primary_start_temp' => $row['primary_start_temp'], 202 $brew .= ',"brew_aeration_type":' . floatval($row['brew_aeration_type']);
190 'primary_max_temp' => $row['primary_max_temp'], 203 $brew .= ',"brew_fermenter_sg":' . floatval($row['brew_fermenter_sg']);
191 'primary_end_temp' => $row['primary_end_temp'], 204 $brew .= ',"brew_fermenter_ibu":' . floatval($row['brew_fermenter_ibu']);
192 'primary_end_sg' => $row['primary_end_sg'], 205 $brew .= ',"brew_date_end":"' . $row['brew_date_end'];
193 'primary_end_date' => $row['primary_end_date'], 206 $brew .= '","brew_log_available":' . $row['brew_log_available'];
194 'secondary_temp' => $row['secondary_temp'], 207 $brew .= ',"primary_start_temp":' . floatval($row['primary_start_temp']);
195 'secondary_end_date' => $row['secondary_end_date'], 208 $brew .= ',"primary_max_temp":' . floatval($row['primary_max_temp']);
196 'tertiary_temp' => $row['tertiary_temp'], 209 $brew .= ',"primary_end_temp":' . floatval($row['primary_end_temp']);
197 'package_date' => $row['package_date'], 210 $brew .= ',"primary_end_sg":' . floatval($row['primary_end_sg']);
198 'bottle_amount' => $row['bottle_amount'], 211 $brew .= ',"primary_end_date":"' . $row['primary_end_date'];
199 'bottle_carbonation' => $row['bottle_carbonation'], 212 $brew .= '","secondary_temp":' . floatval($row['secondary_temp']);
200 'bottle_priming_sugar' => $row['bottle_priming_sugar'], 213 $brew .= ',"secondary_end_date":"' . $row['secondary_end_date'];
201 'bottle_priming_amount' => $row['bottle_priming_amount'], 214 $brew .= '","tertiary_temp":' . floatval($row['tertiary_temp']);
202 'bottle_carbonation_temp' => $row['bottle_carbonation_temp'], 215 $brew .= ',"package_date":"' . $row['package_date'];
203 'keg_amount' => $row['keg_amount'], 216 $brew .= '","bottle_amount":' . floatval($row['bottle_amount']);
204 'keg_carbonation' => $row['keg_carbonation'], 217 $brew .= ',"bottle_carbonation":' . floatval($row['bottle_carbonation']);
205 'keg_priming_sugar' => $row['keg_priming_sugar'], 218 $brew .= ',"bottle_priming_sugar":"' . str_replace($escapers, $replacements, $row['bottle_priming_sugar']);
206 'keg_priming_amount' => $row['keg_priming_amount'], 219 $brew .= '","bottle_priming_amount":' . floatval($row['bottle_priming_amount']);
207 'keg_carbonation_temp' => $row['keg_carbonation_temp'], 220 $brew .= ',"bottle_carbonation_temp":' . floatval($row['bottle_carbonation_temp']);
208 'keg_forced_carb' => $row['keg_forced_carb'], 221 $brew .= ',"keg_amount":' . floatval($row['keg_amount']);
209 'keg_pressure' => $row['keg_pressure'], 222 $brew .= ',"keg_carbonation":' . floatval($row['keg_carbonation']);
210 'keg_priming_factor' => $row['keg_priming_factor'], 223 $brew .= ',"keg_priming_sugar":"' . str_replace($escapers, $replacements, $row['keg_priming_sugar']);
211 'taste_notes' => $row['taste_notes'], 224 $brew .= '","keg_priming_amount":' . floatval($row['keg_priming_amount']);
212 'taste_rate' => $row['taste_rate'], 225 $brew .= ',"keg_carbonation_temp":' . floatval($row['keg_carbonation_temp']);
213 'taste_date' => $row['taste_date'], 226 $brew .= ',"keg_forced_carb":' . floatval($row['keg_forced_carb']);
214 'taste_color' => $row['taste_color'], 227 $brew .= ',"keg_pressure":' . floatval($row['keg_pressure']);
215 'taste_transparency' => $row['taste_transparency'], 228 $brew .= ',"keg_priming_factor":' . floatval($row['keg_priming_factor']);
216 'taste_head' => $row['taste_head'], 229 $brew .= ',"taste_notes":"' . str_replace($escapers, $replacements, $row['taste_notes']);
217 'taste_aroma' => $row['taste_aroma'], 230 $brew .= '","taste_rate":' . floatval($row['taste_rate']);
218 'taste_taste' => $row['taste_taste'], 231 $brew .= ',"taste_date":"' . str_replace($escapers, $replacements, $row['taste_date']);
219 'taste_mouthfeel' => $row['taste_mouthfeel'], 232 $brew .= '","taste_color":"' . str_replace($escapers, $replacements, $row['taste_color']);
220 'taste_aftertaste' => $row['taste_aftertaste'] 233 $brew .= '","taste_transparency":"' . str_replace($escapers, $replacements, $row['taste_transparency']);
221 ); 234 $brew .= '","taste_head":"' . str_replace($escapers, $replacements, $row['taste_head']);
222 } 235 $brew .= '","taste_aroma":"' . str_replace($escapers, $replacements, $row['taste_aroma']);
223 // syslog(LOG_NOTICE, json_encode($brews)); 236 $brew .= '","taste_taste":"' . str_replace($escapers, $replacements, $row['taste_taste']);
224 echo json_encode($brews); 237 $brew .= '","taste_mouthfeel":"' . str_replace($escapers, $replacements, $row['taste_mouthfeel']);
238 $brew .= '","taste_aftertaste":"' . str_replace($escapers, $replacements, $row['taste_aftertaste']);
239 $brew .= '","st_guide":"' . str_replace($escapers, $replacements, $row['st_guide']);
240 $brew .= '","st_letter":"' . str_replace($escapers, $replacements, $row['st_letter']);
241 $brew .= '","st_name":"' . str_replace($escapers, $replacements, $row['st_name']);
242 $brew .= '","st_type":"' . str_replace($escapers, $replacements, $row['st_type']);
243 $brew .= '","st_category":"' . str_replace($escapers, $replacements, $row['st_category']);
244 $brew .= '","st_category_number":' . floatval($row['st_category_number']);
245 $brew .= ',"st_og_min":' . floatval($row['st_og_min']);
246 $brew .= ',"st_og_max":' . floatval($row['st_og_max']);
247 $brew .= ',"st_fg_min":' . floatval($row['st_fg_min']);
248 $brew .= ',"st_fg_max":' . floatval($row['st_fg_max']);
249 $brew .= ',"st_ibu_min":' . floatval($row['st_ibu_min']);
250 $brew .= ',"st_ibu_max":' . floatval($row['st_ibu_max']);
251 $brew .= ',"st_color_min":' . floatval($row['st_color_min']);
252 $brew .= ',"st_color_max":' . floatval($row['st_color_max']);
253 $brew .= ',"st_carb_min":' . floatval($row['st_carb_min']);
254 $brew .= ',"st_carb_max":' . floatval($row['st_carb_max']);
255 $brew .= ',"st_abv_min":' . floatval($row['st_abv_min']);
256 $brew .= ',"st_abv_max":' . floatval($row['st_abv_max']);
257 $brew .= ',"r_notes":"' . str_replace($escapers, $replacements, $row['notes']);
258 $brew .= '","type":"' . $row['type'];
259 $brew .= '","batch_size":' . floatval($row['batch_size']);
260 $brew .= ',"boil_size":' . floatval($row['boil_size']);
261 $brew .= ',"boil_time":' . floatval($row['boil_time']);
262 $brew .= ',"efficiency":' . floatval($row['efficiency']);
263 $brew .= ',"est_og":' . floatval($row['est_og']);
264 $brew .= ',"est_fg":' . floatval($row['est_fg']);
265 $brew .= ',"est_abv":' . floatval($row['est_abv']);
266 $brew .= ',"est_carb":' . floatval($row['est_carb']);
267 $brew .= ',"est_color":' . floatval($row['est_color']);
268 $brew .= ',"color_method":"' . $row['color_method'];
269 $brew .= '","est_ibu":' . floatval($row['est_ibu']);
270 $brew .= ',"ibu_method":"' . $row['ibu_method'];
271 $brew .= '","mash_sparge_temp":' . $row['mash_sparge_temp'];
272 $brew .= ',"mash_ph":' . $row['mash_ph'];
273 $brew .= ',"mash_name":"' . $row['mash_name'];
274 $brew .= '","fermentables":' . $row['json_fermentables'];
275 $brew .= ',"hops":' . $row['json_hops'];
276 $brew .= ',"miscs":' . $row['json_miscs'];
277 $brew .= ',"yeasts":' . $row['json_yeasts'];
278 $brew .= ',"waters":' . $row['json_waters'];
279 $brew .= ',"mashs":' . $row['json_mashs'];
280 $brew .= '}';
281 // syslog(LOG_NOTICE, $brew);
282 $brews .= $brew;
283 // syslog(LOG_NOTICE, 'Size: '.strlen($brews).PHP_EOL);
284 }
285 $brews .= ']';
286 // syslog(LOG_NOTICE, $brews);
287 header("Content-type: application/json");
288 echo $brews;
225 } 289 }
226 ?> 290 ?>

mercurial