www/rec_export.php

changeset 231
9881453a49b3
parent 175
da16371538c3
equal deleted inserted replaced
230:8edca0488e65 231:9881453a49b3
21 $record = 148; 21 $record = 148;
22 $result = mysqli_query($link, "SELECT * FROM recipes WHERE record='".$record."'"); 22 $result = mysqli_query($link, "SELECT * FROM recipes WHERE record='".$record."'");
23 $row = mysqli_fetch_array($result); 23 $row = mysqli_fetch_array($result);
24 24
25 25
26 $recipetype = array( 'Extract', 'Partial Mash', 'All Grain' );
27 $styletype = array( 'Lager', 'Ale', 'Mead', 'Wheat', 'Mixed', 'Cider' );
28 $hoptype = array( 'Bittering', 'Aroma', 'Both' );
29 $hopform = array( 'Pellet', 'Plug', 'Leaf' );
30 $hopuse = array( 'Mash', 'First wort', 'Boil', 'Aroma', 'Whirlpool', 'Dry hop' );
31 $fermentabletype = array( 'Grain', 'Sugar', 'Extract', 'Dry extract', 'Adjunct' );
32 $graintype = array( 'Base', 'Roast', 'Crystal', 'Kilned', 'Sour malt', 'Special', 'No malt' );
33 $yeasttype = array( 'Lager', 'Ale', 'Wheat', 'Wine', 'Champagne' );
34 $yeastform = array( 'Liquid', 'Dry', 'Slant', 'Culture', 'Frozen', 'Bottle' );
35 $yeastuse = array( 'Primary', 'Secondary', 'Tertiary', 'Bottle' );
36 $misctype = array( 'Spice', 'Herb', 'Flavor', 'Fining', 'Water agent', 'Yeast nutrient', 'Other' );
37 $miscuse = array( 'Starter', 'Mash', 'Boil', 'Primary', 'Secondary', 'Bottling' );
38 $mashsteptype = array( 'Infusion', 'Temperature', 'Decoction' );
39
26 40
27 /* 41 /*
28 * Create beerxml output 42 * Create beerxml output
29 */ 43 */
30 $xw = xmlwriter_open_memory(); 44 $xw = xmlwriter_open_memory();
48 xmlwriter_start_element($xw, 'NOTES'); 62 xmlwriter_start_element($xw, 'NOTES');
49 xmlwriter_text($xw, $row['notes']); 63 xmlwriter_text($xw, $row['notes']);
50 xmlwriter_end_element($xw); 64 xmlwriter_end_element($xw);
51 65
52 xmlwriter_start_element($xw, 'TYPE'); 66 xmlwriter_start_element($xw, 'TYPE');
53 xmlwriter_text($xw, $row['type']); 67 xmlwriter_text($xw, $recipetype[$row['type']]);
54 xmlwriter_end_element($xw); 68 xmlwriter_end_element($xw);
55 69
56 xmlwriter_start_element($xw, 'BREWER'); 70 xmlwriter_start_element($xw, 'BREWER');
57 xmlwriter_text($xw, 'Anonymous'); 71 xmlwriter_text($xw, 'Anonymous');
58 xmlwriter_end_element($xw); 72 xmlwriter_end_element($xw);
71 85
72 xmlwriter_start_element($xw, 'EFFICIENCY'); 86 xmlwriter_start_element($xw, 'EFFICIENCY');
73 xmlwriter_text($xw, sprintf("%.1f",floatval($row['efficiency']))); 87 xmlwriter_text($xw, sprintf("%.1f",floatval($row['efficiency'])));
74 xmlwriter_end_element($xw); 88 xmlwriter_end_element($xw);
75 89
90
76 // Style 91 // Style
77 xmlwriter_start_element($xw, 'STYLE'); 92 xmlwriter_start_element($xw, 'STYLE');
78 93
79 xmlwriter_start_element($xw, 'VERSION'); 94 xmlwriter_start_element($xw, 'VERSION');
80 xmlwriter_text($xw, '1'); 95 xmlwriter_text($xw, '1');
99 xmlwriter_start_element($xw, 'STYLE_GUIDE'); 114 xmlwriter_start_element($xw, 'STYLE_GUIDE');
100 xmlwriter_text($xw, $row['st_guide']); 115 xmlwriter_text($xw, $row['st_guide']);
101 xmlwriter_end_element($xw); 116 xmlwriter_end_element($xw);
102 117
103 xmlwriter_start_element($xw, 'TYPE'); 118 xmlwriter_start_element($xw, 'TYPE');
104 xmlwriter_text($xw, $row['st_type']); 119 xmlwriter_text($xw, $styletype[$row['st_type']]);
105 xmlwriter_end_element($xw); 120 xmlwriter_end_element($xw);
106 121
107 xmlwriter_start_element($xw, 'OG_MIN'); 122 xmlwriter_start_element($xw, 'OG_MIN');
108 xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_og_min']))); 123 xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_og_min'])));
109 xmlwriter_end_element($xw); 124 xmlwriter_end_element($xw);
152 xmlwriter_text($xw, sprintf("%.1f",floatval($row['st_abv_max']))); 167 xmlwriter_text($xw, sprintf("%.1f",floatval($row['st_abv_max'])));
153 xmlwriter_end_element($xw); 168 xmlwriter_end_element($xw);
154 169
155 xmlwriter_end_element($xw); // STYLE 170 xmlwriter_end_element($xw); // STYLE
156 171
172
157 xmlwriter_start_element($xw, 'EQUIPMENT'); 173 xmlwriter_start_element($xw, 'EQUIPMENT');
158 174
159 xmlwriter_start_element($xw, 'VERSION'); 175 xmlwriter_start_element($xw, 'VERSION');
160 xmlwriter_text($xw, '1'); 176 xmlwriter_text($xw, '1');
161 xmlwriter_end_element($xw); 177 xmlwriter_end_element($xw);
175 xmlwriter_start_element($xw, 'BOIL_TIME'); 191 xmlwriter_start_element($xw, 'BOIL_TIME');
176 xmlwriter_text($xw, sprintf("%.0f",floatval($row['boil_time']))); 192 xmlwriter_text($xw, sprintf("%.0f",floatval($row['boil_time'])));
177 xmlwriter_end_element($xw); 193 xmlwriter_end_element($xw);
178 194
179 xmlwriter_end_element($xw); // EQUIPMENT 195 xmlwriter_end_element($xw); // EQUIPMENT
196
180 197
181 xmlwriter_start_element($xw, 'HOPS'); 198 xmlwriter_start_element($xw, 'HOPS');
182 $arr = json_decode($row['json_hops'], true); 199 $arr = json_decode($row['json_hops'], true);
183 foreach($arr as $item) { //foreach element in $arr 200 foreach($arr as $item) { //foreach element in $arr
184 201
199 xmlwriter_start_element($xw, 'AMOUNT'); 216 xmlwriter_start_element($xw, 'AMOUNT');
200 xmlwriter_text($xw, sprintf("%.4f",floatval($item['h_amount']))); 217 xmlwriter_text($xw, sprintf("%.4f",floatval($item['h_amount'])));
201 xmlwriter_end_element($xw); 218 xmlwriter_end_element($xw);
202 219
203 xmlwriter_start_element($xw, 'USE'); 220 xmlwriter_start_element($xw, 'USE');
204 xmlwriter_text($xw, $item['h_useat']); 221 xmlwriter_text($xw, $hopuse[$item['h_useat']]);
205 xmlwriter_end_element($xw); 222 xmlwriter_end_element($xw);
206 223
207 xmlwriter_start_element($xw, 'TIME'); 224 xmlwriter_start_element($xw, 'TIME');
208 xmlwriter_text($xw, $item['h_time']); 225 xmlwriter_text($xw, $item['h_time']);
209 xmlwriter_end_element($xw); 226 xmlwriter_end_element($xw);
210 227
211 xmlwriter_start_element($xw, 'TYPE'); 228 xmlwriter_start_element($xw, 'TYPE');
212 xmlwriter_text($xw, $item['h_type']); 229 xmlwriter_text($xw, $hoptype[$item['h_type']]);
213 xmlwriter_end_element($xw); 230 xmlwriter_end_element($xw);
214 231
215 xmlwriter_start_element($xw, 'FORM'); 232 xmlwriter_start_element($xw, 'FORM');
216 xmlwriter_text($xw, $item['h_form']); 233 xmlwriter_text($xw, $hopform[$item['h_form']]);
217 xmlwriter_end_element($xw); 234 xmlwriter_end_element($xw);
218 235
219 xmlwriter_start_element($xw, 'BETA'); 236 xmlwriter_start_element($xw, 'BETA');
220 xmlwriter_text($xw, sprintf("%.1f",floatval($item['h_beta']))); 237 xmlwriter_text($xw, sprintf("%.1f",floatval($item['h_beta'])));
221 xmlwriter_end_element($xw); 238 xmlwriter_end_element($xw);
229 xmlwriter_end_element($xw); 246 xmlwriter_end_element($xw);
230 247
231 xmlwriter_end_element($xw); // HOP 248 xmlwriter_end_element($xw); // HOP
232 } 249 }
233 xmlwriter_end_element($xw); // HOPS 250 xmlwriter_end_element($xw); // HOPS
251
234 252
235 xmlwriter_start_element($xw, 'FERMENTABLES'); 253 xmlwriter_start_element($xw, 'FERMENTABLES');
236 $arr = json_decode($row['json_fermentables'], true); 254 $arr = json_decode($row['json_fermentables'], true);
237 foreach($arr as $item) { //foreach element in $arr 255 foreach($arr as $item) { //foreach element in $arr
238 xmlwriter_start_element($xw, 'FERMENTABLE'); 256 xmlwriter_start_element($xw, 'FERMENTABLE');
244 xmlwriter_start_element($xw, 'NAME'); 262 xmlwriter_start_element($xw, 'NAME');
245 xmlwriter_text($xw, $item['f_name']); 263 xmlwriter_text($xw, $item['f_name']);
246 xmlwriter_end_element($xw); 264 xmlwriter_end_element($xw);
247 265
248 xmlwriter_start_element($xw, 'TYPE'); 266 xmlwriter_start_element($xw, 'TYPE');
249 xmlwriter_text($xw, $item['f_type']); 267 xmlwriter_text($xw, $fermentabletype[$item['f_type']]);
250 xmlwriter_end_element($xw); 268 xmlwriter_end_element($xw);
251 269
252 xmlwriter_start_element($xw, 'AMOUNT'); 270 xmlwriter_start_element($xw, 'AMOUNT');
253 xmlwriter_text($xw, sprintf("%.4f",floatval($item['f_amount']))); 271 xmlwriter_text($xw, sprintf("%.4f",floatval($item['f_amount'])));
254 xmlwriter_end_element($xw); 272 xmlwriter_end_element($xw);
306 xmlwriter_start_element($xw, 'RECOMMEND_MASH'); 324 xmlwriter_start_element($xw, 'RECOMMEND_MASH');
307 ($item['f_recommend_mash']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE'); 325 ($item['f_recommend_mash']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
308 xmlwriter_end_element($xw); 326 xmlwriter_end_element($xw);
309 327
310 xmlwriter_start_element($xw, 'GRAINTYPE'); 328 xmlwriter_start_element($xw, 'GRAINTYPE');
311 xmlwriter_text($xw, $item['f_graintype']); 329 xmlwriter_text($xw, $graintype[$item['f_graintype']]);
312 xmlwriter_end_element($xw); 330 xmlwriter_end_element($xw);
313 331
314 xmlwriter_end_element($xw); // FERMENTABLE 332 xmlwriter_end_element($xw); // FERMENTABLE
315 } 333 }
316 xmlwriter_end_element($xw); // FERMENTABLES 334 xmlwriter_end_element($xw); // FERMENTABLES
335
317 336
318 xmlwriter_start_element($xw, 'MISCS'); 337 xmlwriter_start_element($xw, 'MISCS');
319 $arr = json_decode($row['json_miscs'], true); 338 $arr = json_decode($row['json_miscs'], true);
320 foreach($arr as $item) { 339 foreach($arr as $item) {
321 340
328 xmlwriter_start_element($xw, 'NAME'); 347 xmlwriter_start_element($xw, 'NAME');
329 xmlwriter_text($xw, $item['m_name']); 348 xmlwriter_text($xw, $item['m_name']);
330 xmlwriter_end_element($xw); 349 xmlwriter_end_element($xw);
331 350
332 xmlwriter_start_element($xw, 'TYPE'); 351 xmlwriter_start_element($xw, 'TYPE');
333 xmlwriter_text($xw, $item['m_type']); 352 xmlwriter_text($xw, $misctype[$item['m_type']]);
334 xmlwriter_end_element($xw); 353 xmlwriter_end_element($xw);
335 354
336 xmlwriter_start_element($xw, 'AMOUNT'); 355 xmlwriter_start_element($xw, 'AMOUNT');
337 xmlwriter_text($xw, sprintf("%.5f",floatval($item['m_amount']))); 356 xmlwriter_text($xw, sprintf("%.5f",floatval($item['m_amount'])));
338 xmlwriter_end_element($xw); 357 xmlwriter_end_element($xw);
340 xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT'); 359 xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT');
341 ($item['m_amount_is_weight']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE'); 360 ($item['m_amount_is_weight']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
342 xmlwriter_end_element($xw); 361 xmlwriter_end_element($xw);
343 362
344 xmlwriter_start_element($xw, 'USE'); 363 xmlwriter_start_element($xw, 'USE');
345 xmlwriter_text($xw, $item['m_use_use']); 364 xmlwriter_text($xw, $miscuse[$item['m_use_use']]);
346 xmlwriter_end_element($xw); 365 xmlwriter_end_element($xw);
347 366
348 xmlwriter_start_element($xw, 'TIME'); 367 xmlwriter_start_element($xw, 'TIME');
349 xmlwriter_text($xw, sprintf("%.0f",floatval($item['m_time']))); 368 xmlwriter_text($xw, sprintf("%.0f",floatval($item['m_time'])));
350 xmlwriter_end_element($xw); 369 xmlwriter_end_element($xw);
351 370
352 xmlwriter_end_element($xw); // MISC 371 xmlwriter_end_element($xw); // MISC
353 } 372 }
354 xmlwriter_end_element($xw); // MISCS 373 xmlwriter_end_element($xw); // MISCS
374
355 375
356 xmlwriter_start_element($xw, 'YEASTS'); 376 xmlwriter_start_element($xw, 'YEASTS');
357 $arr = json_decode($row['json_yeasts'], true); 377 $arr = json_decode($row['json_yeasts'], true);
358 foreach($arr as $item) { //foreach element in $arr 378 foreach($arr as $item) { //foreach element in $arr
359 379
366 xmlwriter_start_element($xw, 'NAME'); 386 xmlwriter_start_element($xw, 'NAME');
367 xmlwriter_text($xw, $item['y_name']); 387 xmlwriter_text($xw, $item['y_name']);
368 xmlwriter_end_element($xw); 388 xmlwriter_end_element($xw);
369 389
370 xmlwriter_start_element($xw, 'TYPE'); 390 xmlwriter_start_element($xw, 'TYPE');
371 xmlwriter_text($xw, $item['y_type']); 391 xmlwriter_text($xw, $yeasttype[$item['y_type']]);
372 xmlwriter_end_element($xw); 392 xmlwriter_end_element($xw);
373 393
374 xmlwriter_start_element($xw, 'FORM'); 394 xmlwriter_start_element($xw, 'FORM');
375 xmlwriter_text($xw, $item['y_form']); 395 xmlwriter_text($xw, $yeastform[$item['y_form']]);
376 xmlwriter_end_element($xw); 396 xmlwriter_end_element($xw);
377 397
378 xmlwriter_start_element($xw, 'AMOUNT'); 398 xmlwriter_start_element($xw, 'AMOUNT');
379 xmlwriter_text($xw, sprintf("%.5f",floatval($item['y_amount']))); 399 xmlwriter_text($xw, sprintf("%.5f",floatval($item['y_amount'])));
380 xmlwriter_end_element($xw); 400 xmlwriter_end_element($xw);
381 401
382 xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT'); 402 xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT');
383 ($item['y_amount_is_weight']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE'); 403 ($item['y_form'] == 1) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
384 xmlwriter_end_element($xw); 404 xmlwriter_end_element($xw);
385 405
386 xmlwriter_start_element($xw, 'LABORATORY'); 406 xmlwriter_start_element($xw, 'LABORATORY');
387 xmlwriter_text($xw, $item['y_laboratory']); 407 xmlwriter_text($xw, $item['y_laboratory']);
388 xmlwriter_end_element($xw); 408 xmlwriter_end_element($xw);
402 xmlwriter_start_element($xw, 'ATTENUATION'); 422 xmlwriter_start_element($xw, 'ATTENUATION');
403 xmlwriter_text($xw, sprintf("%.1f",floatval($item['y_attenuation']))); 423 xmlwriter_text($xw, sprintf("%.1f",floatval($item['y_attenuation'])));
404 xmlwriter_end_element($xw); 424 xmlwriter_end_element($xw);
405 425
406 xmlwriter_start_element($xw, 'ADD_TO_SECONDARY'); 426 xmlwriter_start_element($xw, 'ADD_TO_SECONDARY');
407 ($item['y_use'] == 'Secondary') ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE'); 427 ($item['y_use'] == 0) ? xmlwriter_text($xw, 'FALSE') : xmlwriter_text($xw, 'TRUE');
408 xmlwriter_end_element($xw); 428 xmlwriter_end_element($xw);
409 429
410 xmlwriter_end_element($xw); // YEAST 430 xmlwriter_end_element($xw); // YEAST
411 } 431 }
412 xmlwriter_end_element($xw); // YEASTS 432 xmlwriter_end_element($xw); // YEASTS
433
413 434
414 xmlwriter_start_element($xw, 'WATERS'); 435 xmlwriter_start_element($xw, 'WATERS');
415 xmlwriter_start_element($xw, 'WATER'); // Source 1 436 xmlwriter_start_element($xw, 'WATER'); // Source 1
416 437
417 xmlwriter_start_element($xw, 'VERSION'); 438 xmlwriter_start_element($xw, 'VERSION');
500 xmlwriter_end_element($xw); 521 xmlwriter_end_element($xw);
501 522
502 xmlwriter_end_element($xw); // WATER 523 xmlwriter_end_element($xw); // WATER
503 } 524 }
504 xmlwriter_end_element($xw); // WATERS 525 xmlwriter_end_element($xw); // WATERS
526
505 527
506 xmlwriter_start_element($xw, 'MASH'); 528 xmlwriter_start_element($xw, 'MASH');
507 529
508 xmlwriter_start_element($xw, 'VERSION'); 530 xmlwriter_start_element($xw, 'VERSION');
509 xmlwriter_text($xw, '1'); 531 xmlwriter_text($xw, '1');
537 xmlwriter_start_element($xw, 'NAME'); 559 xmlwriter_start_element($xw, 'NAME');
538 xmlwriter_text($xw, $item['step_name']); 560 xmlwriter_text($xw, $item['step_name']);
539 xmlwriter_end_element($xw); 561 xmlwriter_end_element($xw);
540 562
541 xmlwriter_start_element($xw, 'TYPE'); 563 xmlwriter_start_element($xw, 'TYPE');
542 xmlwriter_text($xw, $item['step_type']); 564 xmlwriter_text($xw, $mashsteptype[$item['step_type']]);
543 xmlwriter_end_element($xw); 565 xmlwriter_end_element($xw);
544 566
545 if ($item['step_type'] == 'Infusion') { 567 if ($item['step_type'] == 0) {
546 xmlwriter_start_element($xw, 'INFUSE_AMOUNT'); 568 xmlwriter_start_element($xw, 'INFUSE_AMOUNT');
547 xmlwriter_text($xw, sprintf("%.1f",floatval($item['step_infuse_amount']))); 569 xmlwriter_text($xw, sprintf("%.1f",floatval($item['step_infuse_amount'])));
548 xmlwriter_end_element($xw); 570 xmlwriter_end_element($xw);
549 } 571 }
550 572
570 592
571 xmlwriter_end_element($xw); // MASH_STEP 593 xmlwriter_end_element($xw); // MASH_STEP
572 } 594 }
573 xmlwriter_end_element($xw); // MASH_STEPS 595 xmlwriter_end_element($xw); // MASH_STEPS
574 xmlwriter_end_element($xw); // MASH 596 xmlwriter_end_element($xw); // MASH
597
575 xmlwriter_end_element($xw); // RECIPE 598 xmlwriter_end_element($xw); // RECIPE
576 xmlwriter_end_element($xw); // RECIPES 599 xmlwriter_end_element($xw); // RECIPES
577 xmlwriter_end_document($xw); 600 xmlwriter_end_document($xw);
578 601
579 $beerxml = xmlwriter_output_memory($xw); 602 $beerxml = xmlwriter_output_memory($xw);

mercurial