Subversion-Projekte lars-tiefland.content-management

Revision

Revision 1 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
    session_start();
3
    $self = basename( $PHP_SELF );
4
    $DB = "Features";
5
    define( "modul_name", "online_shop" );
6
    define( "tool_name", "optionen" );
7
 
2 lars 8
    require_once "Weban_Smarty.class.php";
9
    require_once "connect2.php";
1 lars 10
    require_once "language_pack.php";
11
 
12
    $row_span = 4;
13
    $col_span = 5;
14
 
15
    $Eigenschaften = array();
16
 
17
    for ( $Eigenschaft_nr = 1; $Eigenschaft_nr <= 6; $Eigenschaft_nr++ )
18
    {
19
        $Feld = "Eigenschaft_" . $Eigenschaft_nr;
20
        $Felddaten = explode( ";", $web_rechte["online_shop"]["artikel"][$Feld] );
2 lars 21
        if ( ( isset( $user_rechte["online_shop"]["artikel"][$Feld] ) ) and ( $Felddaten[1] ==
22
            "logistik" ) )
1 lars 23
        {
24
            $Eigenschaften[] = $Eigenschaft_nr;
25
            $Eigenschaften_Namen[] = $Felddaten[0];
26
            $Eigenschaften_sel[$Eigenschaft_nr] = 0;
27
        }
28
    }
29
    $col_span += count( $Eigenschaften );
30
 
31
 
32
    $GLOBALS["ui"] = new Weban_Smarty();
33
    $GLOBALS["ui"]->compile_id = "Online-Shop|porto";
34
    $GLOBALS["ui"]->template_dir = "templates/porto";
2 lars 35
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
1 lars 36
    $GLOBALS["ui"]->use_sub_dirs = true;
37
 
38
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
39
    {
40
        $row_span += 2;
41
    }
42
    if ( isset( $user_rechte["online_shop"]["porto"]["beschreibung2"] ) )
43
    {
44
        $row_span++;
45
    }
46
 
47
    if ( $_GET["filter"] )
48
    {
49
        $_SESSION[$self]["filter"] = $_GET["filter"];
50
 
51
        $_SESSION[$self]["filter"]["shop"] = explode( ",", $_SESSION[$self]["filter"]["shop"] );
52
        if ( $_SESSION[$self]["filter"]["shop"][0] == "" )
53
        {
54
            unset( $_SESSION[$self]["filter"]["shop"] );
55
        }
56
    }
57
 
58
    if ( $_POST["new"] )
59
    {
60
        $query .= "
2 lars 61
            INSERT INTO
62
                artikel
63
            SET
64
                Language = '" . $_SESSION[$self]["filter"]["shop"][1] . "',
65
                Father = -3,
66
                Rang= 1,
67
                kurzbezeichnung = 'Neue Versandoption',
68
        ";
69
        $z_name = "";
70
        if ( $_SESSION[$self]["filter"]["zahlungsarten"] )
71
        {
72
            $z_name = $_SESSION[$self]["filter"]["zahlungsarten"];
73
        }
74
        $query .= "
75
                short_line_1='" . $z_name . "',
76
                short_line_2='',
77
                preis_neu1 = 0.01,
78
                preis_neu2 = 0.02,
79
                status = '" . $_SESSION[$self]["filter"]["shop"][0] . "',
80
                lieferstatus='" . $_SESSION[$self]["filter"]["Lieferstatus"] .
81
            "',
82
        ";
83
        foreach ( $Eigenschaften as $e_nr )
84
        {
85
            $e_val = 0;
86
            if ( $e_nr == $_SESSION[$self]["filter"]["Eigenschaften"] )
87
            {
88
                $e_val = 1;
89
            }
90
            $pq[] = "
91
                Eigenschaft_" . $e_nr . "=" . $e_val . "
92
            ";
93
        }
94
        if ( count( $pq ) )
95
        {
96
            $query .= implode( ",", $pq ) . ",";
97
        }
98
        $query .= "
99
                erstellt_am = NOW(),
100
                erstellt_von = '" . $PHP_AUTH_USER . "',
101
                letzte_Aenderung_am = NOW(),
102
                letzte_Aenderung_von = '" . $PHP_AUTH_USER . "'
103
        ";
1 lars 104
        $result = mysql_query( $query ) or die( mysql_errno() . ": " .
105
            mysql_error() . "<hr>$query<hr>" );
106
    } elseif ( $_POST["del"] )
