Fri, 01 Feb 2019 22:00:49 +0100
Finished the water treatment in the recipes editor. It seems that the recipes editor is ready.
14 | 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:
37
diff
changeset
|
11 | mysqli_set_charset($connect, "utf8" ); |
14 | 12 | |
13 | // get data and store in a json array | |
198
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
14 | if (isset($_POST['insert']) || isset($_POST['update'])) { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
15 | if (isset($_POST['insert'])) { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
16 | $sql = "INSERT INTO `inventory_yeasts` SET "; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
17 | } |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
18 | if (isset($_POST['update'])) { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
19 | $sql = "UPDATE `inventory_yeasts` SET "; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
20 | } |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
21 | |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
22 | $sql .= "name='" . mysqli_real_escape_string($connect, $_POST['name']); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
23 | $sql .= "', type='" . $_POST['type']; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
24 | $sql .= "', form='" . $_POST['form']; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
25 | $sql .= "', laboratory='" . mysqli_real_escape_string($connect, $_POST['laboratory']); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
26 | $sql .= "', product_id='" . mysqli_real_escape_string($connect, $_POST['product_id']); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
27 | $sql .= "', min_temperature='" . $_POST['min_temperature']; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
28 | $sql .= "', max_temperature='" . $_POST['max_temperature']; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
29 | $sql .= "', flocculation='" . $_POST['flocculation']; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
30 | $sql .= "', attenuation='" . $_POST['attenuation']; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
31 | $sql .= "', notes='" . mysqli_real_escape_string($connect, $_POST['notes']); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
32 | $sql .= "', best_for='" . mysqli_real_escape_string($connect, $_POST['best_for']); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
33 | $sql .= "', max_reuse='" . $_POST['max_reuse']; |
201
f9b7e3f6be7c
Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
34 | $sql .= "', cells='" . floatval($_POST['cells']) * 1000000000.0; |
f9b7e3f6be7c
Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
35 | $sql .= "', inventory='" . $_POST['inventory']; |
198
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
36 | $sql .= "', cost='" . $_POST['cost'] . "'"; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
37 | if ($_POST['production_date'] == '') |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
38 | $sql .= ", production_date=NULL"; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
39 | else |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
40 | $sql .= ", production_date='" . $_POST['production_date'] . "'"; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
41 | if ($_POST['tht_date'] == '') |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
42 | $sql .= ", tht_date=NULL"; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
43 | else |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
44 | $sql .= ", tht_date='" . $_POST['tht_date'] . "'"; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
45 | if (isset($_POST['insert'])) { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
46 | $sql .= ";"; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
47 | } |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
48 | if (isset($_POST['update'])) { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
49 | $sql .= " WHERE record='" . $_POST['record'] . "';"; |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
50 | } |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
51 | syslog(LOG_NOTICE, $sql); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
52 | |
18
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
53 | $result = mysqli_query($connect, $sql); |
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
54 | if (! $result) { |
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
55 | syslog(LOG_NOTICE, "db_inventory_yeasts: ".$sql." result: ".mysqli_error($connect)); |
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
56 | } else { |
198
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
57 | if (isset($_POST['update'])) { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
58 | syslog(LOG_NOTICE, "db_inventory_yeasts: updated record ".$_POST['record']); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
59 | } else { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
60 | $lastid = mysqli_insert_id($connect); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
61 | syslog(LOG_NOTICE, "db_inventory_yeasts: inserted record ".$lastid); |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
62 | } |
18
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
63 | } |
14 | 64 | echo $result; |
65 | ||
198
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
66 | } else if (isset($_POST['delete'])) { |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
67 | // DELETE COMMAND |
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
68 | $sql = "DELETE FROM `inventory_yeasts` WHERE record='".$_POST['record']."';"; |
18
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
69 | $result = mysqli_query($connect, $sql); |
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
70 | if (! $result) { |
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
71 | syslog(LOG_NOTICE, "db_inventory_yeasts: ".$sql." result: ".mysqli_error($connect)); |
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
72 | } else { |
198
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
73 | syslog(LOG_NOTICE, "db_inventory_yeasts: deleted record ".$_POST['record']); |
18
395833e20f88
Better error messages in syslog
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
74 | } |
14 | 75 | echo $result; |
76 | ||
77 | } else { | |
78 | // SELECT COMMAND | |
198
f0ec83e1e01f
Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.
Michiel Broek <mbroek@mbse.eu>
parents:
77
diff
changeset
|
79 | $query = "SELECT * FROM inventory_yeasts ORDER BY laboratory,product_id,name"; |
14 | 80 | $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); |
81 | while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { | |
82 | $yeasts[] = array( | |
83 | 'record' => $row['record'], | |
84 | 'name' => $row['name'], | |
85 | 'type' => $row['type'], | |
86 | 'form' => $row['form'], | |
87 | 'laboratory' => $row['laboratory'], | |
88 | 'product_id' => $row['product_id'], | |
89 | 'min_temperature' => $row['min_temperature'], | |
90 | 'max_temperature' => $row['max_temperature'], | |
91 | 'flocculation' => $row['flocculation'], | |
92 | 'attenuation' => $row['attenuation'], | |
93 | 'notes' => $row['notes'], | |
94 | 'best_for' => $row['best_for'], | |
95 | 'max_reuse' => $row['max_reuse'], | |
201
f9b7e3f6be7c
Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
96 | 'inventory' => $row['inventory'], |
14 | 97 | 'cost' => $row['cost'], |
98 | 'production_date' => $row['production_date'], | |
201
f9b7e3f6be7c
Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
99 | 'tht_date' => $row['tht_date'], |
f9b7e3f6be7c
Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
100 | 'cells' => floatval($row['cells']) / 1000000000.0 |
14 | 101 | ); |
102 | } | |
103 | echo json_encode($yeasts); | |
104 | } | |
105 | ?> |