Subversion Repositories wpShopGermany4

Rev

Rev 3382 | Rev 3506 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1093 daniel 1
<?php
2759 daniel 2
 
1093 daniel 3
	/**
4
	 * Template für die PDF Rechnung
5
	 */
6
 
1228 daniel 7
	require_once dirname(__FILE__).'/../../../lib/fpdf/fpdf.php';
8
	require_once dirname(__FILE__).'/../../../lib/fpdf/fpdi.php';
9
	require_once dirname(__FILE__).'/../../../mods/mod_rechnungen/wpsg_fpdf.class.php';
1165 daniel 10
 
1094 daniel 11
	global $absender_left, $absender_top, $adress_left, $adress_top, $rdata_left, $rdata_top;
1165 daniel 12
 
1093 daniel 13
	// Positionierung der Absenderadresszeile
14
	$absender_left				= 25;
15
	$absender_top				= 50;
16
 
17
	// Positionierung der Zieladress
18
	$adress_left 				= 25;
19
	$adress_top					= 55;
20
 
21
	// Positionierund des Rechnungskopfes
22
	$rdata_left					= 25;
23
	$rdata_top					= 90;
24
 
25
	// Positionierung der Produktdaten
26
	$prod_left					= 25;
27
	$prod_top					= 105;
28
 
29
	// Anzahl an Produkten pro Seite
2301 daniel 30
	$prod_break					= 10;
1242 david 31
 
2301 daniel 32
	// Damit die Steuer bei der Kleinunternehmerregelung nicht angezeigt wird leer ich den Array sicherheitshalber
33
	if ($this->get_option('wpsg_kleinunternehmer') == '1')
34
	{
35
 
36
		unset($this->view['basket']['mwst']);
37
 
38
	}
39
 
1228 daniel 40
	if (!function_exists('AddRechnungPage'))
