www/includes/db_profile_fermentation.php

changeset 217
318aab371497
parent 189
6470e5c6a001
child 716
57118e6a4bdb
equal deleted inserted replaced
216:fda7286871f2 217:318aab371497
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
103 $profiles .= ',"duration":' . $row['duration']; 109 $profiles .= ',"duration":' . $row['duration'];
104 $profiles .= ',"steps":' . $row['steps']; 110 $profiles .= ',"steps":' . $row['steps'];
105 $profiles .= '}'; 111 $profiles .= '}';
106 } 112 }
107 $profiles .= ']'; 113 $profiles .= ']';
108 syslog(LOG_NOTICE, $profiles); 114 // syslog(LOG_NOTICE, $profiles);
109 header("Content-type: application/json"); 115 header("Content-type: application/json");
110 echo $profiles; 116 echo $profiles;
111 } 117 }
112 ?> 118 ?>

mercurial