|
1 <?php |
|
2 require_once('config.php'); |
|
3 //require_once('includes/formulas.php'); |
|
4 //require_once($_SERVER['DOCUMENT_ROOT'].'/config.php'); |
|
5 //require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php'); |
|
6 |
|
7 |
|
8 $link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME); |
|
9 if (! $link) { |
|
10 die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); |
|
11 } |
|
12 if (! mysqli_set_charset($link, "utf8" )) { |
|
13 echo "error"; |
|
14 return 1; |
|
15 } |
|
16 |
|
17 date_default_timezone_set('Europe/Amsterdam'); |
|
18 //setlocale ( LC_ALL, 'nl_NL.UTF-8'); |
|
19 if (isset($_GET["record"])) |
|
20 $record = $_GET["record"]; |
|
21 else |
|
22 $record = 78; |
|
23 $result = mysqli_query($link, "SELECT * FROM products WHERE record='".$record."'"); |
|
24 $row = mysqli_fetch_array($result); |
|
25 |
|
26 /* |
|
27 * Make this duplicate a fresh product. |
|
28 */ |
|
29 $sql = "INSERT INTO `products` SET "; |
|
30 $sql .= "name='" . mysqli_real_escape_string($link, $row['name']) . ' [duplicate]'; |
|
31 $sql .= "', uuid='" . str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid')); |
|
32 $sql .= "', code='" . mysqli_real_escape_string($link, $row['code']) . '-DuP'; |
|
33 $sql .= "', birth='" . date("Y-m-d"); |
|
34 $sql .= "', stage='1"; |
|
35 $sql .= "', notes='" . mysqli_real_escape_string($link, $row['notes']); |
|
36 $sql .= "', log_brew='0"; |
|
37 $sql .= "', log_fermentation='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_temperature='" . $row['brew_sparge_temperature']; |
|
70 $sql .= "', brew_sparge_volume='" . $row['brew_sparge_volume']; |
|
71 $sql .= "', brew_sparge_ph='" . $row['brew_sparge_ph']; |
|
72 $sql .= "', brew_preboil_volume='0"; |
|
73 $sql .= "', brew_preboil_sg='0"; |
|
74 $sql .= "', brew_preboil_ph='0.0"; |
|
75 $sql .= "', brew_aboil_volume='0"; |
|
76 $sql .= "', brew_aboil_sg='0"; |
|
77 $sql .= "', brew_aboil_ph='0.0"; |
|
78 $sql .= "', brew_aboil_efficiency='0"; |
|
79 $sql .= "', brew_cooling_method='" . $row['brew_cooling_method']; |
|
80 $sql .= "', brew_cooling_time='0"; |
|
81 $sql .= "', brew_cooling_to='" . $row['brew_cooling_to']; |
|
82 $sql .= "', brew_whirlpool9='" . $row['brew_whirlpool9']; |
|
83 $sql .= "', brew_whirlpool7='" . $row['brew_whirlpool7']; |
|
84 $sql .= "', brew_whirlpool6='" . $row['brew_whirlpool6']; |
|
85 $sql .= "', brew_whirlpool2='" . $row['brew_whirlpool2']; |
|
86 $sql .= "', brew_aeration_time='" . $row['brew_aeration_time']; |
|
87 $sql .= "', brew_aeration_speed='" . $row['brew_aeration_speed']; |
|
88 $sql .= "', brew_aeration_type='" . $row['brew_aeration_type']; |
|
89 $sql .= "', brew_fermenter_volume='" . $row['brew_fermenter_volume']; |
|
90 $sql .= "', brew_fermenter_extrawater='" . $row['brew_fermenter_extrawater']; |
|
91 $sql .= "', brew_fermenter_tcloss='" . $row['brew_fermenter_tcloss']; |
|
92 $sql .= "', brew_fermenter_sg='0"; |
|
93 $sql .= "', brew_fermenter_ibu='0"; |
|
94 $sql .= "', brew_fermenter_color='0"; |
|
95 $sql .= "', brew_date_end=NULL"; |
|
96 $sql .= ", og='0"; |
|
97 $sql .= "', fg='0"; |
|
98 $sql .= "', primary_start_temp='0"; |
|
99 $sql .= "', primary_max_temp='0"; |
|
100 $sql .= "', primary_end_temp='0"; |
|
101 $sql .= "', primary_end_date=NULL"; |
|
102 $sql .= ", primary_end_sg='0"; |
|
103 $sql .= "', secondary_temp='0"; |
|
104 $sql .= "', secondary_end_date=NULL"; |
|
105 $sql .= ", tertiary_temp='0"; |
|
106 $sql .= "', package_date=NULL"; |
|
107 $sql .= ", bottle_amount='0"; |
|
108 $sql .= "', bottle_carbonation='" . $row['bottle_carbonation']; |
|
109 $sql .= "', bottle_priming_sugar='" . $row['bottle_priming_sugar']; |
|
110 $sql .= "', bottle_priming_amount='0"; |
|
111 $sql .= "', bottle_carbonation_temp='" . $row['bottle_carbonation_temp']; |
|
112 $sql .= "', keg_amount='0"; |
|
113 $sql .= "', keg_carbonation='" . $row['keg_carbonation']; |
|
114 $sql .= "', keg_priming_sugar='" . $row['keg_priming_sugar']; |
|
115 $sql .= "', keg_priming_amount='0"; |
|
116 $sql .= "', keg_carbonation_temp='" . $row['keg_carbonation_temp']; |
|
117 $sql .= "', keg_forced_carb='" . $row['keg_forced_carb']; |
|
118 $sql .= "', keg_pressure='" . $row['keg_pressure']; |
|
119 $sql .= "', taste_notes='"; |
|
120 $sql .= "', taste_rate='0"; |
|
121 $sql .= "', taste_date=NULL"; |
|
122 $sql .= ", taste_color='"; |
|
123 $sql .= "', taste_transparency='"; |
|
124 $sql .= "', taste_head='"; |
|
125 $sql .= "', taste_aroma='"; |
|
126 $sql .= "', taste_taste='"; |
|
127 $sql .= "', taste_mouthfeel='"; |
|
128 $sql .= "', taste_aftertaste='"; |
|
129 // Style |
|
130 $sql .= "', st_name='" . mysqli_real_escape_string($link, $row['st_name']); |
|
131 $sql .= "', st_letter='" . mysqli_real_escape_string($link, $row['st_letter']); |
|
132 $sql .= "', st_guide='" . mysqli_real_escape_string($link, $row['st_guide']); |
|
133 $sql .= "', st_type='" . $row['st_type']; |
|
134 $sql .= "', st_category='" . mysqli_real_escape_string($link, $row['st_category']); |
|
135 $sql .= "', st_category_number='" . $row['st_category_number']; |
|
136 $sql .= "', st_og_min='" . $row['st_og_min']; |
|
137 $sql .= "', st_og_max='" . $row['st_og_max']; |
|
138 $sql .= "', st_fg_min='" . $row['st_fg_min']; |
|
139 $sql .= "', st_fg_max='" . $row['st_fg_max']; |
|
140 $sql .= "', st_ibu_min='" . $row['st_ibu_min']; |
|
141 $sql .= "', st_ibu_max='" . $row['st_ibu_max']; |
|
142 $sql .= "', st_color_min='" . $row['st_color_min']; |
|
143 $sql .= "', st_color_max='" . $row['st_color_max']; |
|
144 $sql .= "', st_carb_min='" . $row['st_carb_min']; |
|
145 $sql .= "', st_carb_max='" . $row['st_carb_max']; |
|
146 $sql .= "', st_abv_min='" . $row['st_abv_min']; |
|
147 $sql .= "', st_abv_max='" . $row['st_abv_max']; |
|
148 $sql .= "', type='" . $row['type']; |
|
149 $sql .= "', batch_size='" . $row['batch_size']; |
|
150 $sql .= "', boil_size='" . $row['boil_size']; |
|
151 $sql .= "', boil_time='" . $row['boil_time']; |
|
152 $sql .= "', efficiency='" . $row['efficiency']; |
|
153 $sql .= "', est_og='0.000"; |
|
154 $sql .= "', est_fg='0.000"; |
|
155 $sql .= "', est_abv='0.0"; |
|
156 $sql .= "', est_carb='0"; |
|
157 $sql .= "', est_color='0"; |
|
158 $sql .= "', color_method='" . $row['color_method']; |
|
159 $sql .= "', est_ibu='0"; |
|
160 $sql .= "', ibu_method='" . $row['ibu_method']; |
|
161 $sql .= "', sparge_temp='" . $row['sparge_temp']; |
|
162 $sql .= "', sparge_ph='" . $row['sparge_ph']; |
|
163 $sql .= "', sparge_volume='" . $row['sparge_volume']; |
|
164 $sql .= "', sparge_source='" . $row['sparge_source']; |
|
165 $sql .= "', sparge_acid_type='" . $row['sparge_acid_type']; |
|
166 $sql .= "', sparge_acid_perc='" . $row['sparge_acid_perc']; |
|
167 $sql .= "', sparge_acid_amount='0"; |
|
168 $sql .= "', mash_ph='" . $row['mash_ph']; |
|
169 $sql .= "', mash_name='" . $row['mash_name']; |
|
170 $sql .= "', calc_acid='" . $row['calc_acid']; |
|
171 $sql .= "', w1_name='" . mysqli_real_escape_string($link, $row['w1_name']); |
|
172 $sql .= "', w1_amount='" . $row['w1_amount']; |
|
173 $sql .= "', w1_calcium='" . $row['w1_calcium']; |
|
174 $sql .= "', w1_sulfate='" . $row['w1_sulfate']; |
|
175 $sql .= "', w1_chloride='" . $row['w1_chloride']; |
|
176 $sql .= "', w1_sodium='" . $row['w1_sodium']; |
|
177 $sql .= "', w1_magnesium='" . $row['w1_magnesium']; |
|
178 $sql .= "', w1_total_alkalinity='" . $row['w1_total_alkalinity']; |
|
179 $sql .= "', w1_ph='" . $row['w1_ph']; |
|
180 $sql .= "', w1_cost='" . $row['w1_cost']; |
|
181 $sql .= "', w2_name='" . mysqli_real_escape_string($link, $row['w2_name']); |
|
182 $sql .= "', w2_amount='" . $row['w2_amount']; |
|
183 $sql .= "', w2_calcium='" . $row['w2_calcium']; |
|
184 $sql .= "', w2_sulfate='" . $row['w2_sulfate']; |
|
185 $sql .= "', w2_chloride='" . $row['w2_chloride']; |
|
186 $sql .= "', w2_sodium='" . $row['w2_sodium']; |
|
187 $sql .= "', w2_magnesium='" . $row['w2_magnesium']; |
|
188 $sql .= "', w2_total_alkalinity='" . $row['w2_total_alkalinity']; |
|
189 $sql .= "', w2_ph='" . $row['w2_ph']; |
|
190 $sql .= "', w2_cost='" . $row['w2_cost']; |
|
191 $sql .= "', wa_acid_name='" . $row['wa_acid_name']; |
|
192 $sql .= "', wa_acid_perc='" . $row['wa_acid_perc']; |
|
193 $sql .= "', wa_base_name='" . $row['wa_base_name']; |
|
194 $sql .= "', starter_enable='" . $row['starter_enable']; |
|
195 $sql .= "', starter_type='" . $row['starter_type']; |
|
196 $sql .= "', starter_sg='" . $row['starter_sg']; |
|
197 $sql .= "', prop1_type='" . $row['prop1_type']; |
|
198 $sql .= "', prop1_volume='" . $row['prop1_volume']; |
|
199 $sql .= "', prop2_type='" . $row['prop2_type']; |
|
200 $sql .= "', prop2_volume='" . $row['prop2_volume']; |
|
201 $sql .= "', prop3_type='" . $row['prop3_type']; |
|
202 $sql .= "', prop3_volume='" . $row['prop3_volume']; |
|
203 $sql .= "', prop4_type='" . $row['prop4_type']; |
|
204 $sql .= "', prop4_volume='" . $row['prop4_volume']; |
|
205 $sql .= "', json_fermentables='" . $row['json_fermentables']; |
|
206 $sql .= "', json_hops='" . $row['json_hops']; |
|
207 $sql .= "', json_miscs='" . $row['json_miscs']; |
|
208 $sql .= "', json_yeasts='" . $row['json_yeasts']; |
|
209 $sql .= "', json_mashs='" . $row['json_mashs']; |
|
210 $sql .= "';"; |
|
211 syslog(LOG_NOTICE, $sql); |
|
212 |
|
213 $result = mysqli_query($link, $sql); |
|
214 if (! $result) { |
|
215 syslog(LOG_NOTICE, "db_product: result: ".mysqli_error($link)); |
|
216 } else { |
|
217 $lastid = mysqli_insert_id($link); |
|
218 syslog(LOG_NOTICE, "db_product: inserted record ".$lastid); |
|
219 } |
|
220 echo "<script>window.close();</script>"; |
|
221 exit; |