1093 daniel 41
	{
42
 
1228 daniel 43
		function AddRechnungPage($shop, $pdf)
1093 daniel 44
		{
45
 
1228 daniel 46
			global $absender_left, $absender_top, $adress_left, $adress_top, $rdata_left, $rdata_top;
1093 daniel 47
 
1228 daniel 48
			$pdf->AddPage();
1093 daniel 49
 
1228 daniel 50
			if (file_exists($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.pdf"))
51
			{
52
 
53
				$pagecount = $pdf->setSourceFile($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.pdf");
54
				$tplidx = $pdf->importPage(1, '/MediaBox');
55
				$pdf->useTemplate($tplidx, 0, 0, 210);
56
 
57
			}
58
			if (file_exists($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.jpg"))
59
			{
60
				$pdf->image($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.jpg", 0, 0, 210, 297, 'jpg');
61
			}
1093 daniel 62
 
63
 
1228 daniel 64
			if (file_exists($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_logo.jpg"))
65
			{
66
 
67
				list($width, $height, $type, $attr) = getimagesize($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_logo.jpg");
68
 
69
				//wpsg_debug($width.":".$height);
70
 
71
				$wPix = (25.4 * $width) / 96;
72
				$hPix = (25.4 * $height) / 96;
73
 
74
				$pdf->image($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_logo.jpg", 210 - $wPix, 0, $wPix, $hPix);
75
 
76
			}
1093 daniel 77
 
1228 daniel 78
			// Absenderadresszeile (Wird in der Konfiguration hinterlegt)
79
			$pdf->SetFont('Arial', '', 6);
80
			$pdf->Text($absender_left, $absender_top, $shop->get_option("wpsg_rechnungen_adresszeile"));
1093 daniel 81
 
1228 daniel 82
			if ($shop->view['kunde']['kuerzel'] != "") $shop->view['kunde']['kuerzel'] = $shop->view['kunde']['kuerzel'].'-';
1093 daniel 83
 
1228 daniel 84
			// Adresse des Kunden
85
			$pdf->SetFont('Arial', '', 12);
86
			$pdf->Text($adress_left, $adress_top, $shop->view['kunde']['firma']);
87
			$pdf->Text($adress_left, $adress_top + 5, $shop->view['kunde']['vname'].' '.$shop->view['kunde']['name']);
88
			$pdf->Text($adress_left, $adress_top + 10, $shop->view['kunde']['strasse'].' '.$shop->view['kunde']['hausnr']);
89
			$pdf->Text($adress_left, $adress_top + 15, ((isset($shop->view['kunde']['land']['kuerzel']))?$shop->view['kunde']['land']['kuerzel'].'-':'').$shop->view['kunde']['plz'].' '.$shop->view['kunde']['ort']);
2301 daniel 90
 
1228 daniel 91
			// Rechnungsdaten
92
			$pdf->SetFont('Arial', 'B', 16);
93
			$pdf->Text($rdata_left, $rdata_top, $shop->view['title']);
94
			$pdf->SetFont('Arial', 'B', 9);
95
			$pdf->Text($rdata_left, $rdata_top + 6, $shop->view['rnr']);
96
			$pdf->SetFont('Arial', '', 9);
97
 
98
			if (isset($shop->view['faelligkeitdatum']))
99
			{
100
 
101
				$pdf->Text($rdata_left + 35, $rdata_top, __("Fällig am", "wpsg"));
102
				$pdf->Text($rdata_left + 35, $rdata_top + 6, $shop->view['faelligkeitdatum']);
1093 daniel 103
 
1228 daniel 104
			}
105
			if (isset($shop->view['payment']))
106
			{
1093 daniel 107
 
2759 daniel 108
				$pdf->Text($rdata_left + 65, $rdata_top, __("Zahlungsbedingungen", "wpsg"));
109
				$pdf->Text($rdata_left + 65, $rdata_top + 6, $shop->view['payment']);
1228 daniel 110
 
111
			}
1093 daniel 112
 
1228 daniel 113
			$pdf->Text($rdata_left + 100, $rdata_top, __("Kunden-Nr", "wpsg"));
114
			$pdf->Text($rdata_left + 100, $rdata_top + 6, (($shop->view['kunde']['knr'] != '')?$shop->view['kunde']['knr']:$shop->view['kunde']['id']));
1093 daniel 115
 
1228 daniel 116
			$pdf->Text($rdata_left + 125, $rdata_top, __("Best. Nr.", "wpsg"));
117
			$pdf->Text($rdata_left + 125, $rdata_top + 6, ((trim($shop->view['data']['onr']) != '')?$shop->view['data']['onr']:$shop->view['data']['id']));
118
 
119
			$pdf->Text($rdata_left + 145, $rdata_top, __("Datum", "wpsg"));
120
			$pdf->Text($rdata_left + 145, $rdata_top + 6, $shop->view['rDatum']);
121
 
122
			if ($shop->view['basket']['noMwSt'] == '1')
1093 daniel 123
			{
124
 
1228 daniel 125
				$pdf->SetFont('Arial', '', 9);
126
				$pdf->Text($adress_left, $rdata_top + 11.5, __("Innergemeinschaftliche Lieferung.", "wpsg"));
1093 daniel 127
 
128
			}
129
 
1228 daniel 130
			// Benutzerdefinierte Felder
131
			$arTexte = $shop->get_option("wpsg_mod_rechnungen_texte");
132
 
133
			foreach ((array)$arTexte as $text)
134
			{
135
 
136
				if (isset($text['aktiv']) && $text['aktiv'] == 1)
137
				{
138
 
139
					$pdf->SetFont('Arial', 'B', ((intval($text['fontsize']) > 0)?intval($text['fontsize']):10));
140
					$pdf->SetTextColor($text['color']);
141
					$pdf->MultiCell($text['x'], $text['y'], 5, utf8_encode($text['text']));
142
					$pdf->SetTextColor("#000000");
143
 
144
				}
145
 
146
			}
147
 
1093 daniel 148
		}
149
 
150
	}
1242 david 151
	//wpsg_debug($this->view); die();
1093 daniel 152
	$pdf = new wpsg_fpdf();
153
	$pdf->SetAutoPageBreak(true, 5);
154
	AddRechnungPage($this, $pdf);
155
 
156
	$summe = 0;
157
 
158
	$bKopf = false; $pnr = 1; $offset = 0; $count = 0;
159
	foreach ($this->view['basket']['produkte'] as $p)
160
	{
161
 
162
		if (!$bKopf)
163
		{
164
 
165
			$pdf->SetFont('Arial', 'B', 9);
166
			$pdf->setXY($prod_left, $prod_top);
167
			$pdf->Cell(10, 8, __("Nr.", "wpsg"), 1, 0, 'C');
168
 
169
			$pdf->setXY($prod_left + 10, $prod_top);
1157 daniel 170
			$pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, "Name", 1, 0, 'L');
1093 daniel 171
 
1157 daniel 172
			if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
1093 daniel 173
			{
174
 
175
				$pdf->setXY($prod_left + 97, $prod_top);
3024 daniel 176
				$pdf->Cell(15, 8, __("MwSt.", "wpsg"), 1, 0, 'C');
1093 daniel 177
 
178
			}
179
 
180
			$pdf->setXY($prod_left + 112, $prod_top);
181
			$pdf->Cell(15, 8, __("Menge", "wpsg"), 1, 0, 'C');
182
 
183
			$pdf->setXY($prod_left + 127, $prod_top);
184
			$pdf->Cell(25, 8, __("Einzelpreis", "wpsg"), 1, 0, 'R');
185
 
186
			$pdf->setXY($prod_left + 152, $prod_top);
187
			$pdf->Cell(25, 8, __("Gesamtpreis", "wpsg"), 1, 0, 'R');
188
 
189
			$offset = 8;
190
			$bKopf = true;
191
 
192
		}
193
 
194
		$pdf->SetFont('Arial', '', 9);
195
		$pdf->setXY($prod_left, $prod_top + $offset);
3028 daniel 196
 
197
		if ($this->get_option('wpsg_mod_rechnungen_showanr') == '1')
198
		{
199
 
200
			$pdf->Cell(10, 8, $p['anr'], 0, 0, 'C');
201
 
202
		}
203
		else
204
		{
205
 
206
			$pdf->Cell(10, 8, $pnr.".", 0, 0, 'C');
207
 
208
		}
1093 daniel 209
 
210
		$produkt_text = $p['name'];
211
		$produktBeschreibung = trim(strip_tags($p['beschreibung']));
212
 
213
		if ($this->isOtherLang())
1671 daniel 214
		{
1093 daniel 215
 
1671 daniel 216
			$trans_db = $this->db->fetchRow("SELECT * FROM `".WPSG_TBL_PRODUCTS."` WHERE `lang_parent` = '".wpsg_q($this->getProduktID($p['id']))."' AND `lang_locale` = '".wpsg_q(get_locale())."'");
217
 
1093 daniel 218
			if (is_array($trans_db) && sizeof($trans_db) > 0)
219
			{
220
 
221
				$produkt_text = $trans_db['name'];
1671 daniel 222
				$produktBeschreibung = trim(strip_tags($trans_db['beschreibung']));
1093 daniel 223
 
224
			}
225
 
226
		}
227
 
228
		$height = 0; // Höhe der Zeile für den Rahmen
229
 
230
		$pdf->setXY($prod_left + 10, $prod_top + $offset);
231
 
1671 daniel 232
		// Produktvariablen
233
		if ($this->hasMod('wpsg_mod_productvars') && $this->get_option("wpsg_mod_rechnungen_showpv") == "1")
1093 daniel 234
		{
1671 daniel 235
 
236
			foreach ((array)$p['wpsg_mod_productvars'] as $pv_id => $pv_value)
1093 daniel 237
			{
238
 
1671 daniel 239
				$pvars_name = $this->callMod('wpsg_mod_productvars', 'getNameFromID', array($pv_id));
1093 daniel 240
 
1671 daniel 241
				$produkt_text .= "\r\n".$pvars_name.": ".$pv_value;
242
				$height += 5;
1093 daniel 243
 
1671 daniel 244
			}
2877 daniel 245
 
1093 daniel 246
		}
1678 daniel 247
 
248
		$produkt_text_cell_width = 102;
249
		if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
250
		{
251
			$produkt_text_cell_width = 87;
252
		}
253
 
1093 daniel 254
		$produkt_text_width = $pdf->GetStringWidth($produkt_text);
1678 daniel 255
		//$produkt_text_cell_width = (($this->arMwSt == "-1")?87:102);
1093 daniel 256
 
1671 daniel 257
		$height += 5 * ceil($produkt_text_width / $produkt_text_cell_width) + 3;
1093 daniel 258
 
1678 daniel 259
		$height_y = $pdf->getY();
2877 daniel 260
		$height = 2 + $pdf->MultiCell($prod_left + 10, $prod_top + $offset + 1.5, 5, utf8_encode($produkt_text), 0, 'L', 0, $produkt_text_cell_width);
261
 
1678 daniel 262
		//$height += 3 + 5 + $pdf->getY() - $height_y;
1093 daniel 263
		//$pdf->Cell((($this->arMwSt == "-1")?102:87), 8, $produkt_text, 0, 0, 'L');
264
 
1157 daniel 265
		if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
1093 daniel 266
		{
267
 
268
			$pdf->setXY($prod_left + 97, $prod_top + $offset);
3024 daniel 269
			$pdf->Cell(15, 8, (($this->view['basket']['noMwSt'] == '1')?'0.00 %':wpsg_ff($p['mwst_value'], '%')), 0, 0, 'C');
1093 daniel 270
 
271
		}
272
 
273
		$pdf->setXY($prod_left + 112, $prod_top + $offset);
274
		$pdf->Cell(15, 8, $p['menge'], 0, 0, 'C');
275
 
1170 daniel 276
		// Preis eines Produktes
277
		if ($this->view['basket']['noMwSt'] == '1')
1093 daniel 278
		{
1170 daniel 279
 
280
			// Innergemeinschaftliche Lieferung, hier Netto Preis
281
			$preis = $p['preis_netto'];
282
 
1093 daniel 283
		}
284
		else
285
		{
1170 daniel 286
 
287
			if ($this->get_option('wpsg_preisangaben_frontend') == WPSG_BRUTTO || $this->get_option('wpsg_kleinunternehmer') == '1')
288
			{
289
				$preis = $p['preis_brutto'];
290
			}
291
			else
292
			{
293
				$preis = $p['preis_netto'];
294
			}
295
 
1093 daniel 296
		}
297
 
298
		$pdf->setXY($prod_left + 127, $prod_top + $offset);
299
		$pdf->Cell(25, 8, wpsg_ff($preis, $this->get_option('wpsg_currency')), 0, 0, 'R');
300
 
301
		$pdf->setXY($prod_left + 152, $prod_top + $offset);
302
		$pdf->Cell(25, 8, wpsg_ff($preis * $p['menge'], $this->get_option('wpsg_currency')), 0, 0, 'R');
303
 
304
		/**
305
		 * Produktbeschreibung anzeigen Ja/Nein
306
		 */
307
		$pBeschreibungHeight = 0;
308
		if ($this->get_option("wpsg_rechnungen_pbeschreibung") == "1" && trim(strip_tags($p['beschreibung'])) != '')
309
		{
310
 
1237 daniel 311
			$produktBeschreibung = nl2br($produktBeschreibung);
312
			preg_match_all('/\<br \/\>/', $produktBeschreibung, $treffer);
313
			$produktBeschreibung = strip_tags($produktBeschreibung);
314
 
1093 daniel 315
			$pBeschreibungWidth = $pdf->getStringWidth($produktBeschreibung);
1237 daniel 316
			$pBeschreibungHeight = 5 * (ceil($pBeschreibungWidth / $produkt_text_cell_width) + @sizeof($treffer[0]));
1093 daniel 317
 
318
			$pdf->SetFont('Arial', 'I', 9);
1678 daniel 319
 
320
			$cellY = $pdf->getY();
2877 daniel 321
			$pdf->MultiCell($prod_left + 10, $prod_top + $height + $offset - 1, 5, utf8_encode($produktBeschreibung), 0, 'L', 0, $produkt_text_cell_width);
1678 daniel 322
			$pBeschreibungHeight = $pdf->getY() - $cellY - $height + 1;
1093 daniel 323
			$pdf->SetFont('Arial', '', 9);
324
 
325
		}
326
 
327
		$height += $pBeschreibungHeight;
1125 daniel 328
 
329
		/**
330
		 * Variante ?
331
		 */
332
		if (preg_match('/vp_(.*)/', $p['id']))
333
		{
334
 
335
			$variInfo = $this->callMod('wpsg_mod_varianten', 'getVariantenInfoArray', array($p['id']));
336
 
2877 daniel 337
			$height += $pdf->MultiCell($prod_left + 10, $prod_top + $height + $offset - 1.5, 5, utf8_encode(wpsg_translate(__('Variante: #1#', 'wpsg'), $variInfo['key'])), 0, 'L', 0, $produkt_text_cell_width);
1125 daniel 338
 
2877 daniel 339
			//$height += 5;
1125 daniel 340
 
341
		}
1093 daniel 342
 
343
		// Jetzt die Rahmen zeichnen
344
		$pdf->Rect($prod_left, $prod_top + $offset, 10, $height);
345
 
1157 daniel 346
		$pdf->Rect($prod_left + 10, $prod_top + $offset, ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), $height);
1093 daniel 347
 
1157 daniel 348
		if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
1093 daniel 349
		{
350
 
351
			$pdf->Rect($prod_left + 97, $prod_top + $offset, 15, $height);
352
 
353
		}
354
 
355
		$pdf->Rect($prod_left + 112, $prod_top + $offset, 15, $height);
356
		$pdf->Rect($prod_left + 127, $prod_top + $offset, 25, $height);
357
		$pdf->Rect($prod_left + 152, $prod_top + $offset, 25, $height);
358
 
359
		$offset += $height;
360
 
361
		$pnr ++;
362
		$count ++;
363
 
364
		$summe += $p['price'] * $p['menge'];
365
 
2301 daniel 366
		if ($pdf->getY() > 220 || ($count >= $prod_break && sizeof($this->view['basket']['produkte']) > ($pnr - 1)))
1093 daniel 367
		{
368
 
369
			AddRechnungPage($this, $pdf);
370
			$bKopf = false; $offset = 0; $count = 0;
371
 
372
		}
373
 
1094 daniel 374
	} // produkte
1671 daniel 375
 
1633 daniel 376
	// Gutschein
377
	if (isset($this->view['basket']['gs']))
378
	{
379
 
380
		$pdf->SetFont('Arial', '', 9);
381
		$pdf->setXY($prod_left, $prod_top + $offset);
382
		$pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
383
 
384
		$pdf->setXY($prod_left + 10, $prod_top + $offset);
385
		$pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, wpsg_translate(__('Gutschein (#1#)', 'wpsg'), $this->view['basket']['gs']['code']), 1, 0, 'L');
386
 
387
		if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
388
		{
389
 
3024 daniel 390
			$mwst = __('anteilig', 'wpsg');
1633 daniel 391
 
392
			$pdf->setXY($prod_left + 97, $prod_top + $offset);
3024 daniel 393
			$pdf->Cell(15, 8, $mwst, 1, 0, 'C');
1633 daniel 394
 
395
		}
396
 
397
		$pdf->setXY($prod_left + 112, $prod_top + $offset);
398
		$pdf->Cell(15, 8, '1', 1, 0, 'C');
399
 
3024 daniel 400
		/*
1633 daniel 401
		if ($this->view['basket']['gs']['calc'] == 'w')
402
		{
403
 
404
			$gs_value_einzel = '-'.wpsg_ff($this->view['basket']['gs']['value'], $this->get_option('wpsg_currency'));
405
			$gs_value_gesamt = '-'.wpsg_ff($this->view['basket']['gs']['value'], $this->get_option('wpsg_currency'));
406
 
407
		}
408
		else if ($this->view['basket']['gs']['calc'] == 'p')
409
		{
410
 
411
			$gs_value_einzel = '-'.wpsg_ff($this->view['basket']['gs']['value'], '%');
412
			$gs_value_gesamt = '-'.wpsg_ff($this->view['basket']['sum']['gs'], $this->get_option('wpsg_currency'));
413
 
414
		}
3024 daniel 415
		*/
1633 daniel 416
 
3024 daniel 417
		$gs_value_einzel = '-'.wpsg_ff($this->view['basket']['sum']['gs'], $this->get_option('wpsg_currency'));
418
		$gs_value_gesamt = '-'.wpsg_ff($this->view['basket']['sum']['gs'], $this->get_option('wpsg_currency'));
419
 
1633 daniel 420
		$pdf->setXY($prod_left + 127, $prod_top + $offset);
421
		$pdf->Cell(25, 8, $gs_value_einzel, 1, 0, 'R');
422
 
423
		$pdf->setXY($prod_left + 152, $prod_top + $offset);
424
		$pdf->Cell(25, 8, $gs_value_gesamt, 1, 0, 'R');
425
 
426
		$offset += 8;
427
 
428
	}
429
 
1094 daniel 430
	// Versandkosten
3409 daniel 431
	if ($this->view['basket']['sum']['preis_shipping'] != '' && $this->view['basket']['sum']['preis_shipping'] != 0)
1094 daniel 432
	{
433
 
434
		$pdf->SetFont('Arial', '', 9);
435
		$pdf->setXY($prod_left, $prod_top + $offset);
436
		$pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
437
 
438
		$pdf->setXY($prod_left + 10, $prod_top + $offset);
1416 daniel 439
		$pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, wpsg_translate(__('Versandkosten "#1#"', 'wpsg'), $this->arShipping[$this->view['data']['type_shipping']]['name']), 1, 0, 'L');
1094 daniel 440
 
1157 daniel 441
		if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
1094 daniel 442
		{
443
 
1165 daniel 444
			if ($this->arShipping[$this->view['data']['type_shipping']]['mwst_null'] == '1' && $this->view['basket']['noMwSt'] == '1')
445
			{
1416 daniel 446
 
1165 daniel 447
				$mwst = 0;
1416 daniel 448
 
1165 daniel 449
			}
450
			else
451
			{
1416 daniel 452
 
453
				if ($this->arShipping[$this->view['data']['type_shipping']]['mwst'] == '0')
454
				{
455
 
3024 daniel 456
					$mwst = __('anteilig', 'wpsg');
1416 daniel 457
 
458
				}
459
				else
460
				{
461
 
462
					$mwst = wpsg_ff($this->arShipping[$this->view['data']['type_shipping']]['mwst_value'], '%');
463
 
464
				}
465
 
1165 daniel 466
			}
467
 
1094 daniel 468
			$pdf->setXY($prod_left + 97, $prod_top + $offset);
3024 daniel 469
			$pdf->Cell(15, 8, $mwst, 1, 0, 'C');
1094 daniel 470
 
471
		}
472
 
473
		$pdf->setXY($prod_left + 112, $prod_top + $offset);
474
		$pdf->Cell(15, 8, '1', 1, 0, 'C');
475
 
476
		$pdf->setXY($prod_left + 127, $prod_top + $offset);
1633 daniel 477
		$pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_shipping'], $this->get_option('wpsg_currency')), 1, 0, 'R');
1094 daniel 478
 
479
		$pdf->setXY($prod_left + 152, $prod_top + $offset);
1633 daniel 480
		$pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_shipping'], $this->get_option('wpsg_currency')), 1, 0, 'R');
1094 daniel 481
 
482
		$offset += 8;
483
 
1093 daniel 484
	}
1094 daniel 485
 
486
	// Zahlungskosten
3409 daniel 487
	if ($this->view['basket']['sum']['preis_payment'] != '' && $this->view['basket']['sum']['preis_payment'] != 0)
1094 daniel 488
	{
489
 
490
		$pdf->SetFont('Arial', '', 9);
491
		$pdf->setXY($prod_left, $prod_top + $offset);
492
		$pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
493
 
494
		$pdf->setXY($prod_left + 10, $prod_top + $offset);
1157 daniel 495
		$pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, $this->arPayment[$this->view['data']['type_payment']]['name'], 1, 0, 'L');
1094 daniel 496
 
1157 daniel 497
		if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
1094 daniel 498
		{
499
 
1165 daniel 500
			if ($this->arPayment[$this->view['data']['type_payment']]['mwst_null'] == '1' && $this->view['basket']['noMwSt'] == '1')
501
			{
502
				$mwst = 0;
503
			}
504
			else
1633 daniel 505
			{
506
 
507
 
508
				if ($this->arPayment[$this->view['data']['type_payment']]['mwst'] == '0')
509
				{
510
 
3024 daniel 511
					$mwst = __('anteilig', 'wpsg');
1633 daniel 512
 
513
				}
514
				else
515
				{
516
 
517
					$mwst = wpsg_ff($this->arPayment[$this->view['data']['type_payment']]['mwst_value'], '%');
518
 
519
				}
520
 
1165 daniel 521
			}
522
 
1094 daniel 523
			$pdf->setXY($prod_left + 97, $prod_top + $offset);
3024 daniel 524
			$pdf->Cell(15, 8, $mwst, 1, 0, 'C');
1094 daniel 525
 
526
		}
527
 
528
		$pdf->setXY($prod_left + 112, $prod_top + $offset);
529
		$pdf->Cell(15, 8, '1', 1, 0, 'C');
530
 
531
		$pdf->setXY($prod_left + 127, $prod_top + $offset);
532
		$pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_payment'], $this->get_option('wpsg_currency')), 1, 0, 'R');
533
 
534
		$pdf->setXY($prod_left + 152, $prod_top + $offset);
535
		$pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_payment'], $this->get_option('wpsg_currency')), 1, 0, 'R');
536
 
537
		$offset += 8;
538
 
539
	}
1093 daniel 540
 
2759 daniel 541
	// Gebühr
542
	if ($this->view['storno_fee'] > 0)
543
	{
544
 
545
		$pdf->SetFont('Arial', '', 9);
546
		$pdf->setXY($prod_left, $prod_top + $offset);
547
		$pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
548
 
549
		$pdf->setXY($prod_left + 10, $prod_top + $offset);
550
		$pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, 'Bearbeitungsgebühr', 1, 0, 'L');
551
 
552
		if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
553
		{
554
 
555
			if ($this->view['basket']['noMwSt'] == '1')
556
			{
557
				$mwst = 0;
558
			}
559
			else
560
			{
561
 
562
 
563
				$mwst = wpsg_ff($this->view['storno_fee_mwst_value'], '%');
564
 
565
			}
566
 
567
			$pdf->setXY($prod_left + 97, $prod_top + $offset);
568
			$pdf->Cell(15, 8, $mwst, 1, 0, 'R');
569
 
570
		}
571
 
572
		$pdf->setXY($prod_left + 112, $prod_top + $offset);
573
		$pdf->Cell(15, 8, '1', 1, 0, 'C');
574
 
575
		$pdf->setXY($prod_left + 127, $prod_top + $offset);
576
		$pdf->Cell(25, 8, '-'.wpsg_ff($this->view['storno_fee'], $this->get_option('wpsg_currency')), 1, 0, 'R');
577
 
578
		$pdf->setXY($prod_left + 152, $prod_top + $offset);
579
		$pdf->Cell(25, 8, '-'.wpsg_ff($this->view['storno_fee'], $this->get_option('wpsg_currency')), 1, 0, 'R');
580
 
581
		$offset += 8;
582
 
583
	}
584
 
1093 daniel 585
	$pdf->SetFont('Arial', '', 9);
586
 
587
	if ($this->view['kunde']['ustidnr'] != "")
588
	{
589
		$offset += 10;
590
		$pdf->Text($prod_left, $prod_top + $offset, __("Ihre Umsatzsteuer-Identifikationsnummer:", "wpsg"));
591
		$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
592
		$pdf->Cell(37, 8, $this->view['kunde']['ustidnr'], 0, 0, 'R');
593
	}
594
 
595
	$offset += 10;
3024 daniel 596
	if ($this->get_option('wpsg_kleinunternehmer'))
1093 daniel 597
	{
3024 daniel 598
 
1093 daniel 599
		$pdf->Text($prod_left, $prod_top + $offset, __("Es ergibt sich folgender Gesamtbetrag", "wpsg").':');
3024 daniel 600
		$pdf->Text($prod_left + 100, $prod_top + $offset, __("Summe", "wpsg"));
1093 daniel 601
		$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
3024 daniel 602
		$pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'] + $this->view['basket']['sum']['preis_rabatt'], $this->get_option('wpsg_currency')), 0, 0, 'R');
1165 daniel 603
		$offset += 5;
1093 daniel 604
 
605
	}
3024 daniel 606
	else
1093 daniel 607
	{
3024 daniel 608
		if ($this->view['basket']['noMwSt'] == '1')
1093 daniel 609
		{
610
 
3024 daniel 611
			$pdf->Text($prod_left, $prod_top + $offset, __("Es ergibt sich folgender Gesamtbetrag", "wpsg").':');
612
			$pdf->Text($prod_left + 100, $prod_top + $offset, __("BRUTTOBETRAG", "wpsg"));
613
			$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
614
			$pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_gesamt_netto'], $this->get_option('wpsg_currency')), 0, 0, 'R');
615
			$offset += 5;
616
 
617
			$pdf->Text($prod_left + 100, $prod_top + $offset, __("MwSt. GESAMT", "wpsg"));
618
			$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
619
			$pdf->Cell(37, 8, wpsg_ff(0, $this->get_option('wpsg_currency')), 0, 0, 'R');
620
 
621
		}
622
		else
623
		{
624
 
625
			$pdf->Text($prod_left, $prod_top + $offset, __("Der Gesamtbetrag setzt sich wie folgt zusammen", "wpsg"));
626
 
627
			$pdf->Text($prod_left + 100, $prod_top + $offset, __("NETTOBETRAG", "wpsg"));
628
			$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
629
			$pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_netto'] + $this->view['basket']['sum']['preis_payment_netto'] + $this->view['basket']['sum']['preis_shipping_netto'], $this->get_option('wpsg_currency')), 0, 0, 'R');
630
 
631
			if (sizeof($this->view['basket']['mwst']) > 1)
1093 daniel 632
			{
633
 
3024 daniel 634
				foreach ($this->view['basket']['mwst'] as $mw)
635
				{
636
 
637
					$offset += 5;
3382 daniel 638
					$pdf->Text($prod_left + 100, $prod_top + $offset, __("MwSt. ", "wpsg").wpsg_ff($mw['value'], '%'));
3024 daniel 639
					$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
640
					$pdf->Cell(37, 8, wpsg_ff($mw['sum'], $this->get_option('wpsg_currency')), 0, 0, 'R');
641
 
642
				}
1093 daniel 643
 
644
			}
3024 daniel 645
 
646
			$offset += 5;
647
			$pdf->Text($prod_left + 100, $prod_top + $offset, __("MwSt. GESAMT", "wpsg"));
648
			$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
649
			$pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'] - $this->view['basket']['sum']['preis_gesamt_netto'], $this->get_option('wpsg_currency')), 0, 0, 'R');
650
 
651
		}
1628 david 652
 
653
	}
1327 daniel 654
 
655
	// Rabatt
656
	if ($this->view['basket']['sum']['preis_rabatt'] > 0)
657
	{
658
 
659
		$offset += 5;
660
 
661
		$pdf->Text($prod_left + 100, $prod_top + $offset, __("Rabatt", "wpsg"));
662
		$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
3024 daniel 663
		$pdf->Cell(37, 8, '-'.wpsg_ff($this->view['basket']['sum']['preis_rabatt'], $this->get_option('wpsg_currency')), 0, 0, 'R');
1327 daniel 664
 
665
	}
1633 daniel 666
 
1330 daniel 667
	$offset += 5;
668
	$pdf->Text($prod_left + 100, $prod_top + $offset, __("SUMME", "wpsg"));
669
	$pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
670
	$pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'], $this->get_option('wpsg_currency')), 0, 0, 'R');
1093 daniel 671
 
672
	if ($this->get_option('wpsg_kleinunternehmer') == '1')
673
	{
674
 
2642 david 675
		$pdf->MultiCell($prod_left - 1, $prod_top + $offset + 5, 5, utf8_encode($this->get_option('wpsg_kleinunternehmer_text')));
1093 daniel 676
		$offset += 15;
677
 
678
	}
679
 
680
	$offset += 5;
681
 
682
	if ($this->view['fussText'] != "")
683
	{
684
 
685
		$pdf->MultiCell($prod_left - 1, $prod_top + $offset, 5, utf8_encode($this->view['fussText']));
686
		$pdf->SetFont('Arial', 'B', 9);
687
		$offset += 10;
688
 
689
	}
1242 david 690
 
1093 daniel 691
	$shipping_adress = false;
1610 david 692
 
693
	if ($this->hasMod('wpsg_mod_shippingadress') && $this->callMod('wpsg_mod_shippingadress', 'check_different_shippingadress', array('k_id' => $this->view['data']['k_id'], 'o_id' => $this->view['data']['id'])))
1093 daniel 694
	{
695
 
696
		$pdf->setFont('Arial', 'B', 9);
697
		$pdf->Text($prod_left, $prod_top + $offset, __("Lieferanschrift", "wpsg").":");
698
		$offset += 5;
699
 
700
		$pdf->setFont('Arial', '', 9);
701
 
702
		$shipping_adress = "";
1242 david 703
		if ($this->view['data']['shipping_firma'] != "")
1093 daniel 704
		{
1242 david 705
			$shipping_adress .= $this->view['data']['shipping_firma']."\r\n";
1093 daniel 706
		}
1242 david 707
		$shipping_adress .= $this->view['data']['shipping_vname'].' '.$this->view['data']['shipping_name']."\r\n";
708
		$shipping_adress .= $this->view['data']['shipping_strasse']."\r\n";
709
		$shipping_adress .= $this->view['data']['shipping_land']['kuerzel'].'-';
1093 daniel 710
 
1242 david 711
		$shipping_adress .= $this->view['data']['shipping_plz'].' '.$this->view['data']['shipping_ort'];
1093 daniel 712
 
713
		$start = $pdf->getY();
714
		$pdf->MultiCell($prod_left - 1, $prod_top + $offset, 5, utf8_encode($shipping_adress), 0, 'L', 0, 100);
715
		$offset += $pdf->getY() - $start;
1242 david 716
 
1093 daniel 717
		$shipping_adress = true;
718
 
719
	}
1242 david 720
 
1093 daniel 721
 
722
	$offset += 5;
1678 daniel 723
 
1093 daniel 724
	// Bestellvariablen
1671 daniel 725
	if ($this->hasMod('wpsg_mod_ordervars') && $this->get_option('wpsg_mod_rechnungen_showov') == '1')
1093 daniel 726
	{
1671 daniel 727
 
728
		$bvars = @unserialize($this->view['data']['bvars']);
1093 daniel 729
		if (!is_array($bvars)) $bvars = array();
730
 
731
		$strBVars = "";
732
		foreach ($bvars as $bvars_id => $bvars_value)
733
		{
734
 
1671 daniel 735
			$bvars = $this->db->fetchRow("SELECT * FROM `".wpsg_q(WPSG_TBL_ORDERVARS)."` WHERE `id` = '".wpsg_q($bvars_id)."'");
1093 daniel 736
 
737
			if ($bvars['typ'] == "1") // Auswahl
738
			{
739
				if ($bvars_value <= 0) $bvars_value = __("Keine Angabe", "wpsg");
740
			}
741
			else if ($bvars['typ'] == "2") // Texteingabe
742
			{
743
				if (trim($bvars_value) == "") $bvars_value = __("Keine Angabe", "wpsg");
744
			}
745
			else if ($bvars['typ'] == "3") // Checkbox
746
			{
747
				if ($bvars_value <= 0) $bvars_value = __("Keine Angabe", "wpsg");
748
			}
749
 
1671 daniel 750
			$bvars_name = $this->callMod('wpsg_mod_ordervars', 'getNameById', array($bvars_id));
1093 daniel 751
			$strBVars .= "\r\n".$bvars_name.": ".$bvars_value;
752
 
753
		}
754
 
755
		$pdf->SetFont('Arial', 'B', 9);
756
		$pdf->Text($prod_left, $prod_top + $offset, __("Angaben während der Bestellung", "wpsg").":");
757
		$pdf->SetFont('Arial', '', 9);
758
		$pdf->MultiCell($prod_left - 1, $prod_top + $offset, 5, utf8_encode($strBVars));
759
 
1671 daniel 760
	}
1093 daniel 761
 
762
	if (!file_exists($this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id']))))
763
	{
764
 
765
		mkdir($this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id'])), 0777, true);
766
 
767
	}
768
 
1125 daniel 769
	$filename = $this->view['filename'].".pdf";
1093 daniel 770
 
771
	if ($this->view['preview'])
772
	{
773
		$pdf->Output($filename, 'I');
774
	}
775
	else
776
	{
777
 
778
		$pdf->Output($this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id'])).$filename, 'F');
1228 daniel 779
 
780
		if ($this->view['output'] === true) $pdf->Output($filename, 'I');
1093 daniel 781
 
782
	}
783
 
784
?>