Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
2 lars 1
<?php
2
 
3
    /**
4
     * @package   content-management
5
     * @author    Webagentur Niewerth <erling@weban.de>
6
     * @copyright 2012 Webagentur Niewerth
7
     * @license   propietary http://www.weban.de
8
     * @version   $Rev: 1042 $
9
     * @filesource
10
     *
11
     */
12
 
13
    /**
14
     *
15
     * @package   content-management
16
     * @author    Webagentur Niewerth <erling@weban.de>
17
     * @copyright 2012 Webagentur Niewerth
18
     */
19
 
20
    // SVN: $Id: mahnung.php 1042 2012-03-26 12:33:18Z tiefland $
21
 
22
    session_start();
23
 
24
    require_once "connect2.php";
25
 
26
    require_once "includes/bestellungen/system/mysql_query_logged.php";
27
    require_once "Weban_Smarty.class.php";
28
 
29
    require_once "module/functions.common.php";
30
    require_once "includes/rechnung/rechnungsbuch.function.php";
31
    require_once "includes/bestellungen/system/artikelDatabase.php";
32
 
33
    require_once "fpdf/fpdf.php";
34
 
35
    $GLOBALS["ui"] = new Weban_Smarty();
36
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
37
    $GLOBALS["ui"]->compile_id = "Warenwirtschaft|rechnungen";
38
    $GLOBALS["ui"]->use_sub_dirs = true;
39
 
40
    // ME: die übergebenen Werte auslesen
41
    $rechnungsnr = isset( $_GET['rechnungsnr'] ) ? $_GET['rechnungsnr']:false;
42
    $zahlungsziel = $_SESSION['Warenwirtschaft']['rechnungsbuch']['txtFaellig'];
43
 
44
    // ME: die Vorschaltseite mahnung_prepage.tpl anzeigen
45
    $show_prepage = false;
46
    if($_GET['show_prepage']==1) {
47
        $show_prepage = true;
48
    }
49
    if($show_prepage==true) {
50
        // ME: alle anderen offenen Rechnungen des Kunden holen
51
        $offRech = getOffeneRechnungen($rechnungsnr,$zahlungsziel);
52
        $mTypes = getMahnTexte($GLOBALS['shops_ID']);
53
        $GLOBALS["ui"]->assign("mTypes",$mTypes);
54
        $GLOBALS["ui"]->assign("offRech",$offRech);
55
        $GLOBALS["ui"]->assign("rechnungsnr",$rechnungsnr);
56
        $GLOBALS["ui"]->assign("action","generate_pdf");
57
        $GLOBALS["ui"]->display("mahnung_prepage.tpl");
58
    }
59
 
60
 
61
 
62
    // die FPDF Class erweitern (PDF)
63
    class PDF extends FPDF
64
    {
65
 
66
        function generate_LN( $m_id, $art, $Nummernkreis )
67
        {
68
            global $web_rechte;
69
            if ( $Nummernkreis )
70
            {
71
                if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) )
72
                {
73
                    $sql_re = "SELECT
74
                                re_short
75
                            FROM
76
                                shops
77
                            WHERE
78
                                ID=" . $GLOBALS["shops_ID"] . "
79
                        ";
80
                    $res_re = mysql_query( $sql_re );
81
                    $row_re = mysql_fetch_assoc( $res_re );
82
                    $re_short = $row_re["re_short"];
83
                }
84
                $sql = "SELECT
85
                            l_nr AS ln
86
                        FROM
87
                            nummernkreis_mahnung
88
                        WHERE
89
                            jahr=" . date( "Y" );
90
                if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) )
91
                {
92
                    $sql .= "
93
                            AND
94
                                re_short='$re_short'
95
                        ";
96
                }
97
                $res = mysql_query_logged( $sql );
98
                if ( $res )
99
                {
100
                    if ( mysql_num_rows( $res ) )
101
                    {
102
                        $row = mysql_fetch_assoc( $res );
103
                        $ln = $row["ln"];
104
                        $ln++;
105
                    }
106
                    else
107
                    {
108
                        $ln = 1;
109
                        $sql = "
110
                                INSERT INTO
111
                                    nummernkreis_mahnung
112
                                (
113
                                    l_nr,
114
                            ";
115
                        if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) )
116
                        {
117
                            $sql .= "
118
                                    re_short,
119
                            ";
120
                        }
121
                        $sql .= "
122
                                    jahr
123
                                )
