www/export_fermentables.php

changeset 563
acdd54144838
child 786
c2cf34d3184a
equal deleted inserted replaced
562:ee28b3303da2 563:acdd54144838
1 <?php
2 require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
3 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
4
5
6 $link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
7 if (! $link) {
8 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
9 }
10 if (! mysqli_set_charset($link, "utf8" )) {
11 echo "error";
12 return 1;
13 }
14
15 $result = mysqli_query($link, "SELECT * FROM inventory_fermentables ORDER BY supplier,name");
16 $row = mysqli_fetch_array($result);
17
18
19 $fermentabletype = array( 'Grain', 'Sugar', 'Extract', 'Dry extract', 'Adjunct' );
20 $graintype = array( 'Base', 'Roast', 'Crystal', 'Kilned', 'Sour malt', 'Special', 'No malt' );
21 $addedtype = array( 'Mash', 'Boil', 'Fermentation', 'Lagering', 'Bottle', 'Kegs' );
22
23 /*
24 * Create beerxml output
25 */
26 $xw = xmlwriter_open_memory();
27 xmlwriter_set_indent($xw, 1);
28 $res = xmlwriter_set_indent_string($xw, ' ');
29
30 xmlwriter_start_document($xw, '1.0', 'UTF-8');
31
32
33 xmlwriter_start_element($xw, 'FERMENTABLES');
34 while ($row = mysqli_fetch_array($result)) {
35
36 xmlwriter_start_element($xw, 'FERMENTABLES');
37
38 xmlwriter_start_element($xw, 'VERSION');
39 xmlwriter_text($xw, '1');
40 xmlwriter_end_element($xw);
41
42 xmlwriter_start_element($xw, 'NAME');
43 xmlwriter_text($xw, $row['name']);
44 xmlwriter_end_element($xw);
45
46 xmlwriter_start_element($xw, 'NOTES');
47 xmlwriter_text($xw, $row['notes']);
48 xmlwriter_end_element($xw);
49
50 xmlwriter_start_element($xw, 'TYPE');
51 xmlwriter_text($xw, $fermentabletype[$row['type']]);
52 xmlwriter_end_element($xw);
53
54 xmlwriter_start_element($xw, 'YIELD');
55 xmlwriter_text($xw, sprintf("%.5f",floatval($row['yield'])));
56 xmlwriter_end_element($xw);
57
58 xmlwriter_start_element($xw, 'COLOR');
59 xmlwriter_text($xw, sprintf("%.3f",ebc_to_srm(floatval($row['color']))));
60 xmlwriter_end_element($xw);
61
62 xmlwriter_start_element($xw, 'ADD_AFTER_BOIL');
63 ($row['added'] > 1) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
64 xmlwriter_end_element($xw);
65
66 xmlwriter_start_element($xw, 'ORIGIN');
67 xmlwriter_text($xw, $row['origin']);
68 xmlwriter_end_element($xw);
69
70 xmlwriter_start_element($xw, 'SUPPLIER');
71 xmlwriter_text($xw, $row['supplier']);
72 xmlwriter_end_element($xw);
73
74 if (floatval($row['coarse_fine_diff'])) {
75 xmlwriter_start_element($xw, 'COARSE_FINE_DIFF');
76 xmlwriter_text($xw, sprintf("%.4f",floatval($row['coarse_fine_diff'])));
77 xmlwriter_end_element($xw);
78 }
79
80 if (floatval($row['moisture'])) {
81 xmlwriter_start_element($xw, 'MOISTURE');
82 xmlwriter_text($xw, sprintf("%.4f",floatval($row['moisture'])));
83 xmlwriter_end_element($xw);
84 }
85
86 if (floatval($row['diastatic_power'])) {
87 xmlwriter_start_element($xw, 'DIASTATIC_POWER');
88 xmlwriter_text($xw, sprintf("%.4f",floatval($row['diastatic_power'])));
89 xmlwriter_end_element($xw);
90 }
91
92 if (floatval($row['protein'])) {
93 xmlwriter_start_element($xw, 'PROTEIN');
94 xmlwriter_text($xw, sprintf("%.4f",floatval($row['protein'])));
95 xmlwriter_end_element($xw);
96 }
97
98 if (floatval($row['max_in_batch'])) {
99 xmlwriter_start_element($xw, 'MAX_IN_BATCH');
100 xmlwriter_text($xw, sprintf("%.3f",floatval($row['max_in_batch'])));
101 xmlwriter_end_element($xw);
102 }
103
104 xmlwriter_start_element($xw, 'RECOMMEND_MASH');
105 ($row['recommend_mash']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
106 xmlwriter_end_element($xw);
107
108 xmlwriter_start_element($xw, 'DISPLAY_COLOR');
109 xmlwriter_text($xw, sprintf("%.0f EBC",floatval($row['color'])));
110 xmlwriter_end_element($xw);
111
112 xmlwriter_start_element($xw, 'GRAINTYPE');
113 xmlwriter_text($xw, $graintype[$row['graintype']]);
114 xmlwriter_end_element($xw);
115
116 xmlwriter_start_element($xw, 'ADDED');
117 xmlwriter_text($xw, $addedtype[$row['added']]);
118 xmlwriter_end_element($xw);
119
120 if (floatval($row['di_ph'])) {
121 xmlwriter_start_element($xw, 'DI_pH');
122 xmlwriter_text($xw, sprintf("%.5f",floatval($row['di_ph'])));
123 xmlwriter_end_element($xw);
124 }
125
126 if (floatval($row['acid_to_ph_57'])) {
127 xmlwriter_start_element($xw, 'ACID_TO_pH_5.7');
128 xmlwriter_text($xw, sprintf("%.5f",floatval($row['acid_to_ph_57'])));
129 xmlwriter_end_element($xw);
130 }
131
132 xmlwriter_end_element($xw); // FERMENTABLE
133 }
134 xmlwriter_end_element($xw); // FERMENTABLES
135
136 $beerxml = xmlwriter_output_memory($xw);
137
138 Header('Content-type: text/xml');
139 header('Content-Disposition: attachment; filename="fermentables.xml"');
140 header('Content-Transfer-Encoding: binary');
141 header('Expires: 0');
142 header('Pragma: no-cache');
143 header('Content-Length: '.strlen($beerxml));
144 exit($beerxml);

mercurial