<?php
require_once(__DIR__."/../../config/connect.php");
require_once(__DIR__."/../../global_functions.php");
?>
<script src="include/global_gastro_functions.js"></script>
<script>
	function telefon_tisch_oeffnen(tisch_id, kunden_id) 
	{
		//alert("Tisch "+tisch_id+" wird geöffnet. Kunde :"+kunden_id);
		tischAuswaehlen(tisch_id, '', kunden_id);
	}
	
	function telefon_string_in_kunden_suchen(string)
	{
		$('input[name="user_search_filter_input"]').val(string);
		$('#user_search_filter_form').submit();
	}
	
	function telefon_neuen_tisch_anlegen(kunden_id, telefon_nummer, telefon_anruf_id) 
	{
		//alert("Ein neuer Tisch wird angelegt");
		$.ajax({
					type: "POST",
					url: "ajax_funktionen.php",
					dataType : "html",
					data: { funktion:'telefon_create_table', kunden_id:kunden_id, telefon_nummer:telefon_nummer, telefon_anruf_id:telefon_anruf_id	} ,
					async: true,
					success:function(response){	
						tischAuswaehlen(response, '', kunden_id);
						//alert(response);
						//tische_anzeigen(false);			// wenn false gesetzt wird der erste raum (reihenfolge) angezeigt
					}
			});	
	}
	
	function telefon_neuen_kunden_anlegen(kunden_id, telefon1, telefon_anruf_id) 
	{
		//alert("Ein neuer Kunde wird angelegt");
		//open_iframe("anlegen_kunden_sITeditor.php?autoedit=true&telefon1="+telefon1, true, false);
		window.location.replace("anlegen_kunden_sITeditor.php?telefon1="+telefon1);
	}
	
	function zeige_letzte_telefonanrufe_an (nummer_suchen=false) {
		//alert("Anrufe");
		$.ajax({
				type: "POST",
				url: "api/telefon/telefon_globale_funktionen.php",
				dataType : "html",
				data: {	funktion:'zeige_letzte_telefonanrufe_an', nummer_suchen:nummer_suchen},
				async: true,
				success:function(response){
					$('.loginInfoDiv').html(response);
				}
			});
	  }
</script>

<?php


	
$con=sIT_mysql_connect(SQL_HOST, SQL_USER, SQL_PW, SQL_DB);

function telefon_tisch_oeffnen($tisch_id, $kunden_id=0)
{
	echo("Kunde :".$kunden_id);
	echo '<script>
		telefon_tisch_oeffnen('.$tisch_id.', "'.$kunden_id.'");
	</script>';
}

