www/includes/db_divides.php

changeset 835
ca6b3d4f5a97
parent 834
00e610fc3571
child 836
409f8c497429
--- a/www/includes/db_divides.php	Wed Aug 10 11:43:19 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-<?php
-
-require($_SERVER['DOCUMENT_ROOT']."/config.php");
-require($_SERVER['DOCUMENT_ROOT']."/version.php");
-
-#Connect to the database
-$link = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
-if (! $link) {
-	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
-}
-mysqli_set_charset($link, "utf8" );
-
-$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
-$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
-$rescapers = array("'");
-$rreplacements = array("\\'");
-$disallowed = array('visibleindex','uniqueid','boundindex','uid','h_weight','m_weight');
-
-$response = array(
-   'error' => false,
-   'msg' => 'Ok',
-);
-
-/*
- * Server side split batch. Parameters:
- * record = original record.
- * divide_type = divide moment.
- * divide parts = number of divisions
- * divide_data = array with { size, factor, part, name, code } where index 0 is original
- *
- * generate the new records and modify the original record.
- * rollback if something goes wrong.
- * return ok or error
- */
-
-if (isset($_POST['record']) && isset($_POST['divide_type']) && isset($_POST['divide_parts']) && isset($_POST['divide_data'])) {
-
-    $record = $_POST['record'];
-    $divide_parts = $_POST['divide_parts'];
-    $divide_type = $_POST['divide_type'];
-    $divide_data = array_reverse($_POST['divide_data'], true); // reverse the array so the master record is last.
-
-    syslog(LOG_NOTICE, "db_divide: record " . $record . "  divide_type " . $divide_type . "  parts " . $divide_parts);
-
-    foreach ($divide_data as $index => &$split) {
-	syslog(LOG_NOTICE, "db_divide: index " . $index);
-
-	foreach ($split as $key => &$value) {
-	    syslog(LOG_NOTICE, "db_divide: index " . $index . " key " . $key . " value " . $value);
-	}
-
-	$result = mysqli_query($link, "SELECT * FROM products WHERE record='" . $record . "'");
-	if (! $result) {
-            syslog(LOG_NOTICE, "db_divide: result: ".mysqli_error($link));
-	}
-	$row = mysqli_fetch_array($result);
-	$factor = floatval($split['factor']);
-
-	if ($index == 0) {
-	    /*
-	     * Update the main record
-	     */
-	    $sql = "UPDATE `products` SET ";
-            $sql .= "   brew_sparge_est='" . sprintf("%.1f", $row['brew_sparge_est'] * $factor);
-            $sql .= "', brew_preboil_volume='" . sprintf("%.1f", $row['brew_preboil_volume'] * $factor);
-            $sql .= "', brew_aboil_volume='" . sprintf("%.1f", $row['brew_aboil_volume'] * $factor);
-            $sql .= "', brew_fermenter_volume='" . sprintf("%.1f", $row['brew_fermenter_volume'] * $factor);
-            $sql .= "', brew_fermenter_extrawater='" . sprintf("%.1f", $row['brew_fermenter_extrawater'] * $factor);
-            $sql .= "', brew_fermenter_tcloss='" . sprintf("%.1f", $row['brew_fermenter_tcloss'] * $factor);
-            $sql .= "', package_volume='" . sprintf("%.1f", $row['package_volume'] * $factor);
-            $sql .= "', package_infuse_amount='" . sprintf("%.1f", $row['package_infuse_amount'] * $factor);
-            $sql .= "', bottle_amount='" . sprintf("%.1f", $row['bottle_amount'] * $factor);
-            $sql .= "', bottle_priming_water='" . sprintf("%.3f", $row['bottle_priming_water'] * $factor);
-            $sql .= "', keg_amount='" . sprintf("%.1f", $row['keg_amount'] * $factor);
-            $sql .= "', keg_priming_water='" . sprintf("%.3f", $row['keg_priming_water'] * $factor);
-            $sql .= "', batch_size='" . sprintf("%.2f", $row['batch_size'] * $factor);
-            $sql .= "', boil_size='" . sprintf("%.2f", $row['boil_size'] * $factor);
-            $sql .= "', sparge_volume='" . sprintf("%.1f", $row['sparge_volume'] * $factor);
-            $sql .= "', sparge_acid_amount='" . sprintf("%.5f", $row['sparge_acid_amount'] * $factor);
-            $sql .= "', w1_amount='" . sprintf("%.2f", $row['w1_amount'] * $factor);
-            $sql .= "', w2_amount='" . sprintf("%.2f", $row['w2_amount'] * $factor);
-            $sql .= "', wg_amount='" . sprintf("%.2f", $row['wg_amount'] * $factor);
-            $sql .= "', prop1_volume='" . sprintf("%.3f", $row['prop1_volume'] * $factor);
-            $sql .= "', prop2_volume='" . sprintf("%.3f", $row['prop2_volume'] * $factor);
-            $sql .= "', prop3_volume='" . sprintf("%.3f", $row['prop3_volume'] * $factor);
-            $sql .= "', prop4_volume='" . sprintf("%.3f", $row['prop4_volume'] * $factor);
-            $sql .= "', divide_type='" . $divide_type;
-            $sql .= "', divide_parts='" . $divide_parts;
-            $sql .= "', divide_part='" . $index;
-            $sql .= "', divide_size='" . floatval($split['size']);
-            $sql .= "', divide_factor='". $factor;
-	//    syslog(LOG_NOTICE, "db_divide: index " . $index . " " . $sql);
-
-	} else {
-	    /*
-	     * Insert splitted batches
-	     */
-	    $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
-	    $sql  = "INSERT INTO `products` SET ";
-	    $sql .= "name='" . mysqli_real_escape_string($link, $split['name']);
-	    $sql .= "', uuid='" . $uuid;
-	    $sql .= "', code='" . mysqli_real_escape_string($link, $split['code']);
-	    $sql .= "', birth='" . $row['birth'];
-	    $sql .= "', stage='" . $row['stage'];
-	    $sql .= "', notes='" . mysqli_real_escape_string($link, $row['notes']);
-	    $sql .= "', log_brew='" . $row['log_brew'];
-	    $sql .= "', log_fermentation='" . $row['log_fermentation'];
-	    $sql .= "', log_ispindel='" . $row['log_ispindel'];
-	    $sql .= "', log_co2pressure='" . $row['log_co2pressure'];
-	    $sql .= "', inventory_reduced='" . $row['inventory_reduced'];;
-	    $sql .= "', locked='" . $row['locked'];;
-	    // Equipment
-	    $sql .= "', eq_name='" . mysqli_real_escape_string($link, $row['eq_name']);
-	    $sql .= "', eq_boil_size='" . $row['eq_boil_size'];
-	    $sql .= "', eq_batch_size='" . $row['eq_batch_size'];
-	    $sql .= "', eq_tun_volume='" . $row['eq_tun_volume'];
-	    $sql .= "', eq_tun_weight='" . $row['eq_tun_weight'];
-	    $sql .= "', eq_tun_specific_heat='" . $row['eq_tun_specific_heat'];
-	    $sql .= "', eq_tun_material='" . $row['eq_tun_material'];
-	    $sql .= "', eq_tun_height='" . $row['eq_tun_height'];
-	    $sql .= "', eq_top_up_water='" . $row['eq_top_up_water'];
-	    $sql .= "', eq_trub_chiller_loss='" . $row['eq_trub_chiller_loss'];
-	    $sql .= "', eq_evap_rate='" . $row['eq_evap_rate'];
-	    $sql .= "', eq_boil_time='" . $row['eq_boil_time'];
-	    $sql .= "', eq_calc_boil_volume='" . $row['eq_calc_boil_volume'];
-	    $sql .= "', eq_top_up_kettle='" . $row['eq_top_up_kettle'];
-	    $sql .= "', eq_hop_utilization='" . $row['eq_hop_utilization'];
-	    $sql .= "', eq_notes='" . mysqli_real_escape_string($link, $row['eq_notes']);
-	    $sql .= "', eq_lauter_volume='" . $row['eq_lauter_volume'];
-	    $sql .= "', eq_lauter_height='" . $row['eq_lauter_height'];
-	    $sql .= "', eq_lauter_deadspace='" . $row['eq_lauter_deadspace'];
-	    $sql .= "', eq_kettle_volume='" . $row['eq_kettle_volume'];
-	    $sql .= "', eq_kettle_height='" . $row['eq_kettle_height'];
-	    $sql .= "', eq_mash_volume='" . $row['eq_mash_volume'];
-	    $sql .= "', eq_mash_max='" . $row['eq_mash_max'];
-	    $sql .= "', eq_efficiency='" . $row['eq_efficiency'];
-	    // brewdate
-	    if (strlen($row['brew_date_start']))
-	    	$sql .= "', brew_date_start='" . $row['brew_date_start'] . "'";
-	    else
-		$sql .= "', brew_date_start=NULL";
-            $sql .=  ", brew_mash_ph='" . $row['brew_mash_ph'];
-            $sql .= "', brew_mash_sg='" . $row['brew_mash_sg'];
-	    $sql .= "', brew_mash_efficiency='" . $row['brew_mash_efficiency'];
-            $sql .= "', brew_sparge_est='" . sprintf("%.1f", $row['brew_sparge_est'] * $factor);
-            $sql .= "', brew_sparge_ph='" . $row['brew_sparge_ph'];
-            $sql .= "', brew_preboil_volume='" . sprintf("%.1f", $row['brew_preboil_volume'] * $factor);
-            $sql .= "', brew_preboil_sg='" . $row['brew_preboil_sg'];
-            $sql .= "', brew_preboil_ph='" . $row['brew_preboil_ph'];
-	    $sql .= "', brew_preboil_efficiency='" . $row['brew_preboil_efficiency'];
-            $sql .= "', brew_aboil_volume='" . sprintf("%.1f", $row['brew_aboil_volume'] * $factor);
-            $sql .= "', brew_aboil_sg='" . $row['brew_aboil_sg'];
-            $sql .= "', brew_aboil_ph='" . $row['brew_aboil_ph'];
-            $sql .= "', brew_aboil_efficiency='" . $row['brew_aboil_efficiency'];
-	    $sql .= "', brew_cooling_method='" . $row['brew_cooling_method'];
-            $sql .= "', brew_cooling_time='" . $row['brew_cooling_time'];
-	    $sql .= "', brew_cooling_to='" . $row['brew_cooling_to'];
-	    $sql .= "', brew_whirlpool9='" . $row['brew_whirlpool9'];
-	    $sql .= "', brew_whirlpool7='" . $row['brew_whirlpool7'];
-	    $sql .= "', brew_whirlpool6='" . $row['brew_whirlpool6'];
-	    $sql .= "', brew_whirlpool2='" . $row['brew_whirlpool2'];
-	    $sql .= "', brew_aeration_time='" . $row['brew_aeration_time'];
-	    $sql .= "', brew_aeration_speed='" . $row['brew_aeration_speed'];
-	    $sql .= "', brew_aeration_type='" . $row['brew_aeration_type'];
-	    $sql .= "', brew_fermenter_volume='" . sprintf("%.1f", $row['brew_fermenter_volume'] * $factor);
-	    $sql .= "', brew_fermenter_extrawater='" . sprintf("%.1f", $row['brew_fermenter_extrawater'] * $factor);
-	    $sql .= "', brew_fermenter_tcloss='" . sprintf("%.1f", $row['brew_fermenter_tcloss'] * $factor);
-            $sql .= "', brew_fermenter_sg='" . $row['brew_fermenter_sg'];
-	    $sql .= "', brew_fermenter_ibu='" . $row['brew_fermenter_ibu'];
-	    $sql .= "', brew_fermenter_color='" . $row['brew_fermenter_color'];
-	    if (strlen($row['brew_date_end']))
-		$sql .= "', brew_date_end='" . $row['brew_date_end'] . "'";
-	    else
-		$sql .= "', brew_date_end=NULL";
-	    $sql .=  ", og='" . $row['og'];
-	    $sql .= "', fg='" . $row['fg'];
-	    $sql .= "', primary_start_temp='" . $row['primary_start_temp'];
-	    $sql .= "', primary_max_temp='" . $row['primary_max_temp'];
-	    $sql .= "', primary_end_temp='" . $row['primary_end_temp'];
-	    if (strlen($row['primary_end_date']))
-		$sql .= "', primary_end_date='" . $row['primary_end_date'] . "'";
-	    else
-	    	$sql .= "', primary_end_date=NULL";
-	    $sql .=  ", primary_end_sg='" . $row['primary_end_sg'];
-	    $sql .= "', secondary_temp='" . $row['secondary_temp'];
-	    $sql .= "', secondary_end_sg='" . $row['secondary_end_sg'];
-	    if (strlen($row['secondary_end_date']))
-		$sql .= "', secondary_end_date='" . $row['secondary_end_date'] . "'";
-	    else
-	    	$sql .= "', secondary_end_date=NULL";
-	    $sql .=  ", tertiary_temp='" . $row['tertiary_temp'];
-	    if (strlen($row['package_date']))
-		$sql .= "', package_date='" . $row['package_date'] . "'";
-	    else
-		$sql .= "', package_date=NULL";
-	    $sql .=  ", package_volume='" . sprintf("%.1f", $row['package_volume'] * $factor);
-	    $sql .= "', package_infuse_amount='" . sprintf("%.1f", $row['package_infuse_amount'] * $factor);
-	    $sql .= "', package_infuse_abv='" . $row['package_infuse_abv'];
-	    $sql .= "', package_infuse_notes='" . mysqli_real_escape_string($link, $row['package_infuse_notes']);
-	    $sql .= "', package_abv='" . $row['package_abv'];
-	    $sql .= "', package_ph='" . $row['package_ph'];
-	    $sql .= "', bottle_amount='" . sprintf("%.1f", $row['bottle_amount'] * $factor);
-	    $sql .= "', bottle_carbonation='" . $row['bottle_carbonation'];
-	    $sql .= "', bottle_priming_sugar='" . $row['bottle_priming_sugar'];
-	    $sql .= "', bottle_priming_water='" . sprintf("%.3f", $row['bottle_priming_water'] * $factor);
-	    $sql .= "', bottle_priming_amount='" . $row['bottle_priming_amount'];
-	    $sql .= "', bottle_carbonation_temp='" . $row['bottle_carbonation_temp'];
-	    $sql .= "', keg_amount='" . sprintf("%.1f", $row['keg_amount'] * $factor);
-	    $sql .= "', keg_carbonation='" . $row['keg_carbonation'];
-	    $sql .= "', keg_priming_sugar='" . $row['keg_priming_sugar'];
-	    $sql .= "', keg_priming_water='" . sprintf("%.3f", $row['keg_priming_water'] * $factor);
-	    $sql .= "', keg_priming_amount='" . $row['keg_priming_amount'];
-	    $sql .= "', keg_carbonation_temp='" . $row['keg_carbonation_temp'];
-	    $sql .= "', keg_forced_carb='" . $row['keg_forced_carb'];
-	    $sql .= "', keg_pressure='" . $row['keg_pressure'];
-	    $sql .= "', taste_notes='";
-	    $sql .= "', taste_rate='0";
-	    $sql .= "', taste_date=NULL";
-	    $sql .=  ", taste_color='";
-	    $sql .= "', taste_transparency='";
-	    $sql .= "', taste_head='";
-	    $sql .= "', taste_aroma='";
-	    $sql .= "', taste_taste='";
-	    $sql .= "', taste_mouthfeel='";
-	    $sql .= "', taste_aftertaste='";
-	    // Style
-	    $sql .= "', st_name='" . mysqli_real_escape_string($link, $row['st_name']);
-	    $sql .= "', st_letter='" . mysqli_real_escape_string($link, $row['st_letter']);
-	    $sql .= "', st_guide='" . mysqli_real_escape_string($link, $row['st_guide']);
-	    $sql .= "', st_type='" . $row['st_type'];
-	    $sql .= "', st_category='" . mysqli_real_escape_string($link, $row['st_category']);
-	    $sql .= "', st_category_number='" . $row['st_category_number'];
-	    $sql .= "', st_og_min='" . $row['st_og_min'];
-	    $sql .= "', st_og_max='" . $row['st_og_max'];
-	    $sql .= "', st_fg_min='" . $row['st_fg_min'];
-	    $sql .= "', st_fg_max='" . $row['st_fg_max'];
-	    $sql .= "', st_ibu_min='" . $row['st_ibu_min'];
-	    $sql .= "', st_ibu_max='" . $row['st_ibu_max'];
-	    $sql .= "', st_color_min='" . $row['st_color_min'];
-	    $sql .= "', st_color_max='" . $row['st_color_max'];
-	    $sql .= "', st_carb_min='" . $row['st_carb_min'];
-	    $sql .= "', st_carb_max='" . $row['st_carb_max'];
-	    $sql .= "', st_abv_min='" . $row['st_abv_min'];
-	    $sql .= "', st_abv_max='" . $row['st_abv_max'];
-	    $sql .= "', type='" . $row['type'];
-            $sql .= "', batch_size='" . sprintf("%.2f", $row['batch_size'] * $factor);
-            $sql .= "', boil_size='" . sprintf("%.2f", $row['boil_size'] * $factor);
-	    $sql .= "', boil_time='" . $row['boil_time'];
-	    $sql .= "', efficiency='" . $row['efficiency'];
-	    $sql .= "', est_og='" . $row['est_og'];
-	    $sql .= "', est_og3='" . $row['est_og3'];
-	    $sql .= "', est_fg='" . $row['est_fg'];
-	    $sql .= "', est_abv='" . $row['est_abv'];
-	    $sql .= "', est_carb='" . $row['est_carb'];
-	    $sql .= "', est_color='" . $row['est_color'];
-	    $sql .= "', color_method='" . $row['color_method'];
-	    $sql .= "', est_ibu='" . $row['est_ibu'];
-	    $sql .= "', ibu_method='" . $row['ibu_method'];
-            $sql .= "', sparge_volume='" . sprintf("%.1f", $row['sparge_volume'] * $factor);
-            $sql .= "', sparge_acid_amount='" . sprintf("%.5f", $row['sparge_acid_amount'] * $factor);
-	    $sql .= "', sparge_temp='" . $row['sparge_temp'];
-	    $sql .= "', sparge_ph='" . $row['sparge_ph'];
-	    $sql .= "', sparge_source='" . $row['sparge_source'];
-	    $sql .= "', sparge_acid_type='" . $row['sparge_acid_type'];
-	    $sql .= "', sparge_acid_perc='" . $row['sparge_acid_perc'];
-	    $sql .= "', mash_ph='" . $row['mash_ph'];
-	    $sql .= "', mash_name='" . $row['mash_name'];
-	    $sql .= "', calc_acid='" . $row['calc_acid'];
-	    $sql .= "', w1_name='" . mysqli_real_escape_string($link, $row['w1_name']);
-            $sql .= "', w1_amount='" . sprintf("%.2f", $row['w1_amount'] * $factor);
-	    $sql .= "', w1_calcium='" . $row['w1_calcium'];
-	    $sql .= "', w1_sulfate='" . $row['w1_sulfate'];
-	    $sql .= "', w1_chloride='" . $row['w1_chloride'];
-	    $sql .= "', w1_sodium='" . $row['w1_sodium'];
-	    $sql .= "', w1_magnesium='" . $row['w1_magnesium'];
-	    $sql .= "', w1_total_alkalinity='" . $row['w1_total_alkalinity'];
-	    $sql .= "', w1_ph='" . $row['w1_ph'];
-            $sql .= "', w1_cost='" . $row['w1_cost'];
-	    $sql .= "', w2_name='" . mysqli_real_escape_string($link, $row['w2_name']);
-            $sql .= "', w2_amount='" . sprintf("%.2f", $row['w2_amount'] * $factor);
-	    $sql .= "', w2_calcium='" . $row['w2_calcium'];
-	    $sql .= "', w2_sulfate='" . $row['w2_sulfate'];
-	    $sql .= "', w2_chloride='" . $row['w2_chloride'];
-	    $sql .= "', w2_sodium='" . $row['w2_sodium'];
-	    $sql .= "', w2_magnesium='" . $row['w2_magnesium'];
-	    $sql .= "', w2_total_alkalinity='" . $row['w2_total_alkalinity'];
-	    $sql .= "', w2_ph='" . $row['w2_ph'];
-	    $sql .= "', w2_cost='" . $row['w2_cost'];
-            $sql .= "', wg_amount='" . sprintf("%.2f", $row['wg_amount'] * $factor);
-            $sql .= "', wg_calcium='" . $row['wg_calcium'];
-            $sql .= "', wg_sulfate='" . $row['wg_sulfate'];
-            $sql .= "', wg_chloride='" . $row['wg_chloride'];
-            $sql .= "', wg_sodium='" . $row['wg_sodium'];
-            $sql .= "', wg_magnesium='" . $row['wg_magnesium'];
-            $sql .= "', wg_total_alkalinity='" . $row['wg_total_alkalinity'];
-            $sql .= "', wg_ph='" . $row['wg_ph'];
-            $sql .= "', wb_calcium='" . $row['wb_calcium'];
-            $sql .= "', wb_sulfate='" . $row['wb_sulfate'];
-            $sql .= "', wb_chloride='" . $row['wb_chloride'];
-            $sql .= "', wb_sodium='" . $row['wb_sodium'];
-            $sql .= "', wb_magnesium='" . $row['wb_magnesium'];
-            $sql .= "', wb_total_alkalinity='" . $row['wb_total_alkalinity'];
-            $sql .= "', wb_ph='" . $row['wb_ph'];
-	    $sql .= "', wa_acid_name='" . $row['wa_acid_name'];
-	    $sql .= "', wa_acid_perc='" . $row['wa_acid_perc'];
-	    $sql .= "', wa_base_name='" . $row['wa_base_name'];
-	    $sql .= "', starter_enable='" . $row['starter_enable'];
-	    $sql .= "', starter_type='" . $row['starter_type'];
-	    $sql .= "', starter_sg='" . $row['starter_sg'];
-	    $sql .= "', starter_viability='" . $row['starter_viability'];
-	    $sql .= "', prop1_type='" . $row['prop1_type'];
-	    $sql .= "', prop2_type='" . $row['prop2_type'];
-	    $sql .= "', prop3_type='" . $row['prop3_type'];
-	    $sql .= "', prop4_type='" . $row['prop4_type'];
-            $sql .= "', prop1_volume='" . sprintf("%.3f", $row['prop1_volume'] * $factor);
-            $sql .= "', prop2_volume='" . sprintf("%.3f", $row['prop2_volume'] * $factor);
-            $sql .= "', prop3_volume='" . sprintf("%.3f", $row['prop3_volume'] * $factor);
-            $sql .= "', prop4_volume='" . sprintf("%.3f", $row['prop4_volume'] * $factor);
-	    $sql .= "', divide_type='" . $divide_type;
-	    $sql .= "', divide_parts='" . $divide_parts;
-            $sql .= "', divide_part='" . $index;
-            $sql .= "', divide_size='" . floatval($split['size']);
-	    $sql .= "', divide_factor='". $factor;
-//	    syslog(LOG_NOTICE, "db_divide: index " . $index . " " . $sql);
-	}
-    
-	$fermentables = json_decode($row['json_fermentables'], true);
-    	for ($i = 0; $i < count($fermentables); $i++) {
-	    $fermentables[$i]['f_amount'] = sprintf("%.5f", $fermentables[$i]['f_amount'] * $factor);
-    	}
-    	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($fermentables, JSON_UNESCAPED_UNICODE)));
-    	$sql .= "', json_fermentables='" . str_replace($rescapers,$rreplacements,json_encode($fermentables, JSON_UNESCAPED_UNICODE));
-
-	$hops = json_decode($row['json_hops'], true);
-	for ($i = 0; $i < count($hops); $i++) {
-	    $hops[$i]['h_amount'] = sprintf("%.5f", $hops[$i]['h_amount'] * $factor);
-	}
-	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($hops, JSON_UNESCAPED_UNICODE)));
-	$sql .= "', json_hops='" . str_replace($rescapers,$rreplacements,json_encode($hops, JSON_UNESCAPED_UNICODE));
-
-	$miscs = json_decode($row['json_miscs'], true);
-	for ($i = 0; $i < count($miscs); $i++) {
-            $miscs[$i]['m_amount'] = sprintf("%.5f", $miscs[$i]['m_amount'] * $factor);
-	}
-	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($miscs, JSON_UNESCAPED_UNICODE)));
-	$sql .= "', json_miscs='" . str_replace($rescapers,$rreplacements,json_encode($miscs, JSON_UNESCAPED_UNICODE));
-
-	$yeasts = json_decode($row['json_yeasts'], true);
-	for ($i = 0; $i < count($yeasts); $i++) {
-	    $yeasts[$i]['y_amount'] = sprintf("%.5f", $yeasts[$i]['y_amount'] * $factor);
-	}
-	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($yeasts, JSON_UNESCAPED_UNICODE)));
-	$sql .= "', json_yeasts='" . str_replace($rescapers,$rreplacements,json_encode($yeasts, JSON_UNESCAPED_UNICODE));
-
-	$mashs = json_decode($row['json_mashs'], true);
-	for ($i = 0; $i < count($mashs); $i++) {
-	    $mashs[$i]['step_volume'] = sprintf("%.5f", $mashs[$i]['step_volume'] * $factor);
-	    $mashs[$i]['step_infuse_amount'] = sprintf("%.5f", $mashs[$i]['step_infuse_amount'] * $factor);
-	}
-	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($mashs, JSON_UNESCAPED_UNICODE)));
-	$sql .= "', json_mashs='" . str_replace($rescapers,$rreplacements,json_encode($mashs, JSON_UNESCAPED_UNICODE));
-
-	if ($index == 0) {
-	    $sql .= "' WHERE record='" . $record . "';";
-	    $result2 = mysqli_query($link, $sql);
-            if (! $result2) {
-		syslog(LOG_NOTICE, "db_divide: result: ".mysqli_error($link));
-		$response['error'] = true;
-		$response['msg'] = "Update master result: ".mysqli_error($link);
-		break;
-	    } else {
-                syslog(LOG_NOTICE, "db_divide: updated record ".$record." code ".$split['code']);
-            }
-	} else {
-	    $sql .= "';";
-	    $result2 = mysqli_query($link, $sql);
-	    if (! $result2) {
-		$response['error'] = true;
-                $response['msg'] = "Insert split record result: ".mysqli_error($link);
-             	syslog(LOG_NOTICE, "db_divide: result: ".mysqli_error($link));
-		break;
-            } else {
-	     	$lastid = mysqli_insert_id($link);
-                syslog(LOG_NOTICE, "db_divide: inserted record ".$lastid." code ".$split['code']);
-		/* Copy brew log records */
-		if ($row['log_brew'] == '1') {
-		    $result3 = mysqli_query($link, "SELECT * FROM log_brews WHERE code='" . $row['code'] . "'");
-        	    if (! $result3) {
-            		syslog(LOG_NOTICE, "db_divide: result3: ".mysqli_error($link));
-        	    }
-        	    while ($row3 = mysqli_fetch_array($result3)) {
-			$sql3  = "INSERT INTO log_brews SET datetime='" . $row3['datetime'];
-			$sql3 .= "', version='" . $row3['version'];
-			$sql3 .= "', uuid='" . $uuid;
-			$sql3 .= "', code='" . mysqli_real_escape_string($link, $split['code']);
-			$sql3 .= "', name='" . mysqli_real_escape_string($link, $split['name']);
-			$sql3 .= "', pv_mlt='" . $row3['pv_mlt'];
-			if (strlen($row3['pv_hlt']))
-			    $sql3 .= "', pv_hlt='" . $row3['pv_hlt'];
-			if (strlen($row3['pv_room']))
-			    $sql3 .= "', pv_room='" . $row3['pv_room'];
-			$sql3 .= "', sp_mlt='" . $row3['sp_mlt'];
-			if (strlen($row3['sp_hlt']))
-			    $sql3 .= "', sp_hlt='" . $row3['sp_hlt'];
-			$sql3 .= "', pwm_mlt='" . $row3['pwm_mlt'];
-			if (strlen($row3['pwm_hlt']))
-			    $sql3 .= "', pwm_hlt='" . $row3['pwm_hlt'];
-			$sql3 .= "', event='" . $row3['event'] . "';";
-			$result4 = mysqli_query($link, $sql3);
-			if (! $result4) {
-                	    syslog(LOG_NOTICE, "db_divide: result4: ".mysqli_error($link)." ".$sql3);
-			}
-		    }
-		}
-	    }
-	}
-
-    }
-} else {
-    syslog(LOG_NOTICE, "db_divide: missing arguments");
-    $response['error'] = true;
-    $response['msg'] = "missing arguments";
-}
-
-echo json_encode($response);
-
-
-?>

mercurial