www/upl_brew.php

Wed, 14 Jul 2021 20:51:45 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 14 Jul 2021 20:51:45 +0200
changeset 772
f9d266eb0ec6
parent 299
047ead629d4a
permissions
-rw-r--r--

In product editor calculate fermentables before the first IBU calculation. In recipe editor changed to the new water calculations like in the product editor.

297
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 require_once('config.php');
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 $target_dir = "tmp/";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 $uploadOk = 1;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 // Check if file already exists
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 if (file_exists($target_file)) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 echo "Fout 1: bestand bestaat al. ";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 $uploadOk = 0;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 // Check file size
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 if ($_FILES["fileToUpload"]["size"] > 500000 && $uploadOk) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 echo "Fout 2: het bestand is te groot. ";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 $uploadOk = 0;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 // Allow certain file formats
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 if ($imageFileType != "json" && $uploadOk) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 echo "Fout 3: alleen JSON bestanden toegestaan. ";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 $uploadOk = 0;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 // Check if $uploadOk is set to 0 by an error
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 if ($uploadOk == 0) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 exit;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 echo "Verwerken bestand ". basename( $_FILES["fileToUpload"]["name"]). "<br />";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 } else {
299
047ead629d4a Accept yeast temperature limits from thermferm via MQTT. Send yeat temperature ranges to thermferm together with the beer parameters. Store yeast temperature limits in the mon_fermenters database table. The monitor fermenters screen adjusts the temperature color ranges.
Michiel Broek <mbroek@mbse.eu>
parents: 297
diff changeset
32 echo "Fout 4: er ging iets fout met de upload.";
297
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 exit;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 $json= file_get_contents($target_file);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 $brew = json_decode($json, true);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 $records = count($brew);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 if ($records != 1) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 echo "Fout 5: dit is geen JSON brouw logfile";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 exit;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 if (! $connect) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 echo "Fout 6: ".mysqli_connect_errno()." ".mysqli_connect_error();
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 exit;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 mysqli_set_charset($connect, "utf8" );
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 date_default_timezone_set('Europe/Amsterdam');
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 foreach($brew as $brewdata) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 foreach($brewdata as $item) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 $temps = $item['brewdata'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 $events = $item['annotations'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 $date = date("Y-m-d H:i:s" , strtotime($item['Date']));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 $code = strtok($item['Recipe'], " ");
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 $name = strtok('\0');
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 $insert = 0;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 $update = 0;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 $delete = 0;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 $sql = "SELECT uuid FROM products WHERE code='".$code."';";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 $result = mysqli_query($connect, $sql) or die("SQL Error 1: " . mysqli_error($connect));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 if ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 $uuid = $row['uuid'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 echo "Brouw: ".$code." ".$name."<br />";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 $sql = "DELETE FROM log_brews WHERE code='".$code."';";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 $result = mysqli_query($connect, $sql) or die("SQL Error 1: " . mysqli_error($connect));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 $delete += mysqli_affected_rows($connect);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 foreach($temps as $temp) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 // Create full datetime from the Label
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 $t = floatval(substr($temp['Label'], 0, 2)) * 60 + floatval(substr($temp['Label'], 3, 2));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 $time = new DateTime($date);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 $time->add(new DateInterval('PT' . $t . 'M'));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 $stamp = $time->format('Y-m-d H:i:s');
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 $sql = "INSERT INTO log_brews SET version='2";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 $sql .= "', datetime='" . $stamp;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 $sql .= "', uuid='" . $uuid;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 $sql .= "', code='" . $code;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 $sql .= "', name='" . mysqli_real_escape_string($connect, $name);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 $sql .= "', pv_mlt='" . $temp['MLT_pv'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 $sql .= "', sp_mlt='" . $temp['MLT_sp'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 $sql .= "', pwm_mlt='" . $temp['MLT_pwm'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 if (isset($temp['HLT_pv']))
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 $sql .= "', pv_hlt='" . $temp['HLT_pv'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 if (isset($temp['HLT_sp']))
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 $sql .= "', sp_hlt='" . $temp['HLT_sp'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 if (isset($temp['HLT_pwm']))
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 $sql .= "', pwm_hlt='" . $temp['HLT_pwm'];
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 $sql .= "';";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 $result = mysqli_query($connect, $sql) or die("SQL Error 1: " . mysqli_error($connect));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 $insert += mysqli_affected_rows($connect);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 // The events are annotations in the JSON file.
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 foreach($events as $event) {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 $t = floatval(substr($event['value'], 0, 2)) * 60 + floatval(substr($event['value'], 3, 2));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 $time = new DateTime($date);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 $time->add(new DateInterval('PT' . $t . 'M'));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 $stamp = $time->format('Y-m-d H:i:s');
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 $sql = "UPDATE log_brews SET event='".mysqli_real_escape_string($connect, $event['label']['content'])."' WHERE ";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 $sql .= "datetime='".$stamp."' AND uuid='".$uuid."';";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 $result = mysqli_query($connect, $sql) or die("SQL Error 1: " . mysqli_error($connect));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 $update += mysqli_affected_rows($connect);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 $sql = "UPDATE products SET log_brew='1' WHERE code='".$code."';";
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 $result = mysqli_query($connect, $sql) or die("SQL Error 1: " . mysqli_error($connect));
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 $update += mysqli_affected_rows($connect);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 echo "Database delete: ".$delete.", insert: ".$insert.", update: ".$update." records." . PHP_EOL;
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 }
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 // Don't clutter the upload directory.
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 unlink($target_file);
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 ?>

mercurial