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   Content-management
5
     * @author    Lars Tiefland <tiefland@weban.de>
6
     * @copyright 2009 Webagentur Niewerth
7
     * @license   propietary http://www.weban.de
2 lars 8
     * @version   $Rev: 4085 $
1 lars 9
     * @filesource
10
     *
11
     */
12
 
13
    /**
14
     *
15
     * neue Version der Bestellungsübersicht
16
     *
17
     * @package   Content-management
18
     * @author    Lars Tiefland <tiefland@weban.de>
19
     * @copyright 2009 Webagentur Niewerth
20
     */
21
 
22
    define( "tool_name", "gutschein" );
23
    require_once "fpdf/fpdf.php";
24
    require_once "Text/Password.php";
25
    class PDF extends FPDF
26
    {
27
        //Page header
28
        function Header()
29
        {
30
            global $site, $r_nr, $shops_ID, $webs;
31
 
32
            $header_file = "includes/gutschein/header_" . $site . "_" . $shops_ID .
33
                ".inc.php";
34
            if ( !file_exists( $header_file ) )
35
            {
36
                $header_file = "includes/gutschein/header_" . $site . ".inc.php";
37
            }
38
            if ( file_exists( $header_file ) )
39
            {
40
                require $header_file;
41
            }
42
        }
43
 
44
        //Page footer
45
        function Footer()
46
        {
47
            global $site, $shops_ID;
48
            $header_file = "includes/gutschein/footer_" . $site . "_" . $shops_ID .
49
                ".inc.php";
50
            if ( !file_exists( $header_file ) )
51
            {
52
                $header_file = "includes/gutschein/footer_" . $site . ".inc.php";
53
            }
54
            if ( file_exists( $header_file ) )
55
            {
56
                require $header_file;
57
            }
58
        }
59
    }
60
 
61
    if ( $_POST["b_id"] )
62
    {
63
        define( "FROM_BESTELLUNG", true );
64
    } elseif ( !defined( "FROM_BESTELLUNG" ) )
65
    {
66
        define( "FROM_BESTELLUNG", false );
67
    }
68
    // SVN: $Id:
69
 
70
    $shops_id = $_POST['filter']['shopID'];
71
    $time = microtime( true );
72
 
73
    setlocale( LC_TIME, "de_DE" );
74
 
75
    define( "Range", 100 );
76
    define( "modul_name", "Warenwirtschaft" );
77
    define( "tool_name", "bestellung" );
78
 
79
    require_once "../Online-Shop/connect2.php";
80
    require_once "Weban_Smarty.class.php";
81
    require_once "../Warenwirtschaft/includes/bestellungen/pagination.php";
82
    require_once "../Warenwirtschaft/includes/statistik/system.php";
83
    require_once "module/functions.common.php";
84
    require_once "fpdf/fpdf.php";
85
 
86
    $shops_neu = getShops();
87
    $all_shops = get_all_shops();
88
 
89
    $shops_sel = select_tpl( "filter[shopID]", $shops_neu, "ID", "Name", $filter["shopID"] );
90
 
91
    $zeiten = array( "alle", "heute", "gestern", "lfd. Woche", "letzte Woche",
92
        strftime( "%B %G" ), strftime( "%B %G", strtotime( "-1 month" ) ),
93
        strftime( "%B %G", strtotime( "-2 months" ) ), strftime( "%B %G",
94
        strtotime( "-3 months" ) ), strftime( "%B %G", strtotime( "-4 months" ) ) );
95
 
96
    $stati = array( "aktuell und g&uuml;ltig", "abgelaufen",
97
        "abgelaufen/ung&uuml;ltig", "ung&uuml;ltig", "alle" );
98
    // Filter verarbeiten und vorbelegen
99
    if ( $_SESSION["filter"] )
100
    {
101
        $filter = $_SESSION["filter"];
102
    }
103
    if ( $_GET["filter"] )
104
    {
105
        $filter = $_GET["filter"];
106
    } elseif ( $_POST["filter"] )
107
    {
108
        $filter = $_POST["filter"];
109
    }
110
    if ( $_GET["start"] )
111
    {
112
        $filter["start"] = $_GET["start"];
113
    }
114
    else
115
    {
116
        $filter["start"] = 0;
117
    }
