Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
    session_start();
4
    $self = basename( $PHP_SELF );
5
    $DB = "Features";
6
    define( "modul_name", "online_shop" );
7
    define( "tool_name", "optionen" );
8
 
9
    require_once "Weban_Smarty.class.php";
10
    require_once "connect2.php";
11
    require_once "language_pack.php";
12
 
13
    $row_span = 4;
14
    $col_span = 5;
15
 
16
    $Eigenschaften = array();
17
 
18
    for ( $Eigenschaft_nr = 1; $Eigenschaft_nr <= 6; $Eigenschaft_nr++ )
19
    {
20
        $Feld = "Eigenschaft_" . $Eigenschaft_nr;
21
        $Felddaten = explode( ";", $web_rechte["online_shop"]["artikel"][$Feld] );
22
        if ( ( isset( $user_rechte["online_shop"]["artikel"][$Feld] ) ) and ( $Felddaten[1] ==
23
            "logistik" ) )
24
        {
25
            $Eigenschaften[] = $Eigenschaft_nr;
26
            $Eigenschaften_Namen[] = $Felddaten[0];
27
            $Eigenschaften_sel[$Eigenschaft_nr] = 0;
28
        }
29
    }
30
    $col_span += count( $Eigenschaften );
31
 
32
 
33
    $GLOBALS["ui"] = new Weban_Smarty();
34
    $GLOBALS["ui"]->compile_id = "Online-Shop|porto";
35
    $GLOBALS["ui"]->template_dir = "templates/porto";
36
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
37
    $GLOBALS["ui"]->use_sub_dirs = true;
38
 
39
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
40
    {
41
        $row_span += 2;
42
    }
43
    if ( isset( $user_rechte["online_shop"]["porto"]["beschreibung2"] ) )
44
    {
45
        $row_span++;
46
    }
47
 
48
    if ( $_GET["filter"] )
49
    {
50
        $_SESSION[$self]["filter"] = $_GET["filter"];
51
 
52
        $_SESSION[$self]["filter"]["shop"] = explode( ",", $_SESSION[$self]["filter"]["shop"] );
53
        if ( $_SESSION[$self]["filter"]["shop"][0] == "" )
54
        {
55
            unset( $_SESSION[$self]["filter"]["shop"] );
56
        }
57
    }
58
 
59
    if ( $_POST["new"] )
60
    {
61
        if ( ! $_SESSION[$self]["filter"]["zahlungsarten"] )
62
        {
63
            $z_id = 1;
64
        }
65
        else
66
        {
67
            $z_id = $_SESSION[$self]["filter"]["zahlungsarten"];
68
        }
69
        if ( ! $_SESSION[$self]["filter"]["Land"] )
70
        {
71
            $c_id = 47;
72
        }
73
        else
74
        {
75
            $c_id = $_SESSION[$self]["filter"]["Land"];
76
        }
77
        $sql .= "
78
            INSERT INTO
79
                shipment
80
            (
81
                Rang,
82
                name,
83
                gewicht_von,
84
                gewicht_bis,
85
                shop,
86
                wert_von,
87
                wert_bis,
88
                z_id,
89
                letzte_Aenderung_am,
90
                letzte_Aenderung_von
91
            )
92
            VALUES
93
            (
94
                1,
95
                'Neue Versandoption',
96
                0.00,
97
                0.00,
98
                '" . $_SESSION[$self]["filter"]["shop"][0] . "',
99
                0,
100
                0,
101
                $z_id,
102
                NOW(),
103
                '" . $_SERVER["PHP_AUTH_USER"] . "'
104
            )
105
        ";
106
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
107
            () . "<hr>$sql<hr>" );
108
        $v_id = mysql_insert_id();
109
        $sql = "
110
            INSERT INTO
111
                shipment_countries
112
            VALUES
113
            (
114
                " . $v_id . ",
115
                $c_id
116
            )
117
        ";
118
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
119
            () . "<hr>$sql<hr>" );
120
        foreach ( $Eigenschaften as $e_nr )
121
        {
122
            $e_val = 0;
123
            if ( $e_nr == $_SESSION[$self]["filter"]["Eigenschaften"] )
124
            {
125
                $e_val = 1;
126
            }
127
            $sql = "
128
                INSERT INTO
129
                    shipment_properties
130
                (
131
                    s_id,
132
                    property,
133
                    value
134
                )
135
                VALUES
136
                (
137
                    " . $v_id . ",
138
                    " . $e_nr . ",
139
                    $e_val
140
                )
141
            ";
142
            $result = mysql_query( $sql ) or die( mysql_errno() . ": " .
143
                mysql_error() . "<hr>$sql<hr>" );
144
        }
