www/prod_duplicate.php

changeset 817
6ee186182c70
parent 816
d76f623d487c
child 818
f9c071906643
equal deleted inserted replaced
816:d76f623d487c 817:6ee186182c70
1 <?php
2 require_once('config.php');
3
4 $link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
5 if (! $link) {
6 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
7 }
8 if (! mysqli_set_charset($link, "utf8" )) {
9 echo "error";
10 return 1;
11 }
12
13 $rescapers = array("'");
14 $rreplacements = array("\\'");
15
16 date_default_timezone_set('Europe/Amsterdam');
17 if (isset($_GET["record"]))
18 $record = $_GET["record"];
19 else
20 $record = 78;
21 $result = mysqli_query($link, "SELECT * FROM products WHERE record='".$record."'");
22 $row = mysqli_fetch_array($result);
23
24 /*
25 * Make this duplicate a fresh product.
26 */
27 $sql = "INSERT INTO `products` SET ";
28 $sql .= "name='" . mysqli_real_escape_string($link, $row['name']) . ' [duplicate]';
29 $sql .= "', uuid='" . str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
30 $sql .= "', code='" . mysqli_real_escape_string($link, $row['code']) . '-DuP';
31 $sql .= "', birth='" . date("Y-m-d");
32 $sql .= "', stage='1";
33 $sql .= "', notes='" . mysqli_real_escape_string($link, $row['notes']);
34 $sql .= "', log_brew='0";
35 $sql .= "', log_fermentation='0";
36 $sql .= "', log_ispindel='0";
37 $sql .= "', log_co2pressure='0";
38 $sql .= "', inventory_reduced='0";
39 $sql .= "', locked='0";
40 // Equipment
41 $sql .= "', eq_name='" . mysqli_real_escape_string($link, $row['eq_name']);
42 $sql .= "', eq_boil_size='" . $row['eq_boil_size'];
43 $sql .= "', eq_batch_size='" . $row['eq_batch_size'];
44 $sql .= "', eq_tun_volume='" . $row['eq_tun_volume'];
45 $sql .= "', eq_tun_weight='" . $row['eq_tun_weight'];
46 $sql .= "', eq_tun_specific_heat='" . $row['eq_tun_specific_heat'];
47 $sql .= "', eq_tun_material='" . $row['eq_tun_material'];
48 $sql .= "', eq_tun_height='" . $row['eq_tun_height'];
49 $sql .= "', eq_top_up_water='" . $row['eq_top_up_water'];
50 $sql .= "', eq_trub_chiller_loss='" . $row['eq_trub_chiller_loss'];
51 $sql .= "', eq_evap_rate='" . $row['eq_evap_rate'];
52 $sql .= "', eq_boil_time='" . $row['eq_boil_time'];
53 $sql .= "', eq_calc_boil_volume='" . $row['eq_calc_boil_volume'];
54 $sql .= "', eq_top_up_kettle='" . $row['eq_top_up_kettle'];
55 $sql .= "', eq_hop_utilization='" . $row['eq_hop_utilization'];
56 $sql .= "', eq_notes='" . mysqli_real_escape_string($link, $row['eq_notes']);
57 $sql .= "', eq_lauter_volume='" . $row['eq_lauter_volume'];
58 $sql .= "', eq_lauter_height='" . $row['eq_lauter_height'];
59 $sql .= "', eq_lauter_deadspace='" . $row['eq_lauter_deadspace'];
60 $sql .= "', eq_kettle_volume='" . $row['eq_kettle_volume'];
61 $sql .= "', eq_kettle_height='" . $row['eq_kettle_height'];
62 $sql .= "', eq_mash_volume='" . $row['eq_mash_volume'];
63 $sql .= "', eq_mash_max='" . $row['eq_mash_max'];
64 $sql .= "', eq_efficiency='" . $row['eq_efficiency'];
65 // brewdate
66 $sql .= "', brew_date_start=NULL";
67 $sql .= ", brew_mash_ph='0.0";
68 $sql .= "', brew_mash_sg='1.000";
69 $sql .= "', brew_sparge_ph='" . $row['brew_sparge_ph'];
70 $sql .= "', brew_preboil_volume='0";
71 $sql .= "', brew_preboil_sg='0";
72 $sql .= "', brew_preboil_ph='0.0";
73 $sql .= "', brew_aboil_volume='0";
74 $sql .= "', brew_aboil_sg='0";
75 $sql .= "', brew_aboil_ph='0.0";
76 $sql .= "', brew_aboil_efficiency='0";
77 $sql .= "', brew_cooling_method='" . $row['brew_cooling_method'];
78 $sql .= "', brew_cooling_time='0";
79 $sql .= "', brew_cooling_to='" . $row['brew_cooling_to'];
80 $sql .= "', brew_whirlpool9='" . $row['brew_whirlpool9'];
81 $sql .= "', brew_whirlpool7='" . $row['brew_whirlpool7'];
82 $sql .= "', brew_whirlpool6='" . $row['brew_whirlpool6'];
83 $sql .= "', brew_whirlpool2='" . $row['brew_whirlpool2'];
84 $sql .= "', brew_aeration_time='" . $row['brew_aeration_time'];
85 $sql .= "', brew_aeration_speed='" . $row['brew_aeration_speed'];
86 $sql .= "', brew_aeration_type='" . $row['brew_aeration_type'];
87 $sql .= "', brew_fermenter_volume='" . $row['brew_fermenter_volume'];
88 $sql .= "', brew_fermenter_extrawater='" . $row['brew_fermenter_extrawater'];
89 $sql .= "', brew_fermenter_tcloss='" . $row['brew_fermenter_tcloss'];
90 $sql .= "', brew_fermenter_sg='0";
91 $sql .= "', brew_fermenter_ibu='0";
92 $sql .= "', brew_fermenter_color='0";
93 $sql .= "', brew_date_end=NULL";
94 $sql .= ", og='0";
95 $sql .= "', fg='0";
96 $sql .= "', primary_start_temp='0";
97 $sql .= "', primary_max_temp='0";
98 $sql .= "', primary_end_temp='0";
99 $sql .= "', primary_end_date=NULL";
100 $sql .= ", primary_end_sg='0";
101 $sql .= "', secondary_temp='0";
102 $sql .= "', secondary_end_sg='0";
103 $sql .= "', secondary_end_date=NULL";
104 $sql .= ", tertiary_temp='0";
105 $sql .= "', package_date=NULL";
106 $sql .= ", package_volume='" . $row['package_volume'];
107 $sql .= "', package_infuse_amount='" . $row['package_infuse_amount'];
108 $sql .= "', package_infuse_abv='" . $row['package_infuse_abv'];
109 $sql .= "', package_infuse_notes='" . mysqli_real_escape_string($link, $row['package_infuse_notes']);
110 $sql .= "', package_abv='0";
111 $sql .= "', package_ph='0";
112 $sql .= "', bottle_amount='0";
113 $sql .= "', bottle_carbonation='" . $row['bottle_carbonation'];
114 $sql .= "', bottle_priming_water='" . $row['bottle_priming_water'];
115 $sql .= "', bottle_priming_amount='0";
116 $sql .= "', bottle_carbonation_temp='" . $row['bottle_carbonation_temp'];
117 $sql .= "', keg_amount='0";
118 $sql .= "', keg_carbonation='" . $row['keg_carbonation'];
119 $sql .= "', keg_priming_water='" . $row['keg_priming_water'];
120 $sql .= "', keg_priming_amount='0";
121 $sql .= "', keg_carbonation_temp='" . $row['keg_carbonation_temp'];
122 $sql .= "', keg_forced_carb='" . $row['keg_forced_carb'];
123 $sql .= "', keg_pressure='" . $row['keg_pressure'];
124 $sql .= "', taste_notes='";
125 $sql .= "', taste_rate='0";
126 $sql .= "', taste_date=NULL";
127 $sql .= ", taste_color='";
128 $sql .= "', taste_transparency='";
129 $sql .= "', taste_head='";
130 $sql .= "', taste_aroma='";
131 $sql .= "', taste_taste='";
132 $sql .= "', taste_mouthfeel='";
133 $sql .= "', taste_aftertaste='";
134 // Style
135 $sql .= "', st_name='" . mysqli_real_escape_string($link, $row['st_name']);
136 $sql .= "', st_letter='" . mysqli_real_escape_string($link, $row['st_letter']);
137 $sql .= "', st_guide='" . mysqli_real_escape_string($link, $row['st_guide']);
138 $sql .= "', st_type='" . $row['st_type'];
139 $sql .= "', st_category='" . mysqli_real_escape_string($link, $row['st_category']);
140 $sql .= "', st_category_number='" . $row['st_category_number'];
141 $sql .= "', st_og_min='" . $row['st_og_min'];
142 $sql .= "', st_og_max='" . $row['st_og_max'];
143 $sql .= "', st_fg_min='" . $row['st_fg_min'];
144 $sql .= "', st_fg_max='" . $row['st_fg_max'];
145 $sql .= "', st_ibu_min='" . $row['st_ibu_min'];
146 $sql .= "', st_ibu_max='" . $row['st_ibu_max'];
147 $sql .= "', st_color_min='" . $row['st_color_min'];
148 $sql .= "', st_color_max='" . $row['st_color_max'];
149 $sql .= "', st_carb_min='" . $row['st_carb_min'];
150 $sql .= "', st_carb_max='" . $row['st_carb_max'];
151 $sql .= "', st_abv_min='" . $row['st_abv_min'];
152 $sql .= "', st_abv_max='" . $row['st_abv_max'];
153 $sql .= "', type='" . $row['type'];
154 $sql .= "', batch_size='" . $row['batch_size'];
155 $sql .= "', boil_size='" . $row['boil_size'];
156 $sql .= "', boil_time='" . $row['boil_time'];
157 $sql .= "', efficiency='" . $row['efficiency'];
158 $sql .= "', est_og='0.000";
159 $sql .= "', est_fg='0.000";
160 $sql .= "', est_abv='0.0";
161 $sql .= "', est_carb='0";
162 $sql .= "', est_color='0";
163 $sql .= "', color_method='" . $row['color_method'];
164 $sql .= "', est_ibu='0";
165 $sql .= "', ibu_method='" . $row['ibu_method'];
166 $sql .= "', sparge_temp='" . $row['sparge_temp'];
167 $sql .= "', sparge_ph='" . $row['sparge_ph'];
168 $sql .= "', sparge_volume='" . $row['sparge_volume'];
169 $sql .= "', sparge_source='" . $row['sparge_source'];
170 $sql .= "', sparge_acid_type='" . $row['sparge_acid_type'];
171 $sql .= "', sparge_acid_perc='" . $row['sparge_acid_perc'];
172 $sql .= "', sparge_acid_amount='0";
173 $sql .= "', mash_ph='" . $row['mash_ph'];
174 $sql .= "', mash_name='" . $row['mash_name'];
175 $sql .= "', calc_acid='" . $row['calc_acid'];
176 $sql .= "', w1_name='" . mysqli_real_escape_string($link, $row['w1_name']);
177 $sql .= "', w1_amount='" . $row['w1_amount'];
178 $sql .= "', w1_calcium='" . $row['w1_calcium'];
179 $sql .= "', w1_sulfate='" . $row['w1_sulfate'];
180 $sql .= "', w1_chloride='" . $row['w1_chloride'];
181 $sql .= "', w1_sodium='" . $row['w1_sodium'];
182 $sql .= "', w1_magnesium='" . $row['w1_magnesium'];
183 $sql .= "', w1_total_alkalinity='" . $row['w1_total_alkalinity'];
184 $sql .= "', w1_ph='" . $row['w1_ph'];
185 $sql .= "', w1_cost='" . $row['w1_cost'];
186 $sql .= "', w2_name='" . mysqli_real_escape_string($link, $row['w2_name']);
187 $sql .= "', w2_amount='" . $row['w2_amount'];
188 $sql .= "', w2_calcium='" . $row['w2_calcium'];
189 $sql .= "', w2_sulfate='" . $row['w2_sulfate'];
190 $sql .= "', w2_chloride='" . $row['w2_chloride'];
191 $sql .= "', w2_sodium='" . $row['w2_sodium'];
192 $sql .= "', w2_magnesium='" . $row['w2_magnesium'];
193 $sql .= "', w2_total_alkalinity='" . $row['w2_total_alkalinity'];
194 $sql .= "', w2_ph='" . $row['w2_ph'];
195 $sql .= "', w2_cost='" . $row['w2_cost'];
196 $sql .= "', wa_acid_name='" . $row['wa_acid_name'];
197 $sql .= "', wa_acid_perc='" . $row['wa_acid_perc'];
198 $sql .= "', wa_base_name='" . $row['wa_base_name'];
199 $sql .= "', starter_enable='" . $row['starter_enable'];
200 $sql .= "', starter_type='" . $row['starter_type'];
201 $sql .= "', starter_sg='" . $row['starter_sg'];
202 $sql .= "', starter_viability='97";
203 $sql .= "', prop1_type='" . $row['prop1_type'];
204 $sql .= "', prop1_volume='" . $row['prop1_volume'];
205 $sql .= "', prop2_type='" . $row['prop2_type'];
206 $sql .= "', prop2_volume='" . $row['prop2_volume'];
207 $sql .= "', prop3_type='" . $row['prop3_type'];
208 $sql .= "', prop3_volume='" . $row['prop3_volume'];
209 $sql .= "', prop4_type='" . $row['prop4_type'];
210 $sql .= "', prop4_volume='" . $row['prop4_volume'];
211 $sql .= "', json_fermentables='" . str_replace($rescapers,$rreplacements,$row['json_fermentables']);
212 $sql .= "', json_hops='" . str_replace($rescapers,$rreplacements,$row['json_hops']);
213 $sql .= "', json_miscs='" . str_replace($rescapers,$rreplacements,$row['json_miscs']);
214 $sql .= "', json_yeasts='" . str_replace($rescapers,$rreplacements,$row['json_yeasts']);
215 $sql .= "', json_mashs='" . str_replace($rescapers,$rreplacements,$row['json_mashs']);
216 $sql .= "';";
217
218 $result = mysqli_query($link, $sql);
219 if (! $result) {
220 syslog(LOG_NOTICE, "db_product: result: ".mysqli_error($link));
221 syslog(LOG_NOTICE, $sql);
222 } else {
223 $lastid = mysqli_insert_id($link);
224 syslog(LOG_NOTICE, "db_product: inserted record ".$lastid);
225 }
226 echo "<script>window.close();</script>";
227 exit;

mercurial