Fri, 07 May 2021 13:20:53 +0200
Can start the daemon as root, and it will drop privileges.
563
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | <?php |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | require_once($_SERVER['DOCUMENT_ROOT'].'/config.php'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | $link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | if (! $link) { |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | } |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | if (! mysqli_set_charset($link, "utf8" )) { |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
11 | echo "error"; |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | return 1; |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
13 | } |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
14 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
15 | $result = mysqli_query($link, "SELECT * FROM inventory_miscs ORDER BY name"); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
16 | $row = mysqli_fetch_array($result); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
17 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | $misctype = array( 'Spice', 'Herb', 'Flavor', 'Fining', 'Water agent', 'Yeast nutrient', 'Other' ); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | $miscuse = array( 'Starter', 'Mash', 'Boil', 'Primary', 'Secondary', 'Bottling' ); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | /* |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | * Create beerxml output |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
26 | */ |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
27 | $xw = xmlwriter_open_memory(); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
28 | xmlwriter_set_indent($xw, 1); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
29 | $res = xmlwriter_set_indent_string($xw, ' '); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
30 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | xmlwriter_start_document($xw, '1.0', 'UTF-8'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
32 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
33 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
34 | xmlwriter_start_element($xw, 'MISCS'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
35 | while ($row = mysqli_fetch_array($result)) { |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
36 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
37 | xmlwriter_start_element($xw, 'MISC'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
38 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
39 | xmlwriter_start_element($xw, 'VERSION'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
40 | xmlwriter_text($xw, '1'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
41 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
42 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
43 | xmlwriter_start_element($xw, 'NAME'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
44 | xmlwriter_text($xw, $row['name']); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
45 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
46 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
47 | xmlwriter_start_element($xw, 'TYPE'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
48 | xmlwriter_text($xw, $misctype[$row['type']]); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
49 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
50 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
51 | xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
52 | ($row['amount_is_weight']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
53 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
54 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
55 | xmlwriter_start_element($xw, 'USE'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
56 | xmlwriter_text($xw, $miscuse[$row['use_use']]); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
57 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
58 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
59 | if (floatval($row['time']) > 0) { |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
60 | xmlwriter_start_element($xw, 'TIME'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
61 | xmlwriter_text($xw, sprintf("%.3f",floatval($row['time']))); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
62 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
63 | } |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
64 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
65 | if (floatval($row['cost']) > 0) { |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
66 | xmlwriter_start_element($xw, 'COST'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
67 | xmlwriter_text($xw, sprintf("%.5f",floatval($row['cost']))); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
68 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
69 | } |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
70 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
71 | xmlwriter_start_element($xw, 'ALWAYS_ON_STOCK'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
72 | ($row['always_on_stock']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
73 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
74 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
75 | if (strlen($row['notes'])) { |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
76 | xmlwriter_start_element($xw, 'NOTES'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
77 | xmlwriter_text($xw, $row['notes']); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
78 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
79 | } |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
80 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
81 | if (strlen($row['use_for'])) { |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
82 | xmlwriter_start_element($xw, 'USE_FOR'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
83 | xmlwriter_text($xw, $row['use_for']); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
84 | xmlwriter_end_element($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
85 | } |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
86 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
87 | xmlwriter_end_element($xw); // MISC |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
88 | } |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
89 | xmlwriter_end_element($xw); // MISCS |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
90 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
91 | $beerxml = xmlwriter_output_memory($xw); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
92 | |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
93 | Header('Content-type: text/xml'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
94 | header('Content-Disposition: attachment; filename="miscs.xml"'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
95 | header('Content-Transfer-Encoding: binary'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
96 | header('Expires: 0'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
97 | header('Pragma: no-cache'); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
98 | header('Content-Length: '.strlen($beerxml)); |
acdd54144838
Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
99 | exit($beerxml); |