<?php

function display_anzeigen_explora($zeile1, $zeile2)
{
	//display_loeschen_nettun();

	$PORT="COM6:";
	$ZEILENLAENGE=20;

	// die zeilen mit Blanks auffuellen
	$zeile1=str_pad($zeile1, $ZEILENLAENGE, " ", STR_PAD_RIGHT);
	//$zeile1=iconv("UTF-8", "ISO-8859-1", $zeile1);
	$zeile2=str_pad($zeile2, $ZEILENLAENGE, " ", STR_PAD_RIGHT);
	//$zeile2=iconv("UTF-8", "ISO-8859-1", $zeile2);
	
	$zeile1=substr($zeile1,0,$ZEILENLAENGE);
	$zeile2=substr($zeile2,0,$ZEILENLAENGE);
	$zeile1=utf8_decode ( $zeile1 );
	$zeile2=utf8_decode ( $zeile2 );
	$handle = fopen($PORT, "w+");
	fwrite($handle, "\x0C"); // Display loeschen
	fwrite($handle, "\x1B\x52\x02"); // Deutsches Character Set wählen EPSON Mode
	fclose($handle);
	//$command1="echo $zeile1>$PORT";
	//$command2="echo $zeile2>$PORT";
	$command1="set /p x=$zeile1<nul >$PORT";
	$command2="set /p x=$zeile2<nul >$PORT";
	exec($command1, $output, $error_code);
	$handle = fopen($PORT, "w+");
	fwrite($handle, "\x1F\x24\x01\x02"); // auf zweite Zeile positionieren
	fclose($handle);
	exec($command2, $output, $error_code);
	
}


function display_anzeigen_nettun($zeile1, $zeile2)
{
	display_loeschen_nettun();

	$ZEILENLAENGE=20;

	// die zeilen mit Blanks auffuellen
	$zeile1=str_pad($zeile1, $ZEILENLAENGE, " ", STR_PAD_RIGHT);
	$zeile1=iconv("UTF-8", "ISO-8859-1", $zeile1);
	$zeile2=str_pad($zeile2, $ZEILENLAENGE, " ", STR_PAD_RIGHT);
	
	$zeile1=substr($zeile1,0,$ZEILENLAENGE);
	$zeile2=substr($zeile2,0,$ZEILENLAENGE);
	$command1="display\\write_display_nettun.exe ausgeben \"".$zeile1 ."\" \"". $zeile2 ."\"";
	
	//echo("Befehl wird ausgefuehrt: " . $command1 . "<br>");
	//exec($command1, $output, $error_code);
	$error_code=exec($command1);
	if ($error_code >0 )
	{
		echo("Fehler bei Kundendisplay anzeige: " . $command1);
	}
	//print_r($output);
}

function display_loeschen_nettun()
{
	$command1="display\\write_display_nettun.exe loeschen ";
	//echo("Befehl wird ausgefuehrt: " . $command1 . "<br>");
	exec($command1, $output, $error_code);
	if ($error_code >0 )
	{
		echo("Fehler beim loeschen des Kunden Display " . $command1);
	}
	//print_r($output);
}

function display_loeschen_explora()
{
	$PORT="COM6:";
	$handle = fopen($PORT, "w+");
	fwrite($handle, "\x0C"); // Display loeschen
	fclose($handle);
	
}

function kundenanzeige_ausgeben($produkt_kd, $stk_kd, $summe_kd, $gesamtsumme_kd)
{
	file_put_contents('kpcheckit.txt', "\n " .basename(__FILE__) . " ". __LINE__ ."\nDisplay wird angesprochen !!!\n", FILE_APPEND);
		
	// Stück hat 3 Zeichen (über 100 Stück haben wir Pech)
	// Stück hat schon deutsches Format, wieder zurückwandeln
	$stk_kd=str_replace('.', '', $stk_kd);
	$stk_kd=str_replace(',', '.', $stk_kd);
	$stk_kd=number_format($stk_kd,0,"","");
	$stk_kd=str_pad($stk_kd."x", 3, " ", STR_PAD_RIGHT);
	
	//Gesamtpreis je Produkt hat maximal 8 Zeichen - ab 10.000,00 Euro wie gehabt Pech
	$laenge_summe=strlen($summe_kd);   // Wie lange ist der Preis tatsächlich?
	
	//Produktname ist 20 minus die Länge der Summe minus 4 (3 zeichen für Stück Länge) und 1 Leerzeichen
	$produkt_laenge=20-$laenge_summe-4;
	$produkt_kd=str_replace('ß', 'ss', $produkt_kd);
	$produkt_kd=str_replace('&', 'u.', $produkt_kd);
	$produkt_kd=substr($produkt_kd,0,$produkt_laenge);
	$produkt_kd=str_pad($produkt_kd, $produkt_laenge, " ", STR_PAD_RIGHT);
	$produkt_kd=$produkt_kd . " ";
	
	$zeile1_kd=$stk_kd . $produkt_kd . $summe_kd;	
	
	$gesamtsumme_kd=str_pad($gesamtsumme_kd, 12, " ", STR_PAD_LEFT);
	$zeile2_kd="Gesamt: " . $gesamtsumme_kd;
	
	if ( strtoupper(KUNDENANZEIGE_VERWENDEN) == 'JA')
	{
		if ( strtoupper(KUNDENANZEIGE_TYP) == 'NETTUN' )
		{
			display_anzeigen_nettun($zeile1_kd, $zeile2_kd);
		}
		if ( strtoupper(KUNDENANZEIGE_TYP) == 'EXPLORA' )
		{
			display_anzeigen_explora($zeile1_kd, $zeile2_kd);
		}
	}
}


function kundenanzeige_ausgeben_text($zeile1, $zeile2)
{

	$zeile1=str_pad($zeile1, 20, " ", STR_PAD_BOTH);
	$zeile2=str_pad($zeile2, 20, " ", STR_PAD_BOTH);
	//$zeile1=iconv("UTF-8", "ISO-8859-1", $zeile1);
	//$zeile2=iconv("UTF-8", "ISO-8859-1", $zeile2);
	
	if ( strtoupper(KUNDENANZEIGE_VERWENDEN) == 'JA')
	{
		if ( strtoupper(KUNDENANZEIGE_TYP) == 'NETTUN' )
		{
			display_anzeigen_nettun($zeile1, $zeile2);
		}
		if ( strtoupper(KUNDENANZEIGE_TYP) == 'EXPLORA' )
		{
			display_anzeigen_explora($zeile1, $zeile2);
		}
	}
}

function kundenanzeige_loeschen()
{
	if ( strtoupper(KUNDENANZEIGE_VERWENDEN) == 'JA')
	{
		if ( strtoupper(KUNDENANZEIGE_TYP) == 'NETTUN' )
		{
			display_loeschen_nettun();
		}
		if ( strtoupper(KUNDENANZEIGE_TYP) == 'EXPLORA' )
		{
			display_loeschen_explora();
		}
	}
}

file_put_contents('kpcheckit.txt', "\n " .basename(__FILE__) . " ". __LINE__ ."\nDisplay wird angesprochen !!!\n", FILE_APPEND);

//display_anzeigen_explora("ab####ööööüüü€c", "aaßßadef");

?>