118
 
119
    /*if ( $filter["start"] )
120
    {
121
    SmartyPaginate::setCurrentItem( $filter["start"] );
122
    }
123
    else
124
    {
125
    $filter["start"] = SmartyPaginate::getCurrentItem();
126
    }*/
127
    $order = $filter["order"];
128
    // wenn ausgabeart: Schnelleditor/Bestellung
129
 
130
    if ( $order[0] == "_" )
131
    {
132
        $order = substr( $order, 1 );
133
        $desc = true;
134
    }
135
 
136
    if ( $filter["empfaenger"] )
137
    {
138
        $empf_filter = " empfaenger LIKE '%" . $filter["empfaenger"] . "%'";
139
    }
140
    else
141
    {
142
        unset( $empf_filter );
143
    }
144
    if ( $filter["code"] )
145
    {
146
        $code_filter = " code LIKE '%" . $filter["code"] . "%'";
147
    }
148
    else
149
    {
150
        unset( $code_filter );
151
    }
152
    switch ( $filter["status"] )
153
    {
154
        case 0:
155
        default:
156
            $status_filter = "status=1 AND gueltig_bis >= '" . date( "Y-m-d 00:00:00" ) .
157
                "'";
158
            break;
159
        case 1:
160
            $status_filter = "gueltig_bis < '" . date( "Y-m-d 00:00:00" ) . "'";
161
            break;
162
        case 2:
163
            $status_filter = "((gueltig_bis < '" . date( "Y-m-d 00:00:00" ) .
164
                "') OR (status=0))";
165
            break;
166
        case 3:
167
            $status_filter = "status=0";
168
            break;
169
        case 4:
170
            unset( $status_filter );
171
            break;
172
    }
173
    if ( $filter["ausgabe"] == 0 || $filter["ausgabe"] == 2 )
174
    {
175
        switch ( $order )
176
        {
177
            case "Bestellnummer":
178
                $queryOrder = " ORDER BY b.ID";
179
                break;
180
            case "Bestelldatum":
181
                $queryOrder = " ORDER BY b.erstellt_am";
182
                break;
183
            case "Artikel":
184
                $queryOrder = " ORDER BY 1";
185
                break;
186
            case "Kunde":
187
                $queryOrder = " ORDER BY l.Name1";
188
                break;
189
            case "PLZ":
190
                $queryOrder = " ORDER BY l.PLZ";
191
                break;
192
            case "ORT":
193
                $queryOrder = " ORDER BY l.ORT";
194
                break;
195
            case "Land":
196
                $queryOrder = " ORDER BY l.Land";
197
                break;
198
            case "Language":
199
                $queryOrder = " ORDER BY b.Language";
200
                break;
201
            default:
202
                $queryOrder = " ORDER BY b.ID DESC";
203
                break;
204
        }
205
    }
206
    if ( $desc === true )
207
    {
208
        $queryOrder .= " DESC";
209
    }
210
    if ( is_null( $filter['bestellart_id'] ) )
211
    {
212
        if ( !isset( $web_rechte["Warenwirtschaft"]["bestellung"]["bestellart"] ) )
213
        {
214
            $filter["bestellart_id"] = -1;
215
        }
216
        else
217
        {
218
            $filter['bestellart_id'] = 1;
219
        }
220
    }
221
 
222
 
223
    if ( ( $_POST['action'] == "edit" ) and ( $_POST['ID'] > 0 ) )
224
    {
225
        $insert_1 = "&ID[]=" . $_POST['ID'] . " onClick=\"return confirm('Diesen Eintrag wirklich löschen ?');\"";
226
    }
227
    else
228
    {
229
        $insert_1 = "\"";
230
    }
231
 
232
    // Smarty initialisieren
233
    $GLOBALS["ui"] = new Weban_Smarty();
234
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
235
    $GLOBALS["ui"]->compile_id = "marketing|gutschein";
236
 
237
    // Smarty Variablen füllen
238
    $GLOBALS["ui"]->assign( "insert_1", $insert_1 );
239
    $GLOBALS["ui"]->assign( "self", $_SERVER['PHP_SELF'] );
240
    $GLOBALS["ui"]->assign( "zeiten", $zeiten );
