<?php
	// session_start();

	
	
	if(isset($_POST['functionKey']) && $_POST['functionKey'] == 'logOn'){
		
		
	

		if(isset($_POST["userId"]) && $_POST["userId"] != '' && isset($_POST["userPwd"]) && $_POST["userPwd"] != ''){
			$userId=$_POST["userId"];
			$userPwd=$_POST["userPwd"];
			
	
			
			require_once("config/connect.php");				
		#	echo $userId;
			
			if($userPwd == 'autologin') $whereClause= "autologincode = '".$userId."'";				# anstelle von der user Id wird beim autologin der kex code als id param übergeben
			else $whereClause= "id = ".$userId;
			
			$userQl=mysql_fetch_array(mysql_query("SELECT id, name, passwort, autologincode, ist_admin FROM benutzer WHERE ".$whereClause." "));
			
			if(!$userQl){
			#	echo "Datenbank Error";
				exit;
			}
			else {
				if ($userPwd != 'nnone' && $userPwd != 'outologin' && md5($userPwd) === $userQl['passwort']){
					$pwdCheck=true;
				}
				else if ($userPwd == 'autologin' ){
					if($userQl['id'] > 0 ){
						$userId=$userQl["id"];
						$pwdCheck=true;
					}
					else {	
					#	echo "<script>console.log('db query -> false !!!'); </script>";
						return false;
					}
				}
				else if ($userPwd == 'nnone'){
					$pwdCheck=true;
				}
				else $pwdCheck=false;
				
				if($pwdCheck==true){
					if(!isset($_SESSION)){session_start();}
					$_SESSION['userName'] = $userQl['name'];
					$_SESSION['userId'] = $userId;
					$_SESSION['userLevel'] = $userQl['ist_admin'];	
					$_SESSION['tTime']= time();
					// TODO Alex Session ist_admin auf userLevel
					if($userQl['ist_admin'] >= 2) $_SESSION['ist_admin'] = true;				
					else {  unset($_SESSION["ist_admin"]);}
					$_SESSION['aktuellerWarenkorb']=1;
					
					if(strtolower(GASTRO_VERSION) == 'ja'){
						$tQl=mysql_fetch_array(mysql_query("SELECT MIN(id) FROM tische WHERE raum = (SELECT id FROM raum ORDER BY reihenfolge ASC LIMIT 1)"));
						$_SESSION['gastroTisch']=$tQl[0];
						unset($_SESSION['autologout']);
					}
					else if(strtolower(WARENKOERBE_ABLEGEN) == 'ja'){
						$tQl=mysql_fetch_array(mysql_query("SELECT MIN(id) FROM warenkoerbe "));
						$_SESSION['aktuellerWarenkorb']=$tQl[0];
					}
					checkStartbeleg();

					$insQl=mysql_query("INSERT INTO benutzer_aktiv SET user_id = ".$userQl['id'].", login_time= NOW(), user_ip = '".getUserIp()."',
									last_active =NOW(), session_id = '".session_id()."' ");
					if(!$insQl) file_put_contents('kpcheckit.txt', "\n".basename( __FILE__)." / ". __LINE__ ." benutzer aktiv DB: ".mysql_error()." \n", FILE_APPEND);

						
					

					echo "Login success";
				}
				else echo "Login Passwort Error";
			}
		}
		else echo "Anmeldung konnte nicht erfolgen.";
	}
	
	else if(isset($_POST['functionKey']) && $_POST['functionKey'] == 'logOff'){
		session_start();
		session_destroy();
		echo "Logout erfolgreich";
	}
	
	
	else echo "Function Key Error !!!";
	
	
	function checkStartbeleg(){
	
		$checkDepExists=mysql_fetch_assoc(mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM dep LIMIT 1 "));
			# wenn hier größer 0, gibt es schon dep Einträge und somit ist der Dep Startbeleg schon geschrieben.
		if($checkDepExists !== false){	
			return true;
		}
		
		else {
			# es gibt keinen Dep, wir schaun ob es schon abgeschlossenen bons gibt, also eine kassa die erst upgegraded wurde oder eine neu installierte kassa.
			$getMaxBonId=mysql_fetch_assoc(mysql_query("SELECT MAX(bon_id) As lastBonNr FROM abgeschlossener_bon "));
			
			if($getMaxBonId['lastBonNr'] > 0) $belegNr=$getMaxBonId['lastBonNr'];
			else $belegNr= 0; 
			
			$testZert=md5(date("Y-m-d H:i"));		# diese Zertifizierung wird als Ersatz genommen, bis die Signatur Einheit freigeschalten wird
		
			$insDepStartbeleg=mysql_query("INSERT INTO dep SET kassen_id='".KASSA_ID."', beleg_nr = ".$belegNr.",  datum_zeit=NOW(), betr_satz_norm = '0,00',
											betr_satz_erm_1 = '0,00', betr_satz_erm_2 = '0,00', betr_satz_null = '0,00', betr_satz_besonder = '0,00',
											umsatz_zaehler = 0, zertif_nr = '".$testZert."' ");
			
			if(!$insDepStartbeleg){
				file_put_contents('kpcheckit.txt', "\n".basename( __FILE__)." / ". __LINE__ ." ".date('Y-m-d H:i')."\nDatenbank insert Fehler: " .$mysql_error(). " \n", FILE_APPEND);
			
			}
		}
	}
	
	
	function depDataNacherfassen($bon_id){
		file_put_contents('kpcheckit.txt', "\n".basename( __FILE__)." / ". __LINE__ ."\n parsed bonId: ".$bon_id." ".$kpMsg."\n", FILE_APPEND);
		#	$taxQl=mysql_query("SELECT bon_id, gesamt_betrag, tax_rate FROM abgeschlossener_bon_steuern WHERE bon_id = (SELECT max(abgeschlossener_bon.bon_id) FROM abgeschlossener_bon) ");
		$taxQl=mysql_query("SELECT bon_id, gesamt_betrag, tax_rate FROM abgeschlossener_bon_steuern WHERE bon_id = ".$bon_id." ");	
			$taxN=0;
			$tax1=0;
			$tax2=0;
			$taxNull=0;
			$taxB=0;
			while($getTax=mysql_fetch_assoc($taxQl)){
				if($getTax['tax_rate']==0.2) $taxN=$getTax['gesamt_betrag']*(1+$getTax['tax_rate']);
				if($getTax['tax_rate']==0.1) $tax1=$getTax['gesamt_betrag']*(1+$getTax['tax_rate']);
				if($getTax['tax_rate']==0.13) $tax2=$getTax['gesamt_betrag']*(1+$getTax['tax_rate']);
				if($getTax['tax_rate']==0.0) $taxNull=$getTax['gesamt_betrag'];
				if($getTax['tax_rate']==0.19) $taxB=$getTax['gesamt_betrag']*(1+$getTax['tax_rate']);
				
				$bonId=$getTax['bon_id'];
			}
			
			$getLastDepData=mysql_fetch_array(mysql_query("SELECT beleg_nr, umsatz_zaehler, zertif_nr FROM dep WHERE beleg_nr = (SELECT MAX(beleg_nr FROM dep))"));
		
			$bonUmsatz=$taxN+$tax1+$tax2+$taxNull+$taxB;
			$umsatzZaehler=$getLastDepData['umsatz_zaehler']+($bonUmsatz*100);
			$testZert=substr($getLastDepData['zertif_nr'] ,-20).md5(date("Y-m-d H:i"));
			
			$insQl=mysql_query("INSERT INTO dep SET kassen_id='".KASSA_ID."', beleg_nr = ".$bonId."	,  datum_zeit=NOW(), betr_satz_norm = '".$taxN."',
														betr_satz_erm_1 = '".$tax1."', betr_satz_erm_2 = '".$tax2."', betr_satz_null = '".$taxNull."', betr_satz_besonder = '".$taxB."',
														umsatz_zaehler = ".$umsatzZaehler.", zertif_nr = '".$testZert."'	");
			if(!$insQl){
				$kpMsg.="DB Error ".mysql_error()."\n";
				file_put_contents('kpcheckit.txt', "\n".basename( __FILE__)." / ". __LINE__ ."\n db error: ".$kpMsg."\n", FILE_APPEND);
			}
			
			else return "Dep Eintrag erstellt. ".mysql_insert_id();
		
		
	
	}
	
	

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

?>