Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

    /**
     * eportiert Adressen von Kunden an DHL
     * 
     * @package   Content-management
     * @author    Lars Tiefland <tiefland@weban.de>
     * @copyright 2009 Webagentur Niewerth
     * @license   propietary http://www.weban.de
     * @version   $Rev: 3931 $
     * @filesource
     * 
     */

    /**
     * 
     *   @package   Content-management
     *   @author    Lars Tiefland <tiefland@weban.de>
     *   @copyright 2009 Webagentur Niewerth
     */

    // SVN: $Id: dhl_export.php 3931 2011-09-16 08:17:57Z tiefland $

    require_once 'Weban_Smarty.class.php';
    require_once '../Online-Shop/connect2.php';
    require_once 'File/Find.php';
    require_once 'module/functions.common.php';

    $GLOBALS["ui"] = new Weban_Smarty();
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
    $GLOBALS["ui"]->compile_id = "Warenwirtschaft|export";
    $GLOBALS["ui"]->use_sub_dirs = true;
    $GLOBALS["ui"]->assign( "title", "Adressdaten nach DHL exportieren" );
    if ( isset( $user_rechte['Warenwirtschaft']['dhl_export']['dhl'] ) )
    {
        if ( $_GET['mode'] == 'new' )
        {
            dhl_export();
        } elseif ( $_GET['file'] )
        {
            $file = $_GET['file'];
            if ( file_exists( $file ) )
            {
                //header( 'Content-Type: text/plain' );
                header( 'Content-Disposition: attachment; filename="' .
                    basename( $file ) . '"' );
                readfile( $file );
            }
        }
        else
        {
            if ( !file_exists( "archiv/$site" ) )
            {
                mkdir( "archiv/$site" );
            }
            if ( !file_exists( "archiv/$site" ) )
            {
                mkdir( "archiv/$site" );
            }
            $ff = new File_Find();
            $files = $ff->search( "/export_Bestellungen_dhl_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.txt$/i",
                "archiv/$site/", "perl" );
            rsort( $files );
            foreach ( $files as $f_id => $file )
            {
                $files_arr[$f_id]["name"] = $file;
                $date = date( "d.m.Y H:i:s", filemtime( $file ) );
                $files_arr[$f_id]["desc"] = $date;
            }
            $GLOBALS["ui"]->assign( "files", $files_arr );
            $GLOBALS["ui"]->display( "export.tpl" );
        }
    }
    else
    {
        $GLOBALS["ui"]->assign( "meld",
            "Sie haben nicht das Recht dieses Tool zu nutzen!" );
        $GLOBALS["ui"]->assign( "error", true );
        $GLOBALS["ui"]->display( "meld.tpl" );
    }


    /**
     * dhl_export()
     * 
     * @return void
     */
    function dhl_export()
    {
        global $site, $web_rechte;
        $date = date( 'Y-m-d_H-i-s' );
        $f_name = "export_Bestellungen_dhl_$date.txt";
        switch ( $web_rechte['Warenwirtschaft']['dhl_export']['dhl'] )
        {
            case "intraship":
                break;
            case "easylog":
                break;
            default:
                $header_arr[] = "SEND_NAME1";
                $header_arr[] = "SEND_NAME2";
                $header_arr[] = "SEND_STREET";
                $header_arr[] = "SEND_HOUSENUMBER";
                $header_arr[] = "SEND_PLZ";
                $header_arr[] = "SEND_CITY";
                $header_arr[] = "SEND_COUNTRY";
                $header_arr[] = "RECV_NAME1";
                $header_arr[] = "RECV_NAME2";
                $header_arr[] = "RECV_STREET";
                $header_arr[] = "RECV_HOUSENUMBER";
                $header_arr[] = "RECV_PLZ";
                $header_arr[] = "RECV_CITY";
                $header_arr[] = "RECV_COUNTRY";
                $header_arr[] = "PRODUCT";
                $header_arr[] = "COUPON";
                $header = implode( "\t", $header_arr ) . "\r\n";
                break;
        }
        require_once  "includes/versand/body_$site.inc.php";

        $sql = "
            SELECT DISTINCT
                Bestellung,
                artikel
            FROM
                artikel_to_Bestellung ab
            JOIN
                artikel AS a
            ON
                a.ID=ab.artikel
            WHERE
                ab.status='freigegeben'
            AND
                a.Father = -3
        ";
        $res_b = mysql_query( $sql );
        while ( $row_b = mysql_fetch_assoc( $res_b ) )
        {
            $b_id = $row_b["Bestellung"];
            $a_id = $row_b["artikel"];
            $sql = "
                SELECT
                    b.*,
                    l.E_Mail,
                    l.Vorname,
                    l.Name1,
                    l.Name2 as Firma,
                    l.Strasse,
                    l.Hausnummer,
                    l.PLZ,
                    l.Ort,
                    l.Land,
                    l.Telefon
                FROM
                    Bestellung b,
                    Logins l
                WHERE
                    l.ID=b.Login
                AND
                    b.id= $b_id
            ";
            $res = mysql_query( $sql );
            while ( $row = mysql_fetch_assoc( $res ) )
            {
                $b_id = $row["ID"];
                $login = $row["Login"];
                $f_row = array();
                switch ( $web_rechte['Warenwirtschaft']['dhl_export']['dhl'] )
                {
                    case "intraship":
                        $anrede = ( $row['liefer_Andrede'] ) ? $row['liefer_Andrede']:
                        $row['Anrede'];
                        $name = ( $row['liefer_Firma'] ) ? $row['liefer_Firma']:
                        $row['Firma'];
                        if ( !$name )
                        {
                            $name = ( $row['liefer_Name'] ) ? $row['liefer_Name'] :
                                $row['Name1'];
                        }
                        $kontakt = ( $row['liefer_Vorname'] ) ? $row['liefer_Vorname']:
                        $row['Vorname'];
                        $kontakt .= ( $row['liefer_Name'] || $row['Name1'] ) ?
                            " ":
                        "";
                        $kontakt .= ( $row['liefer_Name'] ) ? $row['liefer_Name']:
                        $row['Name1'];
                        $strasse = ( $row['liefer_Strasse'] ) ? $row['liefer_Strasse']:
                        $row['Strasse'];
                        $hausnummer = ( $row['liefer_Str_Nr'] ) ? $row['liefer_Str_Nr']:
                        $row['Hausnummer'];
                        $plz = ( $row['liefer_PLZ'] ) ? $row['liefer_PLZ']:
                        $row['PLZ'];
                        $ort = ( $row['liefer_Ort'] ) ? $row['liefer_Ort']:
                        $row['Ort'];
                        $iso = getISOCode( ( $row['liefer_Land'] ) ? $row['liefer_Land'] :
                            $row['Land'], 2 );
                        $telefon = $row["Telefon"];
                        $email = $row["E_Mail"];
                        $f_row[] = "";
                        $f_row[] = $login;
                        $f_row[] = "I";
                        $f_row[] = $anrede;
                        $f_row[] = $name;
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = $kontakt;
                        $f_row[] = $strasse;
                        $f_row[] = $hausnummer;
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = $plz;
                        $f_row[] = $ort;
                        $f_row[] = $iso;
                        $f_row[] = "";
                        $f_row[] = $telefon;
                        $f_row[] = "";
                        $f_row[] = $email;
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_cont[] = implode( "|", $f_row );
                        break;
                    case "easylog":
                        break;
                    default:
                        $f_row[] = $umschlag_arr["name"];
                        $f_row[] = "";
                        $f_row[] = $umschlag_arr["str"];
                        $f_row[] = $umschlag_arr["nummer"];
                        $f_row[] = $umschlag_arr["plz"];
                        $f_row[] = $umschlag_arr["ort"];
                        $f_row[] = "DEU";
                        $name = ( $row['liefer_Vorname'] ) ? $row['liefer_Vorname']:
                        $row['Vorname'];
                        $name .= ( $row['liefer_Name'] || $row['Name1'] ) ?
                            " ":
                        "";
                        $name .= ( $row['liefer_Name'] ) ? $row['liefer_Name']:
                        $row['Name1'];
                        $f_row[] = $name;
                        $f_row[] = ( $row['liefer_Firma'] ) ? $row['liefer_Firma']:
                        $row['Firma'];
                        $f_row[] = ( $row['liefer_Strasse'] ) ? $row['liefer_Strasse']:
                        $row['Strasse'];
                        $f_row[] = ( $row['liefer_Str_Nr'] ) ? $row['liefer_Str_Nr']:
                        $row['Hausnummer'];
                        $f_row[] = ( $row['liefer_PLZ'] ) ? $row['liefer_PLZ']:
                        $row['PLZ'];
                        $f_row[] = ( $row['liefer_Ort'] ) ? $row['liefer_Ort']:
                        $row['Ort'];
                        $f_row[] = getISOCode( ( $row['liefer_Land'] ) ? $row['liefer_Land'] :
                            $row['Land'], 3 );
                        $f_row[] = "";
                        $f_row[] = "";
                        $f_cont[] = implode( "\t", $f_row );
                        break;
                }
                $sql_u = "
                    UPDATE
                        artikel_to_Bestellung
                    SET
                        status = 'versand'
                    WHERE
                        Bestellung = $b_id
                    AND
                        artikel = $a_id
                ";
                $res_u = mysql_query( $sql_u );
            }
        } //end while
        $cont = implode( "\r\n", $f_cont );
        if ( $cont )
        {
            //$f = fopen( "archiv/$site/$f_name", 'w' );
            if ( $header )
            {
                $cont = $header . "\r\n" . $cont;
            }
            /*fwrite( $f, $cont );
            fclose( $f );*/
            file_put_contents( "archiv/$site/$f_name", $cont );
        }
        if ( isset( $user_rechte['Warenwirtschaft']['export'] ) )
        {
            $file = "export.php";
        }
        else
        {
            $file = "dhl_export.php";
        }
        header( 'Location: ' . $file );
    }

?>