<?php
//  Copyright (c) 2004-2014 randshop
//  http://www.randshop.com
//
//  Unter Lizenz von randshop
//	
//	Letzte Bearbeitung: 06.05.2014


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

	// ********************************************************************************
	// ***** Sessionvariablen setzen                                              *****
	// ********************************************************************************

	if ($_POST["zahlungsart"]) { $Zahlungsart = $_POST["zahlungsart"]; };

	if ($_GET["stepcounter"]) {
		$_SESSION["stepcounter"] = $_GET["stepcounter"];
	}

    // ********************************************************************************
    // ***** Bonitätsprüfung
    // ********************************************************************************
	if ($Zahlungsart && GetZahlungsartBonitaetspruefung($Zahlungsart)) {
	    
        $KundenObject = GetKundenDetail($_SESSION["mail"]);
	    
        if (!$KundenObject->bonitaetspruefung_inaktiv) {

            $CheckBonitaetspruefungResult = CheckBonitaetspruefung($Zahlungsart, $KundenObject->id);
            
            if ($CheckBonitaetspruefungResult['bonitaetspruefung'] == false) {
                
                $_SESSION['bonitaetspruefung_message'] = $CheckBonitaetspruefungResult['bonitaetspruefung_message'];
                
                ResetKundenZahlungsart($KundenObject->id);
                
                header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s0");
                exit;     
                
            }
            
        }

	}
	
		function GetZahlungsartpaymentsystem($ZahlungsartID) {
		 // get the paymentsystem 
		 $ZahlungartObject = GetZahlungsartDetail($ZahlungsartID);
		 
		 return $ZahlungartObject->paymentsystem;
		}
    
	
	// ********************************************************************************
	// ***** Daten der Zahlungsart sichern                                         ****
	// ********************************************************************************
	
	// wurden Bankdaten gefordert, diese zuerst überprüfen
	if ($Zahlungsart && GetZahlungsartBankdaten($Zahlungsart)) {
	    
		// Fehler bei der Eingabe der Bankdaten
		if (($_POST["bank"] == "") || ($_POST["blz"] == "")) {
			$Bankfehler = true;
		// Daten der Zahlungsart sichern
		} else {
			if($_SESSION["gast_mail"] =="") {
				$SQLString = "UPDATE " . TABLE_KUNDEN . " SET zahlungsart = '" . $Zahlungsart . "', bank = '" . $_POST["bank"] . "', blz = '" . $_POST["blz"] . "', konto_nr = '" . $_POST["konto_nr"] . "' WHERE email = '" . $_SESSION["mail"] . "'";
				$MySQLQueryReference = errorlogged_mysql_query($SQLString);
			} else {
				$_SESSION["gast_zahlungsart"] = $Zahlungsart;
				$_SESSION["gast_bank"] = $_POST["bank"];
				$_SESSION["gast_blz"] = $_POST["blz"];
				$_SESSION["gast_konto_nr"] = $_POST["konto_nr"];
			}
		}

	// Daten der Zahlungsart sichern
	} elseif ($Zahlungsart && GetZahlungsartKreditdaten($Zahlungsart)) {
	    
		// Fehler bei der Eingabe der Bankdaten
		if (($_POST["kartenart"] == "") || ($_POST["kartennummer"] == "") || ($_POST["kartenablaufdatum"] == "")) {
			$Bankfehler = true;
		// Daten der Zahlungsart sichern
		} else {
			$kredTypCrypt = md5_encrypt($_POST["kartenart"], $_SESSION["sessionId"]);
			$kredNrCrypt = md5_encrypt($_POST["kartennummer"], $_SESSION["sessionId"]);
			if($_SESSION["gast_mail"] =="") {
				$SQLString = "UPDATE " . TABLE_KUNDEN . " SET zahlungsart = '" . $Zahlungsart . "',  kreditk_typ='".$kredTypCrypt."',  kreditk_nr='".$kredNrCrypt."', kreditk_gueltdate='".$_POST["kartenablaufdatum"]."' WHERE email = '" . $_SESSION["mail"] . "'";
				$MySQLQueryReference = errorlogged_mysql_query($SQLString);
			} else {
				$_SESSION["gast_zahlungsart"] = $Zahlungsart;
				$_SESSION["gast_kredit_typ"] = $kredTypCrypt;
				$_SESSION["gast_kreditk_nr"] = $kredNrCrypt;
				$_SESSION["gast_kreditk_gueltdate"] = $_POST["kartenablaufdatum"];
			}
		}

	// Daten der Zahlungsart sichern
	} elseif ($Zahlungsart) {
	
		// Überprüfen, ob Bankdaten erforderlich sind
		
		if($_SESSION["gast_mail"] =="") {
			$SQLString = "UPDATE " . TABLE_KUNDEN . " SET zahlungsart = '" . $Zahlungsart . "' WHERE email = '" . $_SESSION["mail"] . "'";
			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
		} else {
			$_SESSION["gast_zahlungsart"] = $Zahlungsart;
		}
			
	}
	
	// ********************************************************************************
	// ***** Wenn keine Daten im Warenkorb sind                                    ****
	// ********************************************************************************

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


	// ********************************************************************************
	// ***** Zahlungsarten einlesen und f�r die Ausgabe aufbereiten                ****
	// ********************************************************************************

	} else {

		// Wenn keine Zahlungsart übergeben wurde (Sprung aus der Bestellübersicht), die Daten aus
		// dem Kundenstamm einlesen
		
		if (!$Zahlungsart) {
		    
		    $SQLString = 'SELECT ';
		    $SQLString .= TABLE_KUNDEN . '.zahlungsart ';
		    $SQLString .= 'FROM ';
		    $SQLString .= TABLE_KUNDEN . ' ';
		    $SQLString .= 'WHERE ';
		    $SQLString .= TABLE_KUNDEN . '.email = \'' . $_SESSION["mail"] . '\' ';
		    
		    $KundenObject = mysql_fetch_object(mysql_query($SQLString));
		
		    if ($_SESSION["gast_mail"] == "") {
		       $Zahlungsart = $KundenObject->zahlungsart;
		    }
		    else {
		    	$Zahlungsart = $_SESSION["gast_zahlungsart"];
		    }
		    
		}
				
		
		// aktive Währung einlesen
		$WaehrungObject = GetWaehrungDetail();

		// kundenspezifische Versandarten einlesen
		$VersandartArray = GetKundenVersandartList($_SESSION["mail"], $_SESSION['sessionId'], $_SESSION["languageid"]);
		
		$zahlungsartVersandarten = GetZahlungsartVersandarten($Zahlungsart, $_SESSION["languageid"]);
		if(count($zahlungsartVersandarten) > 0)
		{
			foreach($VersandartArray as $key=>$versandart)
			{
				if(!$zahlungsartVersandarten[$versandart['id']])
				{
					unset($VersandartArray[$key]); // Versandarten die dieser Zahlungsart nicht zugeordnet sind rausschmeissen
				}
			}
		}

        if(KeineNormalenVersandArtikelImWk($_SESSION['sessionId'])) {
            $_SESSION["show_versandart_link"] = false;

            $versandart = reset($VersandartArray);
            header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s2&versandart=" . $versandart["id"]);
            exit;
        }

        // wenn es mehrer als eine Versandart vorhanden sind
		if (count($VersandartArray) > 1) {
			
		    $_SESSION["show_versandart_link"] = true;
		    
			// Stepcounter erhöhen
			if ($_SESSION["stepcounter"] == 1) {
				$_SESSION["stepcounter"]++;
			}

			// aktive Währung einlesen
			$WaehrungObject = GetWaehrungDetail();
			
			// Gesamtgewicht des Warenkorbs ermitteln
			$GesamtGewicht = GetWarenkorbGesamtgewicht($_SESSION["sessionId"]);

			$WarenkorbDataArray = GetWarenkorbDataArray($_SESSION["sessionId"],$_SESSION["mail"]);

//			echo '<pre>';
//			var_dump($WarenkorbDataArray);
//			echo '</pre>';

			// Versandarten für die Ausgabe aufbereiten
			foreach ($VersandartArray as $Versandart) {
			
				$VersandartenCounter++;

				// den Preis ermitteln
				$VersandartStaffelObject = GetVersandart($Versandart["id"], $GesamtGewicht, $_SESSION["mail"], 0, $WarenkorbDataArray["gesamtsumme"]);			
				
				$tpl_versandartenarray[$VersandartenCounter]["id"] = $Versandart["id"];
				$tpl_versandartenarray[$VersandartenCounter]["name"] = $Versandart["name"];
				$tpl_versandartenarray[$VersandartenCounter]["checked"] = $Versandart["checked"];
				$tpl_versandartenarray[$VersandartenCounter]["auswahltext"] = sprintf($c_versandart_auswahl, $Versandart["name"]);
				$tpl_versandartenarray[$VersandartenCounter]["beschreibung"] = $Versandart["beschreibung"];
				$tpl_versandartenarray[$VersandartenCounter]["gesamtgewicht"] = number_format($GesamtGewicht,2,',','');
				$tpl_versandartenarray[$VersandartenCounter]["preis_format"] = $VersandartStaffelObject->preis_format;
				$tpl_versandartenarray[$VersandartenCounter]["image_imagestring"] = $Versandart["image_imagestring"];
                $tpl_versandartenarray[$VersandartenCounter]["versandart_gewicht_anzahl"] = $VersandartStaffelObject->versandart_gewicht_anzahl;
				
				// überprüfen, ob eine Versandart gefunden wurde
				if ($Versandart["checked"]) {
					$VersandartGefunden = true;	
				}
				
			}
		
			// wenn keine Zahlungsart gefunden wurde, die erste auswahlen
			if (!$VersandartGefunden) {
				$tpl_versandartenarray[1]["checked"] = " checked";
			}
		
			$tpl_headline = $c_headline_versandart;
			$tpl_bestellart = $bestellart;
			$tpl_stepcounter = $stepcounter;
	
			$tpl_symbol = $WaehrungObject->symbol;
			$tpl_stepcounter = $_SESSION["stepcounter"];

		
		// wenn es nur eine Versandart vorhanden ist
		} elseif ((count($VersandartArray) == 1) && !$Bankfehler) {

            $_SESSION["show_versandart_link"] = false;
		    
			$versandart = reset($VersandartArray);
			header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s2&versandart=" . $versandart["id"]);
			exit;     

		// wenn keine Versandart vorhanden ist
		} else {

			$tpl_keinefuerdasland = $msg_versandart_keinefuerdasland;
			
		}
		
	}

	// Template ausgeben
	if ($Bankfehler) {
		$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bankfehler.tpl";
	} else {
		$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/versandart_auswahl.tpl";
	}