Subversion-Projekte lars-tiefland.content-management

Revision

Revision 1 | Blame | Vergleich mit vorheriger | 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"] )
    {
        $query .= "
            INSERT INTO
                artikel
            SET
                Language = '" . $_SESSION[$self]["filter"]["shop"][1] . "',
                Father = -3,
                Rang= 1,
                kurzbezeichnung = 'Neue Versandoption',
        ";
        $z_name = "";
        if ( $_SESSION[$self]["filter"]["zahlungsarten"] )
        {
            $z_name = $_SESSION[$self]["filter"]["zahlungsarten"];
        }
        $query .= "
                short_line_1='" . $z_name . "',
                short_line_2='',
                preis_neu1 = 0.01,
                preis_neu2 = 0.02,
                status = '" . $_SESSION[$self]["filter"]["shop"][0] . "',
                lieferstatus='" . $_SESSION[$self]["filter"]["Lieferstatus"] .
            "',
        ";
        foreach ( $Eigenschaften as $e_nr )
        {
            $e_val = 0;
            if ( $e_nr == $_SESSION[$self]["filter"]["Eigenschaften"] )
            {
                $e_val = 1;
            }
            $pq[] = "
                Eigenschaft_" . $e_nr . "=" . $e_val . "
            ";
        }
        if ( count( $pq ) )
        {
            $query .= implode( ",", $pq ) . ",";
        }
        $query .= "
                erstellt_am = NOW(),
                erstellt_von = '" . $PHP_AUTH_USER . "',
                letzte_Aenderung_am = NOW(),
                letzte_Aenderung_von = '" . $PHP_AUTH_USER . "'
        ";
        $result = mysql_query( $query ) or die( mysql_errno() . ": " .
            mysql_error() . "<hr>$query<hr>" );
    } elseif ( $_POST["del"] )
    {
        $rang = array_keys( $_POST["Rang"] );
        list( $ID, $Language ) = explode( ",", $rang[0] );
        $sql = "
            DELETE FROM 
                artikel 
            WHERE 
                ID = '$ID' 
            AND 
                Language = '$Language'
        ";
        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] ) )
            {
                unset( $data[$id] );
            }
        }
        if ( is_array( $data["Lieferstatus"] ) )
        {
            foreach ( $data["Lieferstatus"] as $id => $value )
            {
                $data["Lieferstatus"][$id] = array_sum( $value );
            }
        }

        $tab_felder = array_keys( $data );
        $id_list = array_keys( $data[$tab_felder[0]] );

        foreach ( $id_list as $id )
        {
            list( $ID, $Language ) = explode( ",", $id );
            $query = "
                UPDATE 
                    artikel 
                SET
            ";
            foreach ( $tab_felder as $feld )
            {
                if ( ereg( "^preis", $feld ) )
                {
                    if ( ereg( "%$", $data[$feld][$id] ) )
                    {
                        $data[$feld][$id] = abs( $data[$feld][$id] ) * ( -1 );
                    }
                }
                $query .= "
                        $feld = '" . mysql_real_escape_string( str_replace( "'",
                    "&rsquo;", $data[$feld][$id] ) ) . "', 
                ";
            }
            $query .= " 
                    letzte_Aenderung_am=NOW(), 
                    letzte_Aenderung_von='" . $PHP_AUTH_USER . "' 
                WHERE 
                    ID = '$ID' 
                AND
                    Language = '$Language'
            ";
            $result = mysql_query( $query ) or die( mysql_errno() . ": " .
                mysql_error() . "<hr>$query<hr>" );
        }
    }

    $query = "
        SELECT 
            * 
        FROM 
            shops 
        ORDER BY 
            ID
    ";
    $result = mysql_query( $query ) or die( mysql_errno() . ": " . mysql_error() .
        "<hr>$query<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( "ID", "Language", "Lieferstatus" );
    if ( isset( $web_rechte["online_shop"]["artikel"]["kennung"] ) )
    {
        $felder[] = "kennung";
    }
    $felder[] = "Rang";
    $felder[] = "beschreibung";
    $felder[] = "kurzbezeichnung";
    $felder[] = "short_line_1";
    $felder[] = "short_line_2";
    $felder[] = "preis1";
    if ( isset( $web_rechte["online_shop"]["porto"]["aufschlag"] ) )
    {
        $felder[] = "preis2";
    }
    if ( isset( $web_rechte["online_shop"]["porto"]["beschreibung2"] ) )
    {
        $felder[] = "beschreibung2";
    }
    $felder[] = "preis_neu1";
    $felder[] = "preis_neu2";
    $felder[] = "preis_neu3";
    $felder[] = "preis_neu4";
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
    {
        $felder[] = "versand_abschlag";
    }
    foreach ( $Eigenschaften as $Eigenschaft )
    {
        $felder[] = "Eigenschaft_$Eigenschaft";
    }
    $felder[] = "letzte_Aenderung_am";
    $felder[] = "letzte_Aenderung_von";
    $query = "
        SELECT 
    ";
    $query .= implode( ", ", $felder );

    $query .= "
        FROM 
            artikel 
        WHERE 
            Father = -3
    ";
    if ( $_SESSION[$self]["filter"]["shop"] )
    {
        $query .= "
            AND 
                status=" . $_SESSION[$self]["filter"]["shop"][0] . " 
            AND 
                Language='" . $_SESSION[$self]["filter"]["shop"][1] . "'
        ";
    }
    else
    {
        $query .= "
            AND 
                1=2
        ";
    }
    if ( $_SESSION[$self]["filter"]["zahlungsarten"] )
    {
        $query .= "
            AND
                short_line_1='" . $_SESSION[$self]["filter"]["zahlungsarten"] .
            "'
        ";
    }
    if ( $_SESSION[$self]["filter"]["Eigenschaften"] )
    {
        $query .= "
            AND
                Eigenschaft_" . $_SESSION[$self]["filter"]["Eigenschaften"] .
            "=1
        ";
    }
    if ( $_SESSION[$self]["filter"]["Lieferstatus"] )
    {
        $query .= "
            AND
                Lieferstatus &" . $_SESSION[$self]["filter"]["Lieferstatus"] . "
        ";
    }
    if ( $_GET["edit"] )
    {
        $query .= "
            AND 
                ID = " . $_GET["edit"] . "
        ";
        $GLOBALS["ui"]->assign( "file", "detail.tpl" );
        $GLOBALS["ui"]->assign( "edit", true );
    }
    else
    {
        $GLOBALS["ui"]->assign( "file", "list.tpl" );
    }

    $query .= "
        ORDER BY
            Rang asc
    ";
    $result = mysql_query( $query ) 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"]["Lieferstatus"] );
    while ( $zeile = mysql_fetch_assoc( $result ) )
    {
        $zeile["key"] = $zeile["ID"] . "," . $zeile["Language"];
        if ( $_GET["edit"] )
        {
            $zahlungsarten_sel_edit = $zeile["short_line_1"];
            $GLOBALS["ui"]->assign( "zahlungsarten_sel_edit", $zahlungsarten_sel_edit );
        }
        foreach ( $Eigenschaften as $key => $val )
        {
            $zeile["Eigenschaften"][] = ( int )$zeile["Eigenschaft_$val"];
            $Eigenschaften_sel[$val] = ( int )$zeile["Eigenschaft_$val"];
        }
        $artikel[] = $zeile;
    }
    $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" );
    foreach ( $Laender as $counter => $Land )
    {
        $code = 1 << $counter;
        $Laender_codes[] = $code;
    }

    if ( ( $_GET["edit"] == $zeile["ID"] ) || $new == "true" )
    {
        $new = false;
    }
    if ( isset( $web_rechte["online_shop"]["porto"]["zahlungsarten"] ) )
    {
        $sql = "
            SELECT
                name,
                interner_name
            FROM
                zahlungsarten
        ";
        $res = mysql_query( $sql );
        echo mysql_error();
        while ( $row = mysql_fetch_assoc( $res ) )
        {
            $zahlungsarten[$row["interner_name"]] = $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_Codes", $Laender_codes );
    $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.tpl" );
?>