241
    $GLOBALS["ui"]->assign( "shops", $shops_sel );
242
    $GLOBALS["ui"]->assign( "start", $filter["start"] );
243
    $GLOBALS["ui"]->assign( "order", $filter["order"] );
244
    $GLOBALS["ui"]->assign( "webs", $webs );
245
    $GLOBALS["ui"]->assign( "all_shops", $all_shops );
246
    $GLOBALS["ui"]->assign( "stati", $stati );
247
    $GLOBALS["ui"]->assign( "site", $site );
248
    $GLOBALS["ui"]->assign( "status_sel", $filter["status"] );
249
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
250
 
251
    $_SESSION["filter"] = $filter;
252
    // Template ausgeben
253
 
254
    switch ( $_POST['action'] )
255
    {
256
        case "add":
257
            $vorlage = getVorlage( $_POST["vorlage"] );
258
            $gs["gs_name"] = $vorlage["kurzbezeichnung"];
259
            $gs["wert"] = $vorlage["preis1"];
260
            $gs["minwert"] = $vorlage["preis2"];
261
            $gs["gueltig_von"] = strftime( "%x" );
262
            $gs["gueltig_bis"] = strftime( "%x", strtotime( $vorlage["short_line_2"] .
263
                " days" ) );
264
            $GLOBALS["ui"]->assign( "gutschein", $gs );
265
            $tpl_file = "templates/gutschein_create.tpl";
266
            break;
267
 
268
        case "insert":
269
            // Gutschein in Tabelle 'gutscheine' speichern
270
            if ( insert_into_gutscheine() == true )
271
            {
272
                $gutscheine = get_gutscheine( $shops_id );
273
 
274
                $GLOBALS["ui"]->assign( "gutscheine", $gutscheine["gutscheine"] );
275
                $tpl_file = "templates/gutschein_liste.tpl";
276
                $GLOBALS["ui"]->assign( "succ_msg",
277
                    "Gutschein erfolgreich gespeichert!" );
278
            }
279
            else
280
            {
281
                $tpl_file = "templates/gutschein_create.tpl";
282
                $GLOBALS["ui"]->assign( "error_msg",
283
                    "Fehler beim Speichern des Gutscheins!" );
284
            }
285
            break;
286
        case "update":
287
            $erg = update_gutschein( $_POST['gs_id'] );
288
            $gutschein = get_single_gutschein( $_POST["gs_id"] );
289
            $GLOBALS["ui"]->assign( "gutschein", $gutschein );
290
            $tpl_file = "templates/gutschein_edit.tpl";
291
            /*header( "Location:" . $_SERVER["SCRIPT_NAME"] .
292
            "?action=edit&ID=" . $_POST["gs_id"] );*/
293
            break;
294
        default:
295
            switch ( $_GET["action"] )
296
            {
297
                case "add":
298
                    $vorlagen = getVorlagen();
2 lars 299
                    if ( count( $vorlagen ) )
300
                    {
301
                        $GLOBALS["ui"]->assign( "vorlagen", $vorlagen );
302
                        $tpl_file = "gutschein_create_select.tpl";
303
                    }
304
                    else
305
                    {
306
                        $tpl_file = "gutschein_create.tpl";
307
                    }
1 lars 308
                    break;
309
 
310
                case "delete":
311
                    delete_gutschein( $_GET['ID'] );
312
                    $gutscheine = get_gutscheine( $shops_id );
313
                    if ( $gutscheine["total"] )
314
                    {
315
                        $GLOBALS["ui"]->assign( "pagination", pagination( $gutscheine["total"] ) );
316
                    }
317
 
318
                    $GLOBALS["ui"]->assign( "gutscheine", $gutscheine["gutscheine"] );
319
                    $tpl_file = "templates/gutschein_liste.tpl";
320
                    break;
321
 
322
                case "edit":
323
                    // Modconf => Gutschein
324
                    $uploadPath = $webs['verzeichnis'] . "/images/dokumente/";
325
                    $moduleTyp[tool_name] = array( "table_foreign" =>
326
                        "gutschein", "row_foreign" => "ID", "data_foreign" =>
327
                        "ID" );
328
                    $id = $_GET['ID'];
329
                    if ( $gutschein = get_single_gutschein( $id ) )
330
                    {
331
                        $GLOBALS["ui"]->assign( "gutschein", $gutschein );
332
                        $sql = "SELECT
333
                                *
334
                            FROM
335
                                dokumente
336
                            WHERE
337
                                table_foreign = 'gutschein'
338
                            AND
339
                                data_foreign = $id
340
                        ";
341
                        $res = mysql_query( $sql );
342
                        $docCount = 1;
343
                        while ( $row = mysql_fetch_assoc( $res ) )
344
                        {
345
                            $daten["dokumente"][$docCount - 1] = $row;
346
                            $fTmpName = $row['document'];
347
                            $daten["dokumente"][$docCount - 1]["nr"] = $docCount;
348
                            $daten["dokumente"][$docCount - 1]["id"] = $row['id'];
349
                            $daten["dokumente"][$docCount - 1]["name"] = $fTmpName;
350
                            $daten["dokumente"][$docCount - 1]["date"] = $row["letzte_aenderung_am"];
351
                            $author = $row["letzte_aenderung_von"];
352
                            $pos = strpos( $author, "@" );
353
                            if ( $pos !== false )
354
                            {
355
                                $author = substr( $row["letzte_aenderung_von"],
356
                                    0, $pos );
357
                            }
358
 
359
                            $daten["dokumente"][$docCount - 1]["author"] = $author;
360
                            $daten["dokumente"][$docCount - 1]["add_document"] =
361
                                "window.open('../dokumente/index.php?table_foreign=" .
362
                                $moduleTyp[tool_name]['table_foreign'] .
363
                                "&row_foreign=" . $moduleTyp[tool_name]['row_foreign'] .
364
                                "&data_foreign=" . $row['data_foreign'] .
365
                                "#', 'DokumentUpload', 'status, menubar, height=110, width=500');return false;";
366
                            $daten["dokumente"][$docCount - 1]["del_document"] =
367
                                "window.open('../dokumente/index.php?action=unlink&id=" .
368
                                $zeile_d['id'] . "&table_foreign=" . $moduleTyp[tool_name]['table_foreign'] .
369
                                "&row_foreign=" . $moduleTyp[tool_name]['row_foreign'] .
370
                                "&data_foreign=" . $row['data_foreign'] .
371
                                "#', 'DokumentUpload', 'status, menubar, height=110, width=500');return false;";
372
 
373
                            $daten["dokumente"][$docCount - 1]["type"] =
374
                                strtolower( substr( $fTmpName, strrpos( $fTmpName,
375
                                "." ) + 1, strlen( $fTmpName ) ) );
376
                            $start = substr( $zeile_d['document'], 0, 1 );
377
                            $no_delete = array( "R", "L" );
378
                            if ( in_array( $start, $no_delete ) )
379
                            {
380
                                $daten["dokumente"][$docCount - 1]["deleteable"] = false;
381
                            }
382
                            else
383
                            {
384
                                $daten["dokumente"][$docCount - 1]["deleteable"] = true;
385
                            }
386
                            $fTmpLinkIcon = "../dokumente/gfx/fileicons/" . $daten["dokumente"][$docCount -
387
                                1]["type"] . ".gif";
388
                            $fTmpIcon =
389
                                "/web/apache/content-management/dokumente/gfx/fileicons/" .
390
                                $daten["dokumente"][$docCount - 1]["type"] .
391
                                ".gif";
392
                            $daten["dokumente"][$docCount - 1]["size"] = @
393
                                filesize( $uploadPath . $fTmpName );
394
                            $daten["dokumente"][$docCount - 1]["icon"] =
395
                                file_exists( $fTmpIcon ) ? $fTmpLinkIcon :
396
                                "../dokumente/gfx/fileicons/default.gif";
397
                            $docCount++;
398
                        }
399
                        $daten["dokPath"] = "http://www.$site/images/dokumente/";
400
                        $GLOBALS["ui"]->assign( "daten", $daten );
401
                    }
402
                    $tpl_file = "templates/gutschein_edit.tpl";
403
                    break;
404
                case "genpdf":
405
                    $gs_id = $_GET['gs_id'];
406
                    $pdf = generate_gutschein_pdf( $gs_id );
407
                    //header("Location: ".$_SERVER["SCRIPT_NAME"]."?action=edit&id=$gs_id");
408
                    echo "<script>opener.location.href.reload();</script>";
409
                    die();
410
                    break;
411
                default:
412
                    $gutscheine = get_gutscheine( $shops_id, $status_filter, $empf_filter,
413
                        $code_filter );
414
                    if ( FROM_BESTELLUNG != true )
415
                    {
416
                        if ( $gutscheine["total"] )
417
                        {
418
                            $GLOBALS["ui"]->assign( "pagination", pagination( $gutscheine["total"] ) );
419
                        }
420
 
421
                    }
422
                    $GLOBALS["ui"]->assign( "gutscheine", $gutscheine["gutscheine"] );
423
                    $tpl_file = "templates/gutschein_liste.tpl";
424
                    break;
425
            }
426
    }
