www/export_styles.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 profile_styles ORDER BY style_guide,style_letter,name");
16
17
18 $styletype = array( 'Lager', 'Ale', 'Mead', 'Wheat', 'Mixed', 'Cider' );
19
20
21 /*
22 * Create beerxml output
23 */
24 $xw = xmlwriter_open_memory();
25 xmlwriter_set_indent($xw, 1);
26 $res = xmlwriter_set_indent_string($xw, ' ');
27
28 xmlwriter_start_document($xw, '1.0', 'UTF-8');
29
30
31 xmlwriter_start_element($xw, 'STYLES');
32 while ($row = mysqli_fetch_array($result)) {
33
34 xmlwriter_start_element($xw, 'STYLE');
35
36 xmlwriter_start_element($xw, 'VERSION');
37 xmlwriter_text($xw, '1');
38 xmlwriter_end_element($xw);
39
40 xmlwriter_start_element($xw, 'NAME');
41 xmlwriter_text($xw, $row['name']);
42 xmlwriter_end_element($xw);
43
44 // if (strlen($row['category'])) {
45 xmlwriter_start_element($xw, 'CATEGORY');
46 xmlwriter_text($xw, $row['category']);
47 xmlwriter_end_element($xw);
48
49 xmlwriter_start_element($xw, 'CATEGORY_NUMBER');
50 xmlwriter_text($xw, $row['category_number']);
51 xmlwriter_end_element($xw);
52 // }
53
54 xmlwriter_start_element($xw, 'STYLE_LETTER');
55 xmlwriter_text($xw, $row['style_letter']);
56 xmlwriter_end_element($xw);
57
58 xmlwriter_start_element($xw, 'STYLE_GUIDE');
59 xmlwriter_text($xw, $row['style_guide']);
60 xmlwriter_end_element($xw);
61
62 xmlwriter_start_element($xw, 'TYPE');
63 xmlwriter_text($xw, $styletype[$row['type']]);
64 xmlwriter_end_element($xw);
65
66 xmlwriter_start_element($xw, 'OG_MIN');
67 xmlwriter_text($xw, sprintf("%.6f",floatval($row['og_min'])));
68 xmlwriter_end_element($xw);
69
70 xmlwriter_start_element($xw, 'OG_MAX');
71 xmlwriter_text($xw, sprintf("%.6f",floatval($row['og_max'])));
72 xmlwriter_end_element($xw);
73
74 xmlwriter_start_element($xw, 'FG_MIN');
75 xmlwriter_text($xw, sprintf("%.6f",floatval($row['fg_min'])));
76 xmlwriter_end_element($xw);
77
78 xmlwriter_start_element($xw, 'FG_MAX');
79 xmlwriter_text($xw, sprintf("%.6f",floatval($row['fg_max'])));
80 xmlwriter_end_element($xw);
81
82 xmlwriter_start_element($xw, 'IBU_MIN');
83 xmlwriter_text($xw, sprintf("%.3f",floatval($row['ibu_min'])));
84 xmlwriter_end_element($xw);
85
86 xmlwriter_start_element($xw, 'IBU_MAX');
87 xmlwriter_text($xw, sprintf("%.3f",floatval($row['ibu_max'])));
88 xmlwriter_end_element($xw);
89
90 xmlwriter_start_element($xw, 'COLOR_MIN');
91 xmlwriter_text($xw, sprintf("%.3f",ebc_to_srm(floatval($row['color_min']))));
92 xmlwriter_end_element($xw);
93
94 xmlwriter_start_element($xw, 'COLOR_MAX');
95 xmlwriter_text($xw, sprintf("%.3f",ebc_to_srm(floatval($row['color_max']))));
96 xmlwriter_end_element($xw);
97
98 xmlwriter_start_element($xw, 'CARB_MIN');
99 xmlwriter_text($xw, sprintf("%.4f",floatval($row['carb_min'])));
100 xmlwriter_end_element($xw);
101
102 xmlwriter_start_element($xw, 'CARB_MAX');
103 xmlwriter_text($xw, sprintf("%.4f",floatval($row['carb_max'])));
104 xmlwriter_end_element($xw);
105
106 xmlwriter_start_element($xw, 'ABV_MIN');
107 xmlwriter_text($xw, sprintf("%.4f",floatval($row['abv_min'])));
108 xmlwriter_end_element($xw);
109
110 xmlwriter_start_element($xw, 'ABV_MAX');
111 xmlwriter_text($xw, sprintf("%.4f",floatval($row['abv_max'])));
112 xmlwriter_end_element($xw);
113
114 if (strlen($row['notes'])) {
115 xmlwriter_start_element($xw, 'NOTES');
116 xmlwriter_text($xw, $row['notes']);
117 xmlwriter_end_element($xw);
118 }
119
120 if (strlen($row['profile'])) {
121 xmlwriter_start_element($xw, 'PROFILE');
122 xmlwriter_text($xw, $row['profile']);
123 xmlwriter_end_element($xw);
124 }
125
126 if (strlen($row['ingredients'])) {
127 xmlwriter_start_element($xw, 'INGREDIENTS');
128 xmlwriter_text($xw, $row['ingredients']);
129 xmlwriter_end_element($xw);
130 }
131
132 if (strlen($row['examples'])) {
133 xmlwriter_start_element($xw, 'EXAMPLES');
134 xmlwriter_text($xw, $row['examples']);
135 xmlwriter_end_element($xw);
136 }
137
138 xmlwriter_end_element($xw); // STYLE
139 }
140 xmlwriter_end_element($xw); // STYLES
141
142 $beerxml = xmlwriter_output_memory($xw);
143
144 Header('Content-type: text/xml');
145 header('Content-Disposition: attachment; filename="styles.xml"');
146 header('Content-Transfer-Encoding: binary');
147 header('Expires: 0');
148 header('Pragma: no-cache');
149 header('Content-Length: '.strlen($beerxml));
150 exit($beerxml);

mercurial