145
    } elseif ( $_POST["del"] )
146
    {
147
        $rang = array_keys( $_POST["shipment"]["rang"] );
148
        list( $ID, $Language ) = explode( ",", $rang[0] );
149
        $sql = "
150
            DELETE FROM
151
                shipment
152
            WHERE
153
                ID = $ID
154
        ";
155
        mysql_query( $sql );
156
    } elseif ( $_POST )
157
    {
158
        foreach ( array_keys( $_POST ) as $elem )
159
        {
160
            if ( ereg( "^preis", $elem ) )
161
            {
162
                //pre($_POST[$elem]);
163
                if ( ereg( "%$", $_POST[$elem] ) )
164
                {
165
                    $_POST[$elem] = abs( $_POST[$elem] ) * ( -1 );
166
                }
167
            }
168
        }
169
 
170
        $data = $_POST;
171
 
172
        foreach ( $data as $id => $value )
173
        {
174
            if ( ! is_array( $data[$id] ) )
175
            {
176
                if ( substr( $id, 0, 2 ) == "id" )
177
                {
178
                    $ids[$id] = $value;
179
                }
180
                //unset( $data[$id] );
181
            }
182
        }
183
 
184
        $r = $data["shipment"];
185
        $sql = "
186
            UPDATE
187
                shipment
188
            SET
189
                letzte_aenderung_am=NOW(),
190
                letzte_aenderung_von = '" . $_SERVER["PHP_AUTH_USER"] . "',
191
        ";
192
        foreach ( $r as $f => $v )
193
        {
194
            $werte[] = $f . "='" . $v . "'";
195
        }
196
        $sql .= implode( ",", $werte );
197
        unset( $werte );
198
        $sql .= "
199
            WHERE
200
                id=" . $ids["id_shipment"] . "
201
        ";
202
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
203
            () . "<hr>$sql<hr>" );
204
        $r = $data["shipment_countries"];
205
        $sql = "
206
            DELETE FROM
207
                shipment_countries
208
            WHERE
209
                s_id=" . $ids["id_shipment"] . "
210
        ";
211
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
212
            () . "<hr>$sql<hr>" );
213
        foreach ( $r as $id => $land )
214
        {
215
            $sql = "
216
                INSERT INTO
217
                    shipment_countries
218
                (
219
                    s_id,
220
                    c_id
221
                )
222
                VALUES
223
                (
224
                    " . $ids["id_shipment"] . ",
225
                    $land
226
                )
227
            ";
228
            $result = mysql_query( $sql ) or die( mysql_errno() . ": " .
229
                mysql_error() . "<hr>$sql<hr>" );
230
        }
231
        $r = $data["shipment_properties"];
232
        $sql = "
233
            DELETE FROM
234
                shipment_properties
235
            WHERE
236
                s_id=" . $ids["id_shipment"] . "
237
        ";
238
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
239
            () . "<hr>$sql<hr>" );
240
        foreach ( $r as $p_id => $p_value )
241
        {
242
            $sql = "
243
                REPLACE INTO
244
                    shipment_properties
245
                (
246
                    s_id,
247
                    property,
248
                    value
249
                )
250
                VALUES
251
                (
252
                    " . $ids["id_shipment"] . ",
253
                    $p_id,
254
                    $p_value
255
                )
256
            ";
257
            $result = mysql_query( $sql ) or die( mysql_errno() . ": " .
258
                mysql_error() . "<hr>$sql<hr>" );
259
        }
260
        $r = $data["zahlarten"];
261
        $sql = "
262
            UPDATE
263
                zahlungsarten
264
            SET
265
        ";
266
        foreach ( $r as $f => $v )
267
        {
268
            $werte[] = $f . "='" . $v . "'";
269
        }
270
        $sql .= implode( ",", $werte );
271
        unset( $werte );
272
        $sql .= "
273
            WHERE
274
                id=" . $ids["id_zahlart"] . "
275
        ";
276
        $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error
277
            () . "<hr>$sql<hr>" );
278
    }
279
 
280
    $sql = "
281
        SELECT
282
            *
