<?php
	header("Content-Type: application/text");
	header("Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, max-age=0, post-check=0");
			#	header('Content-Type: text/xml');  
	
	require_once("../global_functions.php");
	require_once("../global_functions_2.php");
		
	if(isset($_POST['functionKey']) && $_POST['functionKey'] != '') $functionKey=$_POST['functionKey'];

	switch($functionKey){
		case "processConfigdata": processConfigdata(); break;
		case "loadConfigdataPrint": loadConfigdataPrint(); break;
		case "readCardData": readCardData(); break;		
		case "kpAjaxTest": kpAjaxTest(); break;
		default: echo "Function Key not recognised";
		
		#file_put_contents("../log/kpcheckit.txt", "-". __FILE__ ." / ". __LINE__ ." functionKey -> ".$functionKey."\n ", FILE_APPEND );
	}
	
	function loadConfigdataPrint(){
	
		echo "<p></p>";
	
	}
	
	
	function readCardData(){

		if(defined('SIGNATUR_MODUS') && strtolower(SIGNATUR_MODUS) == 'com'){
			
			$sigcardData = new COM('ATrustRegistrierkasseCom.Registrierkasse');

			$iInit=$sigcardData->Initialize;
			$iInfo=$sigcardData->LoadInfo;
			$cCard=$sigcardData->CheckCard;
			
			if($iInfo != 0 || $cCard != 0){
				$fFin=$sigcardData->Finalize;
				$iInit=$sigcardData->Initialize;
				$iInfo=$sigcardData->LoadInfo;
				$cCard=$sigcardData->CheckCard;
			}
			
			$zdaId=false;
			$serialNo=false;

			$outputZda=$sigcardData->ZdaId;
			$outputSer=$sigcardData->CertificateSerial;
			
			$error_codeZda=true;
			$error_codeSer=true;
			$serNrHex=false;
			
			if(strlen($outputZda) > 2)$error_codeZda=false;
			
			if($outputSer > 1000){
				$error_codeSer=false;
				$serNrHex=dechex($outputSer);
			}
			
		}
		else {		
			$commandZda="C:\sitpos\_rkExe\ATrustRegistrierkasseExe.exe --zdaid ";		
			exec($commandZda, $outputZda, $error_codeZda);
			$commandSer="C:\sitpos\_rkExe\ATrustRegistrierkasseExe.exe --certserial ";		
			exec($commandSer, $outputSer, $error_codeSer);
			$outputZda=$outputZda[0];
			$outputSer=$outputSer[0];
		}
		

		$kassenIdVorschl="SITPOS".rand(1, 9999);
		
		if(defined('ZERTIFIKATS_NR') && ZERTIFIKATS_NR != $outputSer){
			$checkExistSerNo="<p style='font-weight:bold; color:#a00'>Die ausgelesene Karte entspricht nicht der in der Kassa eingetragenen. ".ZERTIFIKATS_NR." / ".$outputSer."</p>";
		}
		else $checkExistSerNo=false; 
		
		if($error_codeZda == false && $error_codeSer == false){
			$activateTxt="<p class='sigUnitActivitaP' >
							Durch aktivieren der Signatureinheit wird ein Startbeleg mit Umsatzwert Null angelegt und die Einheit unwiderruflich eingeschaltet.
						</p>
						<p class='sigUnitActivitaP'>Die Kassen Id kann frei gewählt werden, muss jedoch bei mehreren Kassen innerhalb eines Unternehmens, eindeutig sein.</p>
						<p>ZDA Id: <span style='font-size:1.1em; font-weight:bold;'>".$outputZda."</span></p>
						<p>Signatureinheit Serien Nummer: <span style='font-size:1.1em; font-weight:bold;'>".$outputSer."</span></p>
						<p >Registrierkassa Id: <input style='font-size:1.1em; font-weight:bold; ' id='startbelegKassenIdIpField' 
														onkeyup='checkKassenIdString(this.value)' type='text' value='".$kassenIdVorschl."' /></p>";
			$addButton="<button id='confirmSigBut' class='button_none_float orange' 
								onclick=\"confirmSigData('".$outputZda."', '".$outputSer."')\" >Signatur Einheit aktivieren</button>";
			echo json_encode(array($outputZda, $outputSer, $activateTxt.$addButton, $serNrHex, $checkExistSerNo ));
		}
		else echo json_encode(array('Fehler beim Auslesen der Registrierkassen Signatureinheit aufgetreten!', $error_codeZda.' / '.$error_codeSer));
	
	}
	
	
	function array_push_assoc($aArray, $kKey, $vValue){
			 $aArray[$kKey] = $vValue;
			 return $aArray;
	}
	
	function processConfigdata(){
				
		$test="";
		require_once("../config/connect.php");
		
	
		$defResolution=mysql_fetch_array(mysql_query("SELECT * FROM konfiguration WHERE name='DEFAULT_AUFLOESUNG'"));
		$defaultResolution=$defResolution['wert'];
		$saveConfigTargetColumn=array();
		$kpConfVal=array();
			#	$tArray=array();
		$confQl=mysql_query("SELECT * FROM konfiguration");
		
		if(isset($_POST['selectedResolution']) && !empty($_POST['selectedResolution'])) { $selectedResolution=$_POST['selectedResolution'];			}
		else if ($defaultResolution == true && $defaultResolution != "") $selectedResolution=$defaultResolution;			# wenn seite neu geladen wird kommt keine selected res aus der gui seite
		else { $selectedResolution=false;	}
		

		while($rowC=mysql_fetch_array($confQl)) {
			
				if($selectedResolution == true){
					$resolutionTargetColumn=$selectedResolution;
					$name=$rowC['name'];
					if(empty($rowC[$resolutionTargetColumn])){		 //  Check Spalte der Config auswahl wird ausgewählte Auflösungsspalte abgefragt, wenn leer -> variable bekommt neuen wert !!!!
						#	$resolutionTargetColumn=$defaultResolution;	
									$wert=$rowC['wert'];	// Wenn die zur Konfiguration ausgewählte Spalte nimm ERSTE Spalte, Spalte "Wert"							
					}
					else {
							$wert=$rowC[$resolutionTargetColumn];				// ausgewählte ´Config Spalte ist NICHT leer und wird genommen
							$saveConfigTargetColumn = array_push_assoc($saveConfigTargetColumn, $name, $resolutionTargetColumn);
					}
				}
				

				else {
					$name=$rowC['name'];
					$wert=$rowC['wert'];
					
				}
			

			$kpConfVal[$name]=array($wert, $rowC['konfigtitel'], $rowC['Beschreibung']);		# wird für das einlesen der config werte im config gui verwendet.
			
		}
		
		$colNames = array();
		$resSel=mysql_query("SHOW COLUMNS FROM konfiguration");
		$setStandardResSelect="<select id='DEFAULT_AUFLOESUNG' class='resolutionSelect'>
			<option>Display Auflösung</option>";
		while($resRow=mysql_fetch_assoc($resSel)){
			$colNames[] = $resRow['Field'];
		}
		foreach ($colNames as $fFields) { 
			if($fFields=='name'|| $fFields=='Beschreibung' || $fFields=='wert'|| $fFields=='default' || $fFields=='konfigtitel'
								|| $fFields=='handy'|| $fFields=='tablet') continue;
			$optionTxt=$fFields;
			if($fFields=='wert')$optionTxt="Standard Einstellung ".$fFields;
			if($fFields == DEFAULT_AUFLOESUNG) $setKey='selected';
			else $setKey='';
			
			$setStandardResSelect.="<option name='".$fFields."' value='".$fFields."' ".$setKey." >".$optionTxt."</option>";			

		}
		$setStandardResSelect.="</select>";
	

		
		
		$sendContent="";
		
			if(isset($_POST['processKey']) && $_POST['processKey'] != "") $processKey=$_POST['processKey'];
			else $processKey="";
						
			if($processKey == 'loadconfigData'){
				
				require_once("configContent.php");
				
				if(isset($_POST['processTargetKey']) && $_POST['processTargetKey'] != "") $processTargetKey=$_POST['processTargetKey'];
					
					switch($processTargetKey){
						case "config_kassa_layout": $sendContent=$registerGraphiclyContent; break;
						case "config_bon_print_layout": $sendContent=$bonPrintGraphiclyContent; break;
						case "config_bon_print_list": $sendContent=$bonPrintListContent; break;	
						case "config_system": $sendContent=$systemListContent; break;
						case "config_gastro": $sendContent=$gastroContent; break;
						case "config_lieferschein": $sendContent=$lieferscheinContent; break;
						case "config_gutschein": $sendContent=$gutscheinContent; break;
						case "config_additonal_footertext": $sendContent=$additionalFootertextContent; break;
						case "anlegen_drucker": $sendContent= "<script type=text/javascript> window.parent.location.href ='anlegen_drucker.php' </script>"; break;
						case "anlegen_raum": $sendContent= "<script type=text/javascript> window.parent.location.href ='anlegen_raum.php' </script>"; break;
						case "tische_konfigurieren": $sendContent= "<script type=text/javascript> window.parent.location.href ='tische_konfigurieren.php' </script>"; break;
						case "anlegen_warenkoerbe": $sendContent= "<script type=text/javascript> window.parent.location.href ='anlegen_warenkoerbe.php' </script>"; break;
						case "config_gastro_printer": $sendContent=$gastroPrinterContent; break; 
						case "config_email": $sendContent=$emailConfigContent; break;
						case "config_userlevel": $sendContent=$userlevelConfigContent; break;
						case "config_lizenzen": $sendContent=$licensingConfigContent; break;
						case "config_filialsystem": $sendContent=$filialsystemContent; break;
						case "config_soma": $sendContent=$somaContent; break;
						case "config_webshop": $sendContent=$webshopContent; break;
						case "signatureUnitActivate": $sendContent=$signatureUnitActivateContent; break;
						case "GDPdU_settings": $sendContent=$GDPdUsettingsContent; break;
						case "config_table": 
							{
								require_once("../configTableContent.php");
								$sendContent=$configTableContent; break;
							}
						default: echo "<?xml version='1.0' encoding='UTF_8' standalone='yes' ?><envelope><frameA>Kein verwertbarer key: ".$processTargetKey."</frameA></envelope>";
					}
						
			}
			
			else if($processKey == 'saveconfigData'){

				$kpMsg="";
				$cc=0; 
				$countUpdates=0; 
				$pageReload=false;
				
				foreach ($_POST as $key => $vValue) {
					if($key=='functionKey' || $key=='processKey') continue;
					
					if (array_key_exists($key, $saveConfigTargetColumn)) {
							$cc++;
							$cColumn=$saveConfigTargetColumn[$key];
							
					}
					
					else $cColumn="wert";
					

					$pPattern=array('/\'/', "/\"/");
					$rReplace=array('’', '”');
					$vValue=preg_replace($pPattern, $rReplace, $vValue);
					
					$checkUd=mysql_fetch_array(mysql_query("SELECT ".$cColumn.", konfigtitel FROM konfiguration WHERE name= '".$key."'"));
										
					if($checkUd[0] != $vValue){
						
						if($key == "EMAIL_SMTP_ABSENDER_PASSWORT"){
							$vValue=sitPosEncrypt($vValue, SITPOS_CRYPT);
						}
						
						if($key == "GASTRO_VERSION"){
							
							if(strtolower($vValue) == 'ja'){
								$updQlx=mysql_query("UPDATE konfiguration SET wert = 'nein' WHERE name= 'WARENKOERBE_ABLEGEN' ");
							}
						}
						else if($key == "WARENKOERBE_ABLEGEN" && strtolower($vValue) == 'ja'){
								$updQlx=mysql_query("UPDATE konfiguration SET wert = 'nein' WHERE name= 'GASTRO_VERSION' ");
						}
						
						if($key == "GASTRO_VERSION" || $key == "WARENKOERBE_ABLEGEN") $pageReload="yes";
								
						$updQl=mysql_query("UPDATE konfiguration SET ".$cColumn." = '".$vValue."' WHERE name= '".$key."'");
						if(!$updQl) $kpMsg.="Error ".mysql_error()."\n";
						else {
							$user=$_SESSION['userName'];
							$insQl=mysql_query("INSERT INTO auditing SET benutzer = '".$user."', funktion ='".$key."', spalte = '".$cColumn."', konfigtitel = '".$checkUd[1]."',
																	ausgangswert = '".$checkUd[0]."', geaentertaufwert = '".$vValue."', datumzeit = NOW() ");
							if(!$insQl) $kpMsg.="Datenbank Insert auditing  Error. ".mysql_error();
							else $countUpdates++;
							 
							
						}
					}	
				}
				
				$x=array($countUpdates, strtolower(EMAIL_VERSENDEN_KONFIGURATION_AENDERUNG), " Einträge Gespeichert", $pageReload);
				$sendContent= json_encode($x);

						//	$sendContent=$countUpdates." Einträge Gespeichert. 33".$kpMsg. "\n";
			
			}
			else if($processKey == 'saveLicensingData'){
				$kpMsg="";
				$cc=0; 
				$countUpdates=0; 
				
				if(isset($_POST['licenseDelete']) && $_POST['licenseDelete'] != "" ){
					$updateError=false;
					if($_POST['licenseDelete'] == 'deletebreak'){
						echo json_encode(array('', '', 'löschen abgebrochen.'));
					}
					else{
						$delKey=mysql_query("DELETE FROM License_encrypted WHERE license = '".$_POST['licenseDelete']."'  ");
						if(!$delKey){
							echo json_encode(array('', '', 'Datenbank Fehler. Der Lizenschlüsses konnte nicht gelöscht werden. '.mysql_error()));
							return false;
						}
						else{
							$updKonfSitpos=update_konfiguration_sitpos();
							$delNativ=explode("-", sitPosDecrypt($_POST['licenseDelete'], SITPOS_CRYPT));
							if(strtolower($delNativ[0]) == 'gutschein'){
								$updKonf=mysql_query("UPDATE konfiguration set wert = 'nein' WHERE name = 'GUTSCHEIN_KARTE_FUNKTION'");
								if(!$updKonf) $updateError=true;
							}
							else if(strtolower($delNativ[0]) == 'lieferschein'){
								$updKonf=mysql_query("UPDATE konfiguration set wert = 'nein' WHERE name = 'FUNKTION_BUTTON_LIEFERSCHEIN'");
								if(!$updKonf) $updateError=true;
							}
							$kpMsg.='Ausgewählter Lizenschlüsses gelöscht. '.$_POST['licenseDelete'];
							$user=$_SESSION['userName'];
							$insQl=mysql_query("INSERT INTO auditing SET benutzer = '".$user."', funktion ='Lizenzkey gelöscht', spalte = '', 
													konfigtitel = 'Lizenzierung', ausgangswert = '".$delNativ[0]."', geaentertaufwert = '".$_POST['licenseDelete']."', datumzeit = NOW() ");
							if(!$insQl) $kpMsg.="Datenbank Insert auditing  Error. ".mysql_error();
							$x=array('', strtolower(EMAIL_VERSENDEN_KONFIGURATION_AENDERUNG), $kpMsg);
							echo json_encode(array('', '', $kpMsg));
						}
					}
					return false;
				}
								
				else if(isset($_POST['licensingFormKeyIp']) && strlen($_POST['licensingFormKeyIp']) > 11){
					$updKonfSitposInit=update_konfiguration_sitpos();
					if($updKonfSitposInit != true){
						echo json_encode(array('', '', 'Datenbank Fehler beim updaten von Konfigurationsdaten.
															<br />Der Eintag in die Datenbank ist nicht erfolgt.'));
							return false;
					}
					$macArray=getMacAddresses();
					
					$nNativ=explode("-", sitPosDecrypt($_POST['licensingFormKeyIp'], SITPOS_CRYPT));
					
					
					if(isset($nNativ[4]) && (in_array(strtolower($nNativ[4]), array_map("strtolower", $macArray))) && count($nNativ) == 5 ){
						$checkBasisLic=mysql_fetch_array(mysql_query("SELECT wert FROM konfiguration_sitpos 
												WHERE name = 'BASIS_LIZENZ_VORHANDEN' OR name = 'BASIS_LIGHT_LIZENZ_VORHANDEN'  "));
						if(strtolower($checkBasisLic['wert']) == 'ja')$basisLic=true;
						else $basisLic=false;

						if(isset($nNativ[0]) && (strtolower($nNativ[0]) != 'basis' && strtolower($nNativ[0]) != 'basis light')
										&& $basisLic == false){
								# versuch eine nicht basis lizenz einzugeben wenn es noch keine basis lizenz gibt
								echo json_encode(array('', '', 'Zur Eingabe einer NICHT Basis Lizenz ist eine schon vorhandene Basis Lizenz erforderlich.<br />Der Eintag in die Datenbank ist nicht erfolgt.'));
								return false;
						}
						else if(isset($nNativ[0]) && (strtolower($nNativ[0]) == 'gutschein' || strtolower($nNativ[0]) == 'kassabuch' 
										|| strtolower($nNativ[0]) == 'lieferschein'  )){
							$getBasisVersion=mysql_fetch_array(mysql_query("SELECT wert FROM konfiguration_sitpos WHERE name = 'LIZENZ_VERSION'  "));
								# check ob die Version ausreicht
							if($nNativ[1] > $getBasisVersion[0]){
								$mod=ucfirst(strtolower($nNativ[0]));
								echo json_encode(array('', '', 'Basis Lizenz Version für '.$mod.'('.$nNativ[1].') Modul nicht ausreichend.<br />
												Der Eintag in die Datenbank ist nicht erfolgt.'));
								return false;
							}
	
						}
						else if(isset($nNativ[0]) && (strtolower($nNativ[0]) == 'eckarte')){
							$getBasisVersion=mysql_fetch_array(mysql_query("SELECT wert FROM konfiguration_sitpos WHERE name = 'LIZENZ_VERSION'  "));
								# check ob die Version ausreicht
							if($nNativ[1] > $getBasisVersion[0]){
								$mod=ucfirst(strtolower($nNativ[0]));
								echo json_encode(array('', '', 'Basis Lizenz Version für '.$mod.'('.$nNativ[1].') Modul nicht ausreichend.<br />
												Der Eintag in die Datenbank ist nicht erfolgt.'));
								return false;
							}
							
							else{
								# bis daher hats grundsätzlich funktioniert

							}
						}
						else if(isset($nNativ[0]) && (strtolower($nNativ[0]) == 'basis' || strtolower($nNativ[0]) == 'basis light' ) && $basisLic == true){
								echo json_encode(array('', '', 'Basis Lizenz bereits vorhanden.<br />Der Eintag in die Datenbank ist nicht erfolgt.'));
								return false;
						
						}

						else if (isset($nNativ[0]) && (strtolower($nNativ[0]) != 'basis' && strtolower($nNativ[0]) != 'basis light' 
									&& strtolower($nNativ[0]) != 'user' && strtolower($nNativ[0]) != 'lieferschein' && strtolower($nNativ[0]) != 'kuechenmon'
									&& strtolower($nNativ[0]) != 'kassabuch' && strtolower($nNativ[0]) != 'telefon' && strtolower($nNativ[0]) != 'gutschein') && count($nNativ) == 5 ){
								# prüfen hier grundsätzliches, stimmt die bezeichnung und die arraylänge		
							echo json_encode(array('', '', 'Ungültiger Lizensschlüssel -> '.strtolower($nNativ[0]).' / '.count($nNativ).'.<br />Der Eintag in die Datenbank ist nicht erfolgt.'));		 
							return false;
									
						}
						mysql_query("START TRANSACTION");
						$insKey=mysql_query("INSERT INTO License_encrypted SET license = '".$_POST['licensingFormKeyIp']."', erstellt = NOW() ");
							$updKonfSitpos=update_konfiguration_sitpos();
							$updateError=false;
									#	writeLog(basename( __FILE__)." ". __LINE__ , "+++++++++++++++++++++++++++++++++++++++\n");
		
							if(strtolower($nNativ[0]) == 'gutschein'){
								$updKonfGs=mysql_query("UPDATE konfiguration set wert = 'ja' WHERE name = 'GUTSCHEIN_KARTE_FUNKTION'");
								if(!$updKonfGs) $updateError=true;
							}
							else if(strtolower($nNativ[0]) == 'lieferschein'){
								$updKonfLs=mysql_query("UPDATE konfiguration set wert = 'ja' WHERE name = 'FUNKTION_BUTTON_LIEFERSCHEIN' ");
								if(!$updKonfLs) $updateError=true;
							}
							$user=$_SESSION['userName'];
							$insQl=mysql_query("INSERT INTO auditing SET benutzer = '".$user."', funktion ='Lizenzkey Eingabe', spalte = '', 
													konfigtitel = 'Lizenzierung', ausgangswert = '".$nNativ[0]."', 
														geaentertaufwert = '".$_POST['licensingFormKeyIp']."', datumzeit = NOW() ");
						if(!$insQl || !$insKey || !$updKonfSitpos){
							mysql_query("ROLLBACK");
							$kpMsg.="Fehler beim Lizenzschlüssel Eintrag. ".$updKonfSitpos." ".mysql_error();
						}
						else{
							mysql_query("COMMIT");
							$kpMsg.="Lizenz Schlüssel eingetragen.";
						}
						mysql_query("set autocommit=1");
					}
					else{
						echo json_encode(array('', '', 'Der übergebene Lizensschlüssel ist grundsätzlich oder für dieses Gerät ungültig.<br />Der Eintag in die Datenbank ist nicht erfolgt.'));
						return false;
					}					
				}
				
				//var_dump($_POST['licensingFormKeyIp']);
				else $kpMsg.="Ungültiger Lizenz Schlüssel. Eintag nicht erfolgt.";
				
				$x=array('', strtolower(EMAIL_VERSENDEN_KONFIGURATION_AENDERUNG), $kpMsg);
				$sendContent= json_encode($x);
			} 
			else {
				$sendContent="";
			}
			
			
		echo $sendContent;
		

	}
	
	
	function update_konfiguration_sitpos(){
				// KPE Feb 2021 -> Diese funktion nach global_function_2.php kopiert ist da leichter aufzurufen (nicht ajax)
				//		function updateKonfigurationSitpos() zeile 4xx    aufgerufen von ajax_funktionen.php zeile 98xx
		$kpMsg="";
		
			#	$kpMsg.= "kommt do was ???? ";
		$countError=0;
		
		mysql_query("START TRANSACTION");
		$delLics=mysql_query("DELETE FROM konfiguration_sitpos WHERE LOWER(name) = 'basis_lizenz_vorhanden' OR LOWER(name) = 'basis_light_lizenz_vorhanden'
									OR LOWER(name) = 'anzahl_user_lizenzen' OR LOWER(name) = 'lieferschein_lizenz' OR LOWER(name) = 'lizenz_version'
									OR LOWER(name) = 'gutschein_lizenz' OR LOWER(name) = 'kassabuch_lizenz'  OR LOWER(name) = 'eckarte_lizenz' 
									OR LOWER(name) = 'lizenz_telefon' OR LOWER(name) = 'kuechenmon_lizenz'");
									
		$checkLics=mysql_query("SELECT license FROM  license_encrypted");
		writeLog(basename( __FILE__)." ". __LINE__ , "aus erncrypt table: ".mysql_num_rows($checkLics));
		
		while($checkLicRow=mysql_fetch_array($checkLics)){
			$nNat=explode("-", sitPosDecrypt($checkLicRow['license'], SITPOS_CRYPT));
			
			#writeLog(basename( __FILE__)." ". __LINE__ , "aus DB ausgelesen -->>>>>>>>>>>>> ".$nNat[0]);
			
			if(strtolower($nNat[0]) == 'basis' || strtolower($nNat[0]) == 'basis light' || strtolower($nNat[0]) == 'basis start'){	
				if(strtolower($nNat[0]) == 'basis' || strtolower($nNat[0]) == 'basis light') $nName = 'BASIS_LIZENZ_VORHANDEN';
					else if(strtolower($nNat[0]) == 'basis startt') $nName = 'BASIS_LIGHT_LIZENZ_VORHANDEN';
				$insQl_a=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('".$nName."', 'ja'), ('LIZENZ_VERSION', '".$nNat[1]."') ");
				if(!$insQl_a) {	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++;					}
				$delLicVioBasic=mysql_query("DELETE FROM license_violation WHERE type = 'BASIS_LIZENZ' OR type = 'USERS_LIZENZ' ");
				if(!$delLicVioBasic){	 $kpMsg.="DB Error. ".mysql_error()." / "; $countError++;			}
				
				$countUser=mysql_query("SELECT wert FROM konfiguration_sitpos WHERE name = 'ANZAHL_USER_LIZENZEN' ");
				if(mysql_num_rows($countUser) == 0){
					$insQl_b=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('ANZAHL_USER_LIZENZEN', '1') ");
					if(!$insQl_b){	 $kpMsg.="DB Error. ".mysql_error()." / "; $countError++;				}
				}
				else{
					$updQl_a=mysql_query("UPDATE konfiguration_sitpos SET wert = wert + 1 WHERE name = 'ANZAHL_USER_LIZENZEN' ");
					if(!$updQl_a){	 $kpMsg.="DB Error. ".mysql_error()." / "; $countError++;			}
					$delLicVioUser_a=mysql_query("DELETE FROM license_violation WHERE type = 'USERS_LIZENZ' ");
					if(!$delLicVioUser_a){	 $kpMsg.="DB Error. ".mysql_error()." / "; $countError++;		}
				}
				
			}

			else if(strtolower($nNat[0]) == 'user'){
				$countUser=mysql_query("SELECT wert FROM konfiguration_sitpos WHERE name = 'ANZAHL_USER_LIZENZEN' ");
				if(mysql_num_rows($countUser) == 0){
					$insQl_c=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('ANZAHL_USER_LIZENZEN', '1') ");
					if(!$insQl_c){	 $kpMsg.="DB Error. ".mysql_error()." / "; $countError++;		}
				}
				else{
					$updQl_b=mysql_query("UPDATE konfiguration_sitpos SET wert = wert + ".$nNat[2]." WHERE name = 'ANZAHL_USER_LIZENZEN' ");
					if(!$updQl_b) {	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++;		}
				}
					$delLicVioUser_b=mysql_query("DELETE FROM license_violation WHERE type = 'USERS_LIZENZ' ");
					if(!$delLicVioUser_b){	 $kpMsg.="DB Error. ".mysql_error()." / ";		}
			
			}
			else if(strtolower($nNat[0]) == 'gutschein'){
				$insQl_d=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('GUTSCHEIN_LIZENZ', 'ja') ");
				if(!$insQl_d){	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++;		}
			}
			else if(strtolower($nNat[0]) == 'kassabuch'){
				$insQl_e=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('KASSABUCH_LIZENZ', 'ja') ");
				if(!$insQl_e){	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++;		}
			}
			else if(strtolower($nNat[0]) == 'lieferschein'){
				$insQl_f=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('LIEFERSCHEIN_LIZENZ', 'ja') ");
				if(!$insQl_f){	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++; 		}
			}
			else if(strtolower($nNat[0]) == 'telefon'){
				$insQl_f=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('LIZENZ_TELEFON', 'ja') ");
				if(!$insQl_f){	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++; 		}
			}
			else if(strtolower($nNat[0]) == 'kuechenmon'){
				$insQl_f=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('KUECHENMON_LIZENZ', 'ja') ");
				if(!$insQl_f){	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++; 		}
				writeLog(basename( __FILE__)." ". __LINE__ , "save config Lic data KUECHENMON ##### !! ");
			}
			else if(strtolower($nNat[0]) == 'eckarte'){
					# prüfen gibts so eine lizenz schon, wenn nicht -> insert, wenn schon update anzahl_user_lizenzen
				$checkEc=mysql_fetch_array(mysql_query("SELECT * FROM konfiguration_sitpos WHERE name = 'ECKARTE_LIZENZ'"));
				if($checkEc === false){
					# wird ein insert
					$insQl_ce=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES ('ECKARTE_LIZENZ', '1') ");
					if(!$insQl_ce){	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++; 		}
				}
				else if($checkEc['wert'] > 0){
						# gibts schon eine wird ein update -> hinzuzählen
					$anzahlLic=$nNat[2];
					if($anzahlLic==0)$anzahlLic=1;
					$updQl_ec_upd=mysql_query("UPDATE konfiguration_sitpos SET wert = wert + ".$anzahlLic." WHERE name = 'ECKARTE_LIZENZ' ");
					if(!$updQl_ec_upd) {	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++;		}
				}
				
			}
			else{ 
				$kpMsg.="TEST -> warum sind wier hier im else ???  / ".$nNat[0]; $countError++; 
				$insQl_g=mysql_query("INSERT INTO konfiguration_sitpos (name, wert) VALUES (UPPER('".$nNat[0]."'), 'ja') ");
				if(!$insQl_g){	$kpMsg.="DB Error. ".mysql_error()." / "; $countError++;		}
			}
		
		}
		if($countError==0){
			mysql_query("COMMIT");
			return true;
		}
		else {
			mysql_query("ROLLBACK");
			file_put_contents("../kpcheckit.txt",basename( __FILE__) ." ". __LINE__ ." ".date('Y-m-d H:i:s')."\n key -> ".$kpMsg."\n ", FILE_APPEND );
			return false;
		}
		mysql_query("set autocommit=1");
	
	}
	
	function strToHex($string){
		$hex = '';
		for ($i=0; $i<strlen($string); $i++){
			$ord = ord($string[$i]);
			$hexCode = dechex($ord);
			$hex .= substr('0'.$hexCode, -2);
		}
		return strToUpper($hex);
	}
	function hexToStr($hex){
		$string='';
		for ($i=0; $i < strlen($hex)-1; $i+=2){
			$string .= chr(hexdec($hex[$i].$hex[$i+1]));
		}
		return $string;
	}

	
	function kpAjaxTest(){
		#$x=writeLog(basename( __FILE__)." ". __LINE__ , "aus ajax_f... config\n");
		
		$x=writeLog(basename( __FILE__)." ". __LINE__ , "test call dir -> ".basename( __DIR__)." file -> ".basename( __FILE__)."");
		
		echo "in ajax config aufgerufen ->".$x." \n";

		
	}
	
		
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	?>