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
 
3
    /**
4
     * @package   Kein Projekt geladen
5
     * @author     <>
6
     * @copyright 2009
7
     * @license   propietary http://www.weban.de
2 lars 8
     * @version   $Rev: 4258 $
1 lars 9
     * @filesource
10
     *
11
     */
12
 
13
    /**
14
     *
15
     * @package   Kein Projekt geladen
16
     * @author     <>
17
     * @copyright 2009
18
     */
19
 
20
    define( "FROM_BESTELLUNG", true );
2 lars 21
    // SVN: $Id: bestellung_formular.php 4258 2012-03-30 10:33:23Z tiefland $
1 lars 22
 
23
    if ( stristr( $_SERVER["HTTP_USER_AGENT"], "ipad" ) || stristr( $_SERVER["HTTP_USER_AGENT"],
24
        "iphone" ) )
25
    {
26
        $GLOBALS["ui"]->assign( "ipad", true );
27
    }
28
 
29
    require_once "includes/bestellungen/system/artikelDatabase.php";
30
    require_once "../Online-Shop/connect2.php";
31
    require_once "../includes/system/functions.lagerwirtschaft.php"; //PL
32
 
33
    $preise_anzeigen = 1;
34
    $preise_nicht_drucken = 0;
35
    $d_colspan = "";
36
 
37
    if ( isset( $web_rechte[modul_name][tool_name]["preise_anzeigen"] ) )
38
    {
39
        if ( !isset( $user_rechte[modul_name][tool_name]["preise_anzeigen"] ) )
40
        {
41
            // "<br>für bestimmte user preis verbergen";
42
            $preise_anzeigen = 0;
43
        }
44
    }
45
    if ( isset( $_POST["Bestellung"] ) )
46
    {
47
        $b_id = $_POST["Bestellung"];
48
    }
49
    else
50
    {
51
        $b_id = $_GET["Bestellung"];
52
    }
53
    bestellung_puffern( $b_id );
54
 
55
 
56
 
57
    //weban_debug(isset( $web_rechte["Warenwirtschaft"]["bestellung"]["adressbuch"] ));
58
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["adressbuch"] ) )
59
    {
60
        $sql = "SELECT
61
                ship_addr_id,
62
                bill_addr_id
63
            FROM
64
                Bestellung AS b
65
            WHERE
66
                b.ID=$b_id
67
        ";
68
        $res = mysql_query( $sql );
69
        $row = mysql_fetch_assoc( $res );
70
        $bill_addr_id = $row["bill_addr_id"];
71
        $ship_addr_id = $row["ship_addr_id"];
72
        if ( $bill_addr_id )
73
        {
74
            $sql = "SELECT
75
                    Anrede,
76
                    Vorname,
77
                    Nachname AS Name1,
78
                    Firma AS Name2,
79
                    Strasse1 AS Strasse,
80
                    Str_Nr1 AS Hausnummer,
81
                    strasse2,
82
                    PLZ,
83
                    Ort AS ORT,
84
                    country AS Land,
85
                    comment
86
                FROM
87
                    adresse AS a
88
                JOIN
89
                    countries AS c
90
                ON
91
                    c.ID=a.Land
92
                WHERE
93
                    a.id = $bill_addr_id
94
            ";
95
            $res = mysql_query( $sql );
96
            $bill_addr = mysql_fetch_assoc( $res );
97
        }
98
        if ( $ship_addr_id )
99
        {
100
            $sql = "SELECT
101
                    Anrede AS liefer_Anrede,
102
                    Vorname AS liefer_Vorname,
103
                    Nachname AS liefer_Name,
104
                    Firma AS liefer_Firma,
105
                    Strasse1 AS liefer_Strasse,
106
                    Str_Nr1 AS liefer_Str_Nr,
107
                    strasse2 AS liefer_strasse2,
108
                    PLZ AS liefer_PLZ,
109
                    Ort AS liefer_Ort,
110
                    country AS liefer_Land,
111
                    comment AS liefer_comment
112
                FROM
113
                    adresse AS a
114
                JOIN
115
                    countries AS c
116
                ON
117
                    c.ID=a.Land
118
                WHERE
119
                    a.id = $ship_addr_id
120
            ";
121
            $res = mysql_query( $sql );
122
            $ship_addr = mysql_fetch_assoc( $res );
123
        }
124
    }
125
    $sql = "
126
            SELECT
127
                b.*,
128
				-- l.Status,
129
				-- l.user,
130
				-- l.passwd,
131
				l.Telefon,
132
				l.Fax,
133
				l.E_Mail,
134
    ";
135
    if ( !isset( $web_rechte["Warenwirtschaft"]["bestellung"]["adressbuch"] ) )
136
    {
137
        $sql .= "
138
				l.Anrede,
139
				l.Vorname,
140
				l.Name1,
141
				l.Name2,
142
				l.Strasse,
143
				l.Hausnummer,
144
				l.PLZ,
145
				l.ORT,
146
				l.Land,
147
				l.AP_Name,
148
				l.AP_Handy,
149
				l.AP_Bemerkung,
150
        ";
151
    }
152
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["waehrung"] ) )
153
    {
154
        $sql .= "
155
                c.locale,
156
        ";
157
    }
158
    if ( $bestellarten )
159
    {
160
        $sql .= "
161
                ba.name AS Bestellart,
162
        ";
163
    }
164
    $sql .= "
165
                s.Name AS shop,
166
                s.ID AS shops_ID,
167
                b.gesamtsumme_buffer
168
            FROM
169
				Bestellung AS b,
170
    ";
171
    if ( $bestellarten )
172
    {
173
        $sql .= "
174
                bestellart AS ba,
175
        ";
176
    }
177
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["waehrung"] ) )
178
    {
179
        $sql .= "
180
                currencies c,
181
        ";
182
    }
183
    $sql .= "
184
				Logins AS l,
185
                shops AS s
186
    ";
187
    $sql .= "
188
            WHERE
189
				b.ID = $Bestellung
190
            AND
191
				l.ID = b.Login
192
            AND
193
                s.ID = b.shops_ID
194
    ";
