<?php

	function get_printname_kueche_for_product_id($product_id)
	{
		$printname_kueche="";
		$sql="SELECT printname_kueche FROM PRODUCTS WHERE ID='".$product_id."'";
		//echo $sql;
		$Q1=mysql_query($sql);
		while ($row1=mysql_fetch_assoc($Q1))
		{
			$printname_kueche=$row1['printname_kueche'];
		}
		return($printname_kueche);
	}
	
	function get_printerID_for_productID($product_id)
	{
		$supplyPrint='NULL';
		$sql2="select products.id, products.name,
							products.supplyprint as prodPrint, categories.supplyprint as catPrint 
					from products 
					LEFT JOIN categories on categories.id=products.category
					WHERE products.id='".$product_id."'";
		$Q2=mysql_query($sql2);
		while($row2=mysql_fetch_assoc($Q2))
		{
			if($row2['prodPrint'] > 0) $supplyPrint=$row2['prodPrint'];
			else if($row2['catPrint'] > 0) $supplyPrint=$row2['catPrint'];
		}
		return($supplyPrint);
	}
	
	// Zeigt von einem Kombi Produkt nur die hinzugefuegten Produkte andrucken
	// Wenn $printerId mitgegeben wurde, dann nur diese Childs zur�ckgeben
	function kombiprodukte_hinzugefuegte_produkte_finden($open_bon_id, $printerId=false)
	{
		$result=array();
		$offener_bon_produkt_id=$open_bon_id;
		$sql="SELECT produkt_id FROM offener_bon WHERE id=$offener_bon_produkt_id";
		$Q1=mysql_query($sql);
		$row1=mysql_fetch_assoc($Q1);
		$parent_produkt_id=$row1['produkt_id'];
		
		$sql="SELECT offener_bon.ID, offener_bon.NAME, produkt_id, productid, TAXCAT, PRICESELL, tax_rate, stueck, PRICESELL, darf_geloescht_werden
				from offener_bon 
				LEFT JOIN taxes ON TAXCAT=taxes.ID
				LEFT JOIN combiartikel ON offener_bon.produkt_id=productid AND childvon='$parent_produkt_id'
				WHERE has_parent='$offener_bon_produkt_id' AND productid IS NULL";
		$Q1=mysql_query($sql);
		if (! $Q1) echo mysql_error();
		while ($row1=mysql_fetch_assoc($Q1))
		{
			$child_produkt_id=$row1['produkt_id'];
			$supplyprint=get_printerID_for_productID($child_produkt_id);
			echo $row1['NAME']."<br>";
			//echo ."<br>"; // offener_bon
			echo $row1['productid']."<br>";  // combiprodukt
			$netto_preis=$row1['PRICESELL'];
			$tax_rate=$row1['tax_rate'];
			$stueck=$row1['stueck'];
			list($brutto_einzel, $brutto_summe, $steuer, $steuer_summe)=berechne_bruttopreis($netto_preis, $tax_rate, $stueck);
			if ($printerId!==false)
			{
				echo "PrinterID gesetzt";
				if ($supplyprint === $printerId) array_push($result, array('produkt_id'=>$row1['produkt_id'], 'name'=>$row1['NAME'], 'brutto'=>$brutto_summe));
			}
			else array_push($result, array('produkt_id'=>$row1['produkt_id'], 'name'=>$row1['NAME'], 'brutto'=>$brutto_summe));
		}
		return($result);
	}
	
	// gibt von einem Kombiprodukt die gel�schten Produkte zur�ck
	function kombiprodukte_geloeschte_produkte_finden($open_bon_id, $printerId=false)
	{
		$result=array();
		$offener_bon_produkt_id=$open_bon_id;
		$sql="SELECT produkt_id FROM offener_bon WHERE id=$offener_bon_produkt_id";
		$Q1=mysql_query($sql);
		$row1=mysql_fetch_assoc($Q1);
		$parent_produkt_id=$row1['produkt_id'];
		
		$sql="SELECT offener_bon.ID, products.NAME as NAME, produkt_id, productid, products.PRICESELL, taxes.RATE as tax_rate
				from combiartikel 
				LEFT JOIN offener_bon ON offener_bon.produkt_id=productid AND has_parent='$offener_bon_produkt_id'
				LEFT JOIN products ON productid=products.ID
				LEFT JOIN taxes ON products.TAXCAT=taxes.ID
				WHERE childvon='$parent_produkt_id' AND produkt_id IS NULL";
		//echo $sql;
		$Q1=mysql_query($sql);
		if (! $Q1) echo mysql_error();
		while ($row1=mysql_fetch_assoc($Q1))
		{
			$child_produkt_id=$row1['productid'];
			$supplyprint=get_printerID_for_productID($child_produkt_id);
			echo $row1['NAME']."<br>";
			echo $row1['produkt_id']."<br>"; // offener_bon
			echo $row1['productid']."<br>";  // combiprodukt
			$netto_preis=$row1['PRICESELL'];
			$tax_rate=$row1['tax_rate'];
			$stueck=1;
			list($brutto_einzel, $brutto_summe, $steuer, $steuer_summe)=berechne_bruttopreis($netto_preis, $tax_rate, $stueck);
			if ($printerId!==false)
			{
				echo "PrinterID gesetzt";
				if ($supplyprint === $printerId) array_push($result, array('produkt_id'=>$row1['productid'], 'name'=>$row1['NAME'], 'brutto'=>$brutto_summe));
			}
			else array_push($result, array('produkt_id'=>$row1['productid'], 'name'=>$row1['NAME'], 'brutto'=>$brutto_summe));
		}
		return($result);
	}
	
		// Funktion stellt fest, ob ein Artikel ein kombiartikel ist oder nicht
	function ist_produkt_ein_kombiartikel($produkt_id)
	{
		$sql="SELECT id from combiartikel WHERE childvon=$produkt_id";
		$Q1=mysql_query($sql);
		if ($Q1)
		{
			if (mysql_num_rows($Q1)>0) return true;
		}
		else log_to_file("Fehler beim suchen des kombiartikel mit ID: $produkt_id". mysql_error());
		return false;
	}
	
	// Funktion sucht anhand der offenen_bon ID die produkt ID heraus
	function get_produkt_id_from_offener_bon_id($offener_bon_id)
	{
		$sql="SELECT produkt_id from offener_bon WHERE ID=$offener_bon_id";
		$Q1=mysql_query($sql);
		if ($Q1)
		{
			while ($row=mysql_fetch_assoc($Q1))
			{
				$result=$row['produkt_id'];
				return($result);
			}
		}
		else log_to_file("Fehler beim suchen der offenen Bon ID mit ID: $offener_bon_id". mysql_error());
		return false;
	}
	
	// 2018-05-21	RFR		das ist der K�chendruck!!
	//						druckt das array $pdfContentData 
	// 2018-06-24	RFR		$abholschein_nr hinzugef�gt, wenn der K�chenbildschirm Abholschein Nr. gedruckt werden soll
	// 2019-04-17	RFR		offener_bon_id hinzugef�gt wegen Zusatztext
	function createPdf($printerId, $pdfContentData, $currentTable, $userName, $pdfPrintFunktionName, $abholschein_nr=false, $offener_bon_id=false){
		$tOp="";
		
		//var_dump($pdfContentData);
		//require_once('fpdf.php');
		require_once('chinese.php');
		
		$printerSetings=mysql_fetch_assoc(mysql_query("SELECT * FROM drucker WHERE drucker_id = ".$printerId." "));
		$marginArray=explode(",", $printerSetings['drucker_margin_pdf']);		#  in db oben, unten, links   eingetragen
		
		if($printerSetings['druckbreite'] == true && $printerSetings['druckbreite'] > 35) $bonWidth = $printerSetings['druckbreite'];
		else $bonWidth=preg_replace('/[^\d]/', '', AUSDRUCK_GESAMTE_BREITE);
		
		$bonHeight=250;
		if(count($marginArray) >= 3){
			$marginLR=$marginArray[2];
			$marginTop=$marginArray[0];
			$marginBottom=$marginArray[1];
		}
		else {
			$marginLR=0;
			$marginTop=0;
			$marginBottom=0;
			
		}
			
		$pdf=new PDF_Chinese('P','mm', array($bonWidth, $bonHeight));
		$pdf->AddBig5Font();
		$pdf->AddGBFont();
		$pdf->AddGBhwFont();
		//$pdf=new FPDF('P','mm', array($bonWidth, $bonHeight));
		$pdf->SetMargins($marginLR, $marginTop, $marginBottom);		
		$pdf->AddPage();
		
		$fontConfig=SCHRIFT_AUSDRUCK_BESTELLUNG_PDF;
		

		if ( strpos(strtolower($fontConfig), 'arial') !== false  || strpos(strtolower($fontConfig), 'helvetica') !== false || 
					strpos(strtolower($fontConfig), 'sans serif') !== false ){ $pdfFont="Arial"; }
					
		else if ( strpos(strtolower($fontConfig), 'times') !== false  || strpos(strtolower($fontConfig), 'roman') !== false ||
					(strpos(strtolower($fontConfig), 'serif') !== false &&  strpos(strtolower($fontConfig), 'sans') == false)) { $pdfFont="Times"; }
		else if (strpos(strtolower($fontConfig), 'courier') !== false ) { $pdfFont="Courier";  }
		else {$pdfFont="Arial";   }
		
		preg_match('/\d+px | \d+pt/', $fontConfig, $m);
		preg_match('/\d+/', $m[0], $match);
		$pdfFontSize=$match[0];				#  stimmt nicht wirklich, fpdf verwendet hier pt und nciht px, pt ist auf inch bezogen, px auf sreen dott size.
		
		$lineHeight=$pdfFontSize/2.5;
		$lineHeightDefault=$lineHeight;
		$pdfFontSizeDefault=$pdfFontSize;
		
		$pdf->SetFont($pdfFont, '', $pdfFontSize); 
		$pdf->SetFont('Arial','',12);
		$pdf->Cell($bonWidth-($marginLR*2), $lineHeight,  iconv('UTF-8', 'windows-1252', strip_tags(AUSRUCK_KOPFZEILE_1)), 0, 1, 'C');
		$pdf->Cell(0, 5,  "", 0, 1, 'C');
		// Abholnummer auch auf Küchendrucker 
		/*
		if (defined('KUECHE_ABHOLSCHEIN_AUF_KUECHENBELEG_DRUCKEN') && strtolower(KUECHE_ABHOLSCHEIN_AUF_KUECHENBELEG_DRUCKEN) == 'ja') {
			$pdf->SetFont($pdfFont, 'B', KUECHE_ABHOLSCHEIN_SCHRIFT_GROESSE_KUECHENBELEG);
			$pdf->Cell(($bonWidth - ($marginLR / 2)), $lineHeight * 2, $abholschein_nr, 0, 1, 'C');
			$pdf->SetFont($pdfFont, '', $pdfFontSize);
			$lineHeight = $pdfFontSize / 2.5;
		}
		*/
		
		// Den Zusatztext auch Ausdrucken falls es gesetzt ist !!!
		if (defined('BON_ZUSATZ_TEXT_KUECHENDRUCK') && strtolower(BON_ZUSATZ_TEXT_KUECHENDRUCK)==='ja')
		{
			$sql="SELECT bon_text FROM bon_add_text WHERE offenerbon_id='".$offener_bon_id."'";
			$Q1=mysql_query($sql);
			if (!$Q1) echo "Fehler beim suchen des Zusatztext:". mysql_error();
			$row=mysql_fetch_array($Q1);
			if (mysql_num_rows($Q1)>0 ) $bonZusatzTxt=$row['bon_text'];
			else $bonZusatzTxt="";
			if(strlen(trim($bonZusatzTxt)) > 0 )
			{
				//$pdf->Cell(0, $lineHeight/3, "", 0, 1, 'C');
				$pdf->MultiCell((( $bonWidth-($marginLR*2))/2)-5, $lineHeight, iconv('UTF-8', 'windows-1252', $bonZusatzTxt) , 0, 'L', 0); 
				$pdf->Cell(0, $lineHeight/3, "", "", 1, 'C');
			}
			
			if (defined('BON_ZUSATZ_TEXT_KUECHENDRUCK_TEXT_LOESCHEN') && strtolower(BON_ZUSATZ_TEXT_KUECHENDRUCK_TEXT_LOESCHEN)==='ja')
			{
				$sql="DELETE FROM bon_add_text WHERE offenerbon_id='".$offener_bon_id."'";
				$Q1=mysql_query($sql);
				if (!$Q1) echo "Fehler beim löschen des Zusatztext:". mysql_error();
			}
		}
		
		// Kunden ausgeben !!!
		if (defined('KUECHENBON_KUNDE_DRUCKEN') && strtolower(KUECHENBON_KUNDE_DRUCKEN)==='ja')
		{
			$sql="SELECT * FROM offener_bon 
					LEFT JOIN kunden ON kunden.id=offener_bon.kunden_id
					WHERE bon_id='".$offener_bon_id."' LIMIT 1 ";
			$Q1=mysql_query($sql);
			if (!$Q1) echo "Fehler beim suchen des Kunden:". mysql_error();
			$kdData=mysql_fetch_array($Q1);
			$kundenId=$kdData["kunden_id"];
			if(($kundenId) > 0 )
			{
				if($kdData['kundennummer'] != "" ) $kundennummer=$kdData['kundennummer']; else $kundennummer="";
				$pdf->Cell(0, $lineHeight/3, "", 0, 1, 'C');
				// Cashback Karten Nummer auf Bon Drucken:
				if($kdData['loyality_card'] != "" ) $loyality_card=$kdData['loyality_card']; else $loyality_card="";
				if($loyality_card != "") $pdf->Cell($bonWidth-($marginLR/2), $lineHeight, "Cashback Karte Nr: ".iconv('UTF-8', 'windows-1252', $loyality_card), 0, 1, 'L');
				if($kundennummer != "") 
				{
					if(defined('BON_KUNDENNUMMER_DRUCKEN') && strtolower(BON_KUNDENNUMMER_DRUCKEN) == 'ja')
					{
						$pdf->SetFont('','B');
						$pdf->Cell($bonWidth-($marginLR/2), $lineHeight, "Kunden Nummer: ".iconv('UTF-8', 'windows-1252', $kundennummer), 0, 1, 'L');
						$pdf->SetFont('','');
					}
				}
				
				if($kdData['Firma'] != "" )$pdf->Cell($bonWidth-($marginLR/2), $lineHeight, iconv('UTF-8', 'windows-1252', $kdData['Firma']), 0, 1, 'L');
				if($kdData['anrede'] != "" ) $anrede=$kdData['anrede']." "; else $anrede="";
				if($kdData['titel'] != "" ) $titel=$kdData['titel']." "; else $titel="";
				if($kdData['vorname'] != "" ) $vorN=$kdData['vorname']." "; else $vorN="";
				if($kdData['nachname'] != "" ) $nachN=$kdData['nachname']; else $nachN="";
				$nName=$anrede.$titel.$vorN.$nachN;
				if($nName != "") $pdf->Cell($bonWidth-($marginLR/2), $lineHeight, iconv('UTF-8', 'windows-1252', $nName), 0, 1, 'L');
				if($kdData['strasse1'] != "" )$pdf->Cell($bonWidth-($marginLR/2), $lineHeight, iconv('UTF-8', 'windows-1252', $kdData['strasse1']), 0, 1, 'L');
				if($kdData['strasse2'] != "" )$pdf->Cell($bonWidth-($marginLR/2), $lineHeight, iconv('UTF-8', 'windows-1252', $kdData['strasse2']), 0, 1, 'L');
				if($kdData['plz'] != "" ) $plz=$kdData['plz']." "; else $plz="";
				if($kdData['Ort'] != "" ) $ort=$kdData['Ort']; else $ort="";
				if($kdData['anmerkung'] != "" ) $anmerkung=$kdData['anmerkung']; else $anmerkung="";
				
				$city=$plz.$ort;
				if($city != "") $pdf->Cell($bonWidth-($marginLR/2), $lineHeight, iconv('UTF-8', 'windows-1252', $city), 0, 1, 'L');
				if(trim($kdData['telefon1']) != "" ) $pdf->Cell($bonWidth-($marginLR/2), $lineHeight, "Tel. ".$kdData['telefon1'], 0, 1, 'L');
				else if($kdData['telefon2'] != "" && trim($kdData['telefon1']) == "" ) $pdf->Cell($bonWidth-($marginLR/2), $lineHeight, "Tel. ".$kdData['telefon2'], 0, 1, 'L');
				if(trim($kdData['mobil']) != "" ) $pdf->Cell($bonWidth-($marginLR/2), $lineHeight, "Mobil ".$kdData['mobil'], 0, 1, 'L');
				
				if($anmerkung != "") 
				{
					if(defined('BON_KUNDEN_ANMERKUNG_DRUCKEN') && strtolower(BON_KUNDEN_ANMERKUNG_DRUCKEN) == 'ja')
					{
						$pdf->Cell(0, $lineHeight/3, "", 0, 1, 'C');
						$pdf->MultiCell( $bonWidth-$marginLR, $lineHeight, iconv('UTF-8', 'windows-1252', $anmerkung) , 0, 'L', 0); 
					}
				}
			}
		}
		$pdf->Cell((($bonWidth-($marginLR*2))/2)-5, $lineHeight,  iconv('UTF-8', 'windows-1252', $pdfPrintFunktionName), 'B', 0, 'R');
		$pdf->Cell(10, $lineHeight,  "", 'B', 0, 'C');
		$pdf->Cell((($bonWidth-($marginLR*2))/2)-5, $lineHeight,  date("j.n.Y H:i"), 'B', 1, 'L');
		$pdf->Cell(0, 5,  "", 0, 1, 'C');
		// hier wird die Abholschein Nummer nach Bildschirmdruck ausgedruckt
		if ($abholschein_nr !== false)
		{
			//$pdf->SetFont($pdfFont, 'B', $pdfFontSize*2); 
			$pdf->SetFont($pdfFont, 'B', KUECHE_ABHOLSCHEIN_SCHRIFT_GROESSE);
			$pdf->Cell(0, $lineHeight*2, $abholschein_nr , 0, 1, 'C');
			$pdf->SetFont($pdfFont, '', $pdfFontSize); 
		}
		// Ende Abholschein Nummer
		
		$pdf->Cell(($bonWidth-($marginLR*2))/2, $lineHeight,  iconv('UTF-8', 'windows-1252', $currentTable), 'B', 0, 'L');
		
		$pdf->Cell(($bonWidth-($marginLR*2))/2, $lineHeight,  iconv('UTF-8', 'windows-1252', $userName), 'B', 1, 'R');
		$pdf->Cell(0, $lineHeight,  "", 0, 1, 'R');
		
		$artHeader="";
		$fontScaleFactor=1.2;
		$pdfFontSize*=$fontScaleFactor;
		
		for($i=0; $i < sizeof($pdfContentData); $i++){

			if($artHeader != $pdfContentData[$i][8]){
				if(defined('BASIS_LIZENZ_VORHANDEN') && strtolower(BASIS_LIZENZ_VORHANDEN) == 'ja'){
						# Gänge Header (vor- haupt- nachspeise) gedruckt wenn lizenz ausreicht (basis)
					$pdf->SetFont($pdfFont, 'B', $pdfFontSize); 
					$lineHeight*=$fontScaleFactor;
					$pdf->SetDrawColor(125);
					$pdf->SetLineWidth(.35);
					$pdf->Cell($bonWidth, $lineHeight*1.2,  "", 0, 1, 'C');
					
					if(defined('AUSDRUCK_BEREITSTELLUNGSBON_PREIS') && strtolower(AUSDRUCK_BEREITSTELLUNGSBON_PREIS) == 'ja'){
						$pdf->Cell($bonWidth-($marginLR*2), $lineHeight,  iconv('UTF-8', 'windows-1252',  $pdfContentData[$i][8]), "B", 1, 'L');
					}
					else{
						$pdf->Cell(($bonWidth-($marginLR*2))*.75, $lineHeight,  iconv('UTF-8', 'windows-1252',  $pdfContentData[$i][8]), "B", 1, 'L');
					}
					$pdf->Cell($bonWidth, $lineHeight*.3,  "", 0, 1, 'C');
					 
					$pdf->SetDrawColor(0);
					$pdf->SetLineWidth(.2);
					$artHeader=$pdfContentData[$i][8];
				}
			}
			
			// Hier steht die Stückzahl - nur wenn kein Kombi Artikel
			if ($pdfContentData[$i]['has_parent']==0)
			{
				$pdf->SetFont($pdfFont, '', $pdfFontSize);
				$pdf->Cell( preg_replace('/[^\d]/', '', AUSDRUCK_BON_STK_CM), $lineHeight,  $pdfContentData[$i][3], 0, 0, 'R');
				
			}
			log_to_file( json_encode($pdfContentData[$i]));
			
			$nameWidth=($bonWidth-(($marginLR*2)+preg_replace('/[^\d]/', '', AUSDRUCK_BON_STK_CM))	);

			// Schau nach ob es einen Namen für den Küchendruck gibt
			
			//$produktname=iconv('UTF-8', 'windows-1252',  $pdfContentData[$i][2]);
			//$produktname=implode(";",$pdfContentData[$i]);
			
			// Schau nach ob ein eigener Name für den Küchendruck konfiguriert wurde
			if (defined('AUSDRUCK_BEREITSTELLUNGSBON_PRINTNAME_KUECHE') && strtolower(AUSDRUCK_BEREITSTELLUNGSBON_PRINTNAME_KUECHE) == 'ja')
			{
				$printname_kueche=get_printname_kueche_for_product_id($pdfContentData[$i][0]);
				if (empty($printname_kueche))
				{
					$produktname=iconv('UTF-8', 'windows-1252',  $pdfContentData[$i][2]);
				}
				else
				{
					if (defined('AUSDRUCK_BEREITSTELLUNGSBON_PRINTNAME_KUECHE_ENCODING') && strtolower(AUSDRUCK_BEREITSTELLUNGSBON_PRINTNAME_KUECHE_ENCODING) == 'big5')
					{
						$produktname=iconv('UTF-8', 'big5', $printname_kueche);
						$pdf->SetFont('Big5','',$pdfFontSize);
					}
					else if (defined('AUSDRUCK_BEREITSTELLUNGSBON_PRINTNAME_KUECHE_ENCODING') && strtolower(AUSDRUCK_BEREITSTELLUNGSBON_PRINTNAME_KUECHE_ENCODING) == 'gb')
					{
						$produktname=iconv('UTF-8', 'gb2312', $printname_kueche);
						$pdf->SetFont('GB','',$pdfFontSize);
					}
					else
					{
						$produktname=iconv('UTF-8', 'windows-1252',  $printname_kueche);
					}
				}
			}
			else 
			{
				// Wenn kein eigener printname_kueche gesetzt wurde, dann gib den Printnamen aus!
				$produktname=iconv('UTF-8', 'windows-1252',  $pdfContentData[$i][2] );
			}
			
			if(defined('AUSDRUCK_BEREITSTELLUNGSBON_PREIS') && strtolower(AUSDRUCK_BEREITSTELLUNGSBON_PREIS) == 'ja'){			
				$nameWidth-=15;
				$posY=$pdf->GetY();
				$posX=$marginLR+preg_replace('/[^\d]/', '', AUSDRUCK_BON_STK_CM)+$nameWidth;			
				$pdf->MultiCell( $nameWidth, $lineHeight, $produktname, 0, 'L', 0);  # border-0; align L, fill-0,
				$posY_2=$pdf->GetY();
				$pdf->SetXY($posX, $posY);
				
				$pdf->Cell($bonWidth-$marginLR-$posX, $lineHeight,  number_format($pdfContentData[$i][9], 2, ",", "."), 0, 1, 'R');
				$pdf->SetY($posY_2);
			}
			else{	
				// 26.05.2020 RFR: Keine Childs mehr ausdrucken
				//$pdfContentData[$i]['offene_bon_id']
				// hier werden die Childs ausgedruckt

				if ($pdfContentData[$i]['has_parent']>0)
				{
					$pdf->SetFont($pdfFont, '', $pdfFontSize*0.7);
					//$pdf->Cell(($bonWidth-($marginLR*2))*.2, $lineHeight*0.7,  iconv('UTF-8', 'windows-1252',  $pdfContentData[$i][3]), 0, 0, 'R');
					//$pdf->Cell(($bonWidth-($marginLR*2))*.8, $lineHeight*0.7,  iconv('UTF-8', 'windows-1252',  $pdfContentData[$i][2]), 0, 1, 'L');
				}
				else 
				$pdf->MultiCell( $nameWidth, $lineHeight, $produktname , 0, 'L', 0);  # border-0; align L, fill-0,			
			}
			
			// ***********************************************
			// Childs gelöscht und hinzugefügt andrucken
			$produkt_id=$pdfContentData[$i][0];
			$offene_produkt_id=$pdfContentData[$i]['offene_bon_id'];
			if (ist_produkt_ein_kombiartikel($produkt_id))
			{
				log_to_file("KOMBI Produkt ID: $produkt_id");
				$pdf->SetFont($pdfFont, '', $pdfFontSize*0.7);
				$result=kombiprodukte_geloeschte_produkte_finden($offene_produkt_id, $printerId);
				log_to_file(json_encode($result));
				foreach ($result as $line)
				{
					$geloeschte_produkt_id=$line['produkt_id'];
					$pdf->Cell(($bonWidth-($marginLR*2))*.2, $lineHeight*0.7,  iconv('UTF-8', 'windows-1252',  "-"), 0, 0, 'R');
					$pdf->Cell(($bonWidth-($marginLR*2))*.8, $lineHeight*0.7,  iconv('UTF-8', 'windows-1252',  $line['name']." \t ".$line['brutto']), 0, 1, 'L');
				}
				$result=kombiprodukte_hinzugefuegte_produkte_finden($offene_produkt_id, $printerId);
				//log_to_file(json_encode($result));
				foreach ($result as $line)
				{
					$hinzugefuegte_produkt_id=$line['produkt_id'];
					$pdf->Cell(($bonWidth-($marginLR*2))*.2, $lineHeight*0.7,  iconv('UTF-8', 'windows-1252',  "+"), 0, 0, 'R');
					$pdf->Cell(($bonWidth-($marginLR*2))*.8, $lineHeight*0.7,  iconv('UTF-8', 'windows-1252',  $line['name']." \t ".$line['brutto']), 0, 1, 'L');
				}
			}
			
			$pdf->SetFont($pdfFont, '', $pdfFontSize);
			
			// Das sind wohl die Beilagen plus und Minus
			if($pdfContentData[$i][5] != "" || $pdfContentData[$i][6] != ""){
					if($pdfContentData[$i][5] != ""){
						$minusContent=explode(";", $pdfContentData[$i][5]);
						for($j=0; $j < sizeof($minusContent); $j++){
							$pdf->Cell(($bonWidth-($marginLR*2))*.2, $lineHeight,  iconv('UTF-8', 'windows-1252',  "- "), 0, 0, 'R');
							$pdf->Cell(($bonWidth-($marginLR*2))*.8, $lineHeight,  iconv('UTF-8', 'windows-1252',  $minusContent[$j]), 0, 1, 'L');
						}
					}
					if($pdfContentData[$i][6] != ""){
						$plusContent=explode(";", $pdfContentData[$i][6]);
						for($y=0; $y < sizeof($plusContent); $y++){
							$pdf->Cell(($bonWidth-($marginLR*2))*.2, $lineHeight,  iconv('UTF-8', 'windows-1252',  "+ "), 0, 0, 'R');
							$pdf->Cell(($bonWidth-($marginLR*2))*.8, $lineHeight,  iconv('UTF-8', 'windows-1252',  $plusContent[$y]), 0, 1, 'L');
						}
					}
			}
						
			$tOp.=$pdfContentData[$i][0]." - ".$pdfContentData[$i][1]." - ".$pdfContentData[$i][2]."\n";
		
		}
		
		$pdf->SetFont($pdfFont, '', $pdfFontSizeDefault);
		$lineHeight=$lineHeightDefault;
		
		# margin bottom Cell
		$pdf->SetDrawColor(150);
		#$pdf->SetLineWidth(.01);
		$pdf->Cell(($bonWidth+$marginLR)/2, $marginBottom, "", 0, 0, 'R');
		$pdf->Cell(5, $marginBottom, "", "B", 1, 'C');
		
		
		$func=$pdfPrintFunktionName;
		$mMap = array("/\s/", "/\:/", "/ä/", "/Ä/", "/ö/", "/Ö/", "/ü/", "/Ü/", "/ß/", "[^\w\s\d\.\~,;\[\]\(\]]");	#"[^\w\s\d\.\-_~,;:\[\]\(\]]"
        $rRep= array("", "-", "ae", "Ae", "oe", "Oe", "ue", "Ue", "sz", "");
			
		$currentTable=preg_replace($mMap, $rRep, $currentTable);
		$currentTable=preg_replace('/[^A-Za-z0-9\-_]/', '', $currentTable);
		$supplFunc=substr($pdfPrintFunktionName, 0, 5);
		$supplFunc=preg_replace($mMap, $rRep, $supplFunc);
		
		$printer=mysql_fetch_array(mysql_query("SELECT win_drucker_name FROM drucker WHERE drucker_id = ".$printerId." "));
		$drucker=$printer[0];
		$dDate=date("m-d H:i");
	
		$outputTarget=__DIR__ ."\..\docs\sIT_".$supplFunc."_bon_".$currentTable."_".$abholschein_nr."_".date('d_m_H_i').".pdf";
		$command="C:\sitpos\pdfxchange\App\PDFV_Portable\PDFXCview.exe /print:printer=\"$drucker\" \"$outputTarget\" ";			


		$pdf->Output($outputTarget, "F");
		
			//exec($command, $output, $error_code);
			#pclose(popen($command, "r"));
		$error_code=seiteDrucken($drucker, $outputTarget, "kuechenPrint");
	
		return "Success";
		
			
	}
	
?>