Tue, 04 Sep 2018 13:44:02 +0200
More recipe editor changes
<?php require($_SERVER['DOCUMENT_ROOT']."/config.php"); require($_SERVER['DOCUMENT_ROOT']."/version.php"); //require("../config.php"); //require("../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()); } $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c"); $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b"); // get data and store in a json array $query = "SELECT * FROM recipes ORDER BY st_guide,st_letter,st_name,name"; if (isset($_GET['insert'])) { // // INSERT COMMAND // $sql = "INSERT INTO `profile_mash` SET name='" . mysqli_real_escape_string($connect, $_GET['name']); // $sql .= "', notes='" . mysqli_real_escape_string($connect, $_GET['notes']); // $sql .= "', steps='" . json_encode($_GET['steps']); // $sql .= "';"; // $result = mysqli_query($connect, $sql); // if (! $result) { // syslog(LOG_NOTICE, "db_profile_mash: ".$sql." result: ".mysqli_error($connect)); // } else { // syslog(LOG_NOTICE, "db_profile_mash: inserted ".$_GET['name']); // } // echo $result; //} else if (isset($_GET['update'])) { // // UPDATE COMMAND // $sql = "UPDATE `profile_mash` SET name='" . mysqli_real_escape_string($connect, $_GET['name']); // $sql .= "', notes='" . mysqli_real_escape_string($connect, $_GET['notes']); // $sql .= "', steps='" . json_encode($_GET['steps']); // $sql .= "' WHERE record='" . $_GET['record'] . "';"; // $result = mysqli_query($connect, $sql); // if (! $result) { // syslog(LOG_NOTICE, "db_profile_mash: ".$sql." result: ".mysqli_error($connect)); // } else { // syslog(LOG_NOTICE, "db_profile_mash: updated record ".$_GET['record']); // } // echo $result; //} else if (isset($_GET['delete'])) { // // DELETE COMMAND // $sql = "DELETE FROM `profile_mash` WHERE record='".$_GET['record']."';"; // $result = mysqli_query($connect, $sql); // if (! $result) { // syslog(LOG_NOTICE, "db_profile_mash: ".$sql." result: ".mysqli_error($connect)); // } else { // syslog(LOG_NOTICE, "db_profile_mash: deleted record ".$_GET['record']); // } // echo $result; } else { // SELECT COMMAND $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect)); $recipes = '['; $comma = FALSE; while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { // Manual encode to JSON. if ($comma) { $recipes .= ','; } $comma = TRUE; $recipes .= '{"record":' . $row['record']; $recipes .= ',"st_guide":"' . str_replace($escapers, $replacements, $row['st_guide']); $recipes .= '","st_letter":"' . str_replace($escapers, $replacements, $row['st_letter']); $recipes .= '","st_name":"' . str_replace($escapers, $replacements, $row['st_name']); $recipes .= '","st_og_min":' . floatval($row['st_og_min']); $recipes .= ',"st_og_max":' . floatval($row['st_og_max']); $recipes .= ',"st_fg_min":' . floatval($row['st_fg_min']); $recipes .= ',"st_fg_max":' . floatval($row['st_fg_max']); $recipes .= ',"st_ibu_min":' . floatval($row['st_ibu_min']); $recipes .= ',"st_ibu_max":' . floatval($row['st_ibu_max']); $recipes .= ',"st_color_min":' . floatval($row['st_color_min']); $recipes .= ',"st_color_max":' . floatval($row['st_color_max']); $recipes .= ',"st_carb_min":' . floatval($row['st_carb_min']); $recipes .= ',"st_carb_max":' . floatval($row['st_carb_max']); $recipes .= ',"st_abv_min":' . floatval($row['st_abv_min']); $recipes .= ',"st_abv_max":' . floatval($row['st_abv_max']); $recipes .= ',"name":"' . str_replace($escapers, $replacements, $row['name']); $recipes .= '","notes":"' . str_replace($escapers, $replacements, $row['notes']); $recipes .= '","type":"' . $row['type']; $recipes .= '","batch_size":' . floatval($row['batch_size']); $recipes .= ',"boil_time":' . floatval($row['boil_time']); $recipes .= ',"efficiency":' . floatval($row['efficiency']); $recipes .= ',"est_og":' . floatval($row['est_og']); $recipes .= ',"est_fg":' . floatval($row['est_fg']); $recipes .= ',"est_color":' . floatval($row['est_color']); $recipes .= ',"color_method":"' . $row['color_method']; $recipes .= '","est_ibu":' . floatval($row['est_ibu']); $recipes .= ',"ibu_method":"' . $row['ibu_method']; $recipes .= '","mash_sparge_temp":' . $row['mash_sparge_temp']; $recipes .= ',"mash_ph":' . $row['mash_ph']; $recipes .= ',"mash_name":"' . $row['mash_name']; $recipes .= '","fermentables":' . $row['json_fermentables']; $recipes .= ',"hops":' . $row['json_hops']; $recipes .= ',"miscs":' . $row['json_miscs']; $recipes .= ',"yeasts":' . $row['json_yeasts']; $recipes .= ',"waters":' . $row['json_waters']; $recipes .= ',"mashs":' . $row['json_mashs']; $recipes .= '}'; } $recipes .= ']'; header("Content-type: application/json"); echo $recipes; } ?>