195
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["waehrung"] ) )
196
    {
197
        $sql .= "
198
            AND
199
                c.id=b.currency
200
        ";
201
    }
202
    if ( $bestellarten )
203
    {
204
        $sql .= "
205
            AND
206
                ba.ID=b.bestellart_id
207
        ";
208
    }
209
    $res = mysql_query( $sql );
210
    if ( !$res )
211
    {
212
        echo weban_debug( mysql_error() . "<br>$sql" );
213
    }
214
    $row = mysql_fetch_assoc( $res );
215
    $zeile = $row;
216
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["adressbuch"] ) )
217
    {
218
        $row = array_merge( $row, $bill_addr, $ship_addr );
219
    }
220
    /*if ( isset( $user_rechte["Warenwirtschaft"]["bestellung"]["fremd_id"] ) &&
221
    $zeile["fremd_id"] )
222
    {*/
223
    $d_colspan = "colspan=\"2\"";
224
    //}
225
    $row["kk_info"] = unserialize( $row["kk_info"] );
226
    $row["kk_summe"] = $row["gesamtsumme_buffer"] * 100;
227
    $daten["Bestellung"] = $row;
228
    $daten["Bestellung"]["artikel"] = array();
229
    $Userdata = $zeile;
230
    $bufferLand = $row["liefer_Land"];
231
    if ( empty( $bufferLand ) )
232
    {
233
        $bufferLand = $row["Land"];
234
    }
235
 
236
    $versandItems = getVersandItems( $row["shops_ID"], $row["Language"], $bufferLand );
237
 
238
    //var_dump($versandItems);
239
 
240
    if ( $versandItems != array() )
241
    {
242
        $daten["Versand"] = array();
243
        $daten["Versand"][] = "";
244
        foreach ( $versandItems as $versandOption )
245
        {
2 lars 246
            $daten["Versand"][base64_encode( serialize( $versandOption ) )] = $versandOption["kurz"];
1 lars 247
        }
248
    }
249
 
250
    $erstellt_am = datetime2human( $zeile["erstellt_am"] );
251
    $Datum = $erstellt_am["Datum"];
252
    $Zeit = $erstellt_am["Zeit"];
253
    $Username = $_SERVER["PHP_AUTH_USER"];
254
    $Username_text = $_SESSION["USERNAME"];
255
    $Auftragsnummer = $Bestellung;
256
    $Heute = date( "d.m.Y" );
257
    $jetzt = date( "H:i" );
258
 
259
    $BestellID = $row["ID"];
260
    $shops_ID = $row["shops_ID"];
261
    $Artikelliste = createOrderText( $BestellID, $shops_ID );
262
    $Artikelliste_html = createOrderText_html( $BestellID, $shops_ID );
263
    $Artikelliste_html_v2 = createOrderText_html_v2( $BestellID, $shops_ID );
264
    $Bestellwert_brutto = Bestellwert_brutto( $BestellID, $shops_ID );
265
 
266
    if ( $bestellart )
267
    {
268
        $query = "
269
            SELECT
270
                *
271
            FROM
272
                $settings_table
273
            WHERE
274
                bestellart_id=" . $zeile["bestellart_id"] . "
275
            AND
276
                shops_ID = $shops_ID
277
            ORDER BY
278
                Rang";
279
    }
280
    else
281
    {
282
        $query = "
283
            SELECT
284
                *
285
            FROM
286
                $settings_table
287
            WHERE
288
                shops_ID = $shops_ID
289
            ORDER BY
290
                Rang";
291
    }
292
 
293
    $result_w = mysql_query_logged( $query ) or die( mysql_errno() . ": " .
294
        mysql_error() . "<hr>$query<hr>" );
295
    if ( !mysql_num_rows( $result_w ) && $bestellart )
296
    {
297
        $query = "SELECT
298
                *
299
            FROM
300
                $settings_table
301
            WHERE
302
                shops_ID = $shops_ID
303
            AND
304
                bestellart_id=1
305
            ORDER BY
306
                Rang
307
        ";
2 lars 308
        $result_w = mysql_query_logged( $query ) or die( mysql_errno() . ": " .
309
            mysql_error() . "<hr>$query<hr>" );
1 lars 310
    }
311
    while ( $zeile_w = mysql_fetch_assoc( $result_w ) )
312
    {
313
        //        $web_settings[$zeile_w["shops_ID"]][$zeile_w["ID"]] = $zeile_w["Inhalt"];
314
        $buffer = $zeile_w["Inhalt"];
315
        $wsID = $zeile_w["ID"];
316
        if ( $wsID != 1000 )
317
        {
318
            if ( strpos( $buffer, '"' ) !== false )
319
            {
320
                $buffer = str_replace( '"', "***", $buffer );
321
            }
322
            @eval( "\$buffer=\"$buffer\";" );
323
            if ( strpos( $buffer, '***' ) !== false )
324
            {
325
 
326
                $buffer = str_replace( '***', '"', $buffer );
327
            }
328
        }
329
        $web_settings[$shops_ID][$wsID] = rawurlencode( $buffer );
330
    }
331
 
332
    $summe = 0;
333
    $runner = 0;
334
    $mahnungStatus = 0;
335
    $garantieStatus = 0;
336
    if ( isset( $web_rechte['Warenwirtschaft']['bestellung']['mahnungStatus'] ) &&
337
        $web_rechte['Warenwirtschaft']['bestellung']['mahnungStatus'] )
338
    {
339
        $mahnungStatus = 1;
340
    }
341
    if ( isset( $web_rechte['Warenwirtschaft']['bestellung']['garantieStatus'] ) &&
342
        $web_rechte['Warenwirtschaft']['bestellung']['garantieStatus'] )
343
    {
344
        $garantieStatus = 1;
345
    }
346
 
347
 
