|
1 <?php |
|
2 |
|
3 require_once('config.php'); |
|
4 |
|
5 #Connect to the database |
|
6 $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); |
|
7 if (! $connect) { |
|
8 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); |
|
9 } |
|
10 mysqli_set_charset($connect, "utf8" ); |
|
11 |
|
12 if (isset($_POST['reduce']) && isset($_POST['uuid'])) { |
|
13 $sql1 = "SELECT * FROM products WHERE uuid = '" . $_POST['uuid'] . "';"; |
|
14 } else { |
|
15 exit; |
|
16 } |
|
17 |
|
18 //syslog(LOG_NOTICE, $sql1); |
|
19 |
|
20 $result1 = mysqli_query($connect, $sql1) or die("SQL Error 1: " . mysqli_error($connect)); |
|
21 while ($row = mysqli_fetch_array($result1, MYSQLI_ASSOC)) { |
|
22 |
|
23 if ($row['stage'] < 6) { |
|
24 syslog(LOG_NOTICE, "code: " . $row['code'] . " cannot reduce inventory, not yet packaged."); |
|
25 exit; |
|
26 } |
|
27 if ($row['inventory_reduced']) { |
|
28 syslog(LOG_NOTICE, "code: " . $row['code'] . " cannot reduce inventory, already reduced."); |
|
29 exit; |
|
30 } |
|
31 |
|
32 syslog(LOG_NOTICE, "Start reducing inventory from ". $row['code'].' '.$row['name']); |
|
33 |
|
34 $fermentables = json_decode($row['json_fermentables'], true); |
|
35 for ($i = 0; $i < count($fermentables); $i++) { |
|
36 |
|
37 $sql2 = "UPDATE inventory_fermentables SET inventory = inventory - " . $fermentables[$i]['f_amount']; |
|
38 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_name']); |
|
39 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_origin']); |
|
40 $sql2 .= "' AND supplier='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_supplier']); |
|
41 $sql2 .= "' AND inventory >= " . $fermentables[$i]['f_amount']; |
|
42 $sql2 .= " LIMIT 1;"; |
|
43 // syslog(LOG_NOTICE, $sql2); |
|
44 $result2 = mysqli_query($connect, $sql2); |
|
45 $ar = mysqli_affected_rows($connect); |
|
46 if ($ar == 1) { |
|
47 syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' with ".$fermentables[$i]['f_amount']." kg"); |
|
48 } else if ($ar == 0) { |
|
49 $sql2 = "UPDATE inventory_fermentables SET inventory = 0"; |
|
50 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_name']); |
|
51 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_origin']); |
|
52 $sql2 .= "' AND supplier='" . mysqli_real_escape_string($connect, $fermentables[$i]['f_supplier']); |
|
53 $sql2 .= "' AND inventory < " . $fermentables[$i]['f_amount']; |
|
54 $sql2 .= " LIMIT 1;"; |
|
55 // syslog(LOG_NOTICE, $sql2); |
|
56 $result2 = mysqli_query($connect, $sql2); |
|
57 $ar = mysqli_affected_rows($connect); |
|
58 if ($ar == 1) { |
|
59 syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' to 0 kg"); |
|
60 } else if ($ar == 0) { |
|
61 syslog(LOG_NOTICE, "Reduced fermentable `".$fermentables[$i]['f_name']."' from `".$fermentables[$i]['f_supplier']."' failed"); |
|
62 } |
|
63 // syslog(LOG_NOTICE, "affected rows: ".$ar); |
|
64 } |
|
65 } |
|
66 |
|
67 $hops = json_decode($row['json_hops'], true); |
|
68 for ($i = 0; $i < count($hops); $i++) { |
|
69 |
|
70 $sql2 = "UPDATE inventory_hops SET inventory = inventory - " . $hops[$i]['h_amount']; |
|
71 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $hops[$i]['h_name']); |
|
72 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $hops[$i]['h_origin']); |
|
73 $sql2 .= "' AND form=" . $hops[$i]['h_form']; |
|
74 $sql2 .= " AND inventory >= " . $hops[$i]['h_amount'] . " LIMIT 1;"; |
|
75 // syslog(LOG_NOTICE, $sql2); |
|
76 $result2 = mysqli_query($connect, $sql2); |
|
77 $ar = mysqli_affected_rows($connect); |
|
78 if ($ar == 1) { |
|
79 syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' with ".$hops[$i]['h_amount']." kg"); |
|
80 } else if ($ar == 0) { |
|
81 $sql2 = "UPDATE inventory_hops SET inventory = 0"; |
|
82 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $hops[$i]['h_name']); |
|
83 $sql2 .= "' AND origin='" . mysqli_real_escape_string($connect, $hops[$i]['h_origin']); |
|
84 $sql2 .= "' AND form=" . $hops[$i]['h_form']; |
|
85 $sql2 .= " AND inventory < " . $hops[$i]['h_amount'] . " LIMIT 1;"; |
|
86 // syslog(LOG_NOTICE, $sql2); |
|
87 $result2 = mysqli_query($connect, $sql2); |
|
88 $ar = mysqli_affected_rows($connect); |
|
89 if ($ar == 1) { |
|
90 syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' to 0 kg"); |
|
91 } else if ($ar == 0) { |
|
92 syslog(LOG_NOTICE, "Reduced hop `".$hops[$i]['h_name']."' from `".$hops[$i]['h_origin']."' failed"); |
|
93 } |
|
94 } |
|
95 } |
|
96 |
|
97 $miscs = json_decode($row['json_miscs'], true); |
|
98 for ($i = 0; $i < count($miscs); $i++) { |
|
99 |
|
100 $sql2 = "UPDATE inventory_miscs SET inventory = inventory - " . $miscs[$i]['m_amount']; |
|
101 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $miscs[$i]['m_name']); |
|
102 $sql2 .= "' AND inventory >= " . $miscs[$i]['m_amount'] . " LIMIT 1;"; |
|
103 // syslog(LOG_NOTICE, $sql2); |
|
104 $result2 = mysqli_query($connect, $sql2); |
|
105 $ar = mysqli_affected_rows($connect); |
|
106 if ($ar == 1) { |
|
107 syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' with ".$miscs[$i]['m_amount']); |
|
108 } else if ($ar == 0) { |
|
109 $sql2 = "UPDATE inventory_miscs SET inventory = 0"; |
|
110 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $miscs[$i]['m_name']); |
|
111 $sql2 .= "' AND inventory < " . $miscs[$i]['m_amount'] . " LIMIT 1;"; |
|
112 // syslog(LOG_NOTICE, $sql2); |
|
113 $result2 = mysqli_query($connect, $sql2); |
|
114 $ar = mysqli_affected_rows($connect); |
|
115 if ($ar == 1) { |
|
116 syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' to 0"); |
|
117 } else if ($ar == 0) { |
|
118 syslog(LOG_NOTICE, "Reduced misc `".$miscs[$i]['m_name']."' failed"); |
|
119 } |
|
120 } |
|
121 } |
|
122 |
|
123 $yeasts = json_decode($row['json_yeasts'], true); |
|
124 for ($i = 0; $i < count($yeasts); $i++) { |
|
125 |
|
126 $sql2 = "UPDATE inventory_yeasts SET inventory = inventory - " . $yeasts[$i]['y_amount']; |
|
127 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_name']); |
|
128 $sql2 .= "' AND laboratory='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_laboratory']); |
|
129 $sql2 .= "' AND product_id='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_product_id']); |
|
130 $sql2 .= "' AND form=" . $yeasts[$i]['y_form']; |
|
131 $sql2 .= " AND inventory >= " . $yeasts[$i]['y_amount'] . " LIMIT 1;"; |
|
132 // syslog(LOG_NOTICE, $sql2); |
|
133 $result2 = mysqli_query($connect, $sql2); |
|
134 $ar = mysqli_affected_rows($connect); |
|
135 if ($ar == 1) { |
|
136 syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' with ".$yeasts[$i]['y_amount']); |
|
137 } else if ($ar == 0) { |
|
138 $sql2 = "UPDATE inventory_yeasts SET inventory = 0"; |
|
139 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_name']); |
|
140 $sql2 .= "' AND laboratory='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_laboratory']); |
|
141 $sql2 .= "' AND product_id='" . mysqli_real_escape_string($connect, $yeasts[$i]['y_product_id']); |
|
142 $sql2 .= "' AND form=" . $yeasts[$i]['y_form']; |
|
143 $sql2 .= " AND inventory < " . $yeasts[$i]['y_amount'] . " LIMIT 1;"; |
|
144 // syslog(LOG_NOTICE, $sql2); |
|
145 $result2 = mysqli_query($connect, $sql2); |
|
146 $ar = mysqli_affected_rows($connect); |
|
147 if ($ar == 1) { |
|
148 syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' to 0"); |
|
149 } else if ($ar == 0) { |
|
150 syslog(LOG_NOTICE, "Reduced yeast `".$yeasts[$i]['y_product_id'].' '.$yeasts[$i]['y_name']."' from `".$yeasts[$i]['y_laboratory']."' failed"); |
|
151 } |
|
152 } |
|
153 } |
|
154 |
|
155 if ($row['w1_name'] != '') { |
|
156 $sql2 = "UPDATE inventory_waters SET inventory = inventory - ".$row['w1_amount']; |
|
157 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w1_name']); |
|
158 $sql2 .= "' AND unlimited_stock=0 AND inventory >= ".$row['w1_amount']." LIMIT 1;"; |
|
159 // syslog(LOG_NOTICE, $sql2); |
|
160 $result2 = mysqli_query($connect, $sql2); |
|
161 $ar = mysqli_affected_rows($connect); |
|
162 if ($ar == 1) { |
|
163 syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' with ".$row['w1_amount']." liter"); |
|
164 } else if ($ar == 0) { |
|
165 $sql2 = "UPDATE inventory_waters SET inventory = 0"; |
|
166 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w1_name']); |
|
167 $sql2 .= "' AND unlimited_stock=0 AND inventory < ".$row['w1_amount']." LIMIT 1;"; |
|
168 // syslog(LOG_NOTICE, $sql2); |
|
169 $result2 = mysqli_query($connect, $sql2); |
|
170 $ar = mysqli_affected_rows($connect); |
|
171 if ($ar == 1) { |
|
172 syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' to 0 liters"); |
|
173 } else { |
|
174 syslog(LOG_NOTICE, "Reduced water `".$row['w1_name']."' failed or tapwater"); |
|
175 } |
|
176 } |
|
177 } |
|
178 if ($row['w2_name'] != '') { |
|
179 $sql2 = "UPDATE inventory_waters SET inventory = inventory - ".$row['w2_amount']; |
|
180 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w2_name']); |
|
181 $sql2 .= "' AND unlimited_stock=0 AND inventory >= ".$row['w2_amount']." LIMIT 1;"; |
|
182 // syslog(LOG_NOTICE, $sql2); |
|
183 $result2 = mysqli_query($connect, $sql2); |
|
184 $ar = mysqli_affected_rows($connect); |
|
185 if ($ar == 1) { |
|
186 syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' with ".$row['w2_amount']." liter"); |
|
187 } else if ($ar == 0) { |
|
188 $sql2 = "UPDATE inventory_waters SET inventory = 0"; |
|
189 $sql2 .= " WHERE name='" . mysqli_real_escape_string($connect, $row['w2_name']); |
|
190 $sql2 .= "' AND unlimited_stock=0 AND inventory < ".$row['w2_amount']." LIMIT 1;"; |
|
191 // syslog(LOG_NOTICE, $sql2); |
|
192 $result2 = mysqli_query($connect, $sql2); |
|
193 $ar = mysqli_affected_rows($connect); |
|
194 if ($ar == 1) { |
|
195 syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' to 0 liters"); |
|
196 } else { |
|
197 syslog(LOG_NOTICE, "Reduced water `".$row['w2_name']."' failed or tapwater"); |
|
198 } |
|
199 } |
|
200 } |
|
201 |
|
202 syslog(LOG_NOTICE, "Finished reducing inventory from ". $row['code'].' '.$row['name']); |
|
203 mysqli_free_result($result1); |
|
204 |
|
205 $sql1 = "UPDATE products SET inventory_reduced=1 WHERE uuid = '" . $_POST['uuid'] . "';"; |
|
206 //syslog(LOG_NOTICE, $sql1); |
|
207 $result1 = mysqli_query($connect, $sql1); |
|
208 $ar = mysqli_affected_rows($connect); |
|
209 } |
|
210 |
|
211 exit(0); |