283
        FROM
284
            shops
285
        ORDER BY
286
            ID
287
    ";
288
    $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error() .
289
        "<hr>$sql<hr>" );
290
    unset( $shops );
291
    $shops[""] = "";
292
    while ( $zeile = mysql_fetch_array( $result ) )
293
    {
294
        $shops[$zeile["ID"] . "," . $zeile["Language"]] = $zeile["Name"];
295
    }
296
 
297
    if ( $_SESSION[$self]["filter"]["shop"] )
298
    {
299
        $GLOBALS["ui"]->assign( "shop_sel", implode( ",", $_SESSION[$self]["filter"]["shop"] ) );
300
    }
301
 
302
    $felder = array( "s.id", "s.z_id" );
303
    if ( isset( $web_rechte["online_shop"]["artikel"]["kennung"] ) )
304
    {
305
        $felder[] = "s.kennung";
306
    }
307
    $felder[] = "s.rang";
308
    $felder[] = "z.beschreibung";
309
    $felder[] = "s.name";
310
    $felder[] = "s.interner_name";
311
    $felder[] = "z.textbaustein";
312
    $felder[] = "s.preis";
313
    if ( isset( $web_rechte["online_shop"]["porto"]["aufschlag"] ) )
314
    {
315
        $felder[] = "z.aufschlag";
316
    }
317
    if ( isset( $web_rechte["online_shop"]["porto"]["beschreibung2"] ) )
318
    {
319
        $felder[] = "z.textbaustein";
320
    }
321
    $felder[] = "s.gewicht_von";
322
    $felder[] = "s.gewicht_bis";
323
    $felder[] = "s.wert_von";
324
    $felder[] = "s.wert_bis";
325
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
326
    {
327
        //$felder[] = "versand_abschlag";
328
    }
329
    $felder[] = "letzte_aenderung_am";
330
    $felder[] = "letzte_aenderung_von";
331
    $sql = "
332
        SELECT
333
    ";
334
    $sql .= implode( ", ", $felder );
335
 
336
    $sql .= "
337
        FROM
338
            shipment s
339
    ";
340
    if ( $_SESSION[$self]["filter"]["Land"] )
341
    {
342
        $sql .= "
343
            JOIN
344
                shipment_countries sc
345
            ON
346
                sc.s_id=s.id
347
        ";
348
    }
349
    if ( $_SESSION[$self]["filter"]["Eigenschaften"] )
350
    {
351
        $sql .= "
352
            JOIN
353
                shipment_properties sp
354
            ON
355
                sp.s_id=s.id
356
        ";
357
    }
358
    $sql .= "
359
        JOIN
360
            zahlungsarten z
361
        ON
362
            s.z_id=z.id
363
        WHERE
364
            1
365
    ";
366
    if ( $_SESSION[$self]["filter"]["shop"] )
367
    {
368
        $sql .= "
369
            AND
370
                shop=" . $_SESSION[$self]["filter"]["shop"][0] . "
371
        ";
372
    }
373
    else
374
    {
375
        $sql .= "
376
            AND
377
                1=2
378
        ";
379
    }
380
    if ( $_SESSION[$self]["filter"]["zahlungsarten"] )
381
    {
382
        $sql .= "
383
            AND
384
                z.id='" . $_SESSION[$self]["filter"]["zahlungsarten"] . "'
385
    ";
386
    }
387
    if ( $_SESSION[$self]["filter"]["Eigenschaften"] )
388
    {
389
        $sql .= "
390
            AND
391
                property = " . $_SESSION[$self]["filter"]["Eigenschaften"] . "
392
            AND
393
                value=1
394
        ";
395
    }
396
    if ( $_SESSION[$self]["filter"]["Land"] )
397
    {
398
        $sql .= "
399
            AND
400
                sc.c_id=" . $_SESSION[$self]["filter"]["Land"] . "
401
        ";
402
    }
403
    if ( $_GET["edit"] )
404
    {
405
        $sql .= "
406
            AND
407
                s.id = " . $_GET["edit"] . "
408
        ";
409
        $GLOBALS["ui"]->assign( "file", "detail_neu.tpl" );
410
        $GLOBALS["ui"]->assign( "edit", true );
411
    }
412
    else
413
    {
414
        $GLOBALS["ui"]->assign( "file", "list_neu.tpl" );
415
    }
416
 
417
    $sql .= "
