diff -r 45e87aa8d02c -r ac5c3e97fcf1 www/rec_print.php --- a/www/rec_print.php Tue Aug 02 20:35:00 2022 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,659 +0,0 @@ -ProcessingTable) - $this->TableHeader(); - } - - function TableHeader() { - $this->SetFont('Helvetica','B',9); - $this->SetX($this->TableX); - $this->SetFillColor(255,150,100); - foreach($this->aCols as $col) - $this->Cell($col['w'],5,$col['c'],0,0,$col['a'],true); - $this->Ln(); - } - - function AddCol($width=-1, $caption='', $align='L') { - $this->aCols[]=array('c'=>$caption,'w'=>$width,'a'=>$align); - } - - function TableGlobal($row) { - /* 2 Columns */ - global $recipetype; - $vul = $this->w - $this->rMargin - $this->lMargin - 120; - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->SetFont('Helvetica','B',9); - $this->SetX($this->TableX); - $this->SetFillColor(255,150,100); - $this->Cell(0, 5, 'Recept overzicht',0,0,'C',true); - $this->Ln(); - - $this->SetFont('Helvetica','',9); - $this->SetFillColor(210,245,255); - - $this->SetX($this->TableX); - $this->Cell(35,5,'Type',0,0,'L',true); - $this->Cell(25,5,$recipetype[$row['type']],0,0,'L',true); - $this->Cell($vul,5,'',0,0,'L',false); - $this->Cell(35,5,'Batch grootte',0,0,'L',true); - $this->Cell(25,5,$row['batch_size'].' liter',0,0,'L',true); - $this->Ln(); - - $this->SetX($this->TableX); - $this->Cell(35,5,'Kooktijd',0,0,'L',true); - $this->Cell(25,5,$row['boil_time'].' minuten',0,0,'L',true); - $this->Cell($vul,5,'',0,0,'L',false); - $this->Cell(35,5,'Brouwzaal rendement',0,0,'L',true); - $this->Cell(25,5,$row['efficiency'].' %',0,0,'L',true); - $this->Ln(); - - $this->cMargin=$cMargin; - } - - function TableFermentables($row) { - global $cost_fermentables; - global $total_fermentables; - global $pSugar; - global $pCara; - global $colorw; - global $preboil_sg; - global $added; - global $fermentabletype; - global $graintype; - $vul = $this->w - $this->rMargin - $this->lMargin - 125; - $this->Ln(); - $this->AddCol($vul,'Mout, granen en suikers','L'); - $this->AddCol(15,'Procent','R'); - $this->AddCol(15,'Opbr.','R'); - $this->AddCol(25,'Soort', 'L'); - $this->AddCol(30,'Gebruik moment','L'); - $this->AddCol(20,'Hoeveel','R'); - $this->AddCol(20,'Prijs','R'); - - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->TableHeader(); - $this->ProcessingTable=true; - - $sugarsf = 0; - $sugarsm = 0; - $this->SetFont('Helvetica','',9); - $this->SetFillColor(250, 195, 65); - $arr = json_decode($row['json_fermentables'], true); - foreach($arr as $item) { //foreach element in $arr - $name = iconv('UTF-8','windows-1252',$item['f_name']); - $supplier = iconv('UTF-8','windows-1252',$item['f_supplier']); - $amount = floatval($item['f_amount']); - $costkg = floatval($item['f_cost']); - $yield = floatval($item['f_yield']); - $moisture = floatval($item['f_moisture']); - $color = floatval($item['f_color']); - $percent = floatval($item['f_percentage']); - - if ($item['f_type'] == 1) // Sugar - $pSugar += $percent; - if ($item['f_graintype'] == 2) // Crystal - $pCara += $percent; - - if ($item['f_type'] == 0) - $soort = iconv('UTF-8','windows-1252',$graintype[$item['f_graintype']]); - else - $soort = iconv('UTF-8','windows-1252',$fermentabletype[$item['f_type']]); - - $cost = $amount * $costkg; - $cost_fermentables += $cost; - $total_fermentables += $amount; - /* Calculate the amount of sugars */ - $d = $amount * ($yield / 100) * (1 - $moisture / 100); - if ($item['f_added'] == 0) { // Mash - $d = floatval($row['efficiency']) / 100 * $d; - $sugarsm += $d; - } - $sugarsf += $d; - $colorw += ($amount * ebc_to_srm($color) / $row['batch_size']) * 8.34436; - - if ($amount > 100) - $amount = sprintf("%.1f",$amount).' kg'; - else if ($amount > 10) - $amount = sprintf("%.2f",$amount).' kg'; - else - $amount = sprintf("%.0f",$amount * 1000).' gr'; - $this->Cell($vul,5,$name.' ('.$supplier.') '.sprintf("%.0f",$color).' EBC',0,0,'L',true); - $this->Cell(15,5,sprintf("%.1f%%",$percent),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f%%",$yield),0,0,'R',true); - $this->Cell(25,5,$soort,0,0,'L',true); - $this->Cell(30,5,$added[$item['f_added']],0,0,'L',true); - $this->Cell(20,5,$amount,0,0,'R',true); - $this->Cell(20,5,sprintf("%.3f",$cost).EURO,0,0,'R',true); - $this->Ln(); - } - - $row['est_og'] = estimate_sg($sugarsf, floatval($row['batch_size'])); - $preboil_sg = estimate_sg($sugarsm, floatval($row['boil_size'])); - $this->SetFillColor(210,245,255); - $this->Cell($vul+105,5,'',0,0,'L',false); - $this->Cell(20,5,sprintf("%.3f",$cost_fermentables).EURO,0,0,'R',true); - $this->ProcessingTable=false; - $this->cMargin=$cMargin; - $this->aCols=array(); - $this->Ln(); - } - - function TableHops($row) { - global $total_hops; - global $total_ibus; - global $cost_hops; - global $preboil_sg; - global $hopform; - global $hopuse; - $vul = $this->w - $this->rMargin - $this->lMargin - 122; - $this->Ln(); - $this->AddCol($vul,'Hop','L'); - $this->AddCol(15,'Alpha','R'); - $this->AddCol(12,'IBU','R'); - $this->AddCol(25,'Soort','L'); - $this->AddCol(30,'Gebruik moment','L'); - $this->AddCol(20,'Hoeveel','R'); - $this->AddCol(20,'Prijs','R'); - - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->TableHeader(); - $this->ProcessingTable=true; - - $this->SetFont('Helvetica','',9); - $this->SetFillColor(100, 250, 65); - - $arr = json_decode($row['json_hops'], true); - foreach($arr as $item) { //foreach element in $arr - $name = iconv('UTF-8','windows-1252',$item['h_name']); - $origin = iconv('UTF-8','windows-1252',$item['h_origin']); - $amount = floatval($item['h_amount']); - $mass = $amount * 1000; - $costkg = floatval($item['h_cost']); - $time = floatval($item['h_time']); - $alpha = floatval($item['h_alpha']); - - $cost = ($amount * $costkg); - $cost_hops += $cost; - $total_hops += $amount; - - $moment = $hopuse[$item['h_useat']]; - if (($item['h_useat'] == 2) || ($item['h_useat'] == 4)) { // Boil or Whirlpool - $moment = $hopuse[$item['h_useat']].' '.$time." min"; - } else if ($item['h_useat'] == 5) { // Dryhop - $moment = $hopuse[$item['h_useat']].' '.sprintf("%.0f", $time / 1440).' dagen'; - } - $ibu = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $mass, $time, $alpha, - $row['ibu_method'], $row['brew_whirlpool9'], $row['brew_whirlpool7'], $row['brew_whirlpool6']); - $total_ibus += $ibu; - - if ($amount > 1) - $amount = sprintf("%.3f",$amount).' kg'; - else - $amount = sprintf("%.1f",$amount * 1000).' gr'; - - $this->Cell($vul,5,$name.' ('.$origin.')',0,0,'L',true); - $this->Cell(15,5,sprintf("%.1f%%",$alpha),0,0,'R',true); - $this->Cell(12,5,sprintf("%.1f",$ibu),0,0,'R',true); - $this->Cell(25,5,$hopform[$item['h_form']],0,0,'L',true); - $this->Cell(30,5,$moment,0,0,'L',true); - $this->Cell(20,5,$amount,0,0,'R',true); - $this->Cell(20,5,sprintf("%.3f",$cost).EURO,0,0,'R',true); - $this->Ln(); - } - - $this->SetFillColor(210,245,255); - $this->Cell($vul+102,5,'',0,0,'L',false); - $this->Cell(20,5,sprintf("%.3f",$cost_hops).EURO,0,0,'R',true); - $this->ProcessingTable=false; - $this->cMargin=$cMargin; - $this->aCols=array(); - $this->Ln(); - } - - function TableYeasts($row) { - global $cost_yeasts; - global $svg; - global $yeastform; - global $yeastuse; - $vul = $this->w - $this->rMargin - $this->lMargin - 110; - $this->Ln(); - $this->AddCol($vul,'Gist','L'); - $this->AddCol(15,'Attn','R'); - $this->AddCol(25,'Soort','L'); - $this->AddCol(30,'Gebruik moment','L'); - $this->AddCol(20,'Hoeveel','R'); - $this->AddCol(20,'Prijs','R'); - - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->TableHeader(); - $this->ProcessingTable=true; - - $this->SetFont('Helvetica','',9); - $this->SetFillColor(175, 175, 255); - - $arr = json_decode($row['json_yeasts'], true); - foreach($arr as $item) { //foreach element in $arr - $name = iconv('UTF-8','windows-1252',$item['y_name']); - $laboratory = iconv('UTF-8','windows-1252',$item['y_laboratory']); - $product_id = iconv('UTF-8','windows-1252',$item['y_product_id']); - $attenuation = floatval($item['y_attenuation']); - $cost = floatval($item['y_amount']) * floatval($item['y_cost']); - $cost_yeasts += $cost; - - if ($item['y_use'] == 0) // Primary - $svg = $attenuation; - - if ($item['y_form'] == 0) // Liquid - $amount = sprintf("%.0f",floatval($item['y_amount']))." pak"; - else if ($item['y_form'] == 1 || $item['y_form'] == 6) // Dry - $amount = sprintf("%.1f",floatval($item['y_amount'])*1000)." gr"; - else - $amount = sprintf("%.0f",floatval($item['y_amount'])*1000)." ml"; - $this->Cell($vul,5,$laboratory.' '.$product_id.' ('.$name.')',0,0,'L',true); - $this->Cell(15,5,sprintf("%.1f%%",$attenuation),0,0,'R',true); - $this->Cell(25,5,$yeastform[$item['y_form']],0,0,'L',true); - $this->Cell(30,5,$yeastuse[$item['y_use']],0,0,'L',true); - $this->Cell(20,5,$amount,0,0,'R',true); - $this->Cell(20,5,sprintf("%8.3f",$cost).EURO,0,0,'R',true); - $this->Ln(); - } - - $this->SetFillColor(210,245,255); - $this->Cell($vul+90,5,'',0,0,'L',false); - $this->Cell(20,5,sprintf("%8.3f",$cost_yeasts).EURO,0,0,'R',true); - $this->ProcessingTable=false; - $this->cMargin=$cMargin; - $this->aCols=array(); - $this->Ln(); - } - - function TableMiscs($row) { - global $cost_miscs; - global $misctype; - global $miscuse; - $vul = $this->w - $this->rMargin - $this->lMargin - 95; - if ($this->GetY() > 200) - $this->AddPage(); - else - $this->Ln(); - $this->AddCol($vul,'Naam','L'); - $this->AddCol(25,'Soort','L'); - $this->AddCol(30,'Gebruik moment','L'); - $this->AddCol(20,'Hoeveel','R'); - $this->AddCol(20,'Prijs','R'); - - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->TableHeader(); - $this->ProcessingTable=true; - - $this->SetFont('Helvetica','',9); - $this->SetFillColor(175, 175, 255); - - $arr = json_decode($row['json_miscs'], true); - foreach($arr as $item) { - $name = iconv('UTF-8','windows-1252',$item['m_name']); - $type = $item['m_type']; - $use_use = $item['m_use_use']; - $amount = floatval($item['m_amount']) * 1000; - $costg = floatval($item['m_cost']) / 1000; - $time = floatval($item['m_time']); - $aiw = $item['m_amount_is_weight']; - $cost = $amount * $costg; - $cost_miscs += $cost; - - if ($type == 4) // Water agent - $this->SetFillColor(240,140,130); - else if ($type == 3) // Fining - $this->SetFillColor(95,180,25); - else if (($type == 0) || ($type == 1) || ($type == 2) || ($type == 5)) // Spice, Herb, Flavour, Yeast nutrient - $this->SetFillColor(240,250,65); - else - $this->SetFillColor(210,245,255); - - if ($use_use == 2) // Boil - $gebruik = sprintf("%s %d min",$miscuse[$use_use],$time); - else - $gebruik = $miscuse[$use_use]; - - $hoeveel = sprintf("%.1f %s",$amount,$aiw ? "gr":"ml"); - $this->Cell($vul,5,$name,0,0,'L',true); - $this->Cell(25,5,$misctype[$type],0,0,'L',true); - $this->Cell(30,5,$gebruik,0,0,'L',true); - $this->Cell(20,5,$hoeveel,0,0,'R',true); - $this->Cell(20,5,sprintf("%8.3f",$cost).EURO,0,0,'R',true); - $this->Ln(); - } - - $this->SetFillColor(210,245,255); - $this->Cell($vul+75,5,'',0,0,'L',false); - $this->Cell(20,5,sprintf("%8.3f",$cost_miscs).EURO,0,0,'R',true); - - $this->ProcessingTable=false; - $this->cMargin=$cMargin; - $this->aCols=array(); - $this->Ln(); - } - - function TableMashs($row) { - global $cost_yeasts; - global $svg; - global $mashkg; - global $mashtype; - $vul = $this->w - $this->rMargin - $this->lMargin - 138; - if ($this->GetY() > 250) - $this->AddPage(); - else - $this->Ln(); - $this->AddCol($vul,'Maisch stap naam','L'); - $this->AddCol(25,'Stap type','L'); - $this->AddCol(16,'Start '.DEG.'C','R'); - $this->AddCol(16,'Eind '.DEG.'C','R'); - $this->AddCol(15,'Rust min','R'); - $this->AddCol(15,'Stap min','R'); - $this->AddCol(15,'L/Kg','R'); - $this->AddCol(18,'Inf/dec L','R'); - $this->AddCol(18,'Inf/dec '.DEG.'C','R'); - - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->TableHeader(); - $this->ProcessingTable=true; - - $this->SetFont('Helvetica','',9); - $this->SetFillColor(175, 175, 255); - - $vol = 0; - $arr = json_decode($row['json_mashs'], true); - foreach($arr as $item) { //foreach element in $arr - - if ($item['step_type'] == 0) - $vol += $item['step_infuse_amount']; - if ($mashkg > 0) - $thick = $vol / $mashkg; - else - $thick = 0; - $this->Cell($vul,5,$item['step_name'],0,0,'L',true); - $this->Cell(25,5,$mashtype[$item['step_type']],0,0,'L',true); - $this->Cell(16,5,sprintf("%.1f",$item['step_temp']),0,0,'R',true); - $this->Cell(16,5,sprintf("%.1f",$item['end_temp']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.0f",$item['step_time']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.0f",$item['ramp_time']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.2f",$thick),0,0,'R',true); - if ($item['step_type'] == 1) { - $this->Cell(18,5,' ',0,0,'R',true); - $this->Cell(18,5,' ',0,0,'R',true); - } else { - $this->Cell(18,5,sprintf("%.1f",$item['step_infuse_amount']),0,0,'R',true); - $this->Cell(18,5,sprintf("%.1f",$item['step_infuse_temp']),0,0,'R',true); - } - $this->Ln(); - } - $this->ProcessingTable=false; - $this->cMargin=$cMargin; - $this->aCols=array(); - $this->Ln(); - } - - function TableWaters($row) { - - $vul = $this->w - $this->rMargin - $this->lMargin - 137; - if ($this->GetY() > 250) - $this->AddPage(); - else - $this->Ln(); - $this->AddCol($vul,'Water bron','L'); - $this->AddCol(20,'Volume','R'); - $this->AddCol(15,'Ca','R'); - $this->AddCol(15,'Mg','R'); - $this->AddCol(15,'Na','R'); - $this->AddCol(15,'CaCO3','R'); - $this->AddCol(15,'Cl','R'); - $this->AddCol(15,'SO4','R'); - $this->AddCol(15,'pH','R'); - - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->TableHeader(); - $this->ProcessingTable=true; - - $this->SetFont('Helvetica','',9); - $this->SetFillColor(120, 255, 250); - - $this->Cell($vul,5,$row['w1_name'],0,0,'L',true); - $this->Cell(20,5,sprintf("%.1f", $row['w1_amount']).' L',0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w1_calcium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w1_magnesium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w1_sodium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w1_total_alkalinity']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w1_chloride']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w1_sulfate']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w1_ph']),0,0,'R',true); - $this->Ln(); - $this->Cell($vul,5,$row['w2_name'],0,0,'L',true); - $this->Cell(20,5,sprintf("%.1f", $row['w2_amount']).' L',0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w2_calcium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w2_magnesium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w2_sodium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w2_total_alkalinity']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w2_chloride']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w2_sulfate']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['w2_ph']),0,0,'R',true); - $this->Ln(); - $this->Cell($vul,5,'Gemengd water',0,0,'L',true); - $this->Cell(20,5,sprintf("%.1f", $row['wg_amount']).' L',0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wg_calcium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wg_magnesium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wg_sodium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wg_total_alkalinity']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wg_chloride']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wg_sulfate']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wg_ph']),0,0,'R',true); - $this->Ln(); - $this->Cell($vul,5,'Behandeld water',0,0,'L',true); - $this->Cell(20,5,'',0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wb_calcium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wb_magnesium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wb_sodium']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wb_total_alkalinity']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wb_chloride']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wb_sulfate']),0,0,'R',true); - $this->Cell(15,5,sprintf("%.1f", $row['wb_ph']),0,0,'R',true); - $this->ProcessingTable=false; - $this->cMargin=$cMargin; - $this->aCols=array(); - $this->Ln(); - } - - function TableSummary($row) { - global $pSugar; - global $pCara; - global $svg; - global $colorw; - global $cost_fermentables; - global $cost_hops; - global $cost_miscs; - global $cost_yeasts; - global $colormethod; - global $ibumethod; - /* 2 Columns */ - if ($this->GetY() > 200) - $this->AddPage(); - else - $this->Ln(); - $vul = $this->w - $this->rMargin - $this->lMargin - 170; - $cMargin=$this->cMargin; - $this->cMargin=2; - $this->TableX=$this->lMargin; - $this->SetFont('Helvetica','B',9); - $this->SetX($this->TableX); - $this->SetFillColor(255,150,100); - $this->Cell(0, 5, 'Recept samenvatting',0,0,'C',true); - $this->Ln(); - - $this->SetFont('Helvetica','',9); - $this->SetFillColor(210,245,255); - - $row['est_fg'] = estimate_fg($pSugar, $pCara, 0, 0, 0, $svg, $row['est_og']); - - $this->SetX($this->TableX); - $this->Cell(35,5,'Start SG',0,0,'L',true); - $this->Cell(25,5,sprintf("%.3f",$row['est_og']),0,0,'L',true); - $this->Cell(25,5,'('.sprintf("%.3f",$row['st_og_min']).' - '.sprintf("%.3f",$row['st_og_max']).')',0,0,'L',true); - $this->Cell($vul,5,'',0,0,'L',false); - $this->Cell(35,5,'Eind SG',0,0,'L',true); - $this->Cell(25,5,sprintf("%.3f",$row['est_fg']),0,0,'L',true); - $this->Cell(25,5,'('.sprintf("%.3f",$row['st_fg_min']).' - '.sprintf("%.3f",$row['st_fg_max']).')',0,0,'L',true); - $this->Ln(); - - $row['est_abv'] = abvol($row['est_og'], $row['est_fg']); - $this->SetX($this->TableX); - $this->Cell(35,5,'Geschat alcohol',0,0,'L',true); - $this->Cell(25,5,sprintf("%.1f",$row['est_abv']).'%',0,0,'L',true); - $this->Cell(25,5,'('.sprintf("%.1f",$row['st_abv_min']).' - '.sprintf("%.1f",$row['st_abv_max']).'%)',0,0,'L',true); - $this->Cell($vul,5,'',0,0,'L',false); - $this->Cell(35,5,'CO2',0,0,'L',true); - $this->Cell(25,5,sprintf("%.1f",$row['est_carb']).'%',0,0,'L',true); - $this->Cell(25,5,'('.sprintf("%.1f",$row['st_carb_min']).' - '.sprintf("%.1f",$row['st_carb_max']).'%)',0,0,'L',true); - $this->Ln(); - - $row['est_color'] = kw_to_ebc($row['color_method'], $colorw); - $this->SetX($this->TableX); - $this->Cell(35,5,'Kleur ('.$colormethod[$row['color_method']].')',0,0,'L',true); - $beercolor = ebc_to_color($row['est_color']); - if ($row['est_color'] > 30) - $this->SetTextColor(250); - $this->SetFillColor($beercolor[0],$beercolor[1],$beercolor[2]); - $this->Cell(25,5,$row['est_color'].' EBC',0,0,'L',true); - $this->Cell(25,5,'('.$row['st_color_min'].' - '.$row['st_color_max'].' EBC)',0,0,'L',true); - $this->SetTextColor(0); - $this->SetFillColor(210,245,255); - $this->Cell($vul,5,'',0,0,'L',false); - $this->Cell(35,5,'Bitterheid ('.$ibumethod[$row['ibu_method']].')',0,0,'L',true); - $this->Cell(25,5,sprintf("%.0f",$row['est_ibu']).' IBU',0,0,'L',true); - $this->Cell(25,5,'('.$row['st_ibu_min'].' - '.$row['st_ibu_max'].' IBU)',0,0,'L',true); - $this->Ln(); - - $this->SetX($this->TableX); - $cost_total = $cost_fermentables + $cost_hops + $cost_miscs + $cost_yeasts; - $this->Cell(35,5,'Kosten',0,0,'L',true); - $this->Cell(25,5,sprintf("%.2f",$cost_total).EURO,0,0,'L',true); - $this->Cell(25,5,sprintf("%.2f",$cost_total/$row['batch_size']).EURO.' / liter',0,0,'L',true); - - // calorieen - $this->ProcessingTable=false; - $this->cMargin=$cMargin; - $this->aCols=array(); - $this->Ln(); - } -} - - - -class PDF extends PDF_MySQL_Table { - function Header() { - global $row; - global $prdate; - $this->Image('images/logo.png',10,6,30); - // Title - $this->SetFont('Helvetica','B',18); - $this->SetX(45); - $this->Cell(0,8,$row['name'],0,1,'L'); - $this->Ln(1); - $this->SetFont('Helvetica','',10); - $this->SetX(45); - $this->Cell(17,5,'Datum:',0,0,'L'); - $this->Cell(0,5,$prdate,0,1,'L'); - $this->SetX(45); - $this->Cell(17,5,'Stijl:',0,0,'L'); - $st_name = iconv('UTF-8','windows-1252',$row['st_name']); - $this->Cell(0,5,$st_name,0,1,'L'); - $this->Ln(7); - // Ensure table header is printed - parent::Header(); - } -} - - -/* - * Generate PDF from recipe data - */ -$pdf = new PDF(); -$pdf->AddPage(); -$pdf->TableGlobal($row); -$pdf->TableFermentables($row); -$pdf->TableHops($row); -$pdf->TableYeasts($row); -$pdf->TableMiscs($row); -$pdf->TableMashs($row); -$pdf->TableWaters($row); -$pdf->TableSummary($row); -if (strlen($row['notes'])) { - if ($pdf->GetY() > 200) - $pdf->AddPage(); - else - $pdf->Ln(10); - $pdf->SetFillColor(255,150,100); - $pdf->SetFont('Helvetica','B',9); - $pdf->Cell(0, 5, 'Recept opmerkingen',0,0,'C',true); - $pdf->Ln(); - $pdf->SetFont('Helvetica','',9); - $pdf->SetFillColor(210,245,255); - $pdf->MultiCell(0,4,$row['notes'],0,'L',true); -} -// Disclaimer toevoegen dat dit alleen recept ontwikkeling is. Uitkomsten zoals IBU zijn een berekende schatting. -// Footer sectie met berekende/geschatte uitkomsten zoals ABV, kostprijs per liter enz. -$pdf->Output();