Subversion-Projekte lars-tiefland.content-management

Revision

Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php
    //$Id: best_manu.php 4024 2011-10-24 10:38:11Z tiefland $

    /**
     * @author Patrick Lautsch <lautsch@weban.de>
     * @author Lars Tiefland <tiefland@weban.de>
     * @copyright 2008 Webagentur Niewerth
     * @package Content-management
     * @subpackage manuelle Bestellerfassung
     * @version $Rev: 4024 $
     * @license propietary
     * @filesource
     * 
     */

    /**
     * manuelle Bestellerfassung für Pieper und Pieper Werkstatt 
     * @author Patrick Lautsch <lautsch@weban.de>
     * @author Lars Tiefland <tiefland@weban.de>
     * @copyright 2008 Webagentur Niewerth
     */

    // deutsche Umgebung
    setlocale( LC_ALL, "de_DE" );
    // Connect-Datei einbinden
    define( "modul_name", "Warenwirtschaft" );
    define( "tool_name", "bestellung" );
    define( "F_NAME", basename( $_SERVER["PHP_SELF"] ) );
    require_once "../Online-Shop/connect2.php";
    //////////////////////////

    $Laender = array( "Deutschland", "Niederlande", "&Ouml;sterreich", "Belgien",
        "Luxemburg", "D&auml;nemark", "Schweiz", "Frankreich",
        "Gro&szlig;britannien", "Italien", "Spanien", "Portugal", "Schweden",
        "Finnland", "Norwegen", "Irland", "Griechenland", "Estland", "Lettland",
        "Malta", "Litauen", "Polen", "Slowenien", "Tschechien/Slowakei",
        "Türkei", "Ungarn", "Zypern", "Kanada", "USA", "Kroatien", "Bulgarien",
        "Rumänien" );

    // Start der Session
    session_start();

    // Smarty Initalisierung
    //define( "SMARTY_DIR", "/usr/share/php/smarty/libs/" );
    require_once "Weban_Smarty.class.php";

    $GLOBALS["ui"] = new Weban_Smarty();
    $GLOBALS["ui"]->assign( "site", $site );
    $GLOBALS["ui"]->conifg_dir = SMARTY_DIR;
    $GLOBALS["ui"]->template_dir = "templates/";
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c";
    $GLOBALS["ui"]->compile_id = "Warenwirtschaft|best_manu";
    $GLOBALS["ui"]->use_sub_dirs = true;
    $GLOBALS["ui"]->compile_check = true;



    // ME: Gasflaschen Bestellung (Sonderfall bei pieper-freizeit.de)
    if ( $webs['domain'] == 'pieper-freizeit.de' )
    {
        if ( $_POST['action'] == "step2c" )
        {
            // Die Sonderartikel holen
            // Die FatherID: muss hardcoded übergeben werden.
            $fID = 17;
            if ( $sonderartikel = getSonderartikel( $fID ) )
            {
                $GLOBALS["ui"]->assign( "sonderartikel", $sonderartikel );
            }
        }
        if ( $_POST['ls'] )
        {
            $ls = $_POST['ls'];
            // die Kontrollseite anzeigen
            foreach ( $ls as $ls_bID => $ls_arr )
            {
                if ( $ls_arr['menge'] != "" )
                {
                    $ls_arr['ID'] = $ls_bID;
                    $sonderartikel_kontrolle[] = $ls_arr;
                }
            }
            if ( is_array( $sonderartikel_kontrolle ) )
            {
                $GLOBALS["ui"]->assign( "sonderartikel_kontrolle", $sonderartikel_kontrolle );
            }
        }
    }

    ////////////////////
    $deleted = false;
    $anzahl_der_artikel = count( $_POST["artikel"] );
    for ( $i = 0; $i < $anzahl_der_artikel; $i++ )
    {
        if ( $_POST[$i] == "X" )
        {
            $deleted = true;
            break;
        }
    }
    // artikelDatabase einbinden für die Funktion: artikelDatabase()
    require_once "./includes/bestellungen/system/artikelDatabase.php";
    ////////////////////////////////////////////////////////////////

    // Felder
    $Eingabefelder = array( "Name1", "Vorname", "Name2", "Strasse", "Hausnummer",
        "PLZ_Ort", "Land", "Telefon", "Fax", "E_Mail" );
    $i = 0;
    foreach ( $Eingabefelder as $Feld )
    {

        if ( isset( $user_rechte["logins"]["admin"][$Feld] ) )
        {
            if ( ( $web_rechte["logins"]["admin"][$Feld] ) )
            {
                $eingabefelder[$i]["name"] = $web_rechte["logins"]["admin"][$Feld];
            }
            else
            {
                $eingabefelder[$i]["name"] = ( $Feld == "PLZ_Ort" ) ?
                    str_replace( "_", " / ", $Feld ) : $Feld;
            }
            //$eingabefelder[$i]["pflicht"] = ( $Feld == "Name1" ) ? 1 : 0;
            $eingabefelder[$i]["f_name"] = $Feld;
            $i++;
        }
    }
    $Suchfelder = array( "Name1", "Vorname", "Name2", "Strasse", "Hausnummer",
        "PLZ_Ort", "E_Mail" );
    $i = 0;
    foreach ( $Suchfelder as $Feld )
    {

        if ( isset( $user_rechte["logins"]["admin"][$Feld] ) )
        {
            if ( ( $web_rechte["logins"]["admin"][$Feld] ) )
            {
                $suchfelder[$i]["name"] = $web_rechte["logins"]["admin"][$Feld];
            }
            else
            {
                $suchfelder[$i]["name"] = ( $Feld == "PLZ_Ort" ) ? str_replace( "_",
                    " / ", $Feld ) : $Feld;
            }
            $suchfelder[$i]["f_name"] = $Feld;
            $i++;
        }
    }
    /////////

    $GLOBALS["ui"]->assign( "eingabefelder", $eingabefelder );
    $GLOBALS["ui"]->assign( "Laender", $Laender );
    $GLOBALS["ui"]->assign( "webs", $webs );
    ///////////////////////

    // Shop- und Bestellartdaten
    //Shop-Daten
    $sql = "SELECT ID, Name FROM shops WHERE erfassung  = '1'";
    $result = mysql_query( $sql ) or die( $site . ": " . mysql_error() .
        "<hr />" . $sql );

    for ( $i = 0; $row = mysql_fetch_assoc( $result ); $i++ )
    {
        if ( $row['ID'] != 0 )
        {
            $shops2[$i]['id'] = $row['ID'];
            $shops2[$i]['name'] = $row['Name'];
        }
    }
    ////////////

    // Bestellart-Daten
    if ( !isset( $web_rechte['Warenwirtschaft']['bestellung']['bestellart'] ) )
    {
        $bestellart_recht = 0;
    }
    else
    {
        $bestellart_recht = 1;
        $sql = "SELECT id, name FROM bestellart WHERE erfassung = '1' ORDER BY id";
        $result = mysql_query( $sql ) or die( $site . ": " . mysql_error() .
            "<hr />" . $sql );
        $i = 0;
        while ( $row = mysql_fetch_assoc( $result ) )
        {
            $best_art[$i]['id'] = $row['id'];
            $best_art[$i]['name'] = $row['name'];
            $i++;
        }
    }
    $GLOBALS["ui"]->assign( "best_art", $best_art );
    $GLOBALS["ui"]->assign( "bestellart_recht", $bestellart_recht );

    ///////////////////
    //////////////////////////////////////////
    require_once "includes/best_manu/best_manu_search.php";
    suchen();

    // SESSION VARIABLEN
    // Variablen aus 'step1':
    if ( $_POST['action'] == "step2" && $_SESSION[F_NAME]['shop_gesetzt'] != true )
    {
        $_SESSION[F_NAME]['shop'] = $_POST['shop'];
        $_SESSION[F_NAME]['bestellart'] = $_POST['bestellart'];
        $_SESSION[F_NAME]['kunde'] = $_POST['kunde'];
        $_SESSION[F_NAME]['shop_gesetzt'] = true;
    }
    $GLOBALS["ui"]->assign( "bestellart", $_SESSION[F_NAME]['bestellart'] );

    $GLOBALS["ui"]->assign( "shop", $_SESSION[F_NAME]["shop"] );
    $GLOBALS["ui"]->assign( "bemerkung_extern", ( isset( $user_rechte["Warenwirtschaft"]["bestellung"]["Bemerkung_extern"] ) ) );

    ////////////////////////

    if ( $_SESSION[F_NAME]['shop_gesetzt'] == true )
    {
        /** Schaue nach ob in Shops eine DB hinterlegt wurde und benutzte diese
         *  um auf die richtige'artikel' Tabelle für die Versandkosten/-art zuzugreifen
         */
        $sql = "SELECT 
                *
            FROM
                shops
            WHERE
                ID = '" . $_SESSION[F_NAME]['shop'] . "'
        ";

        $result = mysql_query( $sql ) or die( mysql_error() . "<hr />" . $sql );
        $row = mysql_fetch_assoc( $result );
        $artikel_db = $row['database'];
        if ( !( strlen( $artikel_db ) > 2 ) )
        {
            $artikel_db = $webs["datenbank"];
        }
        $GLOBALS["ui"]->assign( "database", $artikel_db );
        //////////////////////////////////////////////////////////////////////////////

        // Hole Versandart und Preis
        // Wenn das Web die Nr. 17 hat (redaktion.pieper-freizeit.de),
        // dann übergebe der Funktion "artikelDatabase" den ausgewählten Shop.


        if ( $webs['ID'] == 17 )
        {
            $sql = "
                SELECT
                    ID,
                    kurzbezeichnung AS kurz,
                    preis1 as preis
                FROM 
                    " . artikelDatabase( $_SESSION[F_NAME]['shop'] ) . "
                WHERE 
                    Father = -3
              ";
        }
        else
        {
            $sql = "
                SELECT
                    ID,
                    kurzbezeichnung AS kurz,
                    preis1 as preis
                FROM 
                    " . artikelDatabase() . "
                WHERE 
                    Father = -3
            ";
        }

        if ( $webs["ID"] != 17 )
        {
            $sql .= " AND status=" . $_SESSION[F_NAME]["shop"];
        }
        $result = mysql_query( $sql ) or die( $site . ": " . mysql_error() .
            "<hr />" . $sql );
        for ( $i = 0; $row = mysql_fetch_assoc( $result ); $i++ )
        {
            $versand[$i]['id'] = $row['ID'];
            $versand[$i]['kurz'] = $row['kurz'];
            $versand[$i]['preis'] = $row['preis'];
            if ( $_POST['versandart'] == $versand[$i]['id'] )
            {
                $versand[$i]['ausgewaehlt'] = true;
            }
            else
            {
                $versand[$i]['ausgewaehlt'] = false;
            }
        }
        ////////////////////////////
    }

    /**
     * Bestandskunden-Such-Formular
     * Übergebe die Suchbegriffe zurück an das Formular, damit
     * diese im Formular bleiben, falls ein Fehler auftritt,
     * wie z.B. zu viele Einträge gefunden etc.
     */
    if ( $_POST['action'] == 'step2' )
    {
        $GLOBALS["ui"]->assign( "formular", $_POST );
    }


    if ( $_POST["zusatz_info"] )
    {
        $_SESSION[F_NAME]["zusatz_info"] = $_POST["zusatz_info"];
    }
    //    var_dump($_SESSION[F_NAME]["zusatz_info"]);
    // Neukunden Formular
    if ( $_POST['action'] == "step3" || $_POST['action'] == "step2a" || $_POST["action"] ==
        "step2b" || $_POST["action"] == "step2c" )
    {
        $_SESSION[F_NAME]['Anrede'] = mysql_real_escape_string( $_POST['Anrede'] );
        $_SESSION[F_NAME]['Vorname'] = mysql_real_escape_string( $_POST['Vorname'] );
        $_SESSION[F_NAME]['Name1'] = mysql_real_escape_string( $_POST['Name1'] );
        $_SESSION[F_NAME]['Name2'] = mysql_real_escape_string( $_POST['Name2'] );
        $_SESSION[F_NAME]['Hausnummer'] = mysql_real_escape_string( $_POST['Hausnummer'] );
        $_SESSION[F_NAME]['Strasse'] = mysql_real_escape_string( $_POST['Strasse'] );
        $_SESSION[F_NAME]['PLZ'] = mysql_real_escape_string( $_POST['PLZ'] );
        $_SESSION[F_NAME]['Ort'] = mysql_real_escape_string( $_POST['Ort'] );
        $_SESSION[F_NAME]['E_Mail'] = mysql_real_escape_string( $_POST['E_Mail'] );
        $_SESSION[F_NAME]['Land'] = mysql_real_escape_string( $_POST['Land'] );
        $_SESSION[F_NAME]['Telefon'] = mysql_real_escape_string( $_POST['Telefon'] );
        $_SESSION[F_NAME]['Fax'] = mysql_real_escape_string( $_POST['Fax'] );
        $_SESSION[F_NAME]['AP_Bemerkung'] = mysql_real_escape_string( $_POST['AP_Bemerkung'] );
        if ( $_POST['neukunde'] == 1 )
        {
            $sql = "INSERT INTO Logins  
                (
                    Anrede,
                    Vorname,
                    Name1,
                    Name2,
                    Strasse,
                    Hausnummer,
                    PLZ,
                    ORT,
                    E_Mail,
                    Telefon,
                    Fax,
                    Land,
                    erstellt_am,
                    erstellt_von,
                    letzte_Aenderung_am,
                    letzte_Aenderung_von
                )
                VALUES
                (
                    '" . $_SESSION[F_NAME]['Anrede'] . "',
                    '" . $_SESSION[F_NAME]['Vorname'] . "',
                    '" . $_SESSION[F_NAME]['Name1'] . "',
                    '" . $_SESSION[F_NAME]['Name2'] . "',
                    '" . $_SESSION[F_NAME]['Strasse'] . "',
                    '" . $_SESSION[F_NAME]['Hausnummer'] . "',
                    '" . $_SESSION[F_NAME]['PLZ'] . "',
                    '" . $_SESSION[F_NAME]['Ort'] . "',
                    '" . $_SESSION[F_NAME]['E_Mail'] . "',
                    '" . $_SESSION[F_NAME]["Telefon"] . "',
                    '" . $_SESSION[F_NAME]["Fax"] . "',
                    '" . $_SESSION[F_NAME]["Land"] . "',
                    NOW(),
                    '$PHP_AUTH_USER',
                    NOW(),
                    '$PHP_AUTH_USER'  
                )
            ";
            mysql_query( $sql ) or die( $site . ": " . mysql_error() . "<hr />" .
                $sql );
            $_SESSION[F_NAME]['kunden_id'] = mysql_insert_id();
        } elseif ( !$_POST['neukunde'] && !isset( $_POST["fertigstellen"] ) && !isset( $_POST["hinzufuegen"] ) &&
        !$deleted && !isset( $_POST["daten"] ) && !isset( $_POST["submit_manueller_artikel"] ) &&
            !isset( $_POST["artikel"] ) && !isset( $_POST['gasbestellung'] ) )
        {
            //$_SESSION[F_NAME]["kunden_id"] = $_POST["kunden_id"];
            $sql = "
                UPDATE
                    Logins
                SET
            ";
            $felder = array( "Anrede" => $_SESSION[F_NAME]["Anrede"], "Name1" =>
                $_SESSION[F_NAME]["Name1"], "Vorname" => $_SESSION[F_NAME]["Vorname"],
                "Name2" => $_SESSION[F_NAME]["Name2"], "Strasse" => $_SESSION[F_NAME]["Strasse"],
                "Hausnummer" => $_SESSION[F_NAME]["Hausnummer"], "PLZ" => $_SESSION[F_NAME]["PLZ"],
                "Ort" => $_SESSION[F_NAME]["Ort"], "Telefon" => $_SESSION[F_NAME]["Telefon"],
                "Fax" => $_SESSION[F_NAME]["Fax"], "E_Mail" => $_SESSION[F_NAME]["E_Mail"],
                "AP_Bemerkung" => $_SESSION[F_NAME]['AP_Bemerkung'], );
            foreach ( $felder as $feld => $value )
            {
                $value = mysql_real_escape_string( $value );
                $fields[] = $feld . "='" . $value . "'";
            }
            $sql .= implode( ",", $fields );
            $sql .= "
                WHERE
                    ID = " . $_POST["kunden_id"] . "
            ";
            mysql_query( $sql ) or die( $site . ": " . mysql_error() . "<hr />" .
                $sql );
        }
    }

    $GLOBALS['ui']->assign( "kundeninfo", $_SESSION[F_NAME]['AP_Bemerkung'] );

    /////////////////////

    // Wenn 'Kunden übernehmen' geklickt wurde, speichere die ID des Kunden

    if ( isset( $_POST['kunden_id'] ) && $_POST["kunden_id"] )
    {
        $_SESSION[F_NAME]['kunden_id'] = $_POST['kunden_id'];
    }


    ////////////////////////////////////////////////////////////////////////
    ////////////////////

    // Artikelerfassung/Warenkorb(STEP3)
    /*require_once 'HTML_TreeMenu/TreeMenu.php';

    //// ARTIKELSTAMM
    // Der Artikelstamm soll es den Benutzer ermöglichen,
    // durch einen Klick auf einen Artikel, diesen in den Warenkorb
    // der manuellen Bestellerfassung aufzunehmen.
    // 
    // AUFBAU UND SCHNITTSTELLEN
    // - Mit jedem Link muss $_GET[action] auf „step3“ gesetzt sein
    // - Eingefügt wird ein Artikel in dem $artikel_loop 
    //      für die spätere Ausgabe im Warenkorb. 
    //      ACHTUNG! Anzahl der Elemente von $artikel_loop vorher auslesen,
    //      da vier Elemente mit der selben Loop ID angelegt werden müssen.
    //- Die ID des jeweiligen Shops ist unter $_SESSION[F_NAME]['shop'] gespeichert
    //
    // Artikelstamm wird nur angezeigt, wenn $_GET['action'] auf "step3" gesetzt ist
    if ( $_REQUEST['action'] == 'step3' )
    {
    // Hole Daten aus der Datenbank
    // Überrpüfe ob der 'database' Eintrag des Shops
    $sql = "SELECT * FROM pieper_freizeit_de.shops WHERE ID = '" . $_SESSION[F_NAME]['shop'] .
    "'";
    $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
    '<hr />' . $sql );
    $row = mysql_fetch_assoc( $result );
    $database = $row['database'];
    // Wenn $database nicht gesetzt ist, übernehme als Wert 'pieper_freizeit_de'
    if ( empty($database) )
    {
    $database = 'pieper_freizeit_de';
    }

    //// Hole alle Einträge aus der ausgewählten Shop-DB Tabelle 'directory' und
    // lege sie nach folgendem Muster ab: $artikelstamm['directory'][loop_zähler]
    //      $artikelstamm['directory'][loop_zähler][id],
    //      $artikelstamm['directory'][loop_zähler][father],
    //      $artikelstamm['directory'][loop_zähler][name]
    //

    $sql = "SELECT ID, Father, Name, Artikelstamm 
    FROM $database.directory 
    WHERE sichtbar = 1
    ORDER BY Father ASC";
    $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
    '<hr />' . $sql );
    for ( $i = 0; $row = mysql_fetch_assoc($result); $i++ )
    {
    $artikelstamm['directory'][$i]['id'] = $row['ID'];
    $artikelstamm['directory'][$i]['father'] = $row['Father'];
    $artikelstamm['directory'][$i]['name'] = $row['Name'];
    $artikelstamm['directory'][$i]['stamm'] = $row['Artikelstamm'];
    }

    //// Hole alle Einträge aus der ausgewählten Shop-DB Tabelle 'artikel' und
    // lege sie nach folgendem Muster ab: $artikelstamm['artikel'][loop_zähler]
    //      $artikelstamm['artikel'][loop_zähler][id],
    //      $artikelstamm['artikel'][loop_zähler][father],
    //      $artikelstamm['artikel'][loop_zähler][kurzbezeichnung]
    //

    $sql = "SELECT ID, Father, kurzbezeichnung, preis1 
    FROM $database.artikel
    WHERE Father != -3 
    ORDER BY Father ASC";
    $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
    '<hr />' . $sql );
    for ( $i = 0; $row = mysql_fetch_assoc($result); $i++ )
    {
    $artikelstamm['artikel'][$i]['id'] = $row['ID'];
    $artikelstamm['artikel'][$i]['father'] = $row['Father'];
    $artikelstamm['artikel'][$i]['kurzbezeichnung'] = $row['kurzbezeichnung'];
    $artikelstamm['artikel'][$i]['preis'] = $row['preis1'];
    }


    ///// Erstelle Ordnerstruktur für die spätere Ausgabe im PEAR-Modul 'HTML_TreeMenu'
    // Gehe alle Einträge von $artikelstamm['directory'] durch.
    // Wenn Father gleich -1 ist,
    // dann erstelle $ordner[id_aus_directory] = new HTML_TreeNode;
    // Wenn Father ungleich -1 ist,
    // dann erstelle $ordner[id_aus_directory] = $ordner[father_aus_directory]->addItem;
    //
    // Erstelle das Objekt '$menu' aus der Klasse 'HTML_TreeMenu'
    $menu = new HTML_TreeMenu();
    // Icons definieren
    $art_icon = 'file_000.gif';

    for ( $i = 0; $i < count($artikelstamm['directory']); $i++ )
    {
    $ordner_id = $artikelstamm['directory'][$i]['id'];
    $ordner_father = $artikelstamm['directory'][$i]['father'];
    $text = $artikelstamm['directory'][$i]['name'];

    // Sollte $artikelstamm['directory'][$i]['stamm'] auf '1' gesetzt sein,
    // so zeige als Bild einen Artikelstamm an 
    if ( $artikelstamm['directory'][$i]['stamm'] == 1 )
    {
    $icon = 'artikelstamm.png';
    $expandedIcon = $icon;
    }
    else
    {
    $icon = 'ordner_000.gif';
    $expandedIcon = 'folder-expanded.gif';
    }

    if ( $artikelstamm['directory'][$i]['father'] == -1 )
    {
    $ordner[$ordner_id] = new HTML_TreeNode( array('text' => $text, 'link' => '',
    'icon' => $icon, 'expandedIcon' => $expandedIcon) );
    }
    else
    {
    if ( isset($ordner) )
    {
    if ( array_key_exists($ordner_father, $ordner) )
    {
    $ordner[$ordner_id] = $ordner[$ordner_father]->addItem( new HTML_TreeNode(array
    ('text' => $text, 'link' => '', 'icon' => $icon, 'expandedIcon' => $expandedIcon)) );
    }
    }
    }

    }

    for ( $i = 0; $i < count($artikelstamm['artikel']); $i++ )
    {
    $artikel_id = $artikelstamm['artikel'][$i]['id'];
    $artikel_name = "holla";
    $artikel_preis = $artikelstamm['artikel'][$i]['preis'];
    $artikel_father = $artikelstamm['artikel'][$i]['father'];
    $text = $artikelstamm['artikel'][$i]['kurzbezeichnung'];
    $text = htmlspecialchars( $text );
    $text = str_replace( "®", "&reg;", $text );
    $text = str_replace( "'", "&prime;", $text );

    if ( array_key_exists($artikel_father, $ordner) )
    {
    $artikel[$artikel_id] = $ordner[$artikel_father]->addItem( new HTML_TreeNode
    (array('text' => "<span onclick=\"addInput('" . $text . "', '" . $artikel_preis .
    "', '" . $artikel_id . "')\">" . $text . "</span>", 'link' => '', 'icon' =>
    $art_icon, 'expandedIcon' => $expandedIcon)) );
    }
    }

    // TEST
    foreach ( array_keys($ordner) as $key )
    {
    $sql = "SELECT ID FROM $database.directory WHERE Father = -1 AND ID = $key";
    $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
    '<hr />' . $sql );
    $row = mysql_fetch_assoc( $result );
    if ( isset($row['ID']) )
    $menu->addItem( $ordner[$key] );
    }


    $tree = new HTML_TreeMenu_DHTML( $menu, array('images' =>
    '../images/Online-Shop/directory', 'defaultClass' => 'menuDefault') );

    $GLOBALS["ui"]->register_object( "tree", $tree );
    }*/


    if ( isset( $_POST['hinzufuegen'] ) )
    {
        $anzahl_der_artikel = count( $_POST['artikel'] ) + 1;
        $GLOBALS["ui"]->assign( "nettobruttoauswahl", $_POST['nettobruttoauswahl'] );
    }
    else
    {
        $anzahl_der_artikel = count( $_POST['artikel'] );
    }


    for ( $i = 0; $i < $anzahl_der_artikel; $i++ )
    {
        if ( $_POST[$i] != "X" )
        {
            $neu['artikel'][] = mysql_real_escape_string( $_POST['artikel'][$i] );
            $neu['preis'][] = $_POST['preis'][$i];
            $neu['mwst'][] = $_POST['mwst'][$i];
            $neu['menge'][] = $_POST['menge'][$i];
            $neu['nummer'][] = $_POST['nummer'][$i];
        }
        else
        {
            $geloescht = true;
        }
    }

    for ( $i = 0; $i < $anzahl_der_artikel; $i++ )
    {
        $artikel_loop[$i]['name'] = $neu['artikel'][$i];
        $artikel_loop[$i]['preis'] = $neu['preis'][$i];
        $artikel_loop[$i]['mwst'] = $neu['mwst'][$i];

        // Sollte die Menge NULL sein, so setze sie standartmäßig auf '1'
        if ( $neu['menge'][$i] == null )
        {
            $artikel_loop[$i]['menge'] = 1;
        }
        else
        {
            $artikel_loop[$i]['menge'] = $neu['menge'][$i];
        }
        // ---------------------------------------------------------------

        $artikel_loop[$i]['nummer'] = $neu['nummer'][$i];
    }

    if ( $geloescht == 1 )
    {
        unset( $artikel_loop[count( $artikel_loop ) - 1] );
    }

    if ( $sonderartikel_kontrolle )
    {
        $artikel_loop = $sonderartikel_kontrolle;
    }

    $GLOBALS["ui"]->assign( "artikel_loop", $artikel_loop );

    if ( isset( $_POST['fertigstellen'] ) )
    {
        // Wenn Nettopreise ausgewählt wurden, rechne diese hinzu (trifft nur zu wenn das Webrecht "Nettopreiserfassung" gesetzt ist)
        $anzahl_der_artikel = count( $_POST['artikel'] );

        if ( "Netto" == $_POST['nettobruttoauswahl'] )
        {
            for ( $i = 0; $i < ( $anzahl_der_artikel ); $i++ )
            {
                $mwst_faktor = $_POST['mwst'][$i] / 100 + 1;
                $mwst_faktor = str_replace( ",", ".", $mwst_faktor );

                $_SESSION[F_NAME]['artikelfeld'][$i]['name'] =
                    mysql_real_escape_string( $_POST['artikel'][$i] );
                $_SESSION[F_NAME]['artikelfeld'][$i]['preis'] = ( str_replace( ",",
                    ".", $_POST['preis'][$i] * $mwst_faktor ) );
                $_SESSION[F_NAME]['artikelfeld'][$i]['menge'] = intval( $_POST['menge'][$i] );
                $_SESSION[F_NAME]['artikelfeld'][$i]['id'] = intval( $_POST['nummer'][$i] );
                $_SESSION[F_NAME]['artikelfeld'][$i]['rang'] = $i + 1;
            }
        }
        else
        {
            for ( $i = 0; $i < ( $anzahl_der_artikel ); $i++ )
            {
                $_SESSION[F_NAME]['artikelfeld'][$i]['name'] =
                    mysql_real_escape_string( $_POST['artikel'][$i] );
                $_SESSION[F_NAME]['artikelfeld'][$i]['preis'] = ( $_POST['preis'][$i] );
                $_SESSION[F_NAME]['artikelfeld'][$i]['menge'] = intval( $_POST['menge'][$i] );
                $_SESSION[F_NAME]['artikelfeld'][$i]['id'] = intval( $_POST['nummer'][$i] );
                $_SESSION[F_NAME]['artikelfeld'][$i]['rang'] = $i + 1;
                if ( isset( $user_rechte["logins"]["admin"]["kundenpreise"] ) )
                {
                    $_SESSION[F_NAME]['artikelfeld'][$i]['kundenpreis'] = $_POST["kundenpreis"][$i];
                }
            }
        }

        $_SESSION[F_NAME]['versand_id'] = $_POST['versandart'];
        $_REQUEST['action'] = "step4";
    }
    ///////////////////////////////

    // Kundennamen zur Ausgabe holen
    $sql = "SELECT Vorname, Name1, Name2, ORT, AP_Bemerkung FROM Logins WHERE ID = '" .
        $_SESSION[F_NAME]['kunden_id'] . "'";
    $result = mysql_query( $sql ) or die( $site . ": " . mysql_error() .
        "<hr />" . $sql );

    $row = mysql_fetch_assoc( $result );
    $kunden_firma = $row['Name2'];
    $kunden_name = $row['Name1'] . ", " . $row['Vorname'];
    $kunden_ort = $row['ORT'];
    $kunden_bemerkung = $row['AP_Bemerkung'];
    ////////////////////////////////
    /////////////////////////////////////

    // Kundendaten holen für das Anzeigen auf der letzten Seite
    if ( $_REQUEST['action'] == "step4" )
    {
        $sql = "SELECT * FROM Logins WHERE ID = '" . $_SESSION[F_NAME]['kunden_id'] .
            "'";
        $result = mysql_query( $sql ) or die( $site . ": " . mysql_error() .
            "<hr />" . $sql );
        while ( $row = mysql_fetch_assoc( $result ) )
        {
            $anrede = $row['Anrede'];
            $vorname = $row['Vorname'];
            $nachname = $row['Name1'];
            $strasse = $row['Strasse'];
            $plz = $row['PLZ'];
            $ort = $row['ORT'];
            $email = $row['E_Mail'];
            $telefon = $row["Telefon"];
            $fax = $row["Fax"];
            $Land = $row["Land"];
            $bemerkungen = $row['AP_Bemerkung'];
        }

        if ( !$_SESSION[F_NAME]['Anrede'] )
            $_SESSION[F_NAME]['Anrede'] = $anrede;
        if ( !$_SESSION[F_NAME]['Vorname'] )
            $_SESSION[F_NAME]['Vorname'] = $vorname;
        if ( !$_SESSION[F_NAME]['Name1'] )
            $_SESSION[F_NAME]['Name1'] = $nachname;
        if ( !$_SESSION[F_NAME]['Strasse'] )
            $_SESSION[F_NAME]['Strasse'] = $strasse;
        if ( !$_SESSION[F_NAME]['PLZ'] )
            $_SESSION[F_NAME]['PLZ'] = $plz;
        if ( !$_SESSION[F_NAME]['Ort'] )
            $_SESSION[F_NAME]['Ort'] = $ort;
        if ( !$_SESSION[F_NAME]['E_Mail'] )
            $_SESSION[F_NAME]['E_Mail'] = $email;
        if ( !$_SESSION[F_NAME]['Telefon'] )
            $_SESSION[F_NAME]['Telefon'] = $telefon;
        if ( !$_SESSION[F_NAME]['Fax'] )
            $_SESSION[F_NAME]['Fax'] = $fax;
        if ( !$_SESSION[F_NAME]['Land'] )
            $_SESSION[F_NAME]['Land'] = $land;
        if ( !$_SESSION[F_NAME]['AP_Bemerkung'] )
            $_SESSION[F_NAME]['AP_Bemerkung'] = $bemerkungen;
    }
    ///////////////////////////////////////////////////////////

    // Nettopreiserfassung
    $nettopreiserfassung_recht = $web_rechte['Warenwirtschaft']['best_manu']['nettopreiserfassung'];

    if ( empty( $nettopreiserfassung_recht ) )
    {
        // Ausgabe von Netto-Brutto-Auswahl verbieten
        $GLOBALS["ui"]->assign( "nettopreiserfassung_recht", 0 );
    }
    else
    {
        // Ausgabe von Netto-Brutto-Auswahl erlauben
        $GLOBALS["ui"]->assign( "nettopreiserfassung_recht", 1 );

        // Hole die Mehrwertsteuersätze, die Sätze sind in $nettopreiserfassung_recht im Format "19;7"
        $temp = $nettopreiserfassung_recht;
        $mwst = explode( ";", $temp );
        $GLOBALS["ui"]->assign( "mwst_liste", $mwst );
    }
    //////////////////////

    if ( isset( $user_rechte["Warenwirtschaft"]["logistiker"]["logistiker"] ) )
    {
        if ( $logistiker = getLogistiker( $webs['datenbank'] ) )
        {
            $GLOBALS["ui"]->assign( "logistiker", $logistiker );
        }
    }


    // Übergabe der Variablen an Smarty

    $GLOBALS["ui"]->assign( "shops", $shops2 );
    $GLOBALS["ui"]->assign( "best_art", $best_art );
    $GLOBALS["ui"]->assign( "kunde", $_SESSION[F_NAME]['kunde'] );
    $GLOBALS["ui"]->assign( "kunden_firma", $kunden_firma );
    $GLOBALS["ui"]->assign( "kunden_name", $kunden_name );
    $GLOBALS["ui"]->assign( "kunden_ort", $kunden_ort );
    $GLOBALS["ui"]->assign( "kunden_bemerkung", $kunden_bemerkung );
    $GLOBALS["ui"]->assign( "versand_loop", $versand );
    $GLOBALS["ui"]->assign( "shop_id", $_SESSION[F_NAME]['shop'] );
    $GLOBALS["ui"]->assign( "firma_recht", isset( $web_rechte["logins"]["admin"][Name2] ) );
    ///////////////////////////////////

    // Tragen die Daten in die Datenbank ein
    if ( $_REQUEST['action'] == 'step4' )
    {
        // Tabelle 'Bestellung':
        $sql = "SELECT preis1 AS preis FROM " . artikelDatabase() .
            " WHERE ID = '" . $_SESSION[F_NAME]['versand_id'] . "'";
        $result = mysql_query( $sql ) or die( $site . ": " . mysql_error() .
            "<hr />" . $sql );
        $row = mysql_fetch_assoc( $result );
        $gesamt_preis += $row['preis'];

        $sql = "INSERT INTO Bestellung 
            (
                shops_ID,
                bestellart_id,
                Login,
                status,
                erstellt_am,
                erstellt_von,
                letzte_Aenderung_am,
                letzte_Aenderung_von,
        ";

        if ( isset( $_SESSION[F_NAME]["zusatz_info"] ) )
        {
            $sql .= "
                zusatzinfo,
            ";
        }
        if ( isset( $user_rechte["Warenwirtschaft"]["bestellung"]["Bemerkung_extern"] ) )
        {
            $sql .= "
                Bemerkung_extern, 
            ";
        }
        $sql .= "
                Bemerkung
            )
            VALUES
            (
                '" . $_SESSION[F_NAME]['shop'] . "',
                '" . $_SESSION[F_NAME]['bestellart'] . "',
                '" . $_SESSION[F_NAME]['kunden_id'] . "',
                'offen',
                NOW(),
                '$PHP_AUTH_USER',
                NOW(),
                '$PHP_AUTH_USER',
                                            
        ";

        if ( isset( $_SESSION[F_NAME]["zusatz_info"] ) )
        {
            $sql .= "
                '" . serialize( $_SESSION[F_NAME]["zusatz_info"] ) . "', 
            ";
        }
        if ( isset( $user_rechte["Warenwirtschaft"]["bestellung"]["Bemerkung_extern"] ) )
        {
            $sql .= "
                '" . $_POST["bemerkung_extern"] . "', 
            ";
        }
        $sql .= "
                '" . $_POST['bemerkung'] . "'             
            )
        ";

        mysql_query( $sql ) or die( $site . ": " . mysql_error() . "<hr />" . $sql );
        $bestell_id = mysql_insert_id();
        ////////////////////////

        //ME: Logistiker speichern, wenn einer übergeben wurde
        if ( isset( $user_rechte["Warenwirtschaft"]["logistiker"]["logistiker"] ) )
        {
            if ( $_POST['logistiker'] )
            {
                saveLogistiker( $_POST['logistiker'], $bestell_id );
            }
        }

        // Tabelle 'artikel_to_Bestellung':
        for ( $i = 0; $i < count( $_SESSION[F_NAME]['artikelfeld'] ); $i++ )
        {
            if ( $_SESSION[F_NAME]['artikelfeld'][$i]['menge'] == "" )
            {
                $_SESSION[F_NAME]['artikelfeld'][$i]['menge'] = 1;
            }
            if ( !$_SESSION[F_NAME]['artikelfeld'][$i]['preis'] )
            {
                $_SESSION[F_NAME]['artikelfeld'][$i]['preis'] = "0.00";
            }
            $id = ( $_SESSION[F_NAME]['artikelfeld'][$i]['id'] == 0 || $_SESSION[F_NAME]['artikelfeld'][$i]['id'] == null ) ?
                999999 : $_SESSION[F_NAME]['artikelfeld'][$i]['id'];
            $sql = "INSERT INTO artikel_to_Bestellung 
            (
                artikel,
                Bestellung,
                Menge,
                Preis_pro_Stueck,
                Bezeichnung,
                status,
                rang
            )
            VALUES
            (
                '" . $id . "',
                '$bestell_id',
                '" . $_SESSION[F_NAME]['artikelfeld'][$i]['menge'] .
                "',                    
                '" . $_SESSION[F_NAME]['artikelfeld'][$i]['preis'] . "',
                '" . $_SESSION[F_NAME]['artikelfeld'][$i]['name'] . "',
                'offen',
                '" . $_SESSION[F_NAME]['artikelfeld'][$i]['rang'] . "'
            )
            ";
            mysql_query( $sql ) or die( $site . ": " . mysql_error() . "<hr />" .
                $sql );

            $gesamt_preis += ( $_SESSION[F_NAME]['artikelfeld'][$i]['menge'] * $_SESSION[F_NAME]['artikelfeld'][$i]['preis'] );

            if ( $_SESSION[F_NAME]['artikelfeld'][$i]["kundenpreis"] && isset( $user_rechte["logins"]["admin"]["kundenpreise"] ) )
            {
                $preis = serialize( array( "preis" => array( $_SESSION[F_NAME]['artikelfeld'][$i]['preis'] ) ) );
                $sql = "REPLACE INTO
                        preise_to_login
                    SET
                        artikel_id=" . $id . ",
                        preis='" . $preis . "',
                        shop_id='" . $_SESSION[F_NAME]['shop'] . "',
                        login_id='" . $_SESSION[F_NAME]['kunden_id'] . "'
                ";
                mysql_query( $sql ) or die( $site . ": " . mysql_error() .
                    "<hr />" . $sql );
            }
        }

        // Wenn das Web die Nr. 17 hat (redaktion.pieper-freizeit.de),
        // dann übergebe der Funktion "artikelDatabase" den ausgewählten Shop.
        if ( $webs['ID'] == 17 )
        {
            $sql = "
                SELECT 
                    kurzbezeichnung AS kurz, 
                    preis1 AS preis 
                FROM 
                    " . artikelDatabase( $_SESSION[F_NAME]['shop'] ) . " 
                WHERE 
                    ID = '" . $_SESSION[F_NAME]['versand_id'] . "'
            ";
        }
        else
        {
            $sql = "
                SELECT 
                    kurzbezeichnung AS kurz, 
                    preis1 AS preis 
                FROM 
                    " . artikelDatabase() . " 
                WHERE 
                    ID = '" . $_SESSION[F_NAME]['versand_id'] . "'
            ";
        }


        $result = mysql_query( $sql ) or die( $site . ": " . mysql_error() .
            "<hr />" . $sql );
        $row = mysql_fetch_assoc( $result );

        if ( $row['kurz'] )
        {
            $versand_preis = $row['preis'];
            $versand_bez = $row['kurz'];

            $sql = "INSERT INTO artikel_to_Bestellung
                (
                    artikel,
                    Bestellung,
                    Menge,
                    Preis_pro_Stueck,
                    Bezeichnung,
                    status
                )
                VALUES
                (
                    '" . $_SESSION[F_NAME]['versand_id'] . "',
                    '$bestell_id',
                    '1',
                    '$versand_preis',
                    '$versand_bez',
                    ''
                )
            ";
            mysql_query( $sql ) or die( $site . ": " . mysql_error() . "<hr />" .
                $sql );
        }
        ///////////////////////////////////
        ////////////////////////////////////////

        // Trage die Daten in die "shop_log"

        if ( $_POST["empfehlung"] )
        {
            $ende_bemerkung = "m. B. (" . $_POST["empfehlung"] . ")";
        }
        else
        {
            $ende_bemerkung = "manuelle Bestellerfassung";
        }
        $sql = "INSERT INTO shop_log
            (
                shops_ID,
                eintrag1,
                eintrag2,
                eintrag3,
                erstellt_am,
                erstellt_von
            )
            VALUES
            (
                '" . $_SESSION[F_NAME]['shop'] . "',
                '$ende_bemerkung',
                '$gesamt_preis',
                '" . $_SESSION[F_NAME]['kunden_id'] . "',
                NOW(),
                '(Bestellung)'
            )";
        mysql_query( $sql ) or die( $site . ": " . mysql_errno() . ': ' .
            mysql_error() . '<hr />' . $sql );
        ///////////////////////////////////
    }

    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
    // Auswahl des Templates
    switch ( $_REQUEST['action'] )
    {
        case 'step2':
            $GLOBALS["ui"]->display( "best_manu_schritt2.tpl" );
            break;
        case 'step2a':
            $GLOBALS["ui"]->display( "best_manu_schritt2a.tpl" );
            break;
        case 'step2b':
            $GLOBALS["ui"]->display( "best_manu_schritt2b.tpl" );
            break;
        case 'step2c':
            $GLOBALS["ui"]->display( "best_manu_schritt2c.tpl" );
            break;
        case 'step3':
            $empfehlungen = array();
            if ( isset( $web_rechte["Warenwirtschaft"]["best_manu"]["aufmerksamkeitsstati"] ) )
            {
                $empfehlungen = explode( ";", $web_rechte["Warenwirtschaft"]["best_manu"]["aufmerksamkeitsstati"] );
            }
            $GLOBALS["ui"]->assign( "empfehlungen", $empfehlungen );
            $GLOBALS["ui"]->display( "best_manu_schritt3.tpl" );
            break;
        case 'step4':
            header( "Location: bestellungen.php?Bestellung=$bestell_id" );
            break;
        case 'step1':
        default:
            unset( $_SESSION[F_NAME] );
            $GLOBALS["ui"]->display( "best_manu_schritt1.tpl" );
    }
    ////////////////////////

    function getSonderartikel( $fID )
    {
        $sql = "select
                    *
                from
                    artikel
                where
                    father=" . $fID . "
                order by 
                    Rang
        ";
        if ( $q = mysql_query( $sql ) )
        {
            while ( $r = mysql_fetch_assoc( $q ) )
            {
                $sonderartikel[] = $r;
            }
            return $sonderartikel;
        }
        return false;
    }

    function getLogistiker( $db )
    {
        if ( $_POST['gasbestellung'] == true )
        {
            $default_logistiker = 4; // Füllwerk
        }

        $sql = "show tables like 'logistiker'";
        if ( mysql_num_rows( mysql_query( $sql ) ) > 0 )
        {
            $sql = "select id,name from logistiker order by id";
            if ( $q = mysql_query( $sql ) )
            {
                $i = 0;
                while ( $r = mysql_fetch_assoc( $q ) )
                {
                    $ret[$i]['name'] = $r['name'];
                    $ret[$i]['id'] = $r['id'];
                    if ( $r['id'] == $default_logistiker )
                    {
                        $ret[$i]['default'] = $r['id'];
                    }
                    $i++;
                }
                return $ret;
            }
        }
        return false;
    }

    function saveLogistiker( $logistiker_id, $bestell_id )
    {
        $sql = "insert into 
                    bestellung_logistiker 
                    (logistiker,bestellung)
                values
                    (" . $logistiker_id . "," . $bestell_id . ")
        ";
        if ( $q = mysql_query( $sql ) )
        {
            return true;
        }
        return false;
    }
?>