107
    {
108
        $rang = array_keys( $_POST["Rang"] );
109
        list( $ID, $Language ) = explode( ",", $rang[0] );
110
        $sql = "
111
            DELETE FROM
112
                artikel
113
            WHERE
114
                ID = '$ID'
115
            AND
116
                Language = '$Language'
117
        ";
118
        mysql_query( $sql );
119
    } elseif ( $_POST )
120
    {
121
        foreach ( array_keys( $_POST ) as $elem )
122
        {
123
            if ( ereg( "^preis", $elem ) )
124
            {
125
                //pre($_POST[$elem]);
126
                if ( ereg( "%$", $_POST[$elem] ) )
127
                {
128
                    $_POST[$elem] = abs( $_POST[$elem] ) * ( -1 );
129
                }
130
            }
131
        }
132
 
133
        $data = $_POST;
134
 
135
        foreach ( $data as $id => $value )
136
        {
137
            if ( !is_array( $data[$id] ) )
138
            {
139
                unset( $data[$id] );
140
            }
141
        }
142
        if ( is_array( $data["Lieferstatus"] ) )
143
        {
144
            foreach ( $data["Lieferstatus"] as $id => $value )
145
            {
146
                $data["Lieferstatus"][$id] = array_sum( $value );
147
            }
148
        }
149
 
150
        $tab_felder = array_keys( $data );
151
        $id_list = array_keys( $data[$tab_felder[0]] );
152
 
153
        foreach ( $id_list as $id )
154
        {
155
            list( $ID, $Language ) = explode( ",", $id );
156
            $query = "
157
                UPDATE
158
                    artikel
159
                SET
160
            ";
161
            foreach ( $tab_felder as $feld )
162
            {
163
                if ( ereg( "^preis", $feld ) )
164
                {
165
                    if ( ereg( "%$", $data[$feld][$id] ) )
166
                    {
167
                        $data[$feld][$id] = abs( $data[$feld][$id] ) * ( -1 );
168
                    }
169
                }
170
                $query .= "
2 lars 171
                        $feld = '" . mysql_real_escape_string( str_replace( "'",
172
                    "&rsquo;", $data[$feld][$id] ) ) . "',
1 lars 173
                ";
174
            }
175
            $query .= "
176
                    letzte_Aenderung_am=NOW(),
177
                    letzte_Aenderung_von='" . $PHP_AUTH_USER . "'
178
                WHERE
179
                    ID = '$ID'
180
                AND
181
                    Language = '$Language'
182
            ";
183
            $result = mysql_query( $query ) or die( mysql_errno() . ": " .
184
                mysql_error() . "<hr>$query<hr>" );
185
        }
186
    }
187
 
188
    $query = "
189
        SELECT
190
            *
191
        FROM
192
            shops
193
        ORDER BY
194
            ID
195
    ";
2 lars 196
    $result = mysql_query( $query ) or die( mysql_errno() . ": " . mysql_error() .
197
        "<hr>$query<hr>" );
1 lars 198
    unset( $shops );
199
    $shops[""] = "";
200
    while ( $zeile = mysql_fetch_array( $result ) )
201
    {
202
        $shops[$zeile["ID"] . "," . $zeile["Language"]] = $zeile["Name"];
203
    }
204
 
205
    if ( $_SESSION[$self]["filter"]["shop"] )
