Thu, 12 Oct 2023 14:19:46 +0200
Version 0.3.44. Moved iSpindel Plato calculation from the php script to bmsd. This uses calibration data in the mon_ispindels table. Setup of this data will be done by the bmsapp applications. Default settings are stored in MySQL. From now on you don't need to store calibration data in the iSpindel.
28 | 1 | <?php |
2 | ||
3 | require($_SERVER['DOCUMENT_ROOT']."/config.php"); | |
4 | require($_SERVER['DOCUMENT_ROOT']."/version.php"); | |
5 | ||
6 | #Connect to the database | |
7 | $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); | |
8 | if (! $connect) { | |
9 | die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); | |
10 | } | |
77
a9f8de2d7b2b
Fixed most charset problems. Added fpdf library. Added inventory pdf creation.
Michiel Broek <mbroek@mbse.eu>
parents:
48
diff
changeset
|
11 | mysqli_set_charset($connect, "utf8" ); |
28 | 12 | |
768
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
13 | $response = array( |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
14 | 'error' => false, |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
15 | 'msg' => 'Ok', |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
16 | ); |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
17 | |
217
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
18 | if (isset($_POST['insert']) || isset($_POST['update'])) { |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
19 | if (isset($_POST['insert'])) { |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
20 | $sql = "INSERT INTO `profile_styles` SET "; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
21 | } |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
22 | if (isset($_POST['update'])) { |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
23 | $sql = "UPDATE `profile_styles` SET "; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
24 | } |
785
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
25 | if (isset($_POST['uuid']) && (strlen($_POST['uuid']) == 36)) { |
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
26 | $sql .= "uuid='" . $_POST['uuid']; |
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
27 | } else { |
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
28 | $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid')); |
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
29 | $sql .= "uuid='" . $uuid; |
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
30 | } |
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
31 | $sql .= "', name='" . mysqli_real_escape_string($connect, $_POST['name']); |
217
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
32 | $sql .= "', category='" . mysqli_real_escape_string($connect, $_POST['category']); |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
33 | $sql .= "', category_number='" . $_POST['category_number']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
34 | $sql .= "', style_letter='" . mysqli_real_escape_string($connect, $_POST['style_letter']); |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
35 | $sql .= "', style_guide='" . mysqli_real_escape_string($connect, $_POST['style_guide']); |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
36 | $sql .= "', type='" . $_POST['type']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
37 | $sql .= "', og_min='" . $_POST['og_min']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
38 | $sql .= "', og_max='" . $_POST['og_max']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
39 | $sql .= "', fg_min='" . $_POST['fg_min']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
40 | $sql .= "', fg_max='" . $_POST['fg_max']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
41 | $sql .= "', ibu_min='" . $_POST['ibu_min']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
42 | $sql .= "', ibu_max='" . $_POST['ibu_max']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
43 | $sql .= "', color_min='" . $_POST['color_min']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
44 | $sql .= "', color_max='" . $_POST['color_max']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
45 | $sql .= "', carb_min='" . $_POST['carb_min']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
46 | $sql .= "', carb_max='" . $_POST['carb_max']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
47 | $sql .= "', abv_min='" . $_POST['abv_min']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
48 | $sql .= "', abv_max='" . $_POST['abv_max']; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
49 | $sql .= "', notes='" . mysqli_real_escape_string($connect, $_POST['notes']); |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
50 | $sql .= "', profile='" . mysqli_real_escape_string($connect, $_POST['profile']); |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
51 | $sql .= "', ingredients='" . mysqli_real_escape_string($connect, $_POST['ingredients']); |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
52 | $sql .= "', examples='" . mysqli_real_escape_string($connect, $_POST['examples']); |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
53 | if (isset($_POST['insert'])) { |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
54 | $sql .= "';"; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
55 | } |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
56 | if (isset($_POST['update'])) { |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
57 | $sql .= "' WHERE record='" . $_POST['record'] . "';"; |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
58 | } |
28 | 59 | $result = mysqli_query($connect, $sql); |
60 | if (! $result) { | |
45
95251bedfab4
Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents:
37
diff
changeset
|
61 | syslog(LOG_NOTICE, "db_profile_styles: ".$sql." result: ".mysqli_error($connect)); |
768
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
62 | $response['error'] = true; |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
63 | $response['msg'] = "SQL fout: ".mysqli_error($connect); |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
64 | } |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
65 | exit(json_encode($response)); |
28 | 66 | |
217
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
67 | } else if (isset($_POST['delete'])) { |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
68 | // DELETE COMMAND |
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
69 | $sql = "DELETE FROM `profile_styles` WHERE record='".$_POST['record']."';"; |
28 | 70 | $result = mysqli_query($connect, $sql); |
71 | if (! $result) { | |
45
95251bedfab4
Moved three inventory tables and screens to profiles
Michiel Broek <mbroek@mbse.eu>
parents:
37
diff
changeset
|
72 | syslog(LOG_NOTICE, "db_profile_styles: ".$sql." result: ".mysqli_error($connect)); |
768
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
73 | $response['error'] = true; |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
74 | $response['msg'] = "SQL fout: ".mysqli_error($connect); |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
75 | } |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
76 | exit(json_encode($response)); |
28 | 77 | |
78 | } else { | |
79 | // SELECT COMMAND | |
217
318aab371497
Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
80 | $query = "SELECT * FROM profile_styles ORDER BY style_guide,style_letter,name"; |
28 | 81 | $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); |
82 | while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { | |
83 | $styles[] = array( | |
84 | 'record' => $row['record'], | |
785
aa79acfdf8a9
Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.
Michiel Broek <mbroek@mbse.eu>
parents:
768
diff
changeset
|
85 | 'uuid' => $row['uuid'], |
28 | 86 | 'name' => $row['name'], |
87 | 'category' => $row['category'], | |
88 | 'category_number' => $row['category_number'], | |
89 | 'style_letter' => $row['style_letter'], | |
90 | 'style_guide' => $row['style_guide'], | |
91 | 'type' => $row['type'], | |
92 | 'og_min' => $row['og_min'], | |
93 | 'og_max' => $row['og_max'], | |
94 | 'fg_min' => $row['fg_min'], | |
95 | 'fg_max' => $row['fg_max'], | |
96 | 'ibu_min' => $row['ibu_min'], | |
97 | 'ibu_max' => $row['ibu_max'], | |
98 | 'color_min' => $row['color_min'], | |
99 | 'color_max' => $row['color_max'], | |
100 | 'carb_min' => $row['carb_min'], | |
101 | 'carb_max' => $row['carb_max'], | |
102 | 'abv_min' => $row['abv_min'], | |
103 | 'abv_max' => $row['abv_max'], | |
104 | 'notes' => $row['notes'], | |
105 | 'profile' => $row['profile'], | |
106 | 'ingredients' => $row['ingredients'], | |
107 | 'examples' => $row['examples'] | |
108 | ); | |
109 | } | |
296
69fadd1aded2
Updated design document. Add content header application/json to all scripts that produce json output. Chart prints show the beer code and name in the header. Charts don't display the menu anymore.
Michiel Broek <mbroek@mbse.eu>
parents:
217
diff
changeset
|
110 | header("Content-type: application/json"); |
768
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
111 | exit(json_encode($styles)); |
28 | 112 | } |
768
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
113 | |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
114 | syslog(LOG_NOTICE, "db_profile_styles: missing arguments"); |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
115 | $response['error'] = true; |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
116 | $response['msg'] = "missing arguments"; |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
117 | echo json_encode($response); |
ae1195153fa2
Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.
Michiel Broek <mbroek@mbse.eu>
parents:
716
diff
changeset
|
118 | |
28 | 119 | ?> |