// Funbktion formatiert eine Telefonnummer
// Als return wert werden nur Zahlen und Blank geliefert
// z.b. Input: 
// +43 2646 43653   -> 0043 2646 43653
// 0664/535-74 61 -> 0043 664 535 74 61
function formatiere_telefonnummer_nur_ziffern($tel_unformatiert)
{
	
	$tel_unformatiert=preg_replace("/ /","",$tel_unformatiert); 		// Alle Leerzeichen entfernen 
	$pos=strpos($tel_unformatiert,"(0)");										// Behandlung von (0) - das ist eigentlich eine falsche Schreibweise z.B. +43 (0) 2646 43653
	if ($pos)
	{
		if ($pos>0)
		{
			$tel_unformatiert=preg_replace("/\(0\)/","",$tel_unformatiert);		// (0) wegschneiden, wenn es nicht an erster stelle steht
		}
		else
		{			// (43) wurde am Zeilenanfang gefunden - das gehört es eigentlich gar nicht hin.
			
		}
	}
	
	$pos=strpos($tel_unformatiert,"+");										// Behandlung von (0) - das ist eigentlich eine falsche Schreibweise z.B. +43 (0) 2646 43653
	if ($pos !== false)
	{
		if ($pos===0) $tel_unformatiert=str_replace("+","00", $tel_unformatiert);
	}
	
	$tel_unformatiert=preg_replace('/[^0-9]/', '', $tel_unformatiert);		// und jetzt alles wegschneiden, das keine Zahl ist
	return ($tel_unformatiert);
}

	
function konvertiere_alle_telefonnummern()
{
	global $con_i;
	
	$Q1=sIT_mysql_run_query($con_i, "SELECT id, telefon1, telefon2, mobil FROM kunden", true);
	while ($row1=sIT_mysql_get_row($Q1))
	{
		$id=$row1['id'];
		$telefon1_neu=formatiere_telefonnummer_nur_ziffern($row1['telefon1']);
		$telefon2_neu=formatiere_telefonnummer_nur_ziffern($row1['telefon2']);
		$mobil_neu=formatiere_telefonnummer_nur_ziffern($row1['mobil']);
		sIT_mysql_run_query($con_i, "UPDATE kunden SET telefon1='$telefon1_neu', telefon2='$telefon2_neu', mobil='$mobil_neu'
										WHERE id=$id",true);
	}
}	
	
function suche_kunden_mit_telefonnummer($nr)
{
	global $con_i;
	$kunden_id=false;
	
	$Q1=sIT_mysql_run_query($con_i, "SELECT * FROM kunden WHERE geloescht=0 AND (telefon1='".$nr."' OR telefon2='".$nr."' OR mobil='".$nr."')", $stop_on_error=true);
	while($row1=sIT_mysql_get_row($Q1))
	{
		$kunden_id=$row1['id'];
	}
	return($kunden_id);
}

function loesche_temporaeren_tisch($tisch_id=false)
{
	global $con_i;
	
	if(isset($_REQUEST['tisch_id'])) 
	{
		$tisch_id=$_POST['tisch_id'];
	}
	log_to_file("Tisch: ".$tisch_id." wird gelöscht!", false, true);
	$Q1=sIT_mysql_run_query($con_i, "SELECT * FROM tische WHERE id='".$tisch_id."'", $stop_on_error=true);
	while($row1=sIT_mysql_get_row($Q1))
	{
		$ist_temporaer=$row1['ist_temporaer'];
		if ($ist_temporaer)
		{
			// Tisch wird gelöscht, weil er temporär ist
			$Q3=mysql_query("DELETE FROM bon_add_text WHERE offenerbon_id=$tisch_id");
			if (!$Q3) echo mysql_error();
			$Q2=sIT_mysql_run_query($con_i, "DELETE FROM tische WHERE id='".$tisch_id."'", $stop_on_error=true);
			log_to_file("temporärer Tisch: ".$row1['tischName']." wurde gelöscht!", false, true);
			// Setzte jetzt den Anruf auf abgeschlossen
			if (defined('TELEFON_ANRUFE_ANZEIGEN') && strtolower(TELEFON_ANRUFE_ANZEIGEN)==='ja')
			{
				$Q3=sIT_mysql_run_query($con_i, "UPDATE telefon_anrufprotokoll SET ist_abgeschlossen=1 
						WHERE tisch_id='".$tisch_id."' AND ist_abgeschlossen=0", $stop_on_error=true);
			}
		}
		else
		{
			log_to_file("Tisch: ".$row1['tischName']." wird nicht gelöscht, da er NICHT temporär ist!", false, true);
		}
	}
}

// Zeigt die Liste der letzten Telefonanrufe an (in tische.php und anlegen_kunden_sITeditor.php)
// $suchfunktion_aktiviert .... zeigt eine zweite Zeile an wo nach dem Inhalt gesucht wird (anlegen_kunden_sITeditor.php)
function zeige_letzte_telefonanrufe_an($suchfunktion_aktiviert=false)
	{
		global $con;

		if (isset($_REQUEST['nummer_suchen']) && $_REQUEST['nummer_suchen']=='true') $suchfunktion_aktiviert=true;
		$suchfunktion_string="";
		$buttons_string="";
		// ***********
		// Ordne Kundennummern zu nach telefonnummer (falls ein Kunde neu angelegt wurde)
		$Q1=sIT_mysql_run_query($con, "SELECT * FROM telefon_anrufprotokoll 
									WHERE kunden_id IS NULL OR kunden_id = 0
									ORDER BY telefon_anrufprotokoll.id DESC 
									LIMIT ".TELEFON_ANZAHL_ANRUFE_ANZEIGEN, true);
		while($row1=sIT_mysql_get_row($Q1))
		{
			$nr=$row1['telefon_nummer'];
			if ($kunden_id=suche_kunden_mit_telefonnummer($nr))
			{
				$telefon_anruf_id=$row1['ID'];
				sIT_mysql_run_query($con, "UPDATE telefon_anrufprotokoll SET kunden_id='".$kunden_id."' WHERE ID=$telefon_anruf_id", true);
			}
		}
		// *********
		
		$Q1=sIT_mysql_run_query($con, "SELECT * FROM telefon_anrufprotokoll 
									LEFT JOIN kunden ON telefon_anrufprotokoll.kunden_id=kunden.id
									WHERE ist_abgeschlossen=0
									ORDER BY telefon_anrufprotokoll.id DESC 
									LIMIT ".TELEFON_ANZAHL_ANRUFE_ANZEIGEN, $stop_on_error=true);
		while($row1=sIT_mysql_get_row($Q1))
		{
			$anruf_id=$row1['ID'];
			$telefon_nummer=$row1['telefon_nummer'];
			$kunden_id=$row1['kunden_id'];
			$ist_abgeschlossen=$row1['ist_abgeschlossen'];
			$tisch_id=$row1['tisch_id'];
			$strasse1=$row1['strasse1'];
			$strasse2=$row1['strasse2'];
			$plz=$row1['plz'];
			$ort=$row1['Ort'];
			if (! $ist_abgeschlossen)
			{
				if ($kunden_id>0)
				{	// Es gibt einen Kunden
					$klasse="gruen";
					$onclick="telefon_neuen_tisch_anlegen('$kunden_id', '$telefon_nummer', '$anruf_id')";
					$anzeige=$row1['vorname']." ".$row1['nachname'].$row1['Firma'];
					if (defined('TELEFON_STRASSE_ANZEIGEN') && strtolower(TELEFON_STRASSE_ANZEIGEN)==='ja')
						$anzeige.="<br>".$row1['strasse1'];
					if (defined('TELEFON_PLZ_ORT_ANZEIGEN') && strtolower(TELEFON_PLZ_ORT_ANZEIGEN)==='ja')
						$anzeige.="<br>".$row1['plz']." ".$row1['Ort'];
					if (defined('TELEFON_NR_BEI_BEKANNTEN_KUNDEN_AUCH_ANZEIGEN') && strtolower(TELEFON_NR_BEI_BEKANNTEN_KUNDEN_AUCH_ANZEIGEN)==='ja')
						$anzeige.="<br>".$telefon_nummer;
				}
				else // es gibt keinen Kunden
				{
					if (defined('TELEFON_KUNDE_MUSS_ANGEGEBEN_WERDEN') && strtolower(TELEFON_KUNDE_MUSS_ANGEGEBEN_WERDEN)==='ja')
					{
						$onclick="telefon_neuen_kunden_anlegen('$kunden_id', '$telefon_nummer', '$anruf_id')";
					}
					else $onclick="telefon_neuen_tisch_anlegen('$kunden_id', '$telefon_nummer', '$anruf_id')";
					$klasse="orange";
					$anzeige=$telefon_nummer;
				}
				
				if ($tisch_id>0) // Es gibt schon einen offenen Tisch
				{
					$klasse="blau";
					$onclick="telefon_tisch_oeffnen('".$tisch_id."')";
				}
				
				$buttons_string.="<button class='button button_gross_anrufe $klasse' onclick=\"".$onclick."\">".utf8_encode($anzeige)."</button>";
				$suchfunktion_string.="<button class='button button_gross_anrufe $klasse' onclick=\"telefon_string_in_kunden_suchen('".$telefon_nummer."')\">".$anzeige."</button>";
			}
			
		}
		echo $buttons_string;
		if ($suchfunktion_aktiviert)
		{
			echo '<br /><br />';
			echo $suchfunktion_string;
		}
	}
	
	if(isset($_POST['funktion']) && $_POST['funktion'] != '') 
	{
		$functionKey=$_POST['funktion'];

		switch ($functionKey){
			case "zeige_letzte_telefonanrufe_an": zeige_letzte_telefonanrufe_an(); break;
			case "loesche_temporaeren_tisch": loesche_temporaeren_tisch(); break;
			
			default: echo "Error !!! Falscher Aufruf von ajax_funktionen, Funktion $functionKey nicht bekannt";
		}
	}
?>