206
    {
207
        $GLOBALS["ui"]->assign( "shop_sel", implode( ",", $_SESSION[$self]["filter"]["shop"] ) );
208
    }
209
 
210
    $felder = array( "ID", "Language", "Lieferstatus" );
211
    if ( isset( $web_rechte["online_shop"]["artikel"]["kennung"] ) )
212
    {
213
        $felder[] = "kennung";
214
    }
215
    $felder[] = "Rang";
216
    $felder[] = "beschreibung";
217
    $felder[] = "kurzbezeichnung";
218
    $felder[] = "short_line_1";
219
    $felder[] = "short_line_2";
220
    $felder[] = "preis1";
221
    if ( isset( $web_rechte["online_shop"]["porto"]["aufschlag"] ) )
222
    {
223
        $felder[] = "preis2";
224
    }
225
    if ( isset( $web_rechte["online_shop"]["porto"]["beschreibung2"] ) )
226
    {
227
        $felder[] = "beschreibung2";
228
    }
229
    $felder[] = "preis_neu1";
230
    $felder[] = "preis_neu2";
231
    $felder[] = "preis_neu3";
232
    $felder[] = "preis_neu4";
233
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
234
    {
235
        $felder[] = "versand_abschlag";
236
    }
237
    foreach ( $Eigenschaften as $Eigenschaft )
238
    {
239
        $felder[] = "Eigenschaft_$Eigenschaft";
240
    }
241
    $felder[] = "letzte_Aenderung_am";
242
    $felder[] = "letzte_Aenderung_von";
243
    $query = "
244
        SELECT
245
    ";
246
    $query .= implode( ", ", $felder );
247
 
248
    $query .= "
249
        FROM
250
            artikel
251
        WHERE
252
            Father = -3
253
    ";
254
    if ( $_SESSION[$self]["filter"]["shop"] )
255
    {
256
        $query .= "
257
            AND
258
                status=" . $_SESSION[$self]["filter"]["shop"][0] . "
259
            AND
260
                Language='" . $_SESSION[$self]["filter"]["shop"][1] . "'
261
        ";
262
    }
263
    else
264
    {
265
        $query .= "
266
            AND
267
                1=2
268
        ";
269
    }
270
    if ( $_SESSION[$self]["filter"]["zahlungsarten"] )
271
    {
272
        $query .= "
273
            AND
274
                short_line_1='" . $_SESSION[$self]["filter"]["zahlungsarten"] .
275
            "'
276
        ";
277
    }
278
    if ( $_SESSION[$self]["filter"]["Eigenschaften"] )
279
    {
280
        $query .= "
281
            AND
282
                Eigenschaft_" . $_SESSION[$self]["filter"]["Eigenschaften"] .
283
            "=1
284
        ";
285
    }
286
    if ( $_SESSION[$self]["filter"]["Lieferstatus"] )
287
    {
288
        $query .= "
289
            AND
2 lars 290
                Lieferstatus &" . $_SESSION[$self]["filter"]["Lieferstatus"] . "
1 lars 291
        ";
292
    }
293
    if ( $_GET["edit"] )
294
    {
295
        $query .= "
296
            AND
297
                ID = " . $_GET["edit"] . "
298
        ";
299
        $GLOBALS["ui"]->assign( "file", "detail.tpl" );
300
        $GLOBALS["ui"]->assign( "edit", true );
301
    }
302
    else
303
    {
304
        $GLOBALS["ui"]->assign( "file", "list.tpl" );
305
    }
306
 
307
    $query .= "
308
        ORDER BY
309
            Rang asc
310
    ";
2 lars 311
    $result = mysql_query( $query ) or die( mysql_errno() . ": " . mysql_error() );
1 lars 312
    $zahlungsarten_sel = $_SESSION[$self]["filter"]["zahlungsarten"];
313
    $GLOBALS["ui"]->assign( "eigenschaften_sel", $_SESSION[$self]["filter"]["Eigenschaften"] );
