All recipe data now has inventory information added.

Wed, 30 Jan 2019 18:58:47 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 30 Jan 2019 18:58:47 +0100
changeset 222
78946739b3a6
parent 221
a8aabb63fbcc
child 223
0de4455bd2a1

All recipe data now has inventory information added.

www/includes/db_recipes.php file | annotate | diff | comparison | revisions
--- a/www/includes/db_recipes.php	Wed Jan 30 16:40:23 2019 +0100
+++ b/www/includes/db_recipes.php	Wed Jan 30 18:58:47 2019 +0100
@@ -335,20 +335,75 @@
 				$fermentables[$i]['f_inventory'] = 0;	// Not in stock
 				$fermentables[$i]['f_avail'] = 0;	// Ingredient not in db
 				$sql2 = "SELECT inventory FROM inventory_fermentables ";
-				$sql2 .= "WHERE name='".$fermentables[$i]['f_name']."' AND supplier='".$fermentables[$i]['f_supplier']."'";
+				$sql2 .= "WHERE name='".str_replace($rescapers, $rreplacements, $fermentables[$i]['f_name'])."' AND";
+			        $sql2 .= " supplier='".str_replace($rescapers, $rreplacements, $fermentables[$i]['f_supplier'])."'";
 				if ($result2 = mysqli_query($connect, $sql2)) {
 					if ($obj = mysqli_fetch_object($result2)) {
-						$fermentables[$i]['f_inventory'] = $obj->inventory;
+						$fermentables[$i]['f_inventory'] = floatval($obj->inventory);
 						$fermentables[$i]['f_avail'] = 1;
 					}
 					mysqli_free_result($result2);
 				}
 			}
-			syslog(LOG_NOTICE, json_encode($fermentables, JSON_UNESCAPED_UNICODE));
 			$recipes .= ',"fermentables":' . json_encode($fermentables, JSON_UNESCAPED_UNICODE);
-			$recipes .= ',"hops":' . $row['json_hops'];
-			$recipes .= ',"miscs":' . $row['json_miscs'];
-			$recipes .= ',"yeasts":' . $row['json_yeasts'];
+
+			$hops = json_decode($row['json_hops'], true);
+			for ($i = 0; $i < count($hops); $i++) {
+				$hops[$i]['h_inventory'] = 0;   // Not in stock
+				$hops[$i]['h_avail'] = 0;       // Ingredient not in db
+				$sql2 = "SELECT inventory FROM inventory_hops ";
+				$sql2 .= "WHERE name='".str_replace($rescapers, $rreplacements, $hops[$i]['h_name'])."' AND";
+				$sql2 .= " origin='".str_replace($rescapers, $rreplacements, $hops[$i]['h_origin'])."' AND";
+			        $sql2 .= " form='".$hops[$i]['h_form']."'";
+				if ($result2 = mysqli_query($connect, $sql2)) {
+					if ($obj = mysqli_fetch_object($result2)) {
+						$hops[$i]['h_inventory'] = floatval($obj->inventory);
+						$hops[$i]['h_avail'] = 1;
+					}
+					mysqli_free_result($result2);
+				}
+			}
+	//		syslog(LOG_NOTICE, json_encode($hops, JSON_UNESCAPED_UNICODE));
+			$recipes .= ',"hops":' . json_encode($hops, JSON_UNESCAPED_UNICODE);
+
+			$miscs = json_decode($row['json_miscs'], true);
+			for ($i = 0; $i < count($miscs); $i++) {
+				$miscs[$i]['m_inventory'] = 0;   // Not in stock
+				$miscs[$i]['m_avail'] = 0;       // Ingredient not in db
+				$sql2 = "SELECT inventory FROM inventory_miscs ";
+				$sql2 .= "WHERE name='".str_replace($rescapers, $rreplacements, $miscs[$i]['m_name'])."' AND";
+			        $sql2 .= " type='".$miscs[$i]['m_type']."'";
+				if ($result2 = mysqli_query($connect, $sql2)) {
+					if ($obj = mysqli_fetch_object($result2)) {
+						$miscs[$i]['m_inventory'] = floatval($obj->inventory);
+						$miscs[$i]['m_avail'] = 1;
+					}
+					mysqli_free_result($result2);
+				}
+			}
+	//		syslog(LOG_NOTICE, json_encode($miscs, JSON_UNESCAPED_UNICODE));
+			$recipes .= ',"miscs":' . json_encode($miscs, JSON_UNESCAPED_UNICODE);
+
+			$yeasts = json_decode($row['json_yeasts'], true);
+			for ($i = 0; $i < count($yeasts); $i++) {
+				$yeasts[$i]['y_inventory'] = 0;   // Not in stock
+				$yeasts[$i]['y_avail'] = 0;       // Ingredient not in db
+				$sql2 = "SELECT inventory FROM inventory_yeasts ";
+				$sql2 .= "WHERE name='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_name'])."' AND";
+			       	$sql2 .= " form='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_form'])."' AND";
+				$sql2 .= " laboratory='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_laboratory'])."' AND";
+			        $sql2 .= " product_id='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_product_id'])."'";
+	//			syslog(LOG_NOTICE, $sql2);
+				if ($result2 = mysqli_query($connect, $sql2)) {
+					if ($obj = mysqli_fetch_object($result2)) {
+						$yeasts[$i]['y_inventory'] = floatval($obj->inventory);
+						$yeasts[$i]['y_avail'] = 1;
+					}
+					mysqli_free_result($result2);
+				}
+			}
+	//		syslog(LOG_NOTICE, json_encode($yeasts, JSON_UNESCAPED_UNICODE));
+			$recipes .= ',"yeasts":' . json_encode($yeasts, JSON_UNESCAPED_UNICODE);
 		} else {
 			// Just leave it.
 			$recipes .= ',"fermentables":' . $row['json_fermentables'];

mercurial