427
 
428
    $GLOBALS["ui"]->assign( "tpl_file", $tpl_file );
429
 
430
    // Zeit messen
431
    if ( defined( "DEBUG" ) )
432
    {
433
        $time2 = microtime( true );
434
        $diff = round( $time2 - $time, 2 );
435
        $sdat = date( "d.m.Y H:i:s", $time );
436
        $edat = date( "d.m.Y H:i:s", $time2 );
437
        $GLOBALS["ui"]->assign( "sdat", $sdat );
438
        $GLOBALS["ui"]->assign( "edat", $edat );
439
        $GLOBALS["ui"]->assign( "diff", number_format( $diff, 2, ',', '' ) );
440
    }
441
 
442
    if ( FROM_BESTELLUNG !== true )
443
    {
444
        $GLOBALS["ui"]->display( "gutschein.tpl" );
445
    }
446
    function insert_into_gutscheine()
447
    {
448
        global $remoteServer_dbh;
449
        $shop = $_POST['gs_shop'];
450
        if ( !$shop )
451
        {
452
            $shop = 0;
453
        }
454
        if ( !$_POST['gs_anfangswert'] )
455
        {
456
            $_POST['gs_anfangswert'] = 0;
457
        }
458
        if ( !$_POST['gs_minbestwert'] )
459
        {
460
            $_POST['gs_minbestwert'] = 0;
461
        }
462
 
463
        $wert = $_POST['gs_anfangswert'];
464
        if ( stristr( $wert, '%' ) )
465
        {
466
            $wert *= -1;
467
        }
468
 
469
        $code = gen_code( $_POST['gs_name'], time(), $_POST['gs_anfangswert'],
470
            'gs_code_' . Text_Password::create( 32, "unpronounceable" ) );
471
 
472
        $sql = "INSERT INTO
473
                    gutscheine
474
                (
475
                    shops_id,
476
                    name,
477
                    code,
478
                    empfaenger,
479
                    status,
480
                    anfangswert,
481
                    minbestwert,
482
                    restwert,
483
                    gueltig_von,
484
                    gueltig_bis,
485
                    erstellt_von,
486
                    erstellt_am
487
                )
488
                    VALUES
489
                (
490
                    " . $shop . ",
491
                    '" . $_POST['gs_name'] . "',
492
                    '" . $code . "',
493
                    '" . $_POST['gs_empfaenger'] . "',
494
                    " . $_POST['gs_status'] . ",
495
                    " . $wert . ",
496
                    " . $_POST['gs_minbestwert'] . ",
497
                    " . $wert . ",
498
                    '" . human2date( $_POST['gs_gueltig_von'] ) . "',
499
                    '" . human2date( $_POST['gs_gueltig_bis'] ) . "',
500
                    '" . $_SERVER['PHP_AUTH_USER'] . "',
501
                    NOW()
502
                )
503
        ";
504
 
505
        $res = mysql_query( $sql, $remoteServer_dbh );
506
        if ( $res )
507
        {
508
            $gs_id = mysql_insert_id( $remoteServer_dbh );
509
            if ( $gs_id )
510
            {
511
                if ( $_POST["gen_pdf"] || !isset( $_POST["gen_pdf"] ) )
512
                {
513
                    generate_gutschein_pdf( $gs_id );
514
                }
515
                return get_single_gutschein( $gs_id );
516
            }
517
        }
518
        return false;
519
    }
