12 |
12 |
13 $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c"); |
13 $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c"); |
14 $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b"); |
14 $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b"); |
15 $rescapers = array("'"); |
15 $rescapers = array("'"); |
16 $rreplacements = array("\\'"); |
16 $rreplacements = array("\\'"); |
17 $disallowed = array('visibleindex','uniqueid','boundindex','uid','undefined'); |
|
18 |
17 |
19 if (isset($_GET['insert']) || isset($_GET['update'])) { |
18 if (isset($_POST['insert']) || isset($_POST['update'])) { |
20 if (isset($_GET['insert'])) { |
19 if (isset($_POST['insert'])) { |
21 $sql = "INSERT INTO `profile_fermentation` SET "; |
20 $sql = "INSERT INTO `profile_fermentation` SET "; |
22 } |
21 } |
23 if (isset($_GET['update'])) { |
22 if (isset($_POST['update'])) { |
24 $sql = "UPDATE `profile_fermentation` SET "; |
23 $sql = "UPDATE `profile_fermentation` SET "; |
25 } |
24 } |
26 |
25 |
27 if (isset($_GET['uuid']) && (strlen($_GET['uuid']) == 36)) { |
26 if (isset($_POST['uuid']) && (strlen($_POST['uuid']) == 36)) { |
28 $sql .= "uuid='" . $_GET['uuid']; |
27 $sql .= "uuid='" . $_POST['uuid']; |
29 } else { |
28 } else { |
30 $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid')); |
29 $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid')); |
31 $sql .= "uuid='" . $uuid; |
30 $sql .= "uuid='" . $uuid; |
32 } |
31 } |
33 |
32 |
34 $sql .= "', name='" . mysqli_real_escape_string($connect, $_GET['name']); |
33 $sql .= "', name='" . mysqli_real_escape_string($connect, $_POST['name']); |
35 $sql .= "', inittemp_lo='" . floatval($_GET['inittemp_lo']); |
34 $sql .= "', inittemp_lo='" . floatval($_POST['inittemp_lo']); |
36 $sql .= "', inittemp_hi='" . floatval($_GET['inittemp_hi']); |
35 $sql .= "', inittemp_hi='" . floatval($_POST['inittemp_hi']); |
37 ($_GET['fridgemode'] == 'true') ? $sql .= "', fridgemode='1" : $sql .= "', fridgemode='0"; |
36 ($_POST['fridgemode'] == 'true') ? $sql .= "', fridgemode='1" : $sql .= "', fridgemode='0"; |
38 $array = $_GET['steps']; |
37 $array = $_POST['steps']; |
39 // Don't believe given duration and number of steps, recalculate. |
38 // Don't believe given duration and number of steps, recalculate. |
40 $duration = 0; |
39 $duration = 0; |
41 $totalsteps = 0; |
40 $totalsteps = 0; |
|
41 $steps = '['; |
42 foreach($array as $key => $item) { |
42 foreach($array as $key => $item) { |
|
43 if ($totalsteps > 0) |
|
44 $steps.= ','; |
43 $totalsteps++; |
45 $totalsteps++; |
44 $duration += $item['steptime'] + $item['resttime']; |
46 $duration += $item['steptime'] + $item['resttime']; |
45 foreach ($disallowed as $disallowed_key) { |
47 $steps .= '{"name":"' . str_replace($rescapers,$rreplacements,$item['name']); |
46 unset($array[$key]["$disallowed_key"]); |
48 $steps .= '","steptime":' . $item['steptime']; |
47 } |
49 $steps .= ',"resttime":' . $item['resttime']; |
|
50 $steps .= ',"target_lo":' . $item['target_lo']; |
|
51 $steps .= ',"target_hi":' . $item['target_hi']; |
|
52 $steps .= ',"fridgemode":' . $item['fridgemode'] . '}'; |
48 } |
53 } |
|
54 $steps .= ']'; |
49 $sql .= "', totalsteps='" . $totalsteps; |
55 $sql .= "', totalsteps='" . $totalsteps; |
50 $sql .= "', duration='" . $duration; |
56 $sql .= "', duration='" . $duration; |
51 // syslog(LOG_NOTICE, "steps=: ". str_replace($rescapers,$rreplacements,json_encode($array))); |
57 syslog(LOG_NOTICE, $steps); |
52 $sql .= "', steps='" . str_replace($rescapers,$rreplacements,json_encode($array)); |
58 $sql .= "', steps='" . str_replace($rescapers,$rreplacements,json_encode($array)); |
53 if (isset($_GET['insert'])) { |
59 if (isset($_POST['insert'])) { |
54 $sql .= "';"; |
60 $sql .= "';"; |
55 } |
61 } |
56 if (isset($_GET['update'])) { |
62 if (isset($_POST['update'])) { |
57 $sql .= "' WHERE record='" . $_GET['record'] . "';"; |
63 $sql .= "' WHERE record='" . $_POST['record'] . "';"; |
58 } |
64 } |
59 syslog(LOG_NOTICE, $sql); |
65 syslog(LOG_NOTICE, $sql); |
60 $result = mysqli_query($connect, $sql); |
66 $result = mysqli_query($connect, $sql); |
61 if (! $result) { |
67 if (! $result) { |
62 syslog(LOG_NOTICE, "db_profile_fermentation: ".$sql." result: ".mysqli_error($connect)); |
68 syslog(LOG_NOTICE, "db_profile_fermentation: ".$sql." result: ".mysqli_error($connect)); |
63 } else { |
69 } else { |
64 if (isset($_GET['update'])) { |
70 if (isset($_POST['update'])) { |
65 syslog(LOG_NOTICE, "db_profile_fermentation: updated record ".$_GET['record']); |
71 syslog(LOG_NOTICE, "db_profile_fermentation: updated record ".$_POST['record']); |
66 } else { |
72 } else { |
67 $lastid = mysqli_insert_id($connect); |
73 $lastid = mysqli_insert_id($connect); |
68 syslog(LOG_NOTICE, "db_profile_fermentation: inserted record ".$lastid); |
74 syslog(LOG_NOTICE, "db_profile_fermentation: inserted record ".$lastid); |
69 } |
75 } |
70 } |
76 } |
71 echo $result; |
77 echo $result; |
72 |
78 |
73 } else if (isset($_GET['delete'])) { |
79 } else if (isset($_POST['delete'])) { |
74 // DELETE COMMAND |
80 // DELETE COMMAND |
75 $sql = "DELETE FROM `profile_fermentation` WHERE record='".$_GET['record']."';"; |
81 $sql = "DELETE FROM `profile_fermentation` WHERE record='".$_POST['record']."';"; |
76 $result = mysqli_query($connect, $sql); |
82 $result = mysqli_query($connect, $sql); |
77 if (! $result) { |
83 if (! $result) { |
78 syslog(LOG_NOTICE, "db_profile_fermentation: ".$sql." result: ".mysqli_error($connect)); |
84 syslog(LOG_NOTICE, "db_profile_fermentation: ".$sql." result: ".mysqli_error($connect)); |
79 } else { |
85 } else { |
80 syslog(LOG_NOTICE, "db_profile_fermentation: deleted record ".$_GET['record']); |
86 syslog(LOG_NOTICE, "db_profile_fermentation: deleted record ".$_POST['record']); |
81 } |
87 } |
82 echo $result; |
88 echo $result; |
83 |
89 |
84 } else { |
90 } else { |
85 // SELECT COMMAND |
91 // SELECT COMMAND |