<?php

	//  Copyright (c) 2004-2007 randshop
	//  http://www.randshop.com
	//
	//  Unter Lizenz von randshop
	//	
	//	Letzte Bearbeitung: 23.03.2007

	include_once(DATEIPFAD . 'includes/functions.easymarketing.inc.php');

$abfrageTemp = "SELECT * FROM " . TABLE_TEMPLATES . " where aktiv = '1'"; 
$ergebnisTemp = errorlogged_mysql_query($abfrageTemp);
$rowTemp = mysql_fetch_object($ergebnisTemp);

	if($_SESSION["gast_mail"] != "") { $KundenEmail = $_SESSION["gast_mail"]; } else { $KundenEmail = $_SESSION["mail"]; }

$WaehrungObject = GetWaehrungDetail();

	if ($_POST["gutscheincode"]) { $GutscheinCode = $_POST["gutscheincode"]; };
	if ($_GET["gutscheincode"]) { $GutscheinCode = $_GET["gutscheincode"]; };

	// ********************************************************************************
	// ** Abwicklung der Bestellung
	// ********************************************************************************

	
	if (GetWarenkorbAnzahl($_SESSION["sessionId"]) == 0) {
		
		// Template ausgeben
		$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bestell_geloescht.tpl";


	} else {

		if (GUTSCHEINAKTIONEN) {
		
			$GutscheinEingabe = true;
			
			// Gutschein prüfen
			if ($GutscheinCode) {
				
				$GutscheinError = CheckGutschein($GutscheinCode, $_SESSION["sessionId"]);
				
				$_SESSION["gutscheincode"] = $GutscheinCode;
				
				if ($GutscheinError) {
					header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s2&gutscheinerror=" . $GutscheinError);
					exit;     
				} else {
	
					$tpl_warenkorbdataarray = GetWarenkorbDataArray($_SESSION["sessionId"], $KundenEmail, 1, "", "", "", $_SESSION["languageid"], "", $_SESSION["gutscheincode"]);
					
					if ($tpl_warenkorbdataarray["gutscheinaktion_verfall_minvk"] && !$_POST["gs_error_show"]) {
						header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s2&gutscheinerror=8");
						exit;
					}
					
					if ($tpl_warenkorbdataarray["gutscheinaktion_verfall"] && !$_POST["gs_error_show"]) {
						header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s2&gutscheinerror=7");
						exit;
					}
					
					if ($_POST["gutscheinpruefung"]) {
						header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s2");
						exit;
					}
					
				}     
					
			} elseif($_POST["gutscheinpruefung"]) {
				header("Location: " . URLPFAD_SSL . "themes/bestellen/index.php?formaction=s2");
				exit;
			}
			
		}
		
		unset($_SESSION["mp_url"]);
		unset($_SESSION["pn_user_id"]);
		unset($_SESSION["pn_project_id"]);
		unset($_SESSION["pn_url"]);
		unset($_SESSION["pn_amount"]);
		unset($_SESSION["pn_reason_1"]);
		unset($_SESSION["pn_reason_2"]);
		unset($_SESSION["pn_user_variable_0"]);
		
		// Shopeinstellungen
		$ShopeinstellungObject = GetShopeinstellungDetail();
        $ZahlungsschnittstellenEinstellungen = GetEinstellungen('', 'zahlungsschnittstellen');
		
		$Payment = true;

		// Kunde einlesen
		$KundenObject = GetKundenDetail($KundenEmail,"");

		// Zahlungsarteinlesen
		$ZahlungsartObject = GetZahlungsartDetail($KundenObject->zahlungsart, "", "", $_SESSION["languageid"]);
		$ZahlungsartEinstellungenObject = GetZahlungsartEinstellungen();

		$GiveAwayID = $_POST['giveaway'];
		if($GiveAwayID)
		{
			$artikelDetail = GetArtikelDetail($GiveAwayID);
			$id = AddWarenkorb($GiveAwayID, 1, NULL, NULL, NULL, NULL, $KundenEmail, $_SESSION["sessionId"], $artikelDetail->preis_netto * (100 - $artikelDetail->giveaway_rabattprozent) / 100, $artikelDetail->preis_brutto * (100 - $artikelDetail->giveaway_rabattprozent) / 100, $LanguageID, VERWEIS_QUELLE_GIVEAWAY, 0, $artikelDetail->artikel_name . " ($l_giveaway_rechnung)", true);
		}
		
		// ********************************************************************************
		// ** Zahlung per ebank2pay
		// ********************************************************************************
		if (($ZahlungsartObject->paymentsystem == 10) && (!$_GET["mp"])) {
			
			$Payment = false;
			
			// Wenn die Bestellung schon vorhanden ist, diese loeschen
			$SQLString = "SELECT ";
			$SQLString .= TABLE_BESTELLEN . ".id ";
			$SQLString .= "FROM ";
			$SQLString .= TABLE_BESTELLEN . " ";
			$SQLString .= "WHERE ";
			$SQLString .= TABLE_BESTELLEN . ".session = '" . $_SESSION["sessionId"] . "'";
			
			$BestellObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
						
			if ($BestellObject) {

				DeleteBestellung($BestellObject->id, false);
				
			}

			// Warenkorb einlesen
			$tpl_warenkorbdataarray = GetWarenkorbDataArray($_SESSION["sessionId"], $KundenEmail, 1,0,0,0,$_SESSION["languageid"]);

			// Bestellung speichern
			$BestellID = SaveBestellung($_SESSION["sessionId"], $KundenEmail, $_POST["bemerkung"], "", "", $ZahlungsartEinstellungenObject->status_zahlung_unbestaetigt, $_SESSION["languageid"], "", $_SESSION["gutscheincode"]);

			// Bestellung einlesen
			$BestellObject = GetBestellenDetail($BestellID);
			
			// Kunde einlesen
			$KundenObject = GetKundenDetail($KundenEmail,"");
			
			$mp_ebank2pay_access_key = $ZahlungsartEinstellungenObject->mp_accesskey;
			$mp_ebank2pay_url = "https://billing.micropayment.de/ebank2pay/event/?";
			$mp_ebank2pay_account = "";
			$mp_ebank2pay_project = $ZahlungsartEinstellungenObject->mp_projektname;
			$mp_ebank2pay_projectcampaign = "";
			$mp_ebank2pay_webmastercampaign = "";
			$mp_ebank2pay_title = "Auftrag " . $BestellObject->auftragsnummer;
			$mp_ebank2pay_paytext = "";
			$mp_ebank2pay_amount = $BestellObject->gesamtsumme_brutto * 100;
			$mp_ebank2pay_userid = "";
			$mp_ebank2pay_theme = "l2";
			$mp_ebank2pay_bgcolor = "";
			$mp_ebank2pay_gfx = "";
			$mp_ebank2pay_session = md5($BestellObject->session);
			
			// Parameter verschlüsseln
			$MPSealedParams = "project=" . urlencode($mp_ebank2pay_project) . "&";
			$MPSealedParams .= "title=" . urlencode($mp_ebank2pay_title) . "&";
			$MPSealedParams .= "amount=" . urlencode($mp_ebank2pay_amount) . "&";
			$MPSealedParams .= "session=" . urlencode($mp_ebank2pay_session) . "&";
			$MPSealedParams .= "theme=" . urlencode($mp_ebank2pay_theme) . "&";
			$mp_ebank2pay_seal = md5($MPSealedParams . $mp_ebank2pay_access_key);
			
			$mp_url = $mp_ebank2pay_url;
			$mp_url .= $MPSealedParams;
			$mp_url .= "seal=" . $mp_ebank2pay_seal;
			
			$_SESSION["mp_url"] = $mp_url; 
			
			// Template
			$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bestellabwicklung_mp_ebank2pay.tpl";	
		
		} elseif ($ZahlungsartObject->paymentsystem == 10 && $_GET["mp"] == 1) {
			
			$Payment = true;

		// ********************************************************************************
		// ** Zahlung per Sofortueberweisung
		// ********************************************************************************
		} elseif (($ZahlungsartObject->paymentsystem == 12) && (!$_GET["pn"])) {
			
			$Payment = false;
			
			// Wenn die Bestellung schon vorhanden ist, diese loeschen
			$SQLString = "SELECT ";
			$SQLString .= TABLE_BESTELLEN . ".id ";
			$SQLString .= "FROM ";
			$SQLString .= TABLE_BESTELLEN . " ";
			$SQLString .= "WHERE ";
			$SQLString .= TABLE_BESTELLEN . ".session = '" . $_SESSION["sessionId"] . "'";
			
			$BestellObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
						
			if ($BestellObject) {

				DeleteBestellung($BestellObject->id, false);
				
			}
			
			// Warenkorb einlesen
			$tpl_warenkorbdataarray = GetWarenkorbDataArray($_SESSION["sessionId"], $KundenEmail, 1,0,0,0,$_SESSION["languageid"]);

			// Bestellung speichern
			$BestellID = SaveBestellung($_SESSION["sessionId"], $KundenEmail, $_POST["bemerkung"], "", "", $ZahlungsartEinstellungenObject->status_zahlung_unbestaetigt, $_SESSION["languageid"], "", $_SESSION["gutscheincode"]);

			// Bestellung einlesen
			$BestellObject = GetBestellenDetail($BestellID);
			
			$pn_sofortueberweisung_user_id = $ZahlungsartEinstellungenObject->su_userid;
			$pn_sofortueberweisung_projekt_id = $ZahlungsartEinstellungenObject->su_projectid;
			$pn_sofortueberweisung_url = "https://www.sofortueberweisung.de/payment/start";
			$pn_sofortueberweisung_amount = $BestellObject->gesamtsumme;
			$pn_sofortueberweisung_reason_1 = "Auftrag " . $BestellObject->auftragsnummer;
			$pn_sofortueberweisung_reason_2 = "";
			$pn_sofortueberweisung_user_variable_0 = md5($BestellObject->session);
			
			$PNArray["pn_user_id"] = $pn_sofortueberweisung_user_id;
			$PNArray["pn_project_id"] = $pn_sofortueberweisung_projekt_id;
			$PNArray["pn_sender_holder"] = "";
			$PNArray["pn_sender_account_number"] = "";
			$PNArray["pn_sender_bank_code"] = "";
			$PNArray["pn_country_id"] = "";
			$PNArray["pn_amount"] = $pn_sofortueberweisung_amount;
			$PNArray["pn_currency_id"] = "EUR";
			$PNArray["pn_reason_1"] = $pn_sofortueberweisung_reason_1;
			$PNArray["pn_reason_2"] = $pn_sofortueberweisung_reason_2;
			$PNArray["pn_user_variable_0"] = $pn_sofortueberweisung_user_variable_0;
			$PNArray["pn_user_variable_1"] = "";
			$PNArray["pn_user_variable_2"] = "";
			$PNArray["pn_user_variable_3"] = "";
			$PNArray["pn_user_variable_4"] = "";
			$PNArray["pn_user_variable_5"] = "";
			$PNArray["pn_project_password"] = $ZahlungsartEinstellungenObject->su_password;
			
			$_SESSION["pn_url"] = $pn_sofortueberweisung_url;
			
			$_SESSION["pn_hash"] = implode("|", $PNArray); 
			$_SESSION["pn_hash"] = md5($_SESSION["pn_hash"]); 

			foreach ($PNArray as $PNArrayKey => $PNArrayValue) {
				$_SESSION[$PNArrayKey] = $PNArrayValue;
			}
			
			// Template
			$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bestellabwicklung_pn_sofortueberweisung.tpl";	
		
		} elseif ($ZahlungsartObject->paymentsystem == 12 && $_GET["pn"] == 1) {
			
			$SofortUeberweisungPayment = true;
		
        } elseif ($ZahlungsartObject->paymentsystem == 42 ) {
            $Payment = false;

            if($_POST['bemerkung'])
                $_SESSION['bemerkung'] = $_POST['bemerkung'];

            // Wenn die Bestellung schon vorhanden ist, diese loeschen
            $SQLString = "SELECT ";
            $SQLString .= TABLE_BESTELLEN . ".id, ";
            $SQLString .= TABLE_BESTELLEN . '.auftragsnummer ';
            $SQLString .= "FROM ";
            $SQLString .= TABLE_BESTELLEN . " ";
            $SQLString .= "WHERE ";
            $SQLString .= TABLE_BESTELLEN . ".session = '" . $_SESSION["sessionId"] . "'";

            $BestellObject = mysql_fetch_object(mysql_query($SQLString));

            if ($BestellObject) {
                DeleteBestellung($BestellObject->id, false, true);
            }

            $BestellID = SaveBestellung($_SESSION["sessionId"], $KundenEmail, $_SESSION["bemerkung"], "", "", $ZahlungsartEinstellungenObject->status_zahlung_unbestaetigt, $_SESSION["languageid"], "", $_SESSION["gutscheincode"], BESTELLQUELLE_SHOP, DOCUMENT_ID_BESTELLUNG, $BestellObject->id, $BestellObject->auftragsnummer);

            $BestellObject = GetBestellenDetail($BestellID);
            $KundenObject = GetKundenDetail($KundenEmail,"");

            $orderObject = createPaymentInterfaceOrderFromBestellObject($BestellObject, $WaehrungObject, $KundenObject);

            $paymentResult = $_SESSION['paymentInterface']->doPayment($orderObject, $_SESSION['paymentInterfaceRequestParams']?$_SESSION['paymentInterfaceRequestParams']:array());

            switch($paymentResult->result) {
                case PaymentResult::IFRAME_REQUIRED:
                    SavePaymentInterfaceBestellIdentifier($BestellID, $paymentResult->orderIdentifierValue);
                    $_SESSION['paymentInterfaceRedirectTargetURL'] = $paymentResult->targetURL;
                    $_SESSION['paymentInterfacePostArray'] = $paymentResult->postArray;
                    $_SESSION['paymentInterfaceRedirectType'] = 'iframe';
                    $_SESSION['paymentInterfaceRedirectMethod'] = 'POST';
                    $contentFile = DATEIPFAD . 'templates/' . $rowTemp->name . '/website/bestellen/paymentIFrame.tpl';
                    break;
                case PaymentResult::IFRAME_GET_REQUIRED:
                    SavePaymentInterfaceBestellIdentifier($BestellID, $paymentResult->orderIdentifierValue);
                    $_SESSION['paymentInterfaceRedirectTargetURL'] = $paymentResult->targetURL;
                    $_SESSION['paymentInterfacePostArray'] = $paymentResult->postArray;
                    $_SESSION['paymentInterfaceRedirectType'] = 'iframe';
                    $_SESSION['paymentInterfaceRedirectMethod'] = 'GET';
                    $contentFile = DATEIPFAD . 'templates/' . $rowTemp->name . '/website/bestellen/paymentIFrame.tpl';
                    break;
                case PaymentResult::POPUP_REQUIRED:
                    SavePaymentInterfaceBestellIdentifier($BestellID, $paymentResult->orderIdentifierValue);
                    $_SESSION['paymentInterfaceRedirectTargetURL'] = $paymentResult->targetURL;
                    $_SESSION['paymentInterfacePostArray'] = $paymentResult->postArray;
                    $_SESSION['paymentInterfaceRedirectType'] = 'popup';
                    $contentFile = DATEIPFAD . 'templates/' . $rowTemp->name . '/website/bestellen/paymentPopup.tpl';
                    break;
                case PaymentResult::REDIRECT_REQUIRED:
                    SavePaymentInterfaceBestellIdentifier($BestellID, $paymentResult->orderIdentifierValue);
                    $_SESSION['paymentInterfaceRedirectTargetURL'] = $paymentResult->targetURL;
                    $_SESSION['paymentInterfacePostArray'] = $paymentResult->postArray;
                    $_SESSION['paymentInterfaceRedirectType'] = 'redirect';
                    $_SESSION['paymentInterfaceRedirectMethod'] = 'POST';
                    header('Location: ' . URLPFAD . 'themes/bestellen/paymentRedirect.php');
                    break;
                case PaymentResult::REDIRECT_GET_REQUIRED:
                    SavePaymentInterfaceBestellIdentifier($BestellID, $paymentResult->orderIdentifierValue);
                    $_SESSION['paymentInterfaceRedirectTargetURL'] = $paymentResult->targetURL;
                    $_SESSION['paymentInterfacePostArray'] = $paymentResult->postArray;
                    $_SESSION['paymentInterfaceRedirectType'] = 'redirect';
                    $_SESSION['paymentInterfaceRedirectMethod'] = 'GET';
                    header('Location: ' . URLPFAD . 'themes/bestellen/paymentRedirect.php');
                    break;
                case PaymentResult::PAYMENT_COMPLETE:
                    SavePaymentInterfaceFreiesFeld($BestellID, $paymentResult->freeField, $paymentResult->freeFieldName);
                    SavePaymentInterfaceBestellParams($BestellID, $_SESSION['paymentInterfaceBestellParams']);
                    $Payment = true;
                    break;
                case PaymentResult::PAYMENT_FAILED:
                    $tpl_errorMsg = $paymentResult->message;
                    $contentFile = DATEIPFAD . 'templates/' . $rowTemp->name . '/website/bestellen/paymentFailed.tpl';
                    break;
                case PaymentResult::PAYMENT_PENDING:
                    SavePaymentInterfaceFreiesFeld($BestellID, $paymentResult->freeField, $paymentResult->freeFieldName);
                    SavePaymentInterfaceBestellParams($BestellID, $_SESSION['paymentInterfaceBestellParams']);
                    $PaymentPending = true;
                    $tpl_pendingMsg = $paymentResult->message;
                    break;
            }

        } else {
						
			// Wenn die Bestellung schon vorhanden ist, diese loeschen
			$SQLString = "SELECT ";
			$SQLString .= TABLE_BESTELLEN . ".id ";
			$SQLString .= "FROM ";
			$SQLString .= TABLE_BESTELLEN . " ";
			$SQLString .= "WHERE ";
			$SQLString .= TABLE_BESTELLEN . ".session = '" . $_SESSION["sessionId"] . "'";
			
			$BestellObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
						
			if ($BestellObject) {

				DeleteBestellung($BestellObject->id, false);
				
			}
			
		}

		// ********************************************************************************
		// ** Abwicklung der Bestellung wenn die Zahlung klar ist
		// ********************************************************************************

		if ($Payment || $PaymentPending) {

			// ********************************************************************************
			// ** Die Bestellung speichern
			// ********************************************************************************

            if($Payment) {
                // Wenn die Bestellung schon vorhanden ist zwecks Saferpay
                $SQLString = "SELECT id FROM " . TABLE_BESTELLEN . " WHERE session = '" . $_SESSION["sessionId"] . "'";
                $BestellObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

                // Bestellung speichern
                if ($BestellObject) {

                    $BestellID = $BestellObject->id;

                    if (RECHNUNGSWESEN) {
                        BestellStatusWechseln($BestellID, $ZahlungsartObject->bestellen_status_id, $ShopeinstellungObject, '');
                    } else {
                        BestellStatusWechseln($BestellID, BESTELLSTATUS_EINGEGANGEN, $ShopeinstellungObject, '');
                    }

                } else {

                    $BestellID = SaveBestellung($_SESSION["sessionId"], $KundenEmail, $_POST["bemerkung"],0,0,0,$_SESSION["languageid"], "", $_SESSION["gutscheincode"]);

                    if (RECHNUNGSWESEN) {
                        BestellStatusWechseln($BestellID, $ZahlungsartObject->bestellen_status_id, $ShopeinstellungObject, '');
                    } else {
                        BestellStatusWechseln($BestellID, BESTELLSTATUS_EINGEGANGEN, $ShopeinstellungObject, '');
                    }

                }

                if($ZahlungsartObject->bezahlstatus) {
                    SetBezahlDaten($BestellID);
                }
            } else if($PaymentPending) {
                BestellStatusWechseln($BestellID, $ZahlungsschnittstellenEinstellungen->zahlungsschnittstellen->status_zahlung_ueberpruefung, $ShopeinstellungObject, '');
            }


	
			// ********************************************************************************
			// ** Daten f�r die Bestellabwicklung einlesen
			// ********************************************************************************
			
			// Bestellung einlesen
			$BestellObject = GetBestellenDetail($BestellID);
			
			SaveLogFile($BestellObject);
	
			// ********************************************************************************
			// ** Versand der Best�tigungsmail
			// ********************************************************************************
			
			// Mail an den Kunden
			SendFakturaMail($BestellObject, $KundenObject, $ShopeinstellungObject, 1, $WaehrungObject, 2);
			
			// Mail an den Shopbetreiber
			SendFakturaMail($BestellObject, $KundenObject, $ShopeinstellungObject, 1, $WaehrungObject, 3);
			
			$_SESSION["oldsessionId"] = $_SESSION['sessionId'];
			$_SESSION['sessionId'] = md5(uniqid(rand()));

            // Session der Gastbestellung zurücksetztn
            unset($_SESSION['gast_mail']);
            unset($_SESSION['gast_anrede']);
            unset($_SESSION['gast_vorname']);
            unset($_SESSION['gast_nachname']);
            unset($_SESSION['gast_firma']);
            unset($_SESSION['gast_strasse']);
            unset($_SESSION['gast_hausnummer']);
            unset($_SESSION['gast_plz']);
            unset($_SESSION['gast_ort']);
            unset($_SESSION['gast_land']);
            unset($_SESSION['gast_telefon']);
            unset($_SESSION['gast_zahlungsart']);
            unset($_SESSION['gast_versandart']);
			
            unset($_SESSION["gutscheincode"]);
			
            $auftragsLink = URLPFAD . "themes/bestellen/auftragsbestaetigung.php";

            $tpl_easymarketing_conversion_tracker_code = getConversionTrackerCode($BestellObject->gesamtsumme);

			// Template
			$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bestellabwicklung.tpl";	
		
		} elseif ($SofortUeberweisungPayment) {
			
			$_SESSION["oldsessionId"] = $_SESSION['sessionId'];
			$_SESSION['sessionId'] = rand() . rand();
			
            // Session der Gastbestellung zurücksetztn
            unset($_SESSION['gast_mail']);
            unset($_SESSION['gast_anrede']);
            unset($_SESSION['gast_vorname']);
            unset($_SESSION['gast_nachname']);
            unset($_SESSION['gast_firma']);
            unset($_SESSION['gast_strasse']);
            unset($_SESSION['gast_hausnummer']);
            unset($_SESSION['gast_plz']);
            unset($_SESSION['gast_ort']);
            unset($_SESSION['gast_land']);
            unset($_SESSION['gast_telefon']);
            unset($_SESSION['gast_zahlungsart']);
            unset($_SESSION['gast_versandart']);
			
			$auftragsLink = URLPFAD . "themes/bestellen/auftragsbestaetigung.php";

            $BestellObject = GetBestellenDetail(false, $_SESSION['oldsessionId']);
            $tpl_easymarketing_conversion_tracker_code = getConversionTrackerCode($BestellObject->gesamtsumme);

			// Template
			$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bestellabwicklung.tpl";	
			
			
		} elseif($PPExpressPaymentPending) {

			// Shopeinstellungen
			$ShopeinstellungObject = GetShopeinstellungDetail();
			
			// Bestellung einlesen
			$BestellObject = GetBestellenDetail($BestellID);
			
			// Kunde einlesen
			$KundenObject = GetKundenDetail($KundenEmail);
	
			$WaehrungObject = GetWaehrungDetail();
			
			// ********************************************************************************
			// ** Versand der Bestaetigungsmail
			// ********************************************************************************
			
            // Mail an den Kunden
            SendFakturaMail($BestellObject, $KundenObject, $ShopeinstellungObject, 1, $WaehrungObject, 2);
            
            // Mail an den Shopbetreiber
            SendFakturaMail($BestellObject, $KundenObject, $ShopeinstellungObject, 1, $WaehrungObject, 3);
						
			$_SESSION["oldsessionId"] = $_SESSION['sessionId'];
			$_SESSION['sessionId'] = rand() . rand();
			
			// Session der Gastbestellung zurücksetztn
            unset($_SESSION['gast_mail']);
            unset($_SESSION['gast_anrede']);
            unset($_SESSION['gast_vorname']);
            unset($_SESSION['gast_nachname']);
            unset($_SESSION['gast_firma']);
            unset($_SESSION['gast_strasse']);
            unset($_SESSION['gast_hausnummer']);
            unset($_SESSION['gast_plz']);
            unset($_SESSION['gast_ort']);
            unset($_SESSION['gast_land']);
            unset($_SESSION['gast_telefon']);
            unset($_SESSION['gast_zahlungsart']);
            unset($_SESSION['gast_versandart']);
			
			$auftragsLink = URLPFAD . "/themes/bestellen/auftragsbestaetigung.php";

            $tpl_easymarketing_conversion_tracker_code = getConversionTrackerCode($BestellObject->gesamtsumme);
			// Template
			$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bestellabwicklung.tpl";	
			
		}
		
		if ($Payment || $SofortUeberweisungPayment) {
			
			// ********************************************************************************
			// ** Partnerprogram
			// ********************************************************************************
		
			//¸berpr¸fen ob partnerprogen artikel oder bestellbasiert aktiviert ist
			if(PARTNERPROGRAMM) {			
				$SQLString = 'SELECT provision_artikelbasiert, provision_bestellbasiert ';
				$SQLString .= 'FROM ' . TABLE_PARTNERPROGRAMM_EINSTELLUNGEN . ' ';
	
				$PPEinstellungenObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));				
			}
			
			//Artikelbasierte Provisionserrechnung
			if($PPEinstellungenObject->provision_artikelbasiert && $_SESSION['partner_key']) {

				$SQLString = 'SELECT ' . TABLE_WARENKORB . '.artikel_id, ' . TABLE_WARENKORB . '.preis_brutto, ' . TABLE_WARENKORB . '.menge, ' . TABLE_ARTIKEL . '.merkmalkombinationparentid ';
				$SQLString .= 'FROM ' . TABLE_WARENKORB . ' ';
				$SQLString .= 'INNER JOIN ' . TABLE_ARTIKEL . ' ON '. TABLE_WARENKORB . '.artikel_id = ' . TABLE_ARTIKEL . '.id ';
				$SQLString .= 'WHERE ';
				$SQLString .=  TABLE_WARENKORB . '.session = \'' . $_SESSION['oldsessionId'] . '\' ';
				$SQLString .= 'AND ';
				$SQLString .=  TABLE_WARENKORB . '.artikel_id = ' . $_SESSION['partner_artikel'] . ' ';
				$SQLString .= 'OR ';
				$SQLString .=  TABLE_ARTIKEL . '.merkmalkombinationparentid = ' . $_SESSION['partner_artikel'];
				
				$MySQLQueryReference = errorlogged_mysql_query($SQLString);
				
				while ($row = mysql_fetch_array($MySQLQueryReference)) {
					
					$WarenkorbArray[] = $row;
				}
				
				if($WarenkorbArray){
					
					foreach ($WarenkorbArray as $Warenkorb){
	
						if(in_array($_SESSION['partner_artikel'],$Warenkorb)) {
							
							//Hˆhe der Provision auslesen
							$SQLString = 'SELECT provision_prozent, provision_fix ';
							$SQLString .= 'FROM ' . TABLE_PARTNERPROGRAMM_EINSTELLUNGEN . ' ';
							
							$ProvosionHoehe = mysql_fetch_array(errorlogged_mysql_query($SQLString));
	
							if($ProvosionHoehe['provision_prozent'] != 0) {
								$ProvisionProzent = $ProvosionHoehe['provision_prozent'];
								$ProvisionFix = 0;
							} else {
								$ProvisionProzent = 0;
								$ProvisionFix = $ProvosionHoehe['provision_fix'];
							}
							
							//	Mehrwertsteuersatz auslesen
							$SQLString = 'SELECT mwst ';
							$SQLString .= 'FROM ' . TABLE_ALLGEMEIN . ' ';
	
							$PMwSt = mysql_result(errorlogged_mysql_query($SQLString),0,0);
								
							//Neuer Eintrag in die shop_provisionen
							
							$SQLString = 'INSERT INTO ' . TABLE_PROVISIONEN . ' SET ';
							$SQLString .= 'partner_key = \'' . $_SESSION['partner_key'] . '\', ';
							$SQLString .= 'kunden_id = ' . $KundenObject->id . ', ';
							$SQLString .= 'bestell_id = ' . $BestellID . ', ';
							$SQLString .= 'provision_art = \'artikel\', ';
							$SQLString .= 'provision_summe = ' . round(($Warenkorb['menge']*(($Warenkorb['preis_brutto'] / 100 * $ProvisionProzent) + $ProvisionFix)),2) . ', ';
							$SQLString .= 'provision_mwst = ' . round((($Warenkorb['menge']*(($Warenkorb['preis_brutto'] / 100 * $ProvisionProzent) + $ProvisionFix) / (100 + $PMwSt) * $PMwSt)),2) . ', ';
							$SQLString .= 'provision_datum = CURRENT_DATE()';
							
							errorlogged_mysql_query($SQLString);
							
							$ProvisionID = mysql_insert_id();
							
							
							//Neuer Eintag in die provisionen_artikel
							
							
							$SQLString = 'INSERT INTO ' . TABLE_PROVISIONEN_ARTIKEL . ' SET ';
							$SQLString .= 'provision_id = ' . $ProvisionID . ', ';
							$SQLString .= 'artikel_id = ' . $Warenkorb['artikel_id'] . ', ';
							$SQLString .= 'artikel_menge = ' . $Warenkorb['menge'] . ', ';
							$SQLString .= 'artikel_brutto = ' . $Warenkorb['preis_brutto'] . ' ';
							
							errorlogged_mysql_query($SQLString);						
							
	
						}
						
					}
					
				}
				
			}
			
			// Bestellbasierte Provisionserrechnung
			if($PPEinstellungenObject->provision_bestellbasiert){

				//Abfrage ob und welcher Partner noch Provisionen f¸r bestellungen des Kunden erh‰lt	
				
				$SQLString = 'SELECT COUNT(DISTINCT ' . TABLE_PROVISIONEN . '.bestell_id) ';
				$SQLString .= 'FROM ' . TABLE_PROVISIONEN . ' ';
				$SQLString .= 'INNER JOIN ' . TABLE_KUNDEN . ' ON ' . TABLE_PROVISIONEN . '.partner_key = ' . TABLE_KUNDEN . '.partner_key ';
				$SQLString .= 'WHERE ' . TABLE_PROVISIONEN . '.kunden_id = ' . $KundenObject->id . ' ';
				$SQLString .= 'AND ' . TABLE_KUNDEN . '.id = ' . $KundenObject->id . ' ';
								
				$ProvisionAnzahl = mysql_result(errorlogged_mysql_query($SQLString),0,0);
				
				
//				echo $SQLString . '<br><br>';
								
				$SQLString = 'SELECT ' . TABLE_KUNDEN . '.partner_key ';
				$SQLString .= 'FROM  ' . TABLE_KUNDEN . ', ' . TABLE_PARTNERPROGRAMM_EINSTELLUNGEN . ' ';
				$SQLString .= 'WHERE ';
				$SQLString .= TABLE_KUNDEN . '.id = ' . $KundenObject->id  . ' ';
				$SQLString .= 'AND ' . TABLE_PARTNERPROGRAMM_EINSTELLUNGEN . '.provision_dauer > ' . $ProvisionAnzahl;
				
//				echo $SQLString . '<br><br>';	
	
				if(mysql_num_rows(errorlogged_mysql_query($SQLString)) > 0){
						$PartnerKey = mysql_result(errorlogged_mysql_query($SQLString),0,0);	

						if ($PartnerKey) {
	//						echo '<pre>';
	//						var_dump($_SESSION);
	//						echo '</pre>';				
					
							//	Hˆhe der Provision auslesen
							$SQLString = 'SELECT provision_prozent, provision_fix ';
							$SQLString .= 'FROM ' . TABLE_PARTNERPROGRAMM_EINSTELLUNGEN . ' ';
							
							$ProvosionHoehe = mysql_fetch_array(errorlogged_mysql_query($SQLString));
	
	
							if($ProvosionHoehe['provision_prozent'] != 0) {
								$ProvisionProzent = $ProvosionHoehe['provision_prozent'];
								$ProvisionFix = 0;
							} else {
								$ProvisionProzent = 0;
								$ProvisionFix = $ProvosionHoehe['provision_fix'];
							}
								
							//	Mehrwertsteuersatz auslesen
							$SQLString = 'SELECT mwst ';
							$SQLString .= 'FROM ' . TABLE_ALLGEMEIN . ' ';
	
							$PMwSt = mysql_result(errorlogged_mysql_query($SQLString),0,0);
					
							//Neuer Eintrag in die shop_provisionen
							
							$SQLString = 'INSERT INTO ' . TABLE_PROVISIONEN . ' SET ';
							$SQLString .= 'partner_key = \'' . $PartnerKey . '\', ';
							$SQLString .= 'kunden_id = ' . $KundenObject->id . ', ';
							$SQLString .= 'bestell_id = ' . $BestellObject->id . ', ';
							$SQLString .= 'provision_summe = ' . round((($BestellObject->gesamtsumme_brutto / 100 * $ProvisionProzent) + $ProvisionFix),2) . ', ';
							$SQLString .= 'provision_mwst = ' . round(((($BestellObject->gesamtsumme_brutto / 100 * $ProvisionProzent) + $ProvisionFix) / (100 + $PMwSt) * $PMwSt),2) . ', ';
							$SQLString .= 'provision_datum = CURRENT_DATE()';
							
							errorlogged_mysql_query($SQLString);
						}

				}
				
			}

		}

}
?>