520
 
521
    function get_gutscheine( $shops_id = null, $status = null, $empf_filter = null,
522
        $code_filter = null )
523
    {
524
        global $remoteServer_dbh;
525
        if ( $shops_id )
526
        {
527
            $wh_arr[] = " shops_id=" . $shops_id . "";
528
        }
529
 
530
        if ( $status )
531
        {
532
            $wh_arr[] = $status;
533
        }
534
        if ( $empf_filter )
535
        {
536
            $wh_arr[] = $empf_filter;
537
        }
538
        if ( $code_filter )
539
        {
540
            $wh_arr[] = $code_filter;
541
        }
542
 
543
        if ( is_array( $wh_arr ) )
544
        {
545
            $wh = "WHERE " . implode( " AND ", $wh_arr );
546
        }
547
 
548
        $sql = "SELECT SQL_CALC_FOUND_ROWS
549
                    *
550
                FROM
551
                    gutscheine
552
 
553
                " . $wh . "
554
 
555
                ORDER BY
556
                    erstellt_am desc,
557
                    id desc
558
                LIMIT
559
                    " . $_SESSION["filter"]["start"] . ", " . SmartyPaginate::
560
            getLimit() . "
561
        ";
562
 
563
        $q = mysql_query( $sql, $remoteServer_dbh );
564
        if ( $q )
565
        {
566
            while ( $r = mysql_fetch_assoc( $q ) )
567
            {
568
                $gs["gutscheine"][] = $r;
569
            }
570
        }
2 lars 571
        else
572
        {
573
            //echo mysql_error();
574
        }
1 lars 575
        if ( is_array( $gs ) )
576
        {
577
            $sql = "SELECT
578
                    FOUND_ROWS() AS total
579
            ";
580
            $res = mysql_query( $sql );
581
            $row = mysql_fetch_assoc( $res );
582
            $gs["total"] = $row["total"];
583
            return $gs;
584
        }
585
        return false;
586
    }