124
                                VALUES
125
                                (
126
                                    $ln,
127
                                ";
128
                        if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) )
129
                        {
130
                            $sql .= "
131
                                    '" . $re_short . "',
132
                                ";
133
                        }
134
                        $sql .= "
135
                                    " . date( "Y" ) . "
136
                                )
137
                            ";
138
                        mysql_query_logged( $sql );
139
                    }
140
                }
141
                else
142
                {
143
                    $ln = 1;
144
                }
145
                $sql = "
146
                        UPDATE
147
                            nummernkreis_mahnung
148
                        SET
149
                            l_nr=" . $ln . "
150
                        WHERE
151
                            jahr=" . date( "Y" ) . "
152
                    ";
153
                if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) )
154
                {
155
                    $sql .= "
156
                            AND
157
                                re_short='$re_short'
158
                        ";
159
                }
160
                mysql_query_logged( $sql );
161
            }
162
            else
163
            {
164
                $date = date( "Y-m-d" );
165
                $f_name = $art . "_" . $m_id . "_" . $date;
166
                $sql = "SELECT
167
                                MAX(document) AS dokument
168
                            FROM
169
                                dokumente
170
                            WHERE
171
                                document
172
                            LIKE
173
                                '$f_name%'
174
                        ";
175
                $res = mysql_query( $sql );
176
                if ( $res )
177
                {
178
                    if ( mysql_num_rows( $res ) )
179
                    {
180
                        $row = mysql_fetch_assoc( $res );
181
                        $dokument = substr( $row["dokument"], 0, strlen( $row["dokument"] ) -
182
                            4 );
183
                        $dokument = explode( "_", $dokument );
184
                        $ln = $dokument[count( $dokument ) - 1];
185
                        $ln++;
186
                    }
187
                    else
188
                    {
189
                        $ln = 1;
190
                    }
191
                }
192
                else
193
                {
194
                    $ln = 1;
195
                    die( mysql_error() );
196
                }
197
            }
198
            return $ln;
199
        }
200
 
201
        //Page header
202
        function Header()
203
        {
204
            global $site;
205
 
206
            $h_file = "includes/mahnung/header_" . $site . "_" . $GLOBALS["shops_ID"] .
207
                ".inc.php";
208
 
209
            if ( file_exists( $h_file ) )
210
            {
211
 
212
                require ( $h_file );
213
            }
214
            else
215
            {
216
                require ( "includes/mahnung/header_" . $site . ".inc.php" );
217
            }
218
        }
219
 
220
        //Page footer
221
        function Footer()
222
        {
223
            global $site;
224
 
225
            if ( file_exists( "includes/mahnung/footer_" . $site . "_" . $GLOBALS["shops_ID"] .
226
                ".inc.php" ) )
227
            {
228
                require ( "includes/mahnung/footer_" . $site . "_" . $GLOBALS["shops_ID"] .
229
                    ".inc.php" );
230
            }
231
            else
232
            {
233
                require ( "includes/mahnung/footer_" . $site . ".inc.php" );
234
            }
235
        }
236
 
237
        function NbLines( $w, $txt )
238
        {
239
            //Computes the number of lines a MultiCell of width w will take
240
            $cw = &$this->CurrentFont['cw'];
241
            if ( $w == 0 )
242
                $w = $this->w - $this->rMargin - $this->x;
243
            $wmax = ( $w - 2 * $this->cMargin ) * 1000 / $this->FontSize;
244
            $s = str_replace( "\r", '', $txt );
245
            $nb = strlen( $s );
246
            if ( $nb > 0 and $s[$nb - 1] == "\n" )
247
                $nb--;
248
            $sep = -1;
249
            $i = 0;
250
            $j = 0;
251
            $l = 0;
252
            $nl = 1;
253
            while ( $i < $nb )
254
            {
255
                $c = $s[$i];
256
                if ( $c == "\n" )
257
                {
258
                    $i++;
259
                    $sep = -1;
260
                    $j = $i;
261
                    $l = 0;
262
                    $nl++;
263
                    continue;
264
                }
265
                if ( $c == ' ' )
266
                    $sep = $i;
267
                $l += $cw[$c];
268
                if ( $l > $wmax )
269
                {
270
                    if ( $sep == -1 )
271
                    {
272
                        if ( $i == $j )
273
                            $i++;
274
                    }
275
                    else
276
                        $i = $sep + 1;
277
                    $sep = -1;
278
                    $j = $i;
279
                    $l = 0;
280
                    $nl++;
281
                }
282
                else
283
                    $i++;
284
            }
285
            return $nl;
286
        }
