www/upl_yeasts.php

changeset 818
f9c071906643
parent 817
6ee186182c70
child 819
d759d9ed357e
equal deleted inserted replaced
817:6ee186182c70 818:f9c071906643
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 ?>

mercurial