Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?
        knock(__LINE__);

        /* ############################# */
        /* 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
                {
                        require_once $_SESSION[INI][buy][templatePath]."stepView.php";
                }
*/


        /* ##################################### */
        /* zusätzliche ServiceRoutinen einbinden */
        /* ##################################### */

        foreach(listFiles($_SESSION[INI][buyPath],"php") as $file)
        {
                require_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;
                                }
                        }
                }
        }

function knock($text)
{
        global $time_start;
        //echo "<li>".$text."|&nbsp;&nbsp;&nbsp;".(microtime_float() - $time_start)."</li>";
        $time_start = microtime_float();
}

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

        // Eingaben verarbeiten
        switch ($_POST[action])
        {
                case "Versand":
                                                postAction_Versand();
                                        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)
                                                {
                                                        knock(__LINE__);

                                                        // User in Login erstellen
                                                        $Userdata = createUser($_SESSION[SHOP][buy][Persdata]);

                                                        knock(__LINE__);

                                                        // Lieferadresse aus der Session erstellen
                                                        $Lieferadresse = getLieferadresse();

                                                        knock(__LINE__);

                                                        // User in Newsletter eintragen
                                                        if ($_SESSION[SHOP][newsletter] != "false")
                                                        {
                                                                knock(__LINE__);
                                                                subscribeToNewsletter
                                                                (
                                                                        $Userdata[ID],
                                                                        $_SESSION[INI][newsletter][$_POST[newsletter]]
                                                                );
                                                                knock(__LINE__);
                                                        }

                                                        // Bestellung erstellen
                                                        $bestellId=createOrder($Userdata[ID]);

                                                        knock(__LINE__);

                                                        // Bemerkung bereitstellen
                                                        $Bemerkung = getBemerkung(false);
                                                        knock(__LINE__);

                                                        $Bemerkung1 = getBemerkung(true);
                                                        knock(__LINE__);

                                                        // Artikel der Bestellung zuordnen
                                                        insert_into_artikel_to_Bestellung($bestellId);

                                                        knock(__LINE__);

                                                        // Bestellmailvariablen bereitstellen
                                                        require_once $_SESSION[INI][buyPath]."bestellen_mail_variablen.php";

                                                        knock(__LINE__);

                                                        // Text für die Mail erstellen
                                                        $text=createMailOrderText();

                                                        knock(__LINE__);

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

                                                        knock(__LINE__);

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

                                                        knock(__LINE__);

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

                                                        knock(__LINE__);

                                                        // Warenkorb löschen
                                                        //$_SESSION[SHOP][BASKET]=array();

                                                        knock(__LINE__);
                                                }
                                                else
                                                {
                                                        if ($_POST[Newsletter])
                                                        {
                                                                $_SESSION[SHOP][buy][Newsletter] = $_POST[Newsletter];
                                                        }
                                                        else
                                                        {
                                                                unset($_SESSION[SHOP][buy][Newsletter]);
                                                        }
                                                }
                                        break;
        }

        knock(__LINE__);

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

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