314
    $GLOBALS["ui"]->assign( "land_sel", $_SESSION[$self]["filter"]["Lieferstatus"] );
315
    while ( $zeile = mysql_fetch_assoc( $result ) )
316
    {
317
        $zeile["key"] = $zeile["ID"] . "," . $zeile["Language"];
318
        if ( $_GET["edit"] )
319
        {
320
            $zahlungsarten_sel_edit = $zeile["short_line_1"];
321
            $GLOBALS["ui"]->assign( "zahlungsarten_sel_edit", $zahlungsarten_sel_edit );
322
        }
323
        foreach ( $Eigenschaften as $key => $val )
324
        {
325
            $zeile["Eigenschaften"][] = ( int )$zeile["Eigenschaft_$val"];
326
            $Eigenschaften_sel[$val] = ( int )$zeile["Eigenschaft_$val"];
327
        }
328
        $artikel[] = $zeile;
329
    }
2 lars 330
    $Laender = array( "Deutschland", "Niederlande", "&Ouml;sterreich", "Belgien",
331
        "Luxemburg", "D&auml;nemark", "Schweiz", "Frankreich",
1 lars 332
        "Gro&szlig;britannien", "Italien", "Spanien", "Portugal", "Schweden",
2 lars 333
        "Finnland", "Norwegen", "Irland", "Griechenland", "Estland", "Lettland",
334
        "Malta", "Litauen", "Polen", "Slowenien", "Tschechien/Slowakei",
335
        "Türkei", "Ungarn", "Zypern", "Kanada", "USA", "Kroatien", "Bulgarien",
336
        "Rumänien" );
1 lars 337
    foreach ( $Laender as $counter => $Land )
338
    {
339
        $code = 1 << $counter;
340
        $Laender_codes[] = $code;
341
    }
342
 
343
    if ( ( $_GET["edit"] == $zeile["ID"] ) || $new == "true" )
344
    {
345
        $new = false;
346
    }
347
    if ( isset( $web_rechte["online_shop"]["porto"]["zahlungsarten"] ) )
348
    {
349
        $sql = "
350
            SELECT
351
                name,
352
                interner_name
353
            FROM
354
                zahlungsarten
355
        ";
356
        $res = mysql_query( $sql );
2 lars 357
        echo mysql_error();
1 lars 358
        while ( $row = mysql_fetch_assoc( $res ) )
359
        {
360
            $zahlungsarten[$row["interner_name"]] = $row["name"];
361
        }
362
    }
363
 
364
    $GLOBALS["ui"]->assign( "shops", $shops );
365
    $GLOBALS["ui"]->assign( "zahlungsarten", $zahlungsarten );
366
    $GLOBALS["ui"]->assign( "zahlungsarten_sel", $zahlungsarten_sel );
367
    $GLOBALS["ui"]->assign( "new", $new );
368
    $GLOBALS["ui"]->assign( "row_span", $row_span );
369
    $GLOBALS["ui"]->assign( "col_span", $col_span );
370
    $GLOBALS["ui"]->assign( "Eigenschaften", $Eigenschaften );
371
    $GLOBALS["ui"]->assign( "Eigenschaften_sel", $Eigenschaften_sel );
372
    $GLOBALS["ui"]->assign( "Eigenschaften_Namen", $Eigenschaften_Namen );
373
    $GLOBALS["ui"]->assign( "Laender", $Laender );
374
    $GLOBALS["ui"]->assign( "Laender_Codes", $Laender_codes );
375
    $GLOBALS["ui"]->assign( "artikel", $artikel );
376
    $GLOBALS["ui"]->assign( "kunde", $webs["kunde_bezeichnung"] );
377
    $GLOBALS["ui"]->assign( "webs", $webs );
378
    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
379
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
380
    $GLOBALS["ui"]->display( "page.tpl" );
381
?>