587
 
588
 
589
    function get_single_gutschein( $id )
590
    {
591
        global $remoteServer_dbh;
592
        $sql = "SELECT
593
                    *
594
                FROM
595
                    gutscheine
596
                WHERE
597
                    id=" . $id . "
598
        ";
599
        if ( $q = mysql_query( $sql, $remoteServer_dbh ) )
600
        {
601
            $gutschein = mysql_fetch_assoc( $q );
602
            return $gutschein;
603
        }
604
        return false;
605
    }
606
 
607
 
608
 
609
    function delete_gutschein( $id )
610
    {
611
        global $remoteServer_dbh;
612
        $sql = "DELETE FROM
613
                    gutscheine
614
                WHERE
615
                    id=" . $id . "
616
        ";
617
        if ( $q = mysql_query( $sql, $remoteServer_dbh ) )
618
        {
619
            return true;
620
        }
621
        return false;
622
    }
623
 
624
 
625
    function update_gutschein( $id )
626
    {
627
        global $remoteServer_dbh;
628
        $sql = "UPDATE
629
                    gutscheine
630
                SET
631
                    shops_id = " . $_POST['gs_shop'] . ",
632
                    name = '" . $_POST['gs_name'] . "',
633
                    empfaenger = '" . $_POST['gs_empfaenger'] . "',
634
                    `status` = " . $_POST['gs_status'] . ",
635
                    anfangswert = " . $_POST['gs_anfangswert'] . ",
636
                    minbestwert = " . $_POST['gs_minbestwert'] . ",
637
                    gueltig_von='" . human2date( $_POST["gs_gueltig_von"] ) .
638
            "',
639
                    gueltig_bis='" . human2date( $_POST["gs_gueltig_bis"] ) .
640
            "',
641
                    restwert = " . $_POST['gs_restwert'] . ",
642
 
643
                    letzte_aenderung_am = 'NOW()',
644
                    letzte_aenderung_von = '" . $_SERVER['PHP_AUTH_USER'] . "'
645
 
646
                WHERE
647
                    id = " . $id . "
648
        ";
649
        $q = mysql_query( $sql, $remoteServer_dbh );
650
        if ( $q )
651
        {
652
            return true;
653
 
654
        }
655
        echo mysql_error( $remoteServer_dbh ) . PHP_EOL . $sql;
656
        return false;
657
    }
658
 
