<body>

<?php
	require_once("../config/connect.php");
	

	function get_my_default_printer()
	{
		$printer=mysql_fetch_array(mysql_query("SELECT win_drucker_name FROM drucker WHERE LOWER(ist_rechnungsdrucker) = 'ja' "));
		return($printer['win_drucker_name']);
	}

	function kassenlade_oeffnen_450()
	{
		//	print_r(printer_list(PRINTER_ENUM_LOCAL));
		$drucker=get_my_default_printer();
		if($printer=printer_open($drucker))
		{
			//echo $printer;
			printer_set_option($printer, PRINTER_MODE, "RAW");
			echo "Drucker $drucker geöffnet";
			printer_write($printer, "\x1B\x70\x00\xC8\xFA");
			//printer_write($printer, "\n");
			printer_close($printer);
		}
		else echo "Fehler beim Drucker öffnen";
	}	
	
	function kassenlade_oeffnen_nettun()
	{
		$command1="write_display_nettun.exe lade_oeffnen ";
		//echo("Befehl wird ausgefuehrt: " . $command1 . "<br>");
		exec($command1, $output, $error_code);
		if ($error_code >0 )
		{
			echo("Fehler beim oeffnen der Kassenlade " . $command1);
		}
		print_r($output);
	}
	
	function kassenlade_oeffnen()
	{
		if ( strtoupper(KASSENLADE_TYPE) == 'NETTUN' )
		{
			kassenlade_oeffnen_nettun();
		}
		else if ( strtoupper(KASSENLADE_TYPE) == 'EPSONCOMPATIBEL' )
		{
			kassenlade_oeffnen_450();
		}
		
		else echo "System nicht definiert. Anzeigetype: ".KASSENLADE_TYPE;
	}
	
		// define('KASSENLADE_TYPE', 'explora');
		//kassenlade_oeffnen();
		
	
	
	function kassa_bezahlung()
	{
		//$zahlungsart_name = preg_split ("/\,/", $_REQUEST['zahlungsart_name']);
		//$zahlungsart_id = preg_split ("/\,/", $_REQUEST['zahlungsart_id']);
		//$zahlungsart_value = preg_split ("/\,/", $_REQUEST['zahlungsart_value']);
		
		$zahlungsart_name = $_REQUEST['zahlungsart_name'];
		$zahlungsart_id = $_REQUEST['zahlungsart_id'];
		$zahlungsart_value =$_REQUEST['zahlungsart_value'];
		
		echo "zahlungsart_name".var_dump($zahlungsart_name)."<br>";
		echo "zahlungsart_id".var_dump($zahlungsart_id)."<br>";
		echo "zahlungsart_value".var_dump($zahlungsart_value)."<br>";
		
		
		$zahlungsart_ladeoffen_returgeld = null;
		$i = 0;
		foreach ($zahlungsart_name as $za_name) {
			echo "#".$za_name."#<br>";
			$za_name = substr($za_name, 11);
			//$za_value = $zahlungsart_value[$i];
			if (is_numeric($zahlungsart_value[$i])) $za_value = number_format($zahlungsart_value[$i], 4, ".", "");
			else $za_value = $zahlungsart_value[$i];
			echo "*".$za_value."*<br>";
			if ($za_value != 0) {
				if ($zahlungsart_ladeoffen_returgeld != null)
					$zahlungsart_ladeoffen_returgeld .= ' OR ';	
				
				$zahlungsart_ladeoffen_returgeld .= "Name='".$za_name."'";
			}
			$i++;
		}		
		
		if ( $zahlungsart_ladeoffen_returgeld == null )
		{
			$zahlungsart_ladeoffen_returgeld = get_default_zahlungsart();
				$zahlungsart_ladeoffen_returgeld = "Name='".$zahlungsart_ladeoffen_returgeld."'";
		}
		echo "------>".$zahlungsart_ladeoffen_returgeld."<------<br>";
		if(defined('KASSENLADE_VORHER_OEFFNEN') && strtolower(KASSENLADE_VORHER_OEFFNEN) == 'ja' && $zahlungsart_ladeoffen_returgeld != false && get_ladeoeffnen_returgeldanzeige('lade_oeffnen',$zahlungsart_ladeoffen_returgeld) == 1) 
		{
			echo "------>kassenlade_oeffnen<------<br>";
			kassenlade_oeffnen();
		} 
				
	}
	
	
	
function get_ladeoeffnen_bonid($field, $bonid)
{
	
	$retval = false;
	$sql = "
		select 
			Name 
		from 
			abgeschlossener_bon_zahlung 
		WHERE 
			abgeschlossener_bon_zahlung.bon_id ='".$bonid."'";

	
	$sql_retval = mysql_query($sql);
	if (!$sql_retval) {
		echo "SQL Fehler: " . mysql_error();
		exit(1);
	}
	$str_db_fields = null;
	while ($row_zahlungsart = mysql_fetch_assoc($sql_retval)) {
		if ( $str_db_fields != null)
			$str_db_fields .= ' OR ';
		$str_db_fields .= "Name='".$row_zahlungsart['Name']."'";
	}

	echo "--> Field:".$field."<br>";
	echo "--> Where Field:".$str_db_fields."<br>";
	return get_ladeoeffnen_returgeldanzeige($field, $str_db_fields);
}

function get_default_zahlungsart()
{
	$sql = "SELECT lade_oeffnen, name from zahlungsart WHERE standard=true";  // Suche die Standard Zahlungsart heraus
	$sql_zahlungsart = mysql_query($sql);
	if (!$sql_zahlungsart) {
		$zahlSqlError = true;
		$zahlSqlErrorMsg .= mysql_error() . "\n";
		echo "SQL Fehler: " . mysql_error();
	}
	$default_zahlungsart = false;
	while ($row_zahlungsart = mysql_fetch_assoc($sql_zahlungsart)) {
		
		if ($row_zahlungsart['lade_oeffnen'] == true)
			$default_zahlungsart = $row_zahlungsart['name'];
	}
	return $default_zahlungsart;
}
function get_ladeoeffnen_returgeldanzeige($field, $zahlungsart_ladeoffen_returgeld)
{
	
	$retval = false;
	$sql = "select $field from zahlungsart WHERE ".$zahlungsart_ladeoffen_returgeld;
	echo $sql."<br>";
	$sql_retval = mysql_query($sql);
	if (!$sql_retval) {
		echo "SQL Fehler: " . mysql_error();
		exit(1);
	}
	while ($row_zahlungsart = mysql_fetch_assoc($sql_retval)) {
		
		$default_zahlungsart = $row_zahlungsart[$field];
		if ( $default_zahlungsart == true)
			$retval = true;
	}
	echo $retval."<br>";
	return $retval;
}

$functionKey = '';
if (isset($_REQUEST['functionKey']) && $_REQUEST['functionKey'] != '') $functionKey = $_REQUEST['functionKey'];


//echo "Funkkey :".$functionKey;

switch ($functionKey) {
	case "kassenladeOeffnen":
		kassenlade_oeffnen();
		break;
	default:
		kassa_bezahlung();
}
?>

</body>