287
    }
288
 
289
    $pdf = new PDF();
290
 
291
 
292
    // ME: die PDF erstellen
293
    if($_POST['action']=="generate_pdf") {
294
        generate_mahnung($pdf);
295
    }
296
 
297
    function getOffeneRechnungen($rechnungsnr,$zahlungsziel) {
298
        // ME: kundennr holen
299
        $sql = "SELECT
300
                    l.ID as kundennr
301
                FROM
302
                    Logins l,
303
                    rechnung r
304
                WHERE
305
                    l.ID = r.kundennr
306
                AND
307
                    r.rechnungsnummer = '".$rechnungsnr."'
308
        ";
309
 
310
        if($q = mysql_query($sql)) {
311
            if($r=mysql_fetch_assoc($q)) {
312
                $kundennr = $r['kundennr'];
313
                $GLOBALS['ui']->assign('kundennr',$kundennr);
314
            }
315
        }
316
 
317
        // ME: erstmal alles holen, gefiltert wird später (zahlungsziel ist im ser. Array)
318
        $sql = "SELECT
319
 
320
                    r.rechnungsnummer as rechnungsnummer,
321
                    r.shops_id,
322
                    r.erstellt_am as erstellt_am,
323
                    r.bestellung as bestellung,
324
                    r.kundennr as kundennr,
325
                    r.nettobetrag as nettobetrag,
326
                    r.bruttobetrag as bruttobetrag,
327
                    r.zahlungsziel as zahlungsziel,
328
                    r.1_mahnung_nr as 1_mahnung_datum,
329
                    r.2_mahnung_nr as 2_mahnung_datum,
330
                    r.3_mahnung_nr as 3_mahnung_datum,
331
 
332
                    l.ID as ID,
333
                    l.Anrede as Anrede,
334
                    l.Vorname as Vorname,
335
                    l.Name1 as Name1,
336
                    l.Name2 as Name2,
337
                    l.Strasse as Strasse,
338
                    l.Hausnummer as Hausnummer,
339
                    l.PLZ as PLZ,
340
                    l.Ort as Ort,
341
                    l.Land as Land
342
 
343
                FROM
344
                    rechnung r,
345
                    Logins l
346
                WHERE
347
                    r.kundennr = '".$kundennr."'
348
                AND
349
                    r.kundennr=l.ID
350
                AND
351
                    r.bezahlt_am = '0000-00-00 00:00:00'
352
                AND
353
                    zahlungsziel != ''
354
        ";
355
 
356
        if($q=mysql_query($sql)) {
357
            $i=0;
358
            while($r=mysql_fetch_assoc($q)) {
359
                if($zzArr = unserialize($r['zahlungsziel'])) {
360
                    $Kundendaten['ID'] = $r['ID'];
361
                    $Kundendaten['Anrede'] = $r['Anrede'];
362
                    $Kundendaten['Vorname'] = $r['Vorname'];
363
                    $Kundendaten['Name1'] = $r['Name1'];
364
                    $Kundendaten['Name2'] = $r['Name2'];
365
                    $Kundendaten['Strasse'] = $r['Strasse'];
366
                    $Kundendaten['Hausnummer'] = $r['Hausnummer'];
367
                    $Kundendaten['PLZ'] = $r['PLZ'];
368
                    $Kundendaten['Ort'] = $r['Ort'];
369
                    $Kundendaten['Land'] = $r['Land'];
370
 
371
                    if(is_int($zzArr['ziel'])) {
372
                        if($zzArr['ziel'] <= $zahlungsziel) {
373
                            $r['zahlungsziel_datum'] =  date ("d.m.Y", $zzArr['ziel'] );
374
                            $rechnungsdaten[] = $r;
375
                            $offRech[$i] = $r;
376
                            $i++;
377
                        }
378
                    }else{
379
                        $r['zahlungsziel_datum'] = $zzArr['ziel'];
380
                        $rechnungsdaten[] = $r;
381
                        $offRech[$i] = $r;
382
                        $i++;
383
                    }
384
                }
385
            }
386
            $_SESSION['Warenwirtschaft']['mahnung']['Rechnungsdaten'] = $rechnungsdaten;
387
            $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten'] = $Kundendaten;
388
 
389
            //admin_debug($_SESSION['Warenwirtschaft']['mahnung']['Rechnungsdaten']);
390
            return $offRech;
391
        }
392
    }
