www/export_fermentables.php

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

mercurial