www/upl_brew.php

Wed, 27 Feb 2019 14:39:25 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 27 Feb 2019 14:39:25 +0100
changeset 297
5e2424bfbc4a
child 299
047ead629d4a
permissions
-rw-r--r--

Added import brew json logfiles

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 {
5e2424bfbc4a Added import brew json logfiles
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 echo "Fout 4: er gieng iets fout met de upload.";
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