Thu, 01 Jul 2021 13:24:19 +0200
Added some tooltips to inventory yeasts. Added POF+ and STA1 columns to inventory yeasts list.
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | <?php |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | require($_SERVER['DOCUMENT_ROOT']."/config.php"); |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | require($_SERVER['DOCUMENT_ROOT']."/version.php"); |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | #Connect to the database |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | if (! $connect) { |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | } |
77
a9f8de2d7b2b
Fixed most charset problems. Added fpdf library. Added inventory pdf creation.
Michiel Broek <mbroek@mbse.eu>
parents:
50
diff
changeset
|
11 | mysqli_set_charset($connect, "utf8" ); |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | |
120 | 13 | $rescapers = array("'"); |
14 | $rreplacements = array("\\'"); | |
50
6d94167c2697
Next steps to implement a recipe editor
Michiel Broek <mbroek@mbse.eu>
parents:
45
diff
changeset
|
15 | |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
16 | if (isset($_POST['insert']) || isset($_POST['update'])) { |
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
17 | if (isset($_POST['insert'])) { |
120 | 18 | $sql = "INSERT INTO"; |
19 | } | |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
20 | if (isset($_POST['update'])) { |
120 | 21 | $sql = "UPDATE"; |
22 | } | |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
23 | $sql .= " `profile_mash` SET name='" . mysqli_real_escape_string($connect, $_POST['name']); |
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
24 | $sql .= "', notes='" . mysqli_real_escape_string($connect, $_POST['notes']); |
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
25 | $array = $_POST['steps']; |
215
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
26 | $comma = FALSE; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
27 | $steps = '['; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
28 | foreach($array as $key => $item) { |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
29 | /* |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
30 | * Manual encode to json. This eliminates the wrong UTF-8 encodings |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
31 | * but also removes the unwanted fields. |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
32 | */ |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
33 | if ($comma) |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
34 | $steps.= ','; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
35 | $steps .= '{"step_name":"' . str_replace($rescapers,$rreplacements,$item['step_name']); |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
36 | $steps .= '","step_type":' . $item['step_type']; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
37 | $steps .= ',"step_temp":' . $item['step_temp']; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
38 | $steps .= ',"end_temp":' . $item['end_temp']; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
39 | $steps .= ',"step_time":' . $item['step_time']; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
40 | $steps .= ',"ramp_time":' . $item['ramp_time'] . '}'; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
41 | $comma = TRUE; |
120 | 42 | } |
215
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
43 | $steps .= ']'; |
83cee005d2d9
Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.
Michiel Broek <mbroek@mbse.eu>
parents:
214
diff
changeset
|
44 | $sql .= "', steps='" . $steps; |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
45 | if (isset($_POST['insert'])) { |
120 | 46 | $sql .= "';"; |
47 | } | |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
48 | if (isset($_POST['update'])) { |
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
49 | $sql .= "' WHERE record='" . $_POST['record'] . "';"; |
120 | 50 | } |
716
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
51 | //syslog(LOG_NOTICE, $sql); |
214 | 52 | |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
53 | $result = mysqli_query($connect, $sql); |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
54 | if (! $result) { |
45
95251bedfab4
Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents:
38
diff
changeset
|
55 | syslog(LOG_NOTICE, "db_profile_mash: ".$sql." result: ".mysqli_error($connect)); |
716
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
56 | //} else { |
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
57 | // if (isset($_POST['update'])) { |
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
58 | // syslog(LOG_NOTICE, "db_profile_mash: updated record ".$_POST['record']); |
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
59 | // } else { |
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
60 | // $lastid = mysqli_insert_id($connect); |
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
61 | // syslog(LOG_NOTICE, "db_profile_mash: inserted record ".$lastid); |
57118e6a4bdb
Remove log messages if database profile updates are successfull.
Michiel Broek <mbroek@mbse.eu>
parents:
215
diff
changeset
|
62 | // } |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
63 | } |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
64 | echo $result; |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
65 | |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
66 | } else if (isset($_POST['delete'])) { |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
67 | // DELETE COMMAND |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
68 | $sql = "DELETE FROM `profile_mash` WHERE record='".$_POST['record']."';"; |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
69 | $result = mysqli_query($connect, $sql); |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
70 | if (! $result) { |
45
95251bedfab4
Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents:
38
diff
changeset
|
71 | syslog(LOG_NOTICE, "db_profile_mash: ".$sql." result: ".mysqli_error($connect)); |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
72 | } else { |
213
b0d484a5525e
First step to make profile mash work with indexes and make the edit screen universal.
Michiel Broek <mbroek@mbse.eu>
parents:
120
diff
changeset
|
73 | syslog(LOG_NOTICE, "db_profile_mash: deleted record ".$_POST['record']); |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
74 | } |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
75 | echo $result; |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
76 | |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
77 | } else { |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
78 | // SELECT COMMAND |
736
d3d8e3b30a34
Use mariadb JSON support for mash and fermentation profiles.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
79 | $query = "SELECT record,JSON_QUOTE(name),JSON_QUOTE(notes),steps FROM profile_mash ORDER BY name"; |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
80 | $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); |
38
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
81 | $mashprofiles = '['; |
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
82 | $comma = FALSE; |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
83 | while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { |
38
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
84 | // Manual encode to JSON. |
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
85 | if ($comma) { |
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
86 | $mashprofiles .= ','; |
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
87 | } |
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
88 | $comma = TRUE; |
736
d3d8e3b30a34
Use mariadb JSON support for mash and fermentation profiles.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
89 | $mashprofile = '{"record":' . $row['record']; |
d3d8e3b30a34
Use mariadb JSON support for mash and fermentation profiles.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
90 | $mashprofile .= ',"name":' . $row['JSON_QUOTE(name)']; |
d3d8e3b30a34
Use mariadb JSON support for mash and fermentation profiles.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
91 | $mashprofile .= ',"notes":' . $row['JSON_QUOTE(notes)']; |
d3d8e3b30a34
Use mariadb JSON support for mash and fermentation profiles.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
92 | $mashprofile .= ',"steps":' . $row['steps'] . '}'; |
d3d8e3b30a34
Use mariadb JSON support for mash and fermentation profiles.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
93 | //syslog(LOG_NOTICE, $mashprofile); |
d3d8e3b30a34
Use mariadb JSON support for mash and fermentation profiles.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
94 | $mashprofiles .= $mashprofile; |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
95 | } |
38
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
96 | $mashprofiles .= ']'; |
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
97 | header("Content-type: application/json"); |
b7d44c98d609
Initial setup for mash steps editing.
Michiel Broek <mbroek@mbse.eu>
parents:
25
diff
changeset
|
98 | echo $mashprofiles; |
23
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
99 | } |
4b157d7a1cee
Added first part of mash profiles. Steps are in the database but not in the web ui.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
100 | ?> |