418
        ORDER BY
419
            Rang asc
420
    ";
421
    $result = mysql_query( $sql ) or die( mysql_errno() . ": " . mysql_error() );
422
    $zahlungsarten_sel = $_SESSION[$self]["filter"]["zahlungsarten"];
423
    $GLOBALS["ui"]->assign( "eigenschaften_sel", $_SESSION[$self]["filter"]["Eigenschaften"] );
424
    $GLOBALS["ui"]->assign( "land_sel", $_SESSION[$self]["filter"]["Land"] );
425
    while ( $zeile = mysql_fetch_assoc( $result ) )
426
    {
427
        $sql = "SELECT
428
                property,
429
                value
430
            FROM
431
                shipment_properties
432
            WHERE
433
                s_id=" . $zeile["id"] . "
434
        ";
435
        $res = mysql_query( $sql );
436
        while ( $row = mysql_fetch_assoc( $res ) )
437
        {
438
            $zeile["Eigenschaften"][] = $row["value"];
439
            $Eigenschaften_sel[$row["property"]] = ( int )$row["value"];
440
        }
441
        $zeile["key"] = $zeile["id"];
442
        $sql_c = "SELECT
443
                    c_id
444
                FROM
445
                    shipment_countries sc
446
                WHERE
447
                    s_id = " . $zeile["id"] . "
448
            ";
449
        $res_c = mysql_query( $sql_c );
450
        while ( $row_c = mysql_fetch_assoc( $res_c ) )
451
        {
452
            $zeile["countries"][] = $row_c["c_id"];
453
        }
454
        if ( $_GET["edit"] )
455
        {
456
            $zahlungsarten_sel_edit = $zeile["z_id"];
457
            $GLOBALS["ui"]->assign( "zahlungsarten_sel_edit", $zahlungsarten_sel_edit );
458
        }
459
        $artikel[] = $zeile;
460
    }
461
 
462
    $sql = "SELECT
463
            id,
464
            `name-ger`
465
        FROM
466
            content_management.countries
467
        ORDER BY
468
            `name-ger`
469
    ";
470
    $res = mysql_query( $sql, $localhost_dbh );
471
    echo mysql_error();
472
    while ( $row = mysql_fetch_assoc( $res ) )
473
    {
474
        $laender[$row["id"]] = $row["name-ger"];
475
        $laender_ids[$row["id"]] = $row["id"];
476
    }
477
    if ( ( $_GET["edit"] == $zeile["ID"] ) || $new == "true" )
478
    {
479
        $new = false;
480
    }
481
    if ( isset( $web_rechte["online_shop"]["porto"]["zahlungsarten"] ) )
482
    {
483
        $sql = "
484
            SELECT
485
                id,
486
                name,
487
                interner_name
488
            FROM
489
                zahlungsarten
490
        ";
491
        $res = mysql_query( $sql );
492
        while ( $row = mysql_fetch_assoc( $res ) )
493
        {
494
            $zahlungsarten[$row["id"]] = $row["name"];
495
        }
496
    }
497
 
498
    $GLOBALS["ui"]->assign( "shops", $shops );
499
    $GLOBALS["ui"]->assign( "zahlungsarten", $zahlungsarten );
500
    $GLOBALS["ui"]->assign( "zahlungsarten_sel", $zahlungsarten_sel );
501
    $GLOBALS["ui"]->assign( "new", $new );
502
    $GLOBALS["ui"]->assign( "row_span", $row_span );
503
    $GLOBALS["ui"]->assign( "col_span", $col_span );
504
    $GLOBALS["ui"]->assign( "Eigenschaften", $Eigenschaften );
505
    $GLOBALS["ui"]->assign( "Eigenschaften_sel", $Eigenschaften_sel );
506
    $GLOBALS["ui"]->assign( "Eigenschaften_Namen", $Eigenschaften_Namen );
507
    $GLOBALS["ui"]->assign( "laender", $laender );
508
    $GLOBALS["ui"]->assign( "laender_ids", $laender_ids );
509
    $GLOBALS["ui"]->assign( "artikel", $artikel );
510
    $GLOBALS["ui"]->assign( "kunde", $webs["kunde_bezeichnung"] );
511
    $GLOBALS["ui"]->assign( "webs", $webs );
512
    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
513
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
514
    $GLOBALS["ui"]->display( "page_neu.tpl" );
515
 
516
?>