Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

    session_start();
    $self = basename( $PHP_SELF );
    $DB = "Features";
    define( "modul_name", "online_shop" );
    define( "tool_name", "optionen" );

    require_once "Weban_Smarty.class.php";
    require_once "connect2.php";
    require_once "language_pack.php";

    $row_span = 4;
    $col_span = 5;

    $Eigenschaften = array();

    for ( $Eigenschaft_nr = 1; $Eigenschaft_nr <= 6; $Eigenschaft_nr++ )
    {
        $Feld = "Eigenschaft_" . $Eigenschaft_nr;
        $Felddaten = explode( ";", $web_rechte["online_shop"]["artikel"][$Feld] );
        if ( ( isset( $user_rechte["online_shop"]["artikel"][$Feld] ) ) and ( $Felddaten[1] ==
            "logistik" ) )
        {
            $Eigenschaften[] = $Eigenschaft_nr;
            $Eigenschaften_Namen[] = $Felddaten[0];
            $Eigenschaften_sel[$Eigenschaft_nr] = 0;
        }
    }
    $col_span += count( $Eigenschaften );


    $GLOBALS["ui"] = new Weban_Smarty();
    $GLOBALS["ui"]->compile_id = "Online-Shop|porto";
    $GLOBALS["ui"]->template_dir = "templates/porto";
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
    $GLOBALS["ui"]->use_sub_dirs = true;

    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
    {
        $row_span += 2;
    }
    if ( isset( $user_rechte["online_shop"]["porto"]["beschreibung2"] ) )
    {
        $row_span++;
    }

    if ( $_GET["filter"] )
    {
        $_SESSION[$self]["filter"] = $_GET["filter"];

        $_SESSION[$self]["filter"]["shop"] = explode( ",", $_SESSION[$self]["filter"]["shop"] );
        if ( $_SESSION[$self]["filter"]["shop"][0] == "" )
        {
            unset( $_SESSION[$self]["filter"]["shop"] );
        }
    }

    if ( $_POST["new"] )
    {
        if ( ! $_SESSION[$self]["filter"]["zahlungsarten"] )
        {
            $z_id = 1;
        }
        else
        {
            $z_id = $_SESSION[$self]["filter"]["zahlungsarten"];
        }
        if ( ! $_SESSION[$self]["filter"]["Land"] )
        {
            $c_id = 47;
        }
        else
        {
            $c_id = $_SESSION[$self]["filter"]["Land"];
        }
        $sql .= "
            INSERT INTO
                shipment
            (
                Rang,
                name,
                gewicht_von,
                gewicht_bis,
                shop,
                wert_von,
                wert_bis,
                z_id,
                letzte_Aenderung_am,
                letzte_Aenderung_von
            )
            VALUES
            (
                1,
                'Neue Versandoption',
                0.00,
                0.00,
                '" . $_SESSION[$self]["filter"]["shop"][0] . "',
                0,
                0,
                $z_id,
                NOW(),
                '" . $_SERVER["PHP_AUTH_USER"] . "'
            )
        ";
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
            () . "<hr>$sql<hr>" );
        $v_id = mysql_insert_id();
        $sql = "
            INSERT INTO
                shipment_countries
            VALUES
            (
                " . $v_id . ",
                $c_id
            )
        ";
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
            () . "<hr>$sql<hr>" );
        foreach ( $Eigenschaften as $e_nr )
        {
            $e_val = 0;
            if ( $e_nr == $_SESSION[$self]["filter"]["Eigenschaften"] )
            {
                $e_val = 1;
            }
            $sql = "
                INSERT INTO
                    shipment_properties
                (
                    s_id,
                    property,
                    value
                )
                VALUES
                (
                    " . $v_id . ",
                    " . $e_nr . ",
                    $e_val
                )
            ";
            $result = mysql_query( $sql ) or die( mysql_errno() . ": " .
                mysql_error() . "<hr>$sql<hr>" );
        }
    } elseif ( $_POST["del"] )
    {
        $rang = array_keys( $_POST["shipment"]["rang"] );
        list( $ID, $Language ) = explode( ",", $rang[0] );
        $sql = "
            DELETE FROM 
                shipment 
            WHERE 
                ID = $ID 
        ";
        mysql_query( $sql );
    } elseif ( $_POST )
    {
        foreach ( array_keys( $_POST ) as $elem )
        {
            if ( ereg( "^preis", $elem ) )
            {
                //pre($_POST[$elem]);
                if ( ereg( "%$", $_POST[$elem] ) )
                {
                    $_POST[$elem] = abs( $_POST[$elem] ) * ( -1 );
                }
            }
        }

        $data = $_POST;

        foreach ( $data as $id => $value )
        {
            if ( ! is_array( $data[$id] ) )
            {
                if ( substr( $id, 0, 2 ) == "id" )
                {
                    $ids[$id] = $value;
                }
                //unset( $data[$id] );
            }
        }

        $r = $data["shipment"];
        $sql = "
            UPDATE
                shipment
            SET
                letzte_aenderung_am=NOW(),
                letzte_aenderung_von = '" . $_SERVER["PHP_AUTH_USER"] . "',
        ";
        foreach ( $r as $f => $v )
        {
            $werte[] = $f . "='" . $v . "'";
        }
        $sql .= implode( ",", $werte );
        unset( $werte );
        $sql .= "
            WHERE
                id=" . $ids["id_shipment"] . "
        ";
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
            () . "<hr>$sql<hr>" );
        $r = $data["shipment_countries"];
        $sql = "
            DELETE FROM
                shipment_countries
            WHERE
                s_id=" . $ids["id_shipment"] . "
        ";
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
            () . "<hr>$sql<hr>" );
        foreach ( $r as $id => $land )
        {
            $sql = "
                INSERT INTO
                    shipment_countries
                (
                    s_id,
                    c_id
                )
                VALUES
                (
                    " . $ids["id_shipment"] . ",
                    $land
                )
            ";
            $result = mysql_query( $sql ) or die( mysql_errno() . ": " .
                mysql_error() . "<hr>$sql<hr>" );
        }
        $r = $data["shipment_properties"];
        $sql = "
            DELETE FROM
                shipment_properties
            WHERE
                s_id=" . $ids["id_shipment"] . "
        ";
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
            () . "<hr>$sql<hr>" );
        foreach ( $r as $p_id => $p_value )
        {
            $sql = "
                REPLACE INTO
                    shipment_properties
                (
                    s_id,
                    property,
                    value
                )
                VALUES
                (
                    " . $ids["id_shipment"] . ",
                    $p_id,
                    $p_value
                )
            ";
            $result = mysql_query( $sql ) or die( mysql_errno() . ": " .
                mysql_error() . "<hr>$sql<hr>" );
        }
        $r = $data["zahlarten"];
        $sql = "
            UPDATE
                zahlungsarten
            SET
        ";
        foreach ( $r as $f => $v )
        {
            $werte[] = $f . "='" . $v . "'";
        }
        $sql .= implode( ",", $werte );
        unset( $werte );
        $sql .= "
            WHERE
                id=" . $ids["id_zahlart"] . "
        ";
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
            () . "<hr>$sql<hr>" );
    }

    $sql = "
        SELECT 
            * 
        FROM 
            shops 
        ORDER BY 
            ID
    ";
    $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error() .
        "<hr>$sql<hr>" );
    unset( $shops );
    $shops[""] = "";
    while ( $zeile = mysql_fetch_array( $result ) )
    {
        $shops[$zeile["ID"] . "," . $zeile["Language"]] = $zeile["Name"];
    }

    if ( $_SESSION[$self]["filter"]["shop"] )
    {
        $GLOBALS["ui"]->assign( "shop_sel", implode( ",", $_SESSION[$self]["filter"]["shop"] ) );
    }

    $felder = array( "s.id", "s.z_id" );
    if ( isset( $web_rechte["online_shop"]["artikel"]["kennung"] ) )
    {
        $felder[] = "s.kennung";
    }
    $felder[] = "s.rang";
    $felder[] = "z.beschreibung";
    $felder[] = "s.name";
    $felder[] = "s.interner_name";
    $felder[] = "z.textbaustein";
    $felder[] = "s.preis";
    if ( isset( $web_rechte["online_shop"]["porto"]["aufschlag"] ) )
    {
        $felder[] = "z.aufschlag";
    }
    if ( isset( $web_rechte["online_shop"]["porto"]["beschreibung2"] ) )
    {
        $felder[] = "z.textbaustein";
    }
    $felder[] = "s.gewicht_von";
    $felder[] = "s.gewicht_bis";
    $felder[] = "s.wert_von";
    $felder[] = "s.wert_bis";
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
    {
        //$felder[] = "versand_abschlag";
    }
    $felder[] = "letzte_aenderung_am";
    $felder[] = "letzte_aenderung_von";
    $sql = "
        SELECT 
    ";
    $sql .= implode( ", ", $felder );

    $sql .= "
        FROM 
            shipment s
    ";
    if ( $_SESSION[$self]["filter"]["Land"] )
    {
        $sql .= " 
            JOIN
                shipment_countries sc
            ON
                sc.s_id=s.id
        ";
    }
    if ( $_SESSION[$self]["filter"]["Eigenschaften"] )
    {
        $sql .= "
            JOIN
                shipment_properties sp
            ON
                sp.s_id=s.id
        ";
    }
    $sql .= "
        JOIN
            zahlungsarten z
        ON
            s.z_id=z.id
        WHERE 
            1
    ";
    if ( $_SESSION[$self]["filter"]["shop"] )
    {
        $sql .= "
            AND 
                shop=" . $_SESSION[$self]["filter"]["shop"][0] . " 
        ";
    }
    else
    {
        $sql .= "
            AND 
                1=2
        ";
    }
    if ( $_SESSION[$self]["filter"]["zahlungsarten"] )
    {
        $sql .= "
            AND
                z.id='" . $_SESSION[$self]["filter"]["zahlungsarten"] . "'
    ";
    }
    if ( $_SESSION[$self]["filter"]["Eigenschaften"] )
    {
        $sql .= "
            AND
                property = " . $_SESSION[$self]["filter"]["Eigenschaften"] . "
            AND
                value=1
        ";
    }
    if ( $_SESSION[$self]["filter"]["Land"] )
    {
        $sql .= "
            AND
                sc.c_id=" . $_SESSION[$self]["filter"]["Land"] . "
        ";
    }
    if ( $_GET["edit"] )
    {
        $sql .= "
            AND 
                s.id = " . $_GET["edit"] . "
        ";
        $GLOBALS["ui"]->assign( "file", "detail_neu.tpl" );
        $GLOBALS["ui"]->assign( "edit", true );
    }
    else
    {
        $GLOBALS["ui"]->assign( "file", "list_neu.tpl" );
    }

    $sql .= "
        ORDER BY
            Rang asc
    ";
    $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error() );
    $zahlungsarten_sel = $_SESSION[$self]["filter"]["zahlungsarten"];
    $GLOBALS["ui"]->assign( "eigenschaften_sel", $_SESSION[$self]["filter"]["Eigenschaften"] );
    $GLOBALS["ui"]->assign( "land_sel", $_SESSION[$self]["filter"]["Land"] );
    while ( $zeile = mysql_fetch_assoc( $result ) )
    {
        $sql = "SELECT
                property,
                value
            FROM
                shipment_properties
            WHERE
                s_id=" . $zeile["id"] . "
        ";
        $res = mysql_query( $sql );
        while ( $row = mysql_fetch_assoc( $res ) )
        {
            $zeile["Eigenschaften"][] = $row["value"];
            $Eigenschaften_sel[$row["property"]] = ( int )$row["value"];
        }
        $zeile["key"] = $zeile["id"];
        $sql_c = "SELECT
                    c_id
                FROM
                    shipment_countries sc
                WHERE
                    s_id = " . $zeile["id"] . "
            ";
        $res_c = mysql_query( $sql_c );
        while ( $row_c = mysql_fetch_assoc( $res_c ) )
        {
            $zeile["countries"][] = $row_c["c_id"];
        }
        if ( $_GET["edit"] )
        {
            $zahlungsarten_sel_edit = $zeile["z_id"];
            $GLOBALS["ui"]->assign( "zahlungsarten_sel_edit", $zahlungsarten_sel_edit );
        }
        $artikel[] = $zeile;
    }

    $sql = "SELECT
            id,
            `name-ger`
        FROM
            content_management.countries
        ORDER BY
            `name-ger`
    ";
    $res = mysql_query( $sql, $localhost_dbh );
    echo mysql_error();
    while ( $row = mysql_fetch_assoc( $res ) )
    {
        $laender[$row["id"]] = $row["name-ger"];
        $laender_ids[$row["id"]] = $row["id"];
    }
    if ( ( $_GET["edit"] == $zeile["ID"] ) || $new == "true" )
    {
        $new = false;
    }
    if ( isset( $web_rechte["online_shop"]["porto"]["zahlungsarten"] ) )
    {
        $sql = "
            SELECT
                id,
                name,
                interner_name
            FROM
                zahlungsarten
        ";
        $res = mysql_query( $sql );
        while ( $row = mysql_fetch_assoc( $res ) )
        {
            $zahlungsarten[$row["id"]] = $row["name"];
        }
    }

    $GLOBALS["ui"]->assign( "shops", $shops );
    $GLOBALS["ui"]->assign( "zahlungsarten", $zahlungsarten );
    $GLOBALS["ui"]->assign( "zahlungsarten_sel", $zahlungsarten_sel );
    $GLOBALS["ui"]->assign( "new", $new );
    $GLOBALS["ui"]->assign( "row_span", $row_span );
    $GLOBALS["ui"]->assign( "col_span", $col_span );
    $GLOBALS["ui"]->assign( "Eigenschaften", $Eigenschaften );
    $GLOBALS["ui"]->assign( "Eigenschaften_sel", $Eigenschaften_sel );
    $GLOBALS["ui"]->assign( "Eigenschaften_Namen", $Eigenschaften_Namen );
    $GLOBALS["ui"]->assign( "laender", $laender );
    $GLOBALS["ui"]->assign( "laender_ids", $laender_ids );
    $GLOBALS["ui"]->assign( "artikel", $artikel );
    $GLOBALS["ui"]->assign( "kunde", $webs["kunde_bezeichnung"] );
    $GLOBALS["ui"]->assign( "webs", $webs );
    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
    $GLOBALS["ui"]->display( "page_neu.tpl" );

?>