393
 
394
 
395
 
396
    function getMahnTexte($shops_id) {
397
        $mText = array();
398
 
399
        $sql = "SELECT DISTINCT shops_ID
400
                FROM
401
                    web_settings
402
                WHERE
403
                    ID between 291 AND 300
404
        ";
405
        if($q = mysql_query($sql) ) {
406
            while($r=mysql_fetch_assoc($q)) {
407
                $shop_ids[] = $r['shops_ID'];
408
            }
409
        }
410
        if(!in_array($shops_id,$shop_ids)) {
411
            $shops_id = $shop_ids[0];
412
        }
413
 
414
        $sql = "SELECT
415
                    *
416
                FROM
417
                    web_settings
418
                WHERE
419
                    ID between 291 AND 300
420
                AND
421
                    shops_id = ".$shops_id."
422
        ";
423
        if($q=mysql_query($sql)) {
424
            while($r=mysql_fetch_assoc($q)) {
425
                $mText[] = $r;
426
            }
427
        }
428
        return $mText;
429
    }
430
 
431
    function getRechnungForMahnung($rIDArr) {
432
        $whcl = implode("','",$rIDArr);
433
        $sql = "SELECT *
434
                FROM
435
                    rechnung
436
                WHERE
437
                    rechnungsnummer IN ('".$whcl."')
438
 
439
        ";
440
        if($q=mysql_query($sql)) {
441
            while($r=mysql_fetch_assoc($q)) {
442
                $zzArr = unserialize($r['zahlungsziel']);
443
                if(is_int($zzArr['ziel'])) {
444
                    $r['zahlungsziel_datum'] =  date ("d.m.Y", $zzArr['ziel'] );
445
                } else {
446
                    $r['zahlungsziel_datum'] = $zzArr['ziel'];
447
                }
448
                $rechnungen[] = $r;
449
            }
450
            return $rechnungen;
451
        }
452
    }
453
 
