www/includes/db_setup.php

Fri, 28 Dec 2018 23:18:42 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 28 Dec 2018 23:18:42 +0100
changeset 155
041af8a82d77
parent 99
f433193f7bb6
child 289
4082c41f45e9
permissions
-rw-r--r--

Some pH calculations cane use twice as much loops, probably because we have better float precision then the original pascal code. More variables to prevent html reads. Use predicted mash pH (the grist in demi water) to calculate the pH shift from the tapwater to the target pH. It's better but not right yet. Or it is right and brouwhulp is far off.

<?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");

$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 .= "', color_method='" . mysqli_real_escape_string($connect, $_POST['color_method']);
	$sql .= "', ibu_method='" . mysqli_real_escape_string($connect, $_POST['ibu_method']);
	$sql .= "', brix_correction='" . $_POST['brix_correction'];
	$sql .= "', grain_absorbtion='" . $_POST['grain_absorbtion'];
	$sql .= "', default_water='" . $default_water;
	$sql .= "' WHERE record='1';";
//	syslog(LOG_NOTICE, $sql);
	$result = mysqli_query($connect, $sql);
	if (! $result) {
		syslog(LOG_NOTICE, "db_profile_setup: ".$sql." result: ".mysqli_error($connect));
	} else {
		syslog(LOG_NOTICE, "db_profile_setup: updated record 1");
	}
	echo $result;
} 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 .= ',"ibu_method":"' . str_replace($escapers, $replacements, $row['ibu_method']);
		$data .= '","color_method":"' . str_replace($escapers, $replacements, $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 .= '"}';
	}
	header("Content-type: application/json");
	echo $data;
}
?>

mercurial