Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
    /**
4
     * @package   Content-management
5
     * @author    Lars Tiefland <tiefland@weban.de>
6
     * @copyright 2009 Webagentur Niewerth
7
     * @license   propietary
8
     * @version   $Rev: 3931 $
9
     * @filesource
10
     *
11
     */
12
 
13
    /**
14
     *
15
     * @package   Content-management
16
     * @author    Lars Tiefland <tiefland@weban.de>
17
     * @copyright 2009 Webagentur Niewerth
18
     */
19
 
20
    // SVN: $Id: tracking.php 3931 2011-09-16 08:17:57Z tiefland $
21
 
22
    require_once 'Weban_Smarty.class.php';
23
    require_once '../Online-Shop/connect2.php';
24
 
25
    $GLOBALS["ui"] = new Weban_Smarty();
26
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
27
    $GLOBALS["ui"]->compile_id = "Warenwirtschaft|export";
28
    $GLOBALS["ui"]->use_sub_dirs = true;
29
 
30
    $dhl = isset( $user_rechte["Warenwirtschaft"]["tracking"]["dhl_track"] );
31
    $gls = isset( $user_rechte["Warenwirtschaft"]["tracking"]["gls_track"] );
32
 
33
    if ( !$dhl && !$gls )
34
    {
35
        $GLOBALS["ui"]->assign( "meld",
36
            "Sie haben nicht das Recht dieses Tool zu nutzen!" );
37
        $GLOBALS["ui"]->assign( "error", true );
38
        $GLOBALS["ui"]->display( "meld.tpl" );
39
    }
40
    else
41
    {
42
        switch ( $_POST["mode"] )
43
        {
44
            default:
45
                if ( $dhl )
46
                {
47
                    $anbieter = "DHL";
48
                } elseif ( $gls )
49
                {
50
                    $anbieter = "GLS";
51
                }
52
                $GLOBALS["ui"]->assign( "anbieter", $anbieter );
53
                $GLOBALS["ui"]->display( "tracking.tpl" );
54
                break;
55
            case "import":
56
                if ( $_FILES["datei"] )
57
                {
58
                    $tmp_name = $_FILES["datei"]["tmp_name"];
59
                    if ( $dhl )
60
                    {
61
                        $error = dhl_import( $tmp_name );
62
                    } elseif ( $gls )
63
                    {
64
                        $error = gls_import( $tmp_name );
65
                    }
66
                    $GLOBALS["ui"]->assign( "error", $error );
67
                    if ( $error )
68
                    {
69
                        $GLOBALS["ui"]->assign( "meld",
70
                            "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." );
71
                    }
72
                    else
73
                    {
74
                        $GLOBALS["ui"]->assign( "meld",
75
                            "Die Datei wurde erfolgreich importiert!" );
76
                    }
77
                    $GLOBALS["ui"]->display( "meld.tpl" );
78
                }
79
                break;
80
        }
81
    }
82
 
83
    function dhl_import( $fName )
84
    {
85
        global $site;
86
        $rows = file( $fName );
87
        foreach ( $rows as $row_id => $row )
88
        {
89
            $felder = explode( ";", $row );
90
            if ( $row_id == 0 )
91
            {
92
                $anz = count( $felder );
93
                continue;
94
            }
95
            else
96
            {
97
                $anz_row = count( $felder );
98
                $paketnummer = $felder[0];
99
                $b_id = $felder[36];
100
                $datum = $felder[1];
101
                if ( $anz_row != $anz )
102
                {
103
                    $msg = "Die Anzahl der Felder beträgt: $anz_row\n";
104
                    $msg .= "Erwartet wurden: $anz Felder\n";
105
                    $msg .= "Hier die Daten: ";
106
                    $msg .= var_export( $felder, true );
107
                    continue;
108
                } elseif ( !is_numeric( $paketnummer ) )
109
                {
110
                    $msg = "Die Paketnummer ist KEINE Zahl!\n";
111
                    $msg .= "Hier die Daten: ";
112
                    $msg .= var_export( $felder, true );
113
                    continue;
114
                } elseif ( !is_numeric( $b_id ) )
115
                {
116
                    $msg = "Die Bestellnummer ist KEINE Zahl!\n";
117
                    $msg .= "Hier die Daten: ";
118
                    $msg .= var_export( $felder, true );
119
                    continue;
120
                }
121
                $sql = "
122
                    REPLACE INTO
123
                        bestellung_paketnummern
124
                    (
125
                        bestellung,
126
                        paketnummer,
127
                        datum
128
                    )
129
                    VALUES
130
                    (
131
                        $b_id,
132
                        $paketnummer,
133
                        UNIX_TIMESTAMP('$datum')
134
                    )
135
                ";
136
                $res = mysql_query( $sql );
137
                if ( !$res )
138
                {
139
                    $error = true;
140
                    mail( "tiefland@weban.de",
141
                        "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
142
                        mysql_error() . "\n$sql\n$row" );
143
                    mail( "niewerth@weban.de",
144
                        "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
145
                        mysql_error() . "\n$sql\n$row" );
146
                    //break;
147
                }
148
            }
149
        }
150
        return $error;
151
    }
152
 
153
    function gls_import( $fName )
154
    {
155
        global $site;
156
        $rows = file( $fName );
157
        foreach ( $rows as $row_id => $row )
158
        {
159
            $felder = explode( "#", $row );
160
            $paketnummer = $felder[0];
161
            $b_id = $felder[3];
162
            $sql = "
163
                REPLACE INTO
164
                    bestellung_paketnummern
165
                (
166
                    bestellung,
167
                    paketnummer,
168
                    datum
169
                )
170
                VALUES
171
                (
172
                    $b_id,
173
                    $paketnummer,
174
                    UNIX_TIMESTAMP()
175
                )
176
            ";
177
            $res = mysql_query( $sql );
178
            if ( !$res )
179
            {
180
                $error = true;
181
                mail( "tiefland@weban.de",
182
                    "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
183
                    mysql_error() . "\n$sql\n$row" );
184
                mail( "niewerth@weban.de",
185
                    "Fehler beim Import der DHL Paketnummern auf redaktion.$site",
186
                    mysql_error() . "\n$sql\n$row" );
187
                //break;
188
            }
189
        }
190
        return $error;
191
    }
192
?>