www/includes/db_setup.php

Sun, 04 Jul 2021 20:01:13 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 04 Jul 2021 20:01:13 +0200
changeset 768
ae1195153fa2
parent 625
57bc32b5f411
permissions
-rw-r--r--

Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.

<?php
require($_SERVER['DOCUMENT_ROOT']."/config.php");
require($_SERVER['DOCUMENT_ROOT']."/version.php");

#Connect to the database
$connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
if (! $connect) {
	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
mysqli_set_charset($connect, "utf8" );

$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");

$response = array(
   'error' => false,
   'msg' => 'Ok',
);

$query = "SELECT * FROM profile_setup WHERE record='1'";

if (isset($_POST['update'])) {
	/* Search water record */
	$result = mysqli_query($connect, "SELECT record FROM inventory_waters WHERE name='".$_POST['default_water']."';");
	if ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
		$default_water = $row['record'];
	else
		$default_water = 0;
	$sql = "UPDATE `profile_setup` SET ";
	$sql .=    "brewery_name='" . mysqli_real_escape_string($connect, $_POST['brewery_name']);
	$sql .= "', factor_mashhop='" . $_POST['factor_mashhop'];
	$sql .= "', factor_fwh='" . $_POST['factor_fwh'];
	$sql .= "', factor_pellet='" . $_POST['factor_pellet'];
	$sql .= "', factor_plug='" . $_POST['factor_plug'];
	$sql .= "', factor_wethop='" . $_POST['factor_wethop'];
	$sql .= "', factor_cryohop='" . $_POST['factor_cryohop'];
	$sql .= "', color_method='" . $_POST['color_method'];
	$sql .= "', ibu_method='" . $_POST['ibu_method'];
	$sql .= "', brix_correction='" . $_POST['brix_correction'];
	$sql .= "', grain_absorbtion='" . $_POST['grain_absorbtion'];
	$sql .= "', default_water='" . $default_water;
	$sql .= "', my_yeastlab='" . $_POST['my_yeastlab'];
	$sql .= "' WHERE record='1';";
	$result = mysqli_query($connect, $sql);
	if (! $result) {
		syslog(LOG_NOTICE, "db_profile_setup: ".$sql." result: ".mysqli_error($connect));
                $response['error'] = true;
                $response['msg'] = "SQL fout: ".mysqli_error($connect);
        }
        exit(json_encode($response));

} else {
	$result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
	if ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
		/* search water name */
		$wresult = mysqli_query($connect, "SELECT name FROM inventory_waters WHERE record='".$row['default_water']."';");
		if ($wrow = mysqli_fetch_array($wresult, MYSQLI_ASSOC))
			$default_water = $wrow['name'];
		else
			$default_water = '';
		$data  = '{"record":' . $row['record'];
		$data .= ',"brewery_name":"' . str_replace($escapers, $replacements, $row['brewery_name']);
		$data .= '","factor_mashhop":' . $row['factor_mashhop'];
		$data .= ',"factor_fwh":' . $row['factor_fwh'];
		$data .= ',"factor_pellet":' . $row['factor_pellet'];
		$data .= ',"factor_plug":' . $row['factor_plug'];
		$data .= ',"factor_wethop":' . $row['factor_wethop'];
		$data .= ',"factor_cryohop":' . $row['factor_cryohop'];
		$data .= ',"ibu_method":' . $row['ibu_method'];
		$data .= ',"color_method":' . $row['color_method'];
		$data .= ',"brix_correction":' . floatval($row['brix_correction']);
		$data .= ',"grain_absorbtion":' . floatval($row['grain_absorbtion']);
		$data .= ',"default_water":"' . str_replace($escapers, $replacements, $default_water);
		$data .= '","my_yeastlab":"' . str_replace($escapers, $replacements, $row['my_yeastlab']);
		$data .= '"}';
	}
	header("Content-type: application/json");
	exit($data);
}
?>

mercurial