www/export_mashs.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_mash ORDER BY name");
16
17
18 $mashsteptype = array( 'Infusion', 'Temperature', 'Decoction' );
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, 'MASHS');
32 while ($row = mysqli_fetch_array($result)) {
33
34 xmlwriter_start_element($xw, 'MASH');
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['notes'])) {
45 xmlwriter_start_element($xw, 'NOTES');
46 xmlwriter_text($xw, $row['notes']);
47 xmlwriter_end_element($xw);
48 }
49
50 xmlwriter_start_element($xw, 'MASH_STEPS');
51 $arr = json_decode($row['steps'], true);
52 foreach($arr as $item) { //foreach element in $arr
53 xmlwriter_start_element($xw, 'MASH_STEP');
54
55 xmlwriter_start_element($xw, 'VERSION');
56 xmlwriter_text($xw, '1');
57 xmlwriter_end_element($xw);
58
59 xmlwriter_start_element($xw, 'NAME');
60 xmlwriter_text($xw, $item['step_name']);
61 xmlwriter_end_element($xw);
62
63 xmlwriter_start_element($xw, 'TYPE');
64 xmlwriter_text($xw, $mashsteptype[$item['step_type']]);
65 xmlwriter_end_element($xw);
66
67 xmlwriter_start_element($xw, 'STEP_TEMP');
68 xmlwriter_text($xw, sprintf("%.4f",floatval($item['step_temp'])));
69 xmlwriter_end_element($xw);
70
71 xmlwriter_start_element($xw, 'STEP_TIME');
72 xmlwriter_text($xw, sprintf("%.3f",floatval($item['step_time'])));
73 xmlwriter_end_element($xw);
74
75 xmlwriter_start_element($xw, 'RAMP_TIME');
76 xmlwriter_text($xw, sprintf("%.3f",floatval($item['ramp_time'])));
77 xmlwriter_end_element($xw);
78
79 xmlwriter_start_element($xw, 'END_TEMP');
80 xmlwriter_text($xw, sprintf("%.4f",floatval($item['end_temp'])));
81 xmlwriter_end_element($xw);
82
83 xmlwriter_end_element($xw); // MASH_STEP
84 }
85
86 xmlwriter_end_element($xw); // MASH_STEPS
87 xmlwriter_end_element($xw); // MASH
88 }
89 xmlwriter_end_element($xw); // MASHS
90
91 $beerxml = xmlwriter_output_memory($xw);
92
93 Header('Content-type: text/xml');
94 header('Content-Disposition: attachment; filename="mashs.xml"');
95 header('Content-Transfer-Encoding: binary');
96 header('Expires: 0');
97 header('Pragma: no-cache');
98 header('Content-Length: '.strlen($beerxml));
99 exit($beerxml);

mercurial