Subversion-Projekte lars-tiefland.php_share

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?

        /* ############################# */
        /* Abbrechen wenn Warenkorb leer */
        /* ############################# */
        // Titeltemplate auslesen
        $template = file_get_contents("templates/buyContent/1/1.htm");
        if ($_SESSION[SHOP][BASKET] == array())
                {
                        $msg[title]=$_SESSION[INI][basket][emptyMsg]; 
                        echo templateContent($msg, $template);
                        return ;
                }
        else
                {
                        include($_SESSION[INI][buy][templatePath]."stepView.php");
                }



        /* ##################################### */
        /* zus�tzliche ServiceRoutinen einbinden */
        /* ##################################### */
        
        foreach(listFiles($_SESSION[INI][buyPath],"php") as $file)
        {
                include_once($file);
        }

        /* ################# */
        /* Schrittverwaltung */
        /* ################# */
        $_SESSION[SHOP][buy][step]=1;
        if ($_REQUEST[step])
        {
                $_SESSION[SHOP][buy][step]=$_REQUEST[step]; 
        }

        /* ############## */
        /* NewsletterFlag */
        /* ############## */
        if ($_POST[newsletter])
        {
                $_SESSION[SHOP][newsletter] = $_POST[newsletter];
        }

        /* ################## */
        /* LieferadressenFlag */
        /* ################## */
        if ($_POST[Lieferadresse])
        {
                $_SESSION[SHOP][Lieferadresse] = $_POST[Lieferadresse];
        }
        
        if ($_POST[action])
        {
                // eventuelle Mindestangaben abfragen
                $req_error=false;
                if ($_POST[req])
                {
                        foreach(array_keys($_POST[req]) as $elem)
                        {
                                // M�llfilter
                                switch($_POST[req][$elem])
                                {
                                        case "lieferadresse":
                                                        if ($_SESSION[SHOP][Lieferadresse] == "true")
                                                        {
                                                                if (!$_POST[$elem]) { $req_error=true; }                                                                
                                                        }
                                                break;
                                        case "mail":
                                                        if (preg_match("/\@/", $_POST[$elem]) == 0) { $req_error=true; }
                                                break;
                                        default:
                                                        if (!$_POST[$elem]) { $req_error=true; }
                                                break;
                                }
                        }
                }
        }

        if ($req_error == true) { $_SESSION[SHOP][buy][step]--; }

        // Eingaben verarbeiten
        switch ($_POST[action])
        {
                case "Versand":
                                                // eventuelle alte Versandoptionen aus dem Warenkopb entfernen
                                                foreach(array_keys($_SESSION[SHOP][BASKET]) as $elem)
                                                {
                                                        if ($_SESSION[SHOP][BASKET][$elem][Versand]==true)
                                                        {
                                                                unset($_SESSION[SHOP][BASKET][$elem]);
                                                        }
                                                }
                                                $VersandItem = array
                                                                                (
                                                                                        "Menge" => 1,
                                                                                        "ID" => $_POST[ID],
                                                                                        "Versand" => true
                                                                                );
                                                $_SESSION[SHOP][BASKET][$VersandItem[ID]]=$VersandItem;
                                        break;
                case "Persdata":
                                                // Daten �bertragen
                                                $_SESSION[SHOP][buy][Persdata]=$_POST;
                                                unset($_SESSION[SHOP][buy][Persdata][req]);
                                                
                                                shopLog
                                                (
                                                        "BestSeite1",
                                                        $_SESSION['shopLog']['referrer'],
                                                        numberFormat(getBasketSumme(true)),
                                                        '0',
                                                        false,
                                                        true
                                                );
                                                
                                        break;                                  
                case "execute":
                                                if ($req_error == false)
                                                {
                                                        // User in Login erstellen
                                                        $Userdata = createUser($_SESSION[SHOP][buy][Persdata]);

        /* ############################################################################### */
                                                // Lieferadresse aus der Session erstellen
                                                if ($_SESSION[SHOP][Lieferadresse] == "true")
                                                {
                                                        $Lieferadresse=
"
Lieferadresse:
Firma:     ".$_SESSION[SHOP][buy][Persdata][liefer_Firma]."
Name:      ".$_SESSION[SHOP][buy][Persdata][liefer_Vorname]." ".$_SESSION[SHOP][buy][Persdata][liefer_Nachname]."
Strasse:   ".$_SESSION[SHOP][buy][Persdata][liefer_Strasse]." ".$_SESSION[SHOP][buy][Persdata][liefer_Str_Nr]."
PLZ/Ort:   ".$_SESSION[SHOP][buy][Persdata][liefer_PLZ]." ".$_SESSION[SHOP][buy][Persdata][liefer_Ort]."
Land:      ".getCountryById($_SESSION[SHOP][buy][Persdata][liefer_Land])."
";
                                                }
                                                else
                                                {
                                                        $Lieferadresse="";
                                                }
        /* ############################################################################### */


                                                        // User in Newsletter eintragen
                                                        if (isset($_POST["newsletter"]))
                                                        {
                                                                knock(__LINE__);
                                                                subscribeToNewsletter
                                                                (
                                                                        $Userdata[ID],
                                                                        $_SESSION["INI"]["newsletter"][$_POST["newsletter"]]
                                                                );
                                                        }
                                                        
                                                        // Bestellung erstellen
                                                        $bestellId=createOrder($Userdata[ID]);

                                                        // Bemerkung bereitstellen
                                                        $Bemerkung = getBemerkung(false);
                                                        $Bemerkung1 = getBemerkung(true);

                                                        // Artikel der Bestellung zuordnen
                                                        foreach($_SESSION[SHOP][BASKET] as $elem)
                                                        {
                                                                $item=getItem($elem[ID]);

                                if ($_SESSION[SHOP][BASKET][$elem[ID]][Versand])
                                {
                                                                        $artikel_to_Bestellung_status="";
                                                                        $artikel_to_Bestellung_rechnungStatus="";
                                }
                                else
                                {
                                                                        $artikel_to_Bestellung_status="offen";
                                                                        $artikel_to_Bestellung_rechnungStatus="schreiben";
                                                                }

                                                                
                                                                $query="
                                                                        insert into artikel_to_Bestellung
                                                                        (
                                                                                artikel,
                                                                                Bestellung,
                                                                                Menge,
                                                                                Preis_pro_Stueck,
                                                                                status,
                                                                                rechnungStatus,
                                                                                Bezeichnung
                                                                        )
                                                                        values
                                                                        (
                                                                                $elem[ID],
                                                                                $bestellId,
                                                                                $elem[Menge],
                                                                                '".$item["preis"]."',
                                                                                '".$artikel_to_Bestellung_status."',
                                                                                '".$artikel_to_Bestellung_rechnungStatus."',
                                                                                '".$item[kurzbezeichnung]." ".basketItemOptions($elem)."'
                                                                        )
                                                                ";
                                                                mysql_query($query);
                                                        }
                                                        
                                                        
                                                        // Bestellmailvariablen bereitstellen
                                                        include($_SESSION[INI][buyPath]."bestellen_mail_variablen.php");
                                                        
                                                        // Text f�r die Mail erstellen
                                                        $text=createMailOrderText();
                                                        
                                                        // Bestellmail verschicken

                                                        mail 
                                                        (
                                                                $Userdata[E_Mail],
                                                                $Bestaetigungsmail[Betreff],
                                                                $Bestaetigungsmail[start].
                                                                $text
                                                                ."\n\n".
                                                                $Bestaetigungsmail[Kundendaten].
                                                                "\n\n".
                                                                $Bestaetigungsmail[stop],
                                                                "FROM: $shopaddr"
                                                        );

                                                        // Best�tigungsmail verschicken
                                                        mail
                                                        (
                                                                $shopaddr,
                                                                $Bestellmail[Betreff],
                                                                $Bestellmail[start].
                                                                $text.
                                                                "\n\n".
                                                                $Bestellmail[Kundendaten].
                                                                "\n\n".
                                                                $Bestellmail[stop],
                                                                "FROM: $Userdata[E_Mail]"
                                                        );

                                                        // Bestellung Loggen
                                                        shopLog
                                                        (
                                                                "Bestellung",
                                                                $_SESSION['shopLog']['start_url'],
                                                                getBasketSumme(),
                                                                $bestellId,
                                                                SID,
                                                                false
                                                        );

                                                        // Warenkorb l�schen
                                                        $_SESSION[SHOP][BASKET]=array();
                                                }
                                                else
                                                {
                                                        if ($_POST[Newsletter])
                                                        {
                                                                $_SESSION[SHOP][buy][Newsletter] = $_POST[Newsletter];
                                                        }
                                                        else
                                                        {
                                                                unset($_SESSION[SHOP][buy][Newsletter]);
                                                        }
                                                }                                               
                                        break;
        }

        // Templateausgabe
        if (($_SESSION[SHOP][BASKET] == array()) and ($_POST[step] != 4))
        {
                $msg[title]=$_SESSION[INI][basket][emptyMsg];

                // Titeltemplate auslesen
                $template = file_get_contents("templates/basket/1/1.htm");
                echo templateContent($msg, $template);
        }
        else
        {                       
                include($_SESSION[INI][buy][templatePath].$_SESSION[SHOP][buy][step].".php");
        }
?>