454
    function generate_mahnung($pdf) {
455
        global $site;
456
        global $webs;
457
        global $anz_stellen;
458
 
459
        $zahlungsziel = $_POST['neues_zahlungsziel'];
460
 
461
        $bestellungen = $_POST['bestellungen'];
462
 
463
        // Welche Art Mahnung?
464
        $mTypeID = $_POST['mType'];
465
 
466
        // die Texte aus den Web_settings holen
467
        $mTexte = getMahnTexte($GLOBALS['shops_id']);
468
 
469
        foreach($mTexte as $mTxtCnt => $mTxt) {
470
            // 1. Mahnung Titel
471
            if($mTxt['ID'] == 291 && $mTypeID == 291) {
472
                $mFld = "1_mahnung_nr";
473
                if($mTexte[$mTxtCnt]['Name']) {
474
                    $mTitle = $mTexte[$mTxtCnt]['Inhalt'];
475
                }else{
476
                    $mTitle = "1. Mahnung";
477
                }
478
            }
479
            // 1. Mahnung Text
480
            if($mTxt['ID'] == 292 && $mTypeID == 291) {
481
                if($mTexte[$mTxtCnt]['Inhalt']) {
482
                    $mInhalt = sprintf( $mTexte[$mTxtCnt]['Inhalt'], $zahlungsziel);
483
                }else{
484
                    $mInhalt = utf8_decode( "haben Sie uns vergessen?\nVermutlich, denn sonst hätten Sie unsere unten aufgeführten Rechnungen sicherlich schon bis zum ".$zahlungsziel." beglichen.\nWir bitten Sie, die offenen Positionen schnellstmöglich auf unser Geschäftskonto zu überweisen." );
485
                }
486
            }
487
            // 2. Mahnung Titel
488
            if($mTxt['ID'] == 295 && $mTypeID == 295) {
489
                $mFld = "2_mahnung_nr";
490
                if($mTexte[$mTxtCnt]['Name']) {
491
                    $mTitle = $mTexte[$mTxtCnt]['Inhalt'];
492
                }else{
493
                    $mTitle = "2. Mahnung";
494
                }
495
            }
496
            // 2. Mahnung Text
497
            if($mTxt['ID'] == 296 && $mTypeID == 295) {
498
                if($mTexte[$mTxtCnt]['Inhalt']) {
499
                    $mInhalt = sprintf( $mTexte[$mTxtCnt]['Inhalt'], $zahlungsziel);
500
                }else{
501
                    $mInhalt = utf8_decode( "haben Sie uns vergessen?\nVermutlich, denn sonst hätten Sie unsere unten aufgeführten Rechnungen sicherlich schon bis zum ".$zahlungsziel." beglichen.\nWir bitten Sie, die offenen Positionen schnellstmöglich auf unser Geschäftskonto zu überweisen." );
502
                }
503
            }
504
            // 3. Mahnung Titel
505
            if($mTxt['ID'] == 299 && $mTypeID == 299) {
506
                $mFld = "3_mahnung_nr";
507
                if($mTexte[$mTxtCnt]['Name']) {
508
                    $mTitle = $mTexte[$mTxtCnt]['Inhalt'];
509
                }else{
510
                    $mTitle = "3. Mahnung";
511
                }
512
            }
513
            // 3. Mahnung Text
514
            if($mTxt['ID'] == 300 && $mTypeID == 299) {
515
                if($mTexte[$mTxtCnt]['Inhalt']) {
516
                    $mInhalt = sprintf( $mTexte[$mTxtCnt]['Inhalt'], $zahlungsziel);
517
                }else{
518
                    $mInhalt = utf8_decode( "haben Sie uns vergessen?\nVermutlich, denn sonst hätten Sie unsere unten aufgeführten Rechnungen sicherlich schon bis zum ".$zahlungsziel." beglichen.\nWir bitten Sie, die offenen Positionen schnellstmöglich auf unser Geschäftskonto zu überweisen." );
519
                }
520
            }
521
        }
522
        // ME: den Mahnstatus aktualisieren
523
        $rNr = implode("','",$_POST['rechnungsnummer']);
524
        $sql = "UPDATE
525
                    rechnung
526
                SET
527
                    ".$mFld."='".human2date($zahlungsziel)."'
528
                WHERE
529
                    rechnungsnummer IN ('".$rNr."')
530
        ";
531
        if($q = mysql_query($sql)){
532
 
533
        }else{
534
            echo "<br>Fehler beim Update des Mahnstatus aufgetreten!";
535
        }
536
 
537
        $kundennr = $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['ID'];
538
        $anrede = $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Anrede'];
539
        $name = $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Vorname']." ";
540
        $name .= $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Name1'];
541
        $firma = $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Name2'];
542
        $str = $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Strasse']." ";
543
        $str .= $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Hausnummer'];
544
        $plz = $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['PLZ'];
545
        $ort = $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Ort'];
546
        $iso_land = getIsoCode( $_SESSION['Warenwirtschaft']['mahnung']['Kundendaten']['Land'], 2 );
547
 
548
        if($anrede=="Frau") {
549
            $mahntext = "Sehr geehrte ".$anrede;
550
        }else{
551
            $mahntext = "Sehr geehrter ".$anrede;
552
        }
553
        $mahntext .= " ". $name.",\n\n";
554
        $mahntext .= utf8_encode( $mInhalt );
555
 
556
 
557
        require( "includes/mahnung/body_" . $site . ".inc.php" );
558
 
559
        if ( $Einzug_rechts )
560
        {
561
            $Einzug = $Einzug_rechts;
562
        }
563
        else
564
        {
565
            $Einzug = 15;
566
        }
567
 
568
        $pdf->AddPage();
569
 
570
        $pdf->setSubject( "Mahnung" );
571
        $pdf->setCreator( "fpdf PHP Library" );
572
        $pdf->setAuthor( $haendler_name );
573
 
574
        $pdf->AliasNbPages();
575
 
576
        $pdf->setY( 45 );
577
        $pdf->setFont( 'Arial', '', 8 );
578
        $pdf->SetX( $Einzug );
579
        $pdf->cell( 105, 4, $umschlag, "B", 1, "L" );
580
        $pdf->setFont( 'Arial', '', 10 );
581
        $pdf->ln( 5 );
582
        $pdf->SetX( $Einzug );
583
        if ( !$firma )
584
        {
585
            $pdf->SetX( $Einzug +5);
586
            $pdf->cell( 80, 4, $anrede, 0, 1, "L" );
587
            $pdf->SetX( $Einzug +5);
588
            $pdf->cell( 80, 4, $name, 0, 1, "L" );
589
        }
590
        else
591
        {
592
            $pdf->SetX( $Einzug +5);
593
            $pdf->cell( 80, 4, $firma, 0, 1, "L" );
594
            $pdf->SetX( $Einzug +5);
595
            $pdf->cell( 80, 4, $anrede . " " . $name, 0, 1, "L" );
596
        }
597
        $pdf->SetX( $Einzug +5);
598
        $pdf->cell( 80, 4, $str, 0, 1, "L" );
599
 
600
        $pdf->SetX( $Einzug +5);
601
        if ( $iso_land == "DE" or $iso_land == "DEU" )
602
        {
603
 
604
            $pdf->cell( 80, 4, "$plz $ort", 0, 1, "L" );
605
        }
606
        else
607
        {
608
            if ( strlen( $iso_land ) > 0 )
609
            {
610
                $pdf->cell( 80, 4, "$iso_land - $plz $ort", 0, 1, "L" );
611
            }
612
            else
613
            {
614
                $pdf->cell( 80, 4, "$plz $ort", 0, 1, "L" );
615
            }
616
        }
617
 
618
        // rechte Spalte Head
619
        if ( $Infozeile != 'on' )
620
        {
621
            $pdf->setY( 80 );
622
            $nr_text = "Kunden Nr.:";
623
            $nr = $kundennr;
624
 
625
            $pdf->cell( 150, 4, $nr_text, 0, 0, "R" );
626
            $pdf->cell( 0, 4, $nr, 0, 1, "R" );
627
            $pdf->cell( 150, 4, "USt-IdNr.:", 0, 0, "R" );
628
            $pdf->cell( 0, 4, $haendler_ust_id, 0, 1, "R" );
629
 
630
 
631
            $pdf->cell( 150, 4, "Datum:", 0, 0, "R" );
632
            $pdf->cell( 0, 4, date( "d.m.Y" ), 0, 1, "R" );
633
 
634
        }
635
 
636
 
637
 
638
        // Haupttextkörper
639
        $pdf->setY( 110 );
640
        $pdf->setFont( 'Arial', 'B', 12 );
641
        $pdf->SetX( $Einzug );
642
        $pdf->cell( 0, 4, $mTitle, 0, 0, "L" );
643
        $pdf->setFont( 'Arial', '', 8 );
644
 
645
        // Einleitungstext
646
        $pdf->setY( 120 );
647
        $pdf->SetX( $Einzug );
648
        $pdf->MultiCell( 170 , 4, utf8_decode( $mahntext ), '' , 'L' );
649
 
650
        // Tabelle Kopfzeile
651
        $pdf->setY( $pdf->getY()+5);
652
        $pdf->setFont( 'Arial', 'B', 8 );
653
        $pdf->setFillColor(192,192,192);
654
        $pdf->SetX( $Einzug );
655
        $pdf->cell( 25, 4, "Datum", 1, 0, "L" ,1);
656
        $pdf->cell( 25, 4, "BestellNr.", 1, 0, "L",1 );
657
        $pdf->cell( 25, 4, utf8_decode( "Fälligkeit" ), 1, 0, "L" ,1);
658
        $pdf->cell( 25, 4, "Betrag EUR", 1, 0, "R" ,1);
659
        $pdf->cell( 25, 4, utf8_decode( "Gebühr EUR" ), 1, 0, "R" ,1);
660
        $pdf->cell( 25, 4, "Zinsen EUR", 1, 0, "R" ,1);
661
        $pdf->cell( 25, 4, "Gesamt EUR", 1, 0, "R" ,1);
662
 
663
        // Tabelle Rechnungsdaten
664
        $summe = 0;
665
        foreach( getRechnungForMahnung($_POST['rechnungsnummer']) as $rCnt => $rechnung) {
666
            $datum = datetime2human( $rechnung['erstellt_am'] );
667
 
668
            $pdf->setY( $pdf->getY()+4);
669
            $pdf->setFont( 'Arial', '', 8 );
670
            $pdf->SetX( $Einzug );
671
            $pdf->cell( 25, 4, $datum['Datum'] , 1, 0, "L" );
672
            $pdf->cell( 25, 4, $rechnung['bestellung'], 1, 0, "L" );
673
            $pdf->cell( 25, 4, $rechnung['zahlungsziel_datum'], 1, 0, "L" );
674
            $pdf->cell( 25, 4, number_format( $rechnung['bruttobetrag'],2,",","." ), 1, 0, "R" );
675
            $pdf->cell( 25, 4, "", 1, 0, "R" );
676
            $pdf->cell( 25, 4, "", 1, 0, "R" );
677
            $pdf->cell( 25, 4, number_format( $rechnung['bruttobetrag'],2,",","." ), 1, 0, "R" );
678
            $summe += $rechnung['bruttobetrag'];
679
        }
680
        $pdf->setY( $pdf->getY()+4);
681
        $pdf->setFont( 'Arial', 'B', 8 );
682
        $pdf->SetX( $Einzug );
683
        $pdf->cell(150,4,"Total:",0,0,"R");
684
        $pdf->cell(25,4,number_format( $summe,2,",","." ),0,0,"R");
685
 
686
        // Bemerkungen
687
        if(strlen( $_POST['mahnung_bemerkung'] ) > 0 ){
688
            $pdf->setY( $pdf->getY()+5);
689
            $pdf->setFont( 'Arial', 'B', 8 );
690
            $pdf->SetX( $Einzug );
691
            $pdf->cell(0,4,"Bemerkung:",0,0,"L");
692
            $pdf->setY( $pdf->getY()+4);
693
            $pdf->setFont( 'Arial', '', 8 );
694
            $pdf->SetX( $Einzug );
695
            $pdf->MultiCell( 175 , 4, ( $_POST['mahnung_bemerkung'] ), '' , 'L' );
696
        }
697
 
698
        // Schluß
699
        $pdf->setY( $pdf->getY()+30);
700
        $pdf->setFont( 'Arial', '', 8 );
701
        $pdf->SetX( $Einzug );
702
        $pdf->cell(0,4,utf8_decode( "Mit freundlichen Grüßen" ),0,0,"L");
703
        $pdf->setY( $pdf->getY()+4);
704
        $pdf->SetX( $Einzug );
705
        $pdf->cell(0,4, "(".( $haendler_name ).")",0,0,"L");
706
 
707
 
708
        // für alle BestellIDs muss die Beziehung über die Dokumente-Tabelle hergestellt werden.
709
        foreach($bestellungen as $r_nr => $b_id) {
710
            foreach( getRechnungForMahnung($_POST['rechnungsnummer']) as $rCnt => $rechnung) {
711
                if($rechnung['rechnungsnummer'] == $r_nr) {
712
                    // PDF ausgeben / speichern
713
                    if ( !isset( $anz_stellen ) ) {
714
                        $anz_stellen = 5;
715
                    }
716
                    $m_id = 0;
717
                    $m_nr = sprintf( "%0" . $anz_stellen . "d", $pdf->generate_LN( $m_id, "M", true ) );
718
                    $m_nr = date( "y" ) . $m_nr;
719
 
720
                    $fName = "M" . $m_nr . ".pdf";
721
 
722
 
723
 
724
                    $sql = "
725
                            INSERT INTO
726
                                dokumente
727
                            (
728
                                table_foreign,
729
                                row_foreign,
730
                                data_foreign,
731
                                document,
732
                                letzte_Aenderung_am,
733
                                letzte_Aenderung_von
734
                            )
735
                            VALUES
736
                            (
737
                                'Bestellung',
738
                                'ID',
739
                                $b_id,
740
                                '$fName',
741
                                NOW(),
742
                                '" . $_SERVER["PHP_AUTH_USER"] . "'
743
                            )
744
                    ";
745
 
746
                    mysql_query_logged( $sql ) or mail( "erling@weban.de",
747
                        "Fehler beim Speichern der Mahnung", mysql_errno() . ": " .
748
                        mysql_error() . "<hr>$query<hr>",
749
                        "from: cms_Warenwirtschaft_mahnung.php into dokumente" );
750
 
751
                }
752
            }
753
        }
754
        $pdf->Output( $webs['verzeichnis'] . "/images/dokumente/" . $fName, "F" );
755
        $pdf->Output();
756
 
757
    } // END function generate_mahnung
758
 
759
 
760
 
761
 
762
?>