www/import/from_brouwhulp.php

changeset 86
e977a505ea8c
parent 77
a9f8de2d7b2b
child 87
7f1d0abe5571
equal deleted inserted replaced
85:ca7a37586551 86:e977a505ea8c
447 } 447 }
448 448
449 $recipes= simplexml_load_file($brouwhulp . '/recipes.xml'); 449 $recipes= simplexml_load_file($brouwhulp . '/recipes.xml');
450 450
451 foreach ($recipes->RECIPE as $recipe) { 451 foreach ($recipes->RECIPE as $recipe) {
452 $f_sugars = 0;
453 $efficiency = 75;
454 $batch_size = 20;
455
452 $sql = "INSERT INTO recipes SET name='" . mysqli_real_escape_string($db, $recipe->NAME); 456 $sql = "INSERT INTO recipes SET name='" . mysqli_real_escape_string($db, $recipe->NAME);
453 if ($recipe->NOTES) 457 if ($recipe->NOTES)
454 $sql .= "', notes='" . mysqli_real_escape_string($db, $recipe->NOTES); 458 $sql .= "', notes='" . mysqli_real_escape_string($db, $recipe->NOTES);
455 else 459 else
456 $sql .= "', notes='"; 460 $sql .= "', notes='";
457 if ($recipe->TYPE) 461 if ($recipe->TYPE)
458 $sql .= "', type='" . mysqli_real_escape_string($db, $recipe->TYPE); 462 $sql .= "', type='" . mysqli_real_escape_string($db, $recipe->TYPE);
459 else 463 else
460 $sql .= "', type='"; 464 $sql .= "', type='";
461 if ($recipe->BATCH_SIZE) 465 if ($recipe->BATCH_SIZE)
462 $sql .= "', batch_size='" . floatval($recipe->BATCH_SIZE); 466 $batch_size = floatval($recipe->BATCH_SIZE);
463 else 467 $sql .= "', batch_size='" . $batch_size;
464 $sql .= "', batch_size='20.0";
465 if ($recipe->BOIL_TIME) 468 if ($recipe->BOIL_TIME)
466 $sql .= "', boil_time='" . floatval($recipe->BOIL_TIME); 469 $sql .= "', boil_time='" . floatval($recipe->BOIL_TIME);
467 else 470 else
468 $sql .= "', boil_time='90"; 471 $sql .= "', boil_time='90";
469 if ($recipe->EFFICIENCY) 472 if ($recipe->EFFICIENCY)
470 $sql .= "', efficiency='" . floatval($recipe->EFFICIENCY); 473 $efficiency = floatval($recipe->EFFICIENCY);
471 else 474 $sql .= "', efficiency='" . $efficiency;
472 $sql .= "', efficiency='75"; 475 /* Don't use $recipe->EST_OG but recalculate it */
473 if ($recipe->EST_OG)
474 $sql .= "', est_og='" . floatval($recipe->EST_OG);
475 else
476 $sql .= "', est_og='1.052";
477 if ($recipe->EST_FG) 476 if ($recipe->EST_FG)
478 $sql .= "', est_fg='" . floatval($recipe->EST_FG); 477 $sql .= "', est_fg='" . floatval($recipe->EST_FG);
479 else 478 else
480 $sql .= "', est_fg='1.000"; 479 $sql .= "', est_fg='1.000";
481 if ($recipe->EST_COLOR) { 480 if ($recipe->EST_COLOR) {
551 $fermentables .= ','; 550 $fermentables .= ',';
552 $comma = TRUE; 551 $comma = TRUE;
553 $fermentables .= '{"f_name":"' . mysqli_real_escape_string($db, $fermentable->NAME) . '"'; 552 $fermentables .= '{"f_name":"' . mysqli_real_escape_string($db, $fermentable->NAME) . '"';
554 $fermentables .= ',"f_origin":"' . mysqli_real_escape_string($db, $fermentable->ORIGIN) . '"'; 553 $fermentables .= ',"f_origin":"' . mysqli_real_escape_string($db, $fermentable->ORIGIN) . '"';
555 $fermentables .= ',"f_supplier":"' . mysqli_real_escape_string($db, $fermentable->SUPPLIER) . '"'; 554 $fermentables .= ',"f_supplier":"' . mysqli_real_escape_string($db, $fermentable->SUPPLIER) . '"';
556 $fermentables .= ',"f_amount":' . floatval($fermentable->AMOUNT); 555 $famount = floatval($fermentable->AMOUNT);
556 $fermentables .= ',"f_amount":' . $famount;
557 $fermentables .= ',"f_cost":' . floatval($fermentable->COST); 557 $fermentables .= ',"f_cost":' . floatval($fermentable->COST);
558 $fermentables .= ',"f_type":"' . mysqli_real_escape_string($db, $fermentable->TYPE) . '"'; 558 $fermentables .= ',"f_type":"' . mysqli_real_escape_string($db, $fermentable->TYPE) . '"';
559 $fermentables .= ',"f_yield":' . floatval($fermentable->YIELD); 559 $fyield = floatval($fermentable->YIELD);
560 $fermentables .= ',"f_yield":' . $fyield;
560 if ($fermentable->COLOR) { 561 if ($fermentable->COLOR) {
561 $srm = floatval($fermentable->COLOR); 562 $srm = floatval($fermentable->COLOR);
562 $ebc = srm_to_ebc($srm); 563 $ebc = srm_to_ebc($srm);
563 $fermentables .= ',"f_color":' . $ebc; 564 $fermentables .= ',"f_color":' . $ebc;
564 } 565 }
565 if ($fermentable->COARSE_FINE_DIFF) 566 if ($fermentable->COARSE_FINE_DIFF)
566 $fermentables .= ',"f_coarse_fine_diff":' . floatval($fermentable->COARSE_FINE_DIFF); 567 $fermentables .= ',"f_coarse_fine_diff":' . floatval($fermentable->COARSE_FINE_DIFF);
567 else 568 else
568 $fermentables .= ',"f_coarse_fine_diff":0'; 569 $fermentables .= ',"f_coarse_fine_diff":0';
569 if ($fermentable->MOISTURE) 570 if ($fermentable->MOISTURE)
570 $fermentables .= ',"f_moisture":' . floatval($fermentable->MOISTURE); 571 $fmoisture = floatval($fermentable->MOISTURE);
571 else 572 else
572 $fermentables .= ',"f_moisture":0'; 573 $fmoisture = 0;
574 $fermentables .= ',"f_moisture":' . $fmoisture;
573 if ($fermentable->DIASTATIC_POWER) 575 if ($fermentable->DIASTATIC_POWER)
574 $fermentables .= ',"f_diastatic_power":' . floatval($fermentable->DIASTATIC_POWER); 576 $fermentables .= ',"f_diastatic_power":' . floatval($fermentable->DIASTATIC_POWER);
575 else 577 else
576 $fermentables .= ',"f_diastatic_power":0'; 578 $fermentables .= ',"f_diastatic_power":0';
577 if ($fermentable->PROTEIN) 579 if ($fermentable->PROTEIN)
585 if ($fermentable->GRAINTYPE) 587 if ($fermentable->GRAINTYPE)
586 $fermentables .= ',"f_graintype":"' . mysqli_real_escape_string($db, $fermentable->GRAINTYPE) . '"'; 588 $fermentables .= ',"f_graintype":"' . mysqli_real_escape_string($db, $fermentable->GRAINTYPE) . '"';
587 else 589 else
588 $fermentables .= ',"f_graintype":"Base"'; 590 $fermentables .= ',"f_graintype":"Base"';
589 if ($fermentable->ADDED) 591 if ($fermentable->ADDED)
590 $fermentables .= ',"f_added":"' . mysqli_real_escape_string($db, $fermentable->ADDED) . '"'; 592 $fadded = mysqli_real_escape_string($db, $fermentable->ADDED);
591 else 593 else
592 $fermentables .= ',"f_added":"Mash"'; 594 $fadded = "Mash";
595 $fermentables .= ',"f_added":"'.$fadded.'"';
593 ($fermentable->ADD_AFTER_BOIL== "TRUE") ? $fermentables .= ',"f_add_after_boil":true' : $fermentables .= ',"f_add_after_boil":false'; 596 ($fermentable->ADD_AFTER_BOIL== "TRUE") ? $fermentables .= ',"f_add_after_boil":true' : $fermentables .= ',"f_add_after_boil":false';
594 ($fermentable->RECOMMEND_MASH== "TRUE") ? $fermentables .= ',"f_recommend_mash":true' : $fermentables .= ',"f_recommend_mash":false'; 597 ($fermentable->RECOMMEND_MASH== "TRUE") ? $fermentables .= ',"f_recommend_mash":true' : $fermentables .= ',"f_recommend_mash":false';
595 if ($fermentable->DISSOLVED_PROTEIN) 598 if ($fermentable->DISSOLVED_PROTEIN)
596 $fermentables .= ',"f_dissolved_protein":' . floatval($fermentable->DISSOLVED_PROTEIN); 599 $fermentables .= ',"f_dissolved_protein":' . floatval($fermentable->DISSOLVED_PROTEIN);
597 else 600 else
601 if ($fermentable->DI_pH) 604 if ($fermentable->DI_pH)
602 $fermentables .= ',"f_di_ph":' . floatval($fermentable->DI_pH); 605 $fermentables .= ',"f_di_ph":' . floatval($fermentable->DI_pH);
603 else 606 else
604 $fermentables .= ',"f_di_ph":5.6'; 607 $fermentables .= ',"f_di_ph":5.6';
605 $fermentables .= "}"; 608 $fermentables .= "}";
609 /* Sugars */
610 $d = $famount * ($fyield / 100) * (1 - $fmoisture / 100);
611 if ($fadded == "Mash")
612 $d = floatval($efficiency) / 100 * $d;
613 $f_sugars += $d;
606 } 614 }
607 615
608 $fermentables .= ']'; 616 $fermentables .= ']';
609 // echo $fermentables . PHP_EOL; 617 // echo $fermentables . PHP_EOL;
610 $sql .= "', json_fermentables='" . $fermentables; 618 $sql .= "', json_fermentables='" . $fermentables;
810 if (strlen($steps) > $len_mash) 818 if (strlen($steps) > $len_mash)
811 $len_mash = strlen($steps); 819 $len_mash = strlen($steps);
812 } 820 }
813 } 821 }
814 822
823 /*
824 * Added the calculated values
825 * OG, FG, color, IBU
826 */
827 $plato = 100 * $f_sugars / $batch_size;
828 $sg = plato_to_sg($plato);
829 /* Average loops, HansH 5x. Brouwhulp 20x, about 10x is enough so keep 20. */
830 for ($i = 0; $i < 20; $i++) {
831 if ($sg > 0)
832 $plato = 100 * $f_sugars / ($batch_size * $sg);
833 $sg = plato_to_sg($plato);
834 }
835 $sql .= "', est_og='" . floatval($sg);
836
815 $sql .= "';"; 837 $sql .= "';";
816 if (! $result = mysqli_query($db, $sql)) { 838 if (! $result = mysqli_query($db, $sql)) {
817 printf("Error: %s\n", mysqli_error($db)); 839 printf("Error: %s\n", mysqli_error($db));
818 } 840 }
819 } 841 }

mercurial