659
 
660
    function gen_code( $name, $time, $wert, $str )
661
    {
662
        return substr( md5( $name . $time . $wert . $str ), 0, 12 );
663
    }
664
 
665
 
666
 
667
    function get_all_shops()
668
    {
669
        $sql = "SELECT
670
                ID,
671
                Name
672
            FROM
673
                `shops`
674
            WHERE
675
                `database` <> ''
676
        ";
677
        if ( $q = mysql_query( $sql ) )
678
        {
679
            while ( $r = mysql_fetch_assoc( $q ) )
680
            {
681
                $shops[] = $r;
682
            }
683
            return $shops;
684
        }
685
        return false;
686
    }
687
 
688
 
689
 
690
    function generate_gutschein_pdf( $id )
691
    {
692
        $gs = get_single_gutschein( $id );
693
        $dat = datetime2Human( $gs['erstellt_am'] );
694
 
695
        //$text = $gs["name"] . "\n";
696
        $text["body"] = "";
697
        $text["body"] .= utf8_decode( 'ausgestellt für: ' . $gs['empfaenger'] .
698
            "\n" );
699
        $text["gs"] = $gs;
700
        $text["body"] .= utf8_decode( 'Wert: ' . $wert . "\n" );
701
        $text["body"] .= utf8_decode( 'ausgestellt am ' . $dat["Datum"] . " " .
702
            $dat["Zeit"] . "\n" );
703
        $f_name = create_pdf( $id, "", "", $text, "Gutschein", generate_LN( $id,
704
            "Gutschein" ) );
705
        //echo "Speichere Dokument (Gutschein)<br>";
706
        save_document( $f_name, $id, "Gutschein" );
707
        if ( FROM_BESTELLUNG === true && $_POST["b_id"] )
708
        {
709
            $b_id = $_POST["b_id"];
710
            //echo "Speichere Dokument (Bestellung)<br>";
711
            save_document( $f_name, $b_id );
712
        }
713
    }
714
 
715
    function create_pdf( $bestell_id, $adminMail, $mailto, $text, $art, $ln = 1 )
716
    {
717
        global $webs, $site;
718
 
719
        $sql = "
720
            SELECT
721
                shops_ID
722
            FROM
723
                Bestellung
724
            WHERE
725
                ID=$bestell_id
726
        ";
727
        $res = mysql_query( $sql );
728
        $row = mysql_fetch_assoc( $res );
729
        $shops_ID = $row["shops_ID"];
730
 
731
        $gs = $text["gs"];
732
 
733
        $wert = $gs["anfangswert"];
734
        if ( $wert < 0 )
735
        {
736
            $wert = number_format( $wert * -1 ) . "%";
737
        }
738
        else
739
        {
740
            $wert = number_format( $wert, 2, ",", "." ) . " EUR";
741
        }
742
 
743
        $config_file =
744
            "/web/apache/content-management/marketing/includes/gutschein/config_$site.inc.php";
745
 
746
        if ( file_exists( $config_file ) )
747
        {
748
            require $config_file;
749
        }
750
        else
751
        {
752
            $orientation = "P";
753
            $unit = "mm";
754
            $format = "A4";
755
        }
756
        //Instanciation of inherited class
757
        $pdf = new PDF( $orientation, $unit, $format );
758
        $pdf->setSubject( "Voucher" );
759
        $pdf->setAuthor( $haendler_name );
760
        $pdf->setCreator( "fpdf PHP Library" );
761
        $body_file =
762
            "/web/apache/content-management/marketing/includes/gutschein/body_$site.inc.php";
763
 
764
        if ( file_exists( $body_file ) )
765
        {
766
            require $body_file;
767
        }
768
        $date = date( "Y-m-d_H-i-s" );
769
        $f_name = $art . "_" . $bestell_id . "_" . $date . "_" . $ln . ".pdf";
770
        $f_name = str_replace( "ä", "ae", $f_name );
771
        $f_name = str_replace( "Ä", "Ae", $f_name );
772
        $f_name = str_replace( "ö", "oe", $f_name );
773
        $f_name = str_replace( "Ö", "Oe", $f_name );
774
        $f_name = str_replace( "ü", "ue", $f_name );
775
        $f_name = str_replace( "Ü", "Ue", $f_name );
776
        $f_name = str_replace( "ß", "ss", $f_name );
777
 
778
        $pdf->Output( $webs['verzeichnis'] . "/images/dokumente/$f_name" );
779
        $pdf->Output();
780
 
781
        return $f_name;
782
    }
