Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

    /**
     * @package   Content-management
     * @author    Lars Tiefland <tiefland@weban.de>
     * @copyright 2009 Webagentur Niewerth
     * @license   propietary
     * @version   $Rev: 3931 $
     * @filesource
     * 
     */

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

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

    require_once 'Weban_Smarty.class.php';
    require_once '../Online-Shop/connect2.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;

    $dhl = isset( $user_rechte["Warenwirtschaft"]["tracking"]["dhl_track"] );
    $gls = isset( $user_rechte["Warenwirtschaft"]["tracking"]["gls_track"] );

    if ( !$dhl && !$gls )
    {
        $GLOBALS["ui"]->assign( "meld",
            "Sie haben nicht das Recht dieses Tool zu nutzen!" );
        $GLOBALS["ui"]->assign( "error", true );
        $GLOBALS["ui"]->display( "meld.tpl" );
    }
    else
    {
        switch ( $_POST["mode"] )
        {
            default:
                if ( $dhl )
                {
                    $anbieter = "DHL";
                } elseif ( $gls )
                {
                    $anbieter = "GLS";
                }
                $GLOBALS["ui"]->assign( "anbieter", $anbieter );
                $GLOBALS["ui"]->display( "tracking.tpl" );
                break;
            case "import":
                if ( $_FILES["datei"] )
                {
                    $tmp_name = $_FILES["datei"]["tmp_name"];
                    if ( $dhl )
                    {
                        $error = dhl_import( $tmp_name );
                    } elseif ( $gls )
                    {
                        $error = gls_import( $tmp_name );
                    }
                    $GLOBALS["ui"]->assign( "error", $error );
                    if ( $error )
                    {
                        $GLOBALS["ui"]->assign( "meld",
                            "Leider ist beim Import ein Fehler aufgetreten!<br>Die Technik ist bereits informiert und wird sich um das Problem kümmern.<br>Bitte versuchen Sie es später noch einmal." );
                    }
                    else
                    {
                        $GLOBALS["ui"]->assign( "meld",
                            "Die Datei wurde erfolgreich importiert!" );
                    }
                    $GLOBALS["ui"]->display( "meld.tpl" );
                }
                break;
        }
    }

    function dhl_import( $fName )
    {
        global $site;
        $rows = file( $fName );
        foreach ( $rows as $row_id => $row )
        {
            $felder = explode( ";", $row );
            if ( $row_id == 0 )
            {
                $anz = count( $felder );
                continue;
            }
            else
            {
                $anz_row = count( $felder );
                $paketnummer = $felder[0];
                $b_id = $felder[36];
                $datum = $felder[1];
                if ( $anz_row != $anz )
                {
                    $msg = "Die Anzahl der Felder beträgt: $anz_row\n";
                    $msg .= "Erwartet wurden: $anz Felder\n";
                    $msg .= "Hier die Daten: ";
                    $msg .= var_export( $felder, true );
                    continue;
                } elseif ( !is_numeric( $paketnummer ) )
                {
                    $msg = "Die Paketnummer ist KEINE Zahl!\n";
                    $msg .= "Hier die Daten: ";
                    $msg .= var_export( $felder, true );
                    continue;
                } elseif ( !is_numeric( $b_id ) )
                {
                    $msg = "Die Bestellnummer ist KEINE Zahl!\n";
                    $msg .= "Hier die Daten: ";
                    $msg .= var_export( $felder, true );
                    continue;
                }
                $sql = "
                    REPLACE INTO
                        bestellung_paketnummern
                    (
                        bestellung,
                        paketnummer,
                        datum
                    )
                    VALUES
                    (
                        $b_id,
                        $paketnummer,
                        UNIX_TIMESTAMP('$datum')
                    )
                ";
                $res = mysql_query( $sql );
                if ( !$res )
                {
                    $error = true;
                    mail( "tiefland@weban.de",
                        "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
                        mysql_error() . "\n$sql\n$row" );
                    mail( "niewerth@weban.de",
                        "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
                        mysql_error() . "\n$sql\n$row" );
                    //break;
                }
            }
        }
        return $error;
    }

    function gls_import( $fName )
    {
        global $site;
        $rows = file( $fName );
        foreach ( $rows as $row_id => $row )
        {
            $felder = explode( "#", $row );
            $paketnummer = $felder[0];
            $b_id = $felder[3];
            $sql = "
                REPLACE INTO
                    bestellung_paketnummern
                (
                    bestellung,
                    paketnummer,
                    datum
                )
                VALUES
                (
                    $b_id,
                    $paketnummer,
                    UNIX_TIMESTAMP()
                )
            ";
            $res = mysql_query( $sql );
            if ( !$res )
            {
                $error = true;
                mail( "tiefland@weban.de",
                    "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
                    mysql_error() . "\n$sql\n$row" );
                mail( "niewerth@weban.de",
                    "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
                    mysql_error() . "\n$sql\n$row" );
                //break;
            }
        }
        return $error;
    }
?>