2 lars 348
    $cmd_buttons = array(
349
        array(
350
            'O',
351
            'offen',
352
            'status_red',
353
            'artikelStatus',
354
 
355
        array(
356
            'B',
357
            'in Bearbeitung',
358
            'status_yellow',
359
            'artikelStatus',
360
 
361
        array(
362
            'R',
363
            'reserviert',
364
            'status_blue',
365
            'artikelStatus',
366
 
367
        array(
368
            'E',
369
            'erledigt',
370
            'status_green',
371
            'artikelStatus',
372
 
373
        array(
374
            'A',
375
            'abgeschlossen',
376
            'status_white',
377
            'artikelStatus',
378
 
379
        str_repeat( "&nbsp;", 3 ),
380
        array(
381
            'S',
382
            'schreiben',
383
            'status_red',
384
            'rechnungStatus',
385
            6 ),
386
        array(
387
            'G',
388
            'geschrieben',
389
            'status_yellow',
390
            'rechnungStatus',
391
            6 ),
392
        array(
393
            'B',
394
            'bezahlt',
395
            'status_green',
396
            'rechnungStatus',
397
            6 ),
398
        str_repeat( "&nbsp;", 3 ),
399
        array(
400
            'S',
401
            'schreiben',
402
            'status_yellow',
403
            'lieferscheinStatus',
404
 
405
        array(
406
            'G',
407
            'geschrieben',
408
            'status_green',
409
            'lieferscheinStatus',
410
 
411
        array(
412
            'O',
413
            'offen',
414
            'status_red',
415
            'lieferscheinStatus',
416
 
417
        str_repeat( "&nbsp;", 3 ),
418
        array(
419
            '1',
420
            'mahnung1',
421
            'status_green',
422
            'mahnungStatus',
423
 
424
        array(
425
            '2',
426
            'mahnung2',
427
            'status_yellow',
428
            'mahnungStatus',
429
 
430
        array(
431
            '3',
432
            'mahnung3',
433
            'status_red',
434
            'mahnungStatus',
435
 
436
        str_repeat( "&nbsp;", 3 ),
437
        array(
438
            'E',
439
            'eingereicht',
440
            'status_red',
441
            'garantieStatus',
442
 
443
        array(
444
            'A',
445
            'abgeschlossen',
446
            'status_green',
447
            'garantieStatus',
448
 
449
        );
1 lars 450
 
451
 
452
    $user_rechte[modul_name][tool_name]["artikelStatus"] = &$user_rechte[modul_name][tool_name]["status"];
453
 
454
 
455
    foreach ( array_keys( $cmd_buttons ) as $buttonIndex )
456
    {
457
        if ( ( !isset( $user_rechte[modul_name][tool_name][$cmd_buttons[$buttonIndex][3]] ) ) and
458
            ( is_array( $cmd_buttons[$buttonIndex] ) ) )
459
        {
460
            unset( $cmd_buttons[$buttonIndex] );
461
        }
462
    }
463
 
464
    if ( !isset( $filter["shops_ID"] ) )
465
    {
466
        $filter["shops_ID"] = "alle";
467
    }
468
    if ( $filter["shops_ID"] != "alle" )
469
    {
470
        $shopsIDaddOn = " and s.ID = " . $filter["shops_ID"];
471
    }
472
 
473
 
474
    // ME:
475
    //existiert das Feld 'option_eingabe'?
476
    $fields = mysql_list_fields( $webs['datenbank'], 'artikel_to_Bestellung' );
477
    $columns = mysql_num_fields( $fields );
478
    for ( $i = 0; $i < $columns; $i++ )
479
    {
480
        $field_array[] = mysql_field_name( $fields, $i );
481
    }
482
    if ( in_array( 'option_eingabe', $field_array ) )
483
    {
484
        $option_eingabe = "ab.option_eingabe,";
485
    }
486
 
487
    $fields = mysql_list_fields( $webs['datenbank'], 'artikel_to_Bestellung' );
488
    $columns = mysql_num_fields( $fields );
489
    for ( $i = 0; $i < $columns; $i++ )
490
    {
491
        $field_array[] = mysql_field_name( $fields, $i );
492
    }
493
    if ( in_array( 'option_eingabe', $field_array ) )
494
    {
495
        $option_eingabe = "ab.option_eingabe,";
496
    }
497
 
498
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["artikel_sortieren"] ) )
499
    {
500
 
501
 
502
        $sql_a = "SELECT
503
                ab.ID as ab_id,
504
                $option_eingabe
505
                ab.status,
506
                ab.Preis_pro_Stueck,
507
                ab.Menge,
508
                ab.Bezeichnung,
509
                ab.Bestellung,
510
                ab.rechnungstatus,
511
                ab.lieferscheinStatus,
512
                b.gesamtsumme_buffer,
513
                a.short_line_1,
514
        ";
515
        if ( $option_eingabe )
516
        {
517
            $sql_a .= $option_eingabe;
518
        }
519
        if ( $mahnungStatus )
520
        {
521
            $sql_a .= "ab.mahnungStatus,";
522
        }
523
        if ( $garantieStatus )
524
        {
525
            $sql_a .= "ab.garantieStatus,";
526
        }
527
        $sql_a .= "
528
                a.kennung,
529
                ab.artikel,
530
                ifnull(a.Father, 1) as Father,
531
                a.kurzbezeichnung,
532
                ab.Rang as ab_Rang
533
            FROM
534
                shops AS s
535
            JOIN
536
                artikel_to_Bestellung AS ab
537
            JOIN
538
                Bestellung AS b
539
            LEFT JOIN
2 lars 540
                " . artikelDatabase( $daten["Bestellung"]["shops_ID"] ) . " AS a
1 lars 541
            ON
542
                ab.artikel=a.ID
543
            AND
544
                a.language=b.Language
545
            WHERE
546
                b.ID = " . $daten["Bestellung"]["ID"] . "
547
            AND
548
                ab.Bestellung = b.ID
549
            AND
550
                s.ID = b.shops_ID
551
            ORDER BY
552
                Father desc,
553
                ab.Rang,
554
                a.Kennung
555
        ";
556
    }
557
    else
558
    {
559
        $sql_a = "SELECT
560
                ab.ID as ab_id,
561
                ab.status,
562
                ab.Preis_pro_Stueck,
563
                ab.Menge,
564
                ab.Bezeichnung,
565
                ab.Bestellung,
566
                ab.rechnungstatus,
567
                ab.lieferscheinStatus,
568
                b.gesamtsumme_buffer,
569
                a.short_line_1,
570
                b.language,
571
        ";
572
 
573
        if ( $option_eingabe )
574
        {
575
            $sql_a .= $option_eingabe;
576
        }
577
        if ( $mahnungStatus )
578
        {
579
            $sql_a .= "ab.mahnungStatus,";
580
        }
581
        if ( $garantieStatus )
582
        {
583
            $sql_a .= "ab.garantieStatus,";
584
        }
585
 
586
        $sql_a .= "
587
                a.kennung,
588
                $option_eingabe
589
                ab.artikel,
590
                ifnull(a.Father, 1) as Father,
591
                a.kurzbezeichnung,
592
                a.preis1,
593
                b.erstellt_am
594
            FROM
595
                shops AS s
596
            JOIN
597
                artikel_to_Bestellung AS ab
598
            JOIN
599
                Bestellung AS b
600
            LEFT JOIN
2 lars 601
                " . artikelDatabase( $daten["Bestellung"]["shops_ID"] ) . " AS a
1 lars 602
            ON
603
                ab.artikel=a.ID
604
            AND
605
                a.language=b.Language
606
            WHERE
607
                b.ID = " . $daten["Bestellung"]["ID"] . "
608
            AND
609
                ab.Bestellung = b.ID
610
            AND
611
                s.ID = b.shops_ID
612
            ORDER BY
613
                Father desc,
614
                a.Kennung
615
        ";
616
    }
617
 
618
    $itemList = array();
619
    unset( $Versand_Artikel );
2 lars 620
    $res_a = mysql_query( $sql_a ) or die( mysql_errno() . ": " . mysql_error() .
621
        "<hr>" . nl2br( $sql_a ) . "<hr>" );
1 lars 622
    $count = mysql_num_rows( $res_a );
623
    while ( $row_a = mysql_fetch_assoc( $res_a ) )
624
    {
625
        if ( $row_a['option_eingabe'] )
626
        {
627
            $row_a["option_eingabe"] = unserialize( $row_a['option_eingabe'] );
628
            $row_a["option_eingabe"] = buildCustomTextEmail( $row_a["option_eingabe"],
629
                1 );
630
        }
631
        $sql_h = "SELECT
632
                hk.Name
633
            FROM
2 lars 634
                " . artikelDatabase( $daten["Bestellung"]["shops_ID"] ) . " a
1 lars 635
            LEFT JOIN
636
                Herstellerkatalog AS hk
637
            ON
638
                hk.ID=a.Hersteller
639
            WHERE
640
                a.ID=" . $row_a["artikel"] . "
641
            AND
642
                a.languge='" . $row_a["language"] . "'
643
        ";
644
        $res_h = mysql_query( $sql_h );
645
        if ( $res_h )
646
        {
647
            $row_h = mysql_fetch_assoc( $res_h );
648
            $row_a["hersteller"] = $row_h["Name"];
649
        }
650
 
651
        $sql_e2 = "
652
            SHOW
653
                COLUMNS
654
            FROM
655
                eBay_Bestellung
656
        ";
657
        $res_e2 = mysql_query( $sql_e2 );
658
        if ( $res_e2 )
659
        {
660
            for ( $i = 0; $row_e2 = mysql_fetch_assoc( $res_e2 ); $i++ )
661
            {
662
                $felder_eb[$i] = $row_e2['Field'];
663
            }
664
 
665
            if ( in_array( 'a2b_ID', $felder_eb ) )
666
            {
667
                $sql_e = "SELECT
668
                        eb.eBay_Auktionen_ID AS ebay_art_id
669
                    FROM
670
                        eBay_Bestellung AS eb
671
                    JOIN
672
                        artikel_to_Bestellung AS a2b
673
                    ON
674
                        eb.a2b_ID = a2b.ID
675
                    WHERE
676
                        eb.a2b_ID=" . $row_a["ab_id"] . "
677
                    AND
678
                        a2b.artikel != 1
679
		        ";
680
 
681
                $res_e = mysql_query( $sql_e );
682
                if ( $res_e )
683
                {
684
                    $row_e = mysql_fetch_assoc( $res_e );
685
                    $row_a["ebay_art_id"] = $row_e["ebay_art_id"];
686
                }
687
            }
688
            else
689
            {
690
                $sql_e = "SELECT
691
                        eBay_Auktionen_ID AS ebay_art_id
692
                    FROM
693
                        eBay_Bestellung,
694
                        artikel_to_Bestellung
695
                    WHERE
696
                        Bestellung_ID =" . $row_a["Bestellung"] . "
697
                    AND
698
                        artikel_to_Bestellung.artikel != 1
699
                ";
700
 
701
                $res_e = mysql_query( $sql_e );
702
                if ( $res_e )
703
                {
704
                    $row_e = mysql_fetch_assoc( $res_e );
705
                    $row_a["ebay_art_id"] = $row_e["ebay_art_id"];
706
                }
707
            }
708
 
709
        }
710
 
711
 
712
 
713
        if ( $row_a["Father"] <= 0 || @stristr( $row_a["kurzbezeichnung"], $row_a["hersteller"] ) )
714
        {
715
            unset( $row_a["hersteller"] );
716
        }
717
 
718
        // PL: Bestandskennzeichnung
719
        if ( isset( $web_rechte['Warenwirtschaft']['lagerwirtschaft']['lagerwirtschaft'] ) )
720
        {
721
            $row_a['bestandsmenge'] = getBestandsmenge( $row_a["artikel"] );
722
        }
723
        $daten["Bestellung"]["artikel"][] = $row_a;
724
 
725
    }
726
 
727
    $sql_g = "SELECT
728
            ab.*,
729
            b.erstellt_am,
730
            a.short_line_2
731
        FROM
732
            artikel_to_Bestellung ab
733
        LEFT JOIN
734
				" . artikelDatabase( $daten["Bestellung"]["shops_ID"] ) . " AS a
735
        ON
736
            ab.artikel = a.ID
737
        LEFT JOIN
738
            Bestellung b
739
        ON
740
            b.ID = ab.Bestellung
741
        WHERE
742
            ab.Bestellung = " . $daten["Bestellung"]["ID"] . "
743
        AND
744
            a.Father = -5
745
        AND
746
            ab.status IN ('offen','in Bearbeitung')
747
        LIMIT 1
748
    ";
749
    $res_g = mysql_query( $sql_g );
750
    $row_g = mysql_fetch_assoc( $res_g );
751
    if ( $row_g )
752
    {
753
        $gs = true;
754
        $gutschein["name"] = $row_g["Bezeichnung"];
755
        $days = 1905;
756
        if ( $row_g["short_line_2"] )
757
        {
758
            $days = $row_g["short_line_2"];
759
        }
760
        $gutschein["gueltig"] = date( "d.m.Y", strtotime( $days . " days",
761
            strtotime( $row_g["erstellt_am"] ) ) );
762
        $gutschein["anfangswert"] = $row_g["Preis_pro_Stueck"];
763
        $GLOBALS["ui"]->assign( "gs", $gs );
764
        $gutschein["gs_artikel"] = $row_g["ID"];
765
        $gutschein["gs_a_status"] = $row_g["status"];
766
        $gutschein["gs_a_status_k"] = ( $row_g["status"] == "offen" ) ? "O" :
767
            "B";
768
        $GLOBALS["ui"]->assign( "gutschein", $gutschein );
769
    }
770
    //var_dump( $daten );
2 lars 771
    $daten["artikel_stati"] = array(
772
        array(
773
            "name" => "offen",
774
            "short" => "O",
775
            "class" => "status_red" ),
776
        array(
777
            "name" => "in Bearbeitung",
778
            "short" => "B",
779
            "class" => "status_yellow",
780
            ),
781
        array(
782
            "name" => "reserviert",
783
            "short" => "R",
784
            "class" => "status_blue",
785
            ),
786
        array(
787
            "name" => "erledigt",
788
            "short" => "E",
789
            "class" => "status_green",
790
            ),
791
        array(
792
            "name" => "abgeschlossen",
793
            "short" => "A",
794
            "class" => "status_white",
795
            ),
796
        );
797
    $daten["rechnung_stati"] = array(
798
        array(
799
            "name" => "schreiben",
800
            "short" => "S",
801
            "class" => "status_red" ),
802
        array(
803
            "name" => "geschrieben",
804
            "short" => "G",
805
            "class" => "status_yellow",
806
            ),
807
        array(
808
            "name" => "bezahlt",
809
            "short" => "B",
810
            "class" => "status_green",
811
            ),
812
        );
813
    $daten["lieferschein_stati"] = array(
814
        array(
815
            "name" => "schreiben",
816
            "short" => "S",
817
            "class" => "status_yellow" ),
818
        array(
819
            "name" => "geschrieben",
820
            "short" => "G",
821
            "class" => "status_green",
822
            ),
823
        array(
824
            "name" => "offen",
825
            "short" => "O",
826
            "class" => "status_red",
827
            ),
828
        );
829
    $daten["mahnung_stati"] = array(
830
        array(
831
            "name" => "mahnung1",
832
            "short" => "1",
833
            "class" => "status_green" ),
834
        array(
835
            "name" => "mahnung2",
836
            "short" => "2",
837
            "class" => "status_yellow",
838
            ),
839
        array(
840
            "name" => "mahnung3",
841
            "short" => "3",
842
            "class" => "status_red",
843
            ),
844
        );
845
    $daten["garantie_stati"] = array(
846
        array(
847
            "name" => "eingereicht",
848
            "short" => "E",
849
            "class" => "status_red" ),
850
        array(
851
            "name" => "abgeschlossen",
852
            "short" => "A",
853
            "class" => "status_green",
854
            ),
855
        );
1 lars 856
 
857
    // Modul dokumente
858
    $Feld = "dokument";
859
 
860
    // Modconf => Bestellung
2 lars 861
    $moduleTyp[tool_name] = array(
862
        "table_foreign" => "Bestellung",
863
        "row_foreign" => "ID",
864
        "data_foreign" => "ID" );
1 lars 865
 
2 lars 866
    $interneModulRechte = array(
867
 
868
        1 => "_delete",
869
        2 => "_add" );
1 lars 870
 
871
    $daten["dokPath"] = "http://www.$site/images/dokumente/";
872
    $uploadPath = $webs['verzeichnis'] . "/images/dokumente/";
873
 
874
    if ( isset( $user_rechte[modul_name][tool_name][$Feld . $interneModulRechte[0]] ) )
875
    {
876
        $docCount = 1;
877
        $sql_d = "
878
            SELECT
879
                *
880
            FROM
881
                dokumente
882
            WHERE
883
                table_foreign = 'Bestellung'
884
            AND
885
                row_foreign = 'ID'
886
            AND
887
                data_foreign = '" . $row['ID'] . "'
888
            AND
889
                hidden=0
890
            ORDER BY
891
                letzte_aenderung_am
892
        ";
2 lars 893
        $result_d = mysql_query_logged( $sql_d ) or die( mysql_errno() . ": " .
894
            mysql_error() . "<hr>" . nl2br( $sql_d ) . "<hr>" );
1 lars 895
        $daten["add_document"] =
896
            "window.open('../dokumente/index.php?table_foreign=" . $moduleTyp[tool_name]['table_foreign'] .
897
            "&row_foreign=" . $moduleTyp[tool_name]['row_foreign'] .
898
            "&data_foreign=" . $row[$moduleTyp[tool_name]['data_foreign']] .
899
            "#', 'DokumentUpload', 'status, menubar, height=110, width=500');return false;";
900
        if ( mysql_num_rows( $result_d ) > 0 )
901
        {
902
            while ( $zeile_d = mysql_fetch_array( $result_d ) )
903
            {
904
                // Dateityp Icon definieren
905
                $fTmpName = $zeile_d['document'];
906
                $daten["dokumente"][$docCount - 1]["nr"] = $docCount;
907
                $daten["dokumente"][$docCount - 1]["id"] = $zeile_d['id'];
908
                $daten["dokumente"][$docCount - 1]["name"] = $fTmpName;
909
                $daten["dokumente"][$docCount - 1]["date"] = $zeile_d["letzte_aenderung_am"];
910
                $author = $zeile_d["letzte_aenderung_von"];
911
                $pos = strpos( $author, "@" );
912
                if ( $pos !== false )
913
                {
914
                    $author = substr( $zeile_d["letzte_aenderung_von"], 0, $pos );
915
                }
916
 
917
                $daten["dokumente"][$docCount - 1]["author"] = $author;
918
                $daten["dokumente"][$docCount - 1]["add_document"] =
919
                    "window.open('../dokumente/index.php?table_foreign=" . $moduleTyp[tool_name]['table_foreign'] .
920
                    "&row_foreign=" . $moduleTyp[tool_name]['row_foreign'] .
921
                    "&data_foreign=" . $row[$moduleTyp[tool_name]['data_foreign']] .
922
                    "#', 'DokumentUpload', 'status, menubar, height=110, width=500');return false;";
923
                $daten["dokumente"][$docCount - 1]["del_document"] =
2 lars 924
                    "window.open('../dokumente/index.php?action=unlink&id=" . $zeile_d['id'] .
925
                    "&table_foreign=" . $moduleTyp[tool_name]['table_foreign'] .
1 lars 926
                    "&row_foreign=" . $moduleTyp[tool_name]['row_foreign'] .
927
                    "&data_foreign=" . $row[$moduleTyp[tool_name]['data_foreign']] .
928
                    "#', 'DokumentUpload', 'status, menubar, height=110, width=500');return false;";
929
 
930
                $daten["dokumente"][$docCount - 1]["type"] = strtolower( substr
931
                    ( $fTmpName, strrpos( $fTmpName, "." ) + 1, strlen( $fTmpName ) ) );
932
                $start = substr( $zeile_d['document'], 0, 1 );
933
                $no_delete = array( "R", "L" );
934
                if ( in_array( $start, $no_delete ) )
935
                {
936
                    $daten["dokumente"][$docCount - 1]["deleteable"] = false;
937
                }
938
                else
939
                {
940
                    $daten["dokumente"][$docCount - 1]["deleteable"] = true;
941
                }
942
                $fTmpLinkIcon = "../dokumente/gfx/fileicons/" . $daten["dokumente"][$docCount -
943
                    1]["type"] . ".gif";
944
                $fTmpIcon =
945
                    "/web/apache/content-management/dokumente/gfx/fileicons/" .
946
                    $daten["dokumente"][$docCount - 1]["type"] . ".gif";
947
                $daten["dokumente"][$docCount - 1]["size"] = @filesize( $uploadPath .
948
                    $fTmpName );
949
                $daten["dokumente"][$docCount - 1]["icon"] = file_exists( $fTmpIcon ) ?
950
                    $fTmpLinkIcon : "../dokumente/gfx/fileicons/default.gif";
951
                $docCount++;
952
            }
953
        }
954
    }
955
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["mail_client"] ) )
956
    {
957
        $i = 0;
958
        $mailData[$zeile["ID"]][$i]['mailto'] = $zeile["E_Mail"];
959
        $FelddatenII = explode( ";", $web_rechte["Warenwirtschaft"]["bestellung"]["mail_client"] );
960
        if ( $FelddatenII[0] == "websettingid" )
961
        {
962
            $mailData[$zeile["ID"]][$i]['mailfrom'] = $web_settings[$zeile["shops_ID"]][$FelddatenII[1]];
963
        }
964
        if ( isset( $web_settings[$zeile["shops_ID"]][198] ) )
965
        {
966
            $mailData[$zeile["ID"]][$i]['subject'] = $web_settings[$zeile["shops_ID"]][198];
967
        }
968
        if ( isset( $web_settings[$zeile["shops_ID"]][199] ) )
969
        {
970
            $mailData[$zeile["ID"]][$i]['body'] = $web_settings[$zeile["shops_ID"]][199];
971
        }
2 lars 972
        $mailData[$zeile["ID"]][$i]['inTextField'] = "Sonstige E-Mail von " . $_SERVER["PHP_AUTH_USER"] .
973
            " am " . date( "d.m.Y" ) . " um " . date( "H:i" ) . " Uhr veschickt" .
974
            '\n';
1 lars 975
    }
976
    for ( $i = 1; $i <= 15; $i++ )
977
    {
978
        if ( isset( $web_rechte[modul_name][tool_name]["button" . $i] ) )
979
        {
980
            $Felddaten = explode( ";", $web_rechte[modul_name][tool_name]["button" .
981
                $i] );
982
            if ( isset( $user_rechte[modul_name][tool_name]["button" . $i] ) and
983
                ( $web_settings[$zeile["shops_ID"]][$Felddaten[1]] ) )
984
            {
985
                // Mail Client dazuschalten (Markus 02.07.207)
986
                $buttonType = isset( $web_rechte["Warenwirtschaft"]["bestellung"]["mail_client"] ) ?
987
                    "button" : "submit";
988
                if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["mail_client"] ) )
989
                {
990
                    $mailData[$zeile["ID"]][$i]['subject'] = $web_settings[$zeile["shops_ID"]][$Felddaten[1]];
991
                    $mailData[$zeile["ID"]][$i]['body'] = $web_settings[$zeile["shops_ID"]][$Felddaten[2]];
2 lars 992
                    $mailData[$zeile["ID"]][$i]['inTextField'] = rawurldecode( $web_settings[$zeile["shops_ID"]][$Felddaten[3]] );
1 lars 993
                    $mailData[$zeile["ID"]][$i]['mailto'] = $zeile["E_Mail"];
994
                    $FelddatenII = explode( ";", $web_rechte["Warenwirtschaft"]["bestellung"]["mail_client"] );
995
                    if ( $FelddatenII[0] == "websettingid" )
996
                    {
997
                        $mailData[$zeile["ID"]][$i]['mailfrom'] = $web_settings[$zeile["shops_ID"]][$FelddatenII[1]];
998
                    }
999
 
1000
                    $_SESSION['mailData'] = $mailData;
1001
 
1002
                    if ( $_SERVER["REMOTE_ADDR"] == "89.245.130.99" )
1003
                    {
1004
                        //print_r($web_settings[1]);
1005
                    }
1006
 
1007
                    /*$onClick = "window.open('MailClient/index.php?mailto=" . $zeile[E_Mail] .
1008
                    "&subject=" . $web_settings[$zeile[shops_ID]][$Felddaten[1]] . "&body=" . $web_settings[$zeile[shops_ID]][$Felddaten[2]] .
1009
                    "&inTextField=" . $web_settings[$zeile[shops_ID]][$Felddaten[3]] .
1010
                    "', 'MailClient', 'status, menubar, height=600, width=900');";*/
1011
                    $onSubmit = "window.open('MailClient/index.php?id=$i&Bestellung=" .
1012
                        $zeile["ID"] . "&shop=" . $zeile["shops_ID"] .
1013
                        "&button=" . $Felddaten[0] .
1014
                        "', 'MailClient', 'status, menubar, height=600, width=900, scrollbars=yes');";
1015
                    $onClick = $onSubmit;
1016
                }
1017
                else
1018
                {
1019
                    $onClick = "MM_goToURL('parent','mailto:" . $zeile["E_Mail"] .
1020
                        "?subject=" . $web_settings[$zeile["shops_ID"]][$Felddaten[1]] .
1021
                        "&body=" . $web_settings[$zeile["shops_ID"]][$Felddaten[2]] .
1022
                        "'); inTextfeld('" . rawurldecode( $web_settings[$zeile["shops_ID"]][$Felddaten[3]] ) .
1023
                        "');";
1024
                }
2 lars 1025
                $daten["buttons"][] = array(
1026
                    "type" => $buttonType,
1027
                    "name" => "update[list]",
1028
                    "class" => "status_red",
1029
                    "onClick" => $onClick,
1 lars 1030
                    "value" => $Felddaten[0] );
1031
            }
1032
        }
1033
    }
1034
 
1035
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
1036
    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
1037
    $shops = getShops();
1038
    foreach ( $shops as $s_id => $shop )
1039
    {
1040
        $c_shops[$shop["ID"]] = $shop["Name"];
1041
        $d_shops[$shop["ID"]] = $shop;
1042
    }
1043
 
1044
    $Feld = "shortline1";
1045
    if ( isset( $user_rechte[modul_name][tool_name][$Feld] ) )
1046
    {
1047
        $fname_f = $web_rechte[modul_name][tool_name][$Feld];
1048
        $pos = strpos( $fname_f, ";" );
1049
        $daten["sl1"]["name"] = substr( $fname_f, 0, $pos );
1050
        $daten["sl1"]["size"] = substr( $fname_f, $pos + 1 );
1051
    }
1052
    $Feld = "shortline2";
1053
    if ( isset( $user_rechte[modul_name][tool_name][$Feld] ) )
1054
    {
1055
        $fname_f = $web_rechte[modul_name][tool_name][$Feld];
1056
        $pos = strpos( $fname_f, ";" );
1057
        $daten["sl2"]["name"] = substr( $fname_f, 0, $pos );
1058
        $daten["sl2"]["size"] = substr( $fname_f, $pos + 1 );
1059
    }
1060
    if ( isset( $user_rechte["Warenwirtschaft"]["logistiker"]["logistiker"] ) )
1061
    {
1062
        $logistiker[] = "Bitte wählen";
1063
        $sql_l = "SELECT
1064
                id,
1065
                name
1066
            FROM
1067
                logistiker
1068
        ";
1069
        $res_l = mysql_query( $sql_l );
1070
        while ( $row_l = mysql_fetch_assoc( $res_l ) )
1071
        {
1072
            $logistiker[$row_l["id"]] = $row_l["name"];
1073
        }
2 lars 1074
        $sql_bl = "SELECT
1 lars 1075
                logistiker
1076
            FROM
1077
                bestellung_logistiker bl
1078
            WHERE
2 lars 1079
                bl.bestellung=" . $row["ID"] . "
1 lars 1080
        ";
1081
        $res_bl = mysql_query( $sql_bl );
2 lars 1082
 
1 lars 1083
        $row_bl = mysql_fetch_assoc( $res_bl );
1084
        $GLOBALS["ui"]->assign( "logistiker", $logistiker );
2 lars 1085
 
1 lars 1086
        $GLOBALS["ui"]->assign( "logistiker_sel", $row_bl["logistiker"] );
1087
    }
1088
    if ( isset( $user_rechte["Warenwirtschaft"]["bestellung"]["tracking"] ) )
1089
    {
1090
        if ( $web_rechte["Warenwirtschaft"]["bestellung"]["tracking"] )
1091
        {
1092
            $daten_p = explode( ";", $web_rechte["Warenwirtschaft"]["bestellung"]["tracking"] );
1093
            $daten["paketdienst"]["name"] = $daten_p[0];
1094
            $daten["paketdienst"]["url"] = $daten_p[1];
1095
            $sql = "
1096
                SELECT
1097
                    *
1098
                FROM
1099
                    bestellung_paketnummern
1100
                WHERE
1101
                    Bestellung=" . $row["ID"] . "
1102
                ORDER BY
1103
                    datum
1104
            ";
1105
            $res = mysql_query( $sql );
1106
            while ( $row_p = mysql_fetch_assoc( $res ) )
1107
            {
1108
                $daten["paketdienst"]["nummern"][] = array( "nummer" => $row_p["paketnummer"],
2 lars 1109
                        "datum" => $row_p["datum"] );
1 lars 1110
            }
1111
        }
2 lars 1112
    }
1113
    elseif ( isset( $user_rechte["Warenwirtschaft"]["logistiker"]["logistiker"] ) )
1 lars 1114
    {
1115
        $sql = "
1116
                SELECT
1117
                    bp.*,
1118
                    l.name AS logistiker_name,
1119
                    l.trackinglink
1120
                FROM
1121
                    bestellung_paketnummern bp,
1122
                    logistiker l
1123
                WHERE
1124
                    Bestellung=" . $row["ID"] . "
1125
                AND
1126
                    l.id=bp.logistiker
1127
                ORDER BY
1128
                    datum
1129
            ";
1130
        $res = mysql_query( $sql );
1131
        while ( $row_p = mysql_fetch_assoc( $res ) )
1132
        {
2 lars 1133
            $daten["paketdienst"]["nummern"][] = array(
1134
                "nummer" => $row_p["paketnummer"],
1135
                "datum" => $row_p["datum"],
1136
                "name" => $row_p["logistiker_name"],
1137
                "url" => $row_p["trackinglink"],
1138
                );
1 lars 1139
        }
1140
    }
1141
    $rowspan = count( $daten["Bestellung"]["artikel"] ) + 4;
2 lars 1142
    $tpl_file = ( $filter_maske === false ) ? "bestellungen_formular_pdf.tpl" :
1143
        "bestellungen_formular.tpl";
1 lars 1144
 
1145
    $GLOBALS["ui"]->assign( "c_shops", $c_shops );
1146
    $GLOBALS["ui"]->assign( "d_shops", $d_shops );
1147
    $GLOBALS["ui"]->assign( "preise_anzeigen", $preise_anzeigen );
1148
    $GLOBALS["ui"]->assign( "daten", $daten );
1149
    $GLOBALS["ui"]->assign( "rowspan", $rowspan );
1150
    $GLOBALS["ui"]->assign( "d_colspan", $d_colspan );
1151
    if ( isset( $web_rechte['Warenwirtschaft']['lagerwirtschaft']['bestandskennzeichnung'] ) )
1152
    {
1153
        $GLOBALS["ui"]->assign( "bestandskennzeichnungsfarbe",
1154
            getBestandskennzeichnung( $web_rechte['Warenwirtschaft']['lagerwirtschaft']['bestandskennzeichnung'] ) );
1155
    }
2 lars 1156
    if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["online_retoure"] ) )
1157
    {
1158
        $sql_l = "SELECT
1159
                id,
1160
                kname,
1161
                returnlink
1162
            FROM
1163
                logistiker
1164
            WHERE
1165
                returnlink <> ''
1166
        ";
1167
        $res_l = mysql_query( $sql_l );
1168
        while ( $row_l = mysql_fetch_assoc( $res_l ) )
1169
        {
1170
            $link = $row_l["returnlink"];
1171
            $first_name = rawurlencode( $zeile["Vorname"] );
1172
            $last_name = rawurlencode( $zeile["Name1"] );
1173
            $street = rawurlencode( $zeile["Strasse"] . " " . $zeile["Hausnummer"] );
1174
            $email = rawurlencode( $zeile["E_Mail"] );
1175
            $city = rawurlencode( $zeile["ORT"] );
1176
            $zip = rawurlencode( $zeile["PLZ"] );
1177
            $link = str_replace( "###ref###", $Bestellung, $link );
1178
            $link = str_replace( "###email###", $email, $link );
1179
            $link = str_replace( "###first_name###", $first_name, $link );
1180
            $link = str_replace( "###last_name###", $last_name, $link );
1181
            $link = str_replace( "###street###", $street, $link );
1182
            $link = str_replace( "###zip###", $zip, $link );
1183
            $link = str_replace( "###city###", $city, $link );
1184
            $row_l["returnlink"] = $link;
1185
            $logistiker[$row_l["id"]] = $row_l;
1186
        }
1187
        $GLOBALS["ui"]->assign( "logistiker", $logistiker );
1188
    }
1 lars 1189
    // type = 0 normaler E-Mail Text mit \n
1190
    // type = 1 Ausgabetext für RS (Bestellung) mit <br> statt \n
1191
    function buildCustomTextEmail( $get, $type = 0 )
1192
    {
1193
        if ( $type == 1 )
1194
        {
1195
            $cont = "<br>Details:";
1196
        }
1197
        else
1198
        {
1199
            $cont = "\nDetails:";
1200
        }
1201
        for ( $i = 0; $i < $get['ct_zeilen']; $i++ )
1202
        {
1203
            $opt = array();
1204
            $align = "zentriert";
1205
            $bold = "";
1206
            $italic = "";
1207
            $underline = "";
1208
            $file = "";
1209
            if ( $get['ct_left_' . $i . ''] == "left" )
1210
                $align = "linksbündig";
1211
            if ( $get['ct_center_' . $i . ''] == "center" )
1212
                $align = "zentriert";
1213
            if ( $get['ct_right_' . $i . ''] == "right" )
1214
                $align = "rechtsbündig";
1215
            if ( $get['ct_bold_' . $i . ''] == "on" )
1216
                $bold = "fett";
1217
            if ( $get['ct_italic_' . $i . ''] == "on" )
1218
                $italic = "kursiv";
1219
            if ( $get['ct_underline_' . $i . ''] == "on" )
1220
                $underline = "unterstrichen";
1221
            if ( $get['ct_font_' . $i] . '' )
1222
                $font = $get['ct_font_' . $i . ''];
1223
            if ( $get['ct_file'] )
1224
                $file = "Bilddatei: " . $get['ct_file'];
1225
            if ( $font )
1226
                $opt[] = $font;
1227
            if ( $align )
1228
                $opt[] = $align;
1229
            if ( $bold )
1230
                $opt[] = $bold;
1231
            if ( $italic )
1232
                $opt[] = $italic;
1233
            if ( $underline )
1234
                $opt[] = $underline;
1235
            if ( $file )
1236
                $opt[] = $file;
1237
 
1238
            if ( $type == 1 )
1239
            {
1240
                $cont .= "<br> " . ( $i + 1 ) . ". Zeile: " . $get['ct_text_' .
1241
                    $i . ''] . " (" . $get['ct_fontsize_' . $i . ''] . ", " .
1242
                    implode( ", ", $opt ) . ")";
1243
            }
1244
            else
1245
            {
2 lars 1246
                $cont .= "\n" . ( $i + 1 ) . ". Zeile: " . $get['ct_text_' . $i .
1247
                    ''] . " (" . $get['ct_fontsize_' . $i . ''] . ", " . implode( ", ",
1248
                    $opt ) . ")";
1 lars 1249
            }
1250
        }
1251
        return $cont;
1252
    }
1253
?>