1 <?php |
|
2 require_once('config.php'); |
|
3 require("version.php"); |
|
4 require("includes/formulas.php"); |
|
5 |
|
6 |
|
7 $target_dir = "tmp/"; |
|
8 $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); |
|
9 $uploadOk = 1; |
|
10 $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); |
|
11 |
|
12 // Check if file already exists |
|
13 if (file_exists($target_file)) { |
|
14 echo "Fout 1: bestand bestaat al. "; |
|
15 $uploadOk = 0; |
|
16 } |
|
17 // Check file size |
|
18 if ($_FILES["fileToUpload"]["size"] > 500000 && $uploadOk) { |
|
19 echo "Fout 2: het bestand is te groot. "; |
|
20 $uploadOk = 0; |
|
21 } |
|
22 // Allow certain file formats |
|
23 if ($imageFileType != "xml" && $uploadOk) { |
|
24 echo "Fout 3: alleen XML bestanden toegestaan. "; |
|
25 $uploadOk = 0; |
|
26 } |
|
27 // Check if $uploadOk is set to 0 by an error |
|
28 if ($uploadOk == 0) { |
|
29 exit; |
|
30 } |
|
31 |
|
32 if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { |
|
33 echo "Verwerken bestand ". basename( $_FILES["fileToUpload"]["name"]). "<br />"; |
|
34 } else { |
|
35 echo "Fout 4: er ging iets fout met de upload."; |
|
36 exit; |
|
37 } |
|
38 |
|
39 |
|
40 $db = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); |
|
41 if (! $db) { |
|
42 echo "Fout 5: ".mysqli_connect_errno()." ".mysqli_connect_error(); |
|
43 exit; |
|
44 } |
|
45 mysqli_set_charset($db, "utf8" ); |
|
46 date_default_timezone_set('Europe/Amsterdam'); |
|
47 |
|
48 |
|
49 $imported = 0; |
|
50 $yeasts = simplexml_load_file($target_file); |
|
51 |
|
52 foreach ($yeasts->YEAST as $yeast) { |
|
53 |
|
54 $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid')); |
|
55 $sql = "INSERT INTO inventory_yeasts SET uuid='" . $uuid; |
|
56 $sql .= "', name='" . mysqli_real_escape_string($db, $yeast->NAME); |
|
57 if ($yeast->TYPE == 'Lager') |
|
58 $sql .= "', type='0"; |
|
59 else if ($yeast->TYPE == 'Ale') |
|
60 $sql .= "', type='1"; |
|
61 else if ($yeast->TYPE == 'Wheat') |
|
62 $sql .= "', type='2"; |
|
63 else if ($yeast->TYPE == 'Wine') |
|
64 $sql .= "', type='3"; |
|
65 else if ($yeast->TYPE == 'Champagne') |
|
66 $sql .= "', type='4"; |
|
67 else |
|
68 echo "Unknown TYPE " . $yeast->TYPE . "<br />"; |
|
69 |
|
70 if ($yeast->FORM == 'Liquid') |
|
71 $sql .= "', form='0"; |
|
72 else if ($yeast->FORM == 'Dry') |
|
73 $sql .= "', form='1"; |
|
74 else if ($yeast->FORM == 'Slant') |
|
75 $sql .= "', form='2"; |
|
76 else if ($yeast->FORM == 'Culture') |
|
77 $sql .= "', form='3"; |
|
78 else if ($yeast->FORM == 'Frozen') |
|
79 $sql .= "', form='4"; |
|
80 else if ($yeast->FORM == 'Bottle') |
|
81 $sql .= "', form='5"; |
|
82 else |
|
83 echo "Unknown FORM " . $yeast->FORM . "<br />"; |
|
84 |
|
85 $sql .= "', laboratory='" . mysqli_real_escape_string($db, $yeast->LABORATORY); |
|
86 $sql .= "', product_id='" . mysqli_real_escape_string($db, $yeast->PRODUCT_ID); |
|
87 if ($yeast->MIN_TEMPERATURE) |
|
88 $sql .= "', min_temperature='" . floatval($yeast->MIN_TEMPERATURE); |
|
89 if ($yeast->MAX_TEMPERATURE) |
|
90 $sql .= "', max_temperature='" . floatval($yeast->MAX_TEMPERATURE); |
|
91 |
|
92 if ($yeast->FLOCCULATION == 'Low') |
|
93 $sql .= "', flocculation='0"; |
|
94 else if ($yeast->FLOCCULATION == 'Medium') |
|
95 $sql .= "', flocculation='1"; |
|
96 else if ($yeast->FLOCCULATION == 'High') |
|
97 $sql .= "', flocculation='2"; |
|
98 else if ($yeast->FLOCCULATION == 'Very high') |
|
99 $sql .= "', flocculation='3"; |
|
100 else |
|
101 echo "Unknown FLOCCULATION " . $yeast->FLOCCULATION . PHP_EOL; |
|
102 |
|
103 if ($yeast->ATTENUATION) |
|
104 $sql .= "', attenuation='" . floatval($yeast->ATTENUATION); |
|
105 $sql .= "', notes='" . mysqli_real_escape_string($db, $yeast->NOTES); |
|
106 $sql .= "', best_for='" . mysqli_real_escape_string($db, $yeast->BEST_FOR); |
|
107 if ($yeast->MAX_REUSE) |
|
108 $sql .= "', max_reuse='" . $yeast->MAX_REUSE; |
|
109 |
|
110 if ($yeast->FORM == 'Liquid') { |
|
111 if ($yeast->LABORATORY == 'Imperial Yeast') |
|
112 $sql .= "', cells='200000000000"; // 200 billion cells per pack |
|
113 else |
|
114 $sql .= "', cells='100000000000"; // 100 billion cells per pack |
|
115 if ($yeast->COST) |
|
116 $sql .= "', cost='" . floatval($yeast->COST); |
|
117 if ($yeast->INVENTORY) |
|
118 $sql .= "', inventory='" . floatval($yeast->INVENTORY); |
|
119 } else if ($yeast->FORM == 'Dry') { |
|
120 $sql .= "', cells='15000000000"; // 6..15 billion per gram |
|
121 if ($yeast->INVENTORY) |
|
122 $sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To kg |
|
123 if ($yeast->COST) |
|
124 $sql .= "', cost='" . floatval($yeast->COST) * 1000.0; // to Euro/kg |
|
125 } else { |
|
126 $sql .= "', cells='1700000000"; // 1.7 billion cells per ml. |
|
127 if ($yeast->INVENTORY) |
|
128 $sql .= "', inventory='" . floatval($yeast->INVENTORY) / 1000.0; // To liter |
|
129 if ($yeast->COST) |
|
130 $sql .= "', cost='" . floatval($yeast->COST) * 1000.0; // to Euro/liter |
|
131 } |
|
132 if ($yeast->CULTURE_DATE) { |
|
133 $date = substr($yeast->CULTURE_DATE, 6, 4) . '-' . substr($yeast->CULTURE_DATE, 3, 2) . '-' . substr($yeast->CULTURE_DATE, 0, 2); |
|
134 $sql .= "', production_date='" . $date; |
|
135 } |
|
136 $sql .= "';"; |
|
137 if (! $result = mysqli_query($db, $sql)) { |
|
138 echo "Fout 8: " . mysqli_error($db) . "<br />"; |
|
139 } else { |
|
140 echo "+ " . $yeast->NAME . "<br />"; |
|
141 $imported++; |
|
142 } |
|
143 } |
|
144 |
|
145 if ($imported == 0) { |
|
146 echo "Fout 7: geen gisten in dit bestand.<br />"; |
|
147 } else { |
|
148 echo $imported . " gisten toegevoegd.<br />"; |
|
149 } |
|
150 |
|
151 |
|
152 |
|
153 // Don't clutter the upload directory. |
|
154 unlink($target_file); |
|
155 |
|
156 ?> |
|