www/export_styles.php

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

mercurial