783
 
784
    function save_document( $f_name, $bestell_id, $table = "Bestellung" )
785
    {
786
        global $remoteServer_dbh;
787
        $sql = "
788
            REPLACE INTO
789
                dokumente
790
            (
791
                table_foreign,
792
                row_foreign,
793
                data_foreign,
794
                document,
795
                letzte_Aenderung_am,
796
                letzte_Aenderung_von
797
            )
798
            VALUES
799
            (
800
                '$table',
801
                'ID',
802
                $bestell_id,
803
                '$f_name',
804
                NOW(),
805
                '" . $_SERVER["PHP_AUTH_USER"] . "'
806
            )
807
        ";
808
        $res = mysql_query( $sql, $remoteServer_dbh );
809
        if ( !$res )
810
        {
811
            /*mail( "admin@weban.de",
812
            "Fehler beim hinzufgen der PDF-Datei zur Bestellung!",
813
            mysql_error() . "\n$sql", "From: redaktion@$site" );*/
814
            //echo mysql_error();
815
            $ret = false;
816
        }
817
        else
818
        {
819
            $ret = mysql_insert_id( $remoteServer_dbh );
820
        }
821
        return $ret;
822
    }
823
 
824
    function generate_LN( $bestell_id, $art )
825
    {
826
        global $remoteServer_dbh;
827
        $date = date( "Y-m-d_H-i-s" );
828
        $f_name = $art . "_" . $bestell_id . "_" . $date;
829
        $f_name = str_replace( "ä", "ae", $f_name );
830
        $f_name = str_replace( "Ä", "Ae", $f_name );
831
        $f_name = str_replace( "ö", "oe", $f_name );
832
        $f_name = str_replace( "Ö", "Oe", $f_name );
833
        $f_name = str_replace( "ü", "ue", $f_name );
834
        $f_name = str_replace( "Ü", "Ue", $f_name );
835
        $f_name = str_replace( "ß", "ss", $f_name );
836
 
837
        $sql = "
838
            SELECT
839
                MAX(document) AS dokument
840
            FROM
841
                dokumente
842
            WHERE
843
                document LIKE '$f_name%'
844
        ";
845
        $res = mysql_query( $sql, $remoteServer_dbh );
846
        if ( $res )
847
        {
848
            if ( mysql_num_rows( $res ) )
849
            {
850
                $row = mysql_fetch_assoc( $res );
851
                $dokument = substr( $row["dokument"], 0, strlen( $row["dokument"] ) -
852
                    4 );
853
                $dokument = explode( "_", $dokument );
854
                $ln = $dokument[count( $dokument ) - 1];
855
                $ln++;
856
            }
857
            else
858
            {
859
                $ln = 1;
860
            }
861
        }
862
        else
863
        {
864
            $ln = 1;
865
        }
866
        return $ln;
867
    }
868
 
869
    function getVorlagen()
870
    {
871
        global $remoteServer_dbh;
872
        $table = "artikel";
873
        $sql = "SELECT
874
                *
875
            FROM
876
                $table
877
            WHERE
878
                Father = -5
879
        ";
880
        $res = mysql_query( $sql, $remoteServer_dbh );
881
        $vorlagen[-1] = "Bitte wählen";
882
        while ( $row = mysql_fetch_assoc( $res ) )
883
        {
884
            $vorlagen[$row["ID"]] = $row["kurzbezeichnung"];
885
        }
886
        return $vorlagen;
887
    }
888
 
889
    function getVorlage( $v_id, $shop_id = 1 )
890
    {
891
        global $remoteServer_dbh;
892
        $table = "artikel";
893
        $sql = "SELECT
894
                *
895
            FROM
896
                $table
897
            WHERE
898
                Father = -5
899
            AND
900
                ID=$v_id
901
        ";
902
 
903
        $res = mysql_query( $sql, $remoteServer_dbh );
904
        $row = mysql_fetch_assoc( $res );
905
        return $row;
906
    }
907
?>