www/includes/db_inventory_water.php

Tue, 31 Aug 2021 20:48:37 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 31 Aug 2021 20:48:37 +0200
changeset 774
92e1e8f175a2
parent 767
08c0343b622b
child 785
aa79acfdf8a9
permissions
-rw-r--r--

Split batch, adjust mash step volume. In the duplicated log_brew handle the missing values. In save product, round the mash step sg to 4 decimals. In prod_edit, ingredients are stored as strings, not arrays. This triggered a memory corruption that only happened in rare circumstances. Don't fix mash step fields in the javascript, it is already done during load from the database. Calculation of the mash volume is rounded to 6 decimals. Enter mash step Brix/Plato value, the SG result is rounded to 4 decimals.

21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 require($_SERVER['DOCUMENT_ROOT']."/config.php");
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 require($_SERVER['DOCUMENT_ROOT']."/version.php");
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 #Connect to the database
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 if (! $connect) {
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
acb2d8098f19 Added inventory miscs and water sources.
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: 47
diff changeset
11 mysqli_set_charset($connect, "utf8" );
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12
767
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
13 $response = array(
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
14 'error' => false,
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
15 'msg' => 'Ok',
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
16 );
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17
205
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
18 if (isset($_POST['insert']) || isset($_POST['update'])) {
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
19 if (isset($_POST['insert'])) {
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
20 $sql = "INSERT INTO `inventory_waters` SET ";
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
21 }
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
22 if (isset($_POST['update'])) {
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
23 $sql = "UPDATE `inventory_waters` SET ";
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
24 }
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
25
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
26 $sql .= "name='" . mysqli_real_escape_string($connect, $_POST['name']);
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
27 ($_POST['unlimited_stock'] == 'true') ? $sql .= "', unlimited_stock='1" : $sql .= "', unlimited_stock='0";
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
28 $sql .= "', calcium='" . $_POST['calcium'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
29 $sql .= "', bicarbonate='" . $_POST['bicarbonate'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
30 $sql .= "', sulfate='" . $_POST['sulfate'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
31 $sql .= "', chloride='" . $_POST['chloride'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
32 $sql .= "', sodium='" . $_POST['sodium'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
33 $sql .= "', magnesium='" . $_POST['magnesium'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
34 $sql .= "', ph='" . $_POST['ph'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
35 $sql .= "', notes='" . mysqli_real_escape_string($connect, $_POST['notes']);
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
36 $sql .= "', total_alkalinity='" . $_POST['total_alkalinity'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
37 $sql .= "', inventory='" . $_POST['inventory'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
38 $sql .= "', cost='" . $_POST['cost'];
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
39 if (isset($_POST['insert'])) {
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
40 $sql .= "';";
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
41 }
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
42 if (isset($_POST['update'])) {
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
43 $sql .= "' WHERE record='" . $_POST['record'] . "';";
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
44 }
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 $result = mysqli_query($connect, $sql);
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 if (! $result) {
47
94cd5ac04b6a Changed always_on_stock to unlimited_stock. Fixed html page. Added tooltips. Changed grid columns layout.
Michiel Broek <mbroek@mbse.eu>
parents: 46
diff changeset
47 syslog(LOG_NOTICE, "db_inventory_waters: ".$sql." result: ".mysqli_error($connect));
767
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
48 $response['error'] = true;
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
49 $response['msg'] = "SQL fout: ".mysqli_error($connect);
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
50 }
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
51 exit(json_encode($response));
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52
205
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
53 } else if (isset($_POST['delete'])) {
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
54 // DELETE COMMAND
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
55 $sql = "DELETE FROM `inventory_waters` WHERE record='".$_POST['record']."';";
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 $result = mysqli_query($connect, $sql);
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 if (! $result) {
47
94cd5ac04b6a Changed always_on_stock to unlimited_stock. Fixed html page. Added tooltips. Changed grid columns layout.
Michiel Broek <mbroek@mbse.eu>
parents: 46
diff changeset
58 syslog(LOG_NOTICE, "db_inventory_waters: ".$sql." result: ".mysqli_error($connect));
767
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
59 $response['error'] = true;
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
60 $response['msg'] = "SQL fout: ".mysqli_error($connect);
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
61 }
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
62 exit(json_encode($response));
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 } else {
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 // SELECT COMMAND
205
08488ac3bbb1 Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
66 $query = "SELECT * FROM inventory_waters ORDER BY name";
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 $waters[] = array(
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 'record' => $row['record'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 'name' => $row['name'],
47
94cd5ac04b6a Changed always_on_stock to unlimited_stock. Fixed html page. Added tooltips. Changed grid columns layout.
Michiel Broek <mbroek@mbse.eu>
parents: 46
diff changeset
72 'unlimited_stock' => $row['unlimited_stock'],
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 'calcium' => $row['calcium'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 'bicarbonate' => $row['bicarbonate'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 'sulfate' => $row['sulfate'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 'chloride' => $row['chloride'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 'sodium' => $row['sodium'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 'magnesium' => $row['magnesium'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 'ph' => $row['ph'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 'notes' => $row['notes'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 'total_alkalinity' => $row['total_alkalinity'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 'inventory' => $row['inventory'],
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 'cost' => $row['cost']
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 );
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 }
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: 205
diff changeset
86 header("Content-type: application/json");
767
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
87 exit(json_encode($waters));
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 }
767
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
89
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
90 syslog(LOG_NOTICE, "db_inventory_water: missing arguments");
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
91 $response['error'] = true;
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
92 $response['msg'] = "missing arguments";
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
93 echo json_encode($response);
08c0343b622b Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.
Michiel Broek <mbroek@mbse.eu>
parents: 715
diff changeset
94
21
acb2d8098f19 Added inventory miscs and water sources.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 ?>

mercurial