summaryrefslogtreecommitdiff
path: root/views/mods/mod_rechnungen
diff options
context:
space:
mode:
authorDaniel Schmitzer <noreply@maennchen1.de>2016-01-14 14:55:36 +0000
committerDaniel Schmitzer <noreply@maennchen1.de>2016-01-14 14:55:36 +0000
commitad405c7045c6e242080ec9d3ce4c9e586b517c4f (patch)
treeb41905f4d27f3eaaabd5bad3a39f8d3873540b46 /views/mods/mod_rechnungen
- Testweise 4
git-svn-id: https://[internal]/wordpress/plugins/wpsg4@5261 0d5edaf7-2b12-4e95-93f4-047927463d4b
Diffstat (limited to 'views/mods/mod_rechnungen')
-rw-r--r--views/mods/mod_rechnungen/copymail.phtml11
-rw-r--r--views/mods/mod_rechnungen/copymail_html.phtml11
-rw-r--r--views/mods/mod_rechnungen/foottext_list.phtml61
-rw-r--r--views/mods/mod_rechnungen/gutschriftmail.phtml19
-rw-r--r--views/mods/mod_rechnungen/gutschriftmail_html.phtml19
-rw-r--r--views/mods/mod_rechnungen/order_view.phtml278
-rw-r--r--views/mods/mod_rechnungen/rechnung_pdf.phtml919
-rw-r--r--views/mods/mod_rechnungen/rechnungsmail.phtml16
-rw-r--r--views/mods/mod_rechnungen/rechnungsmail_html.phtml20
-rw-r--r--views/mods/mod_rechnungen/settings_edit.phtml241
10 files changed, 1595 insertions, 0 deletions
diff --git a/views/mods/mod_rechnungen/copymail.phtml b/views/mods/mod_rechnungen/copymail.phtml
new file mode 100644
index 0000000..4cb612a
--- /dev/null
+++ b/views/mods/mod_rechnungen/copymail.phtml
@@ -0,0 +1,11 @@
+<?php echo __("Hallo", "wpsg"); ?> <?php echo $this->view['kunde']['vname']; ?> <?php echo $this->view['kunde']['name']; ?>,
+
+<?php if (isset($this->view['rnr'])) { ?>
+<?php echo __("hiermit erhalten Sie die Kopie der Rechnung", "wpsg"); ?> <?php echo $this->view['rnr']; ?>.
+<?php } else { ?>
+<?php echo __("hiermit erhalten Sie die Kopie der Rechnungskorrektur", "wpsg"); ?> <?php echo $this->view['gnr']; ?>.
+<?php } ?>
+
+<?php echo __("Mit freundlichen Grüßen", "wpsg"); ?>
+
+<?php echo __($this->get_option('wpsg_shopdata_name'), 'wpsg'); ?> - <?php echo __('Team', 'wpsg'); ?> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/copymail_html.phtml b/views/mods/mod_rechnungen/copymail_html.phtml
new file mode 100644
index 0000000..c7138d7
--- /dev/null
+++ b/views/mods/mod_rechnungen/copymail_html.phtml
@@ -0,0 +1,11 @@
+<p><?php echo __("Hallo", "wpsg"); ?> <?php echo $this->view['kunde']['vname']; ?> <?php echo $this->view['kunde']['name']; ?>,</p>
+
+<?php if (isset($this->view['rnr'])) { ?>
+<p><?php echo __("hiermit erhalten Sie die Kopie der Rechnung", "wpsg"); ?> <?php echo $this->view['rnr']; ?>.</p>
+<?php } else { ?>
+<p><?php echo __("hiermit erhalten Sie die Kopie der Rechnungskorrektur", "wpsg"); ?> <?php echo $this->view['gnr']; ?>.</p>
+<?php } ?>
+
+<p><?php echo __("Mit freundlichen Grüßen", "wpsg"); ?></p>
+
+<p><?php echo __($this->get_option('wpsg_shopdata_name'), 'wpsg'); ?> - <?php echo __('Team', 'wpsg'); ?></p> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/foottext_list.phtml b/views/mods/mod_rechnungen/foottext_list.phtml
new file mode 100644
index 0000000..8a2d926
--- /dev/null
+++ b/views/mods/mod_rechnungen/foottext_list.phtml
@@ -0,0 +1,61 @@
+<?php
+
+ /**
+ * Template für die Liste der Fußtexte
+ */
+
+?>
+<?php if (sizeof($this->view['data']) <= 0) { ?>
+<p><?php echo __('Bisher keine Fußtexte angelegt!', 'wpsg'); ?></p>
+<?php } else { ?>
+<table class="wpsg_foottextlist">
+ <tr>
+ <th class="col_kuerzel"><?php echo __('Kürzel', 'wpsg'); ?></th>
+ <th class="col_text"><?php echo __('Text', 'wpsg'); ?></th>
+ <th class="col_standard"><?php echo __('Standard', 'wpsg'); ?></th>
+ <th class="col_aktion"></th>
+ </tr>
+ <?php foreach ((array)$this->view['data'] as $key => $d) { ?>
+ <tr>
+ <td class="col_kuerzel wpsg_editable" id="wpsg_foottext_0_<?php echo $key; ?>"><?php echo wpsg_hspc($d[0]); ?></td>
+ <td class="col_text wpsg_editable" id="wpsg_foottext_1_<?php echo $key; ?>"><?php echo wpsg_hspc($d[1]); ?></td>
+ <td class="col_standard"><input type="radio" value="<?php echo $key; ?>" <?php echo (($this->get_option('wpsg_rechnungen_foottext_standard') == $key)?'checked="checked"':''); ?> class="wpsg_rechnungen_foottext_standard" name="wpsg_rechnungen_foottext_standard" /></td>
+ <td class="col_aktion">
+
+ <a onclick="return wpsg_removeFooter(<?php echo $key; ?>);" title="<?php echo __('Fußtext löschen', 'wpsg'); ?>'" href="#" class="wpsg_icon wpsg_icon_center wpsg_icon_remove"></a>
+
+ <script type="text/javascript">
+
+ jQuery(document).ready(function() {
+
+ jQuery('#wpsg_foottext_0_<?php echo $key; ?>').editable('<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_rechnungen&do=inlinedit&noheader=1', {
+ submitdata: {
+ field: '0',
+ field_id: '<?php echo $key; ?>'
+ },
+ submit: '<?php echo __('Speichern', 'wpsg'); ?>',
+ placeholder: '<?php echo __('Zum Bearbeiten anklicken ...', 'wpsg'); ?>',
+ indicator: '<?php echo __('Speicher ...', 'wpsg'); ?>',
+ tooltip: '<?php echo __('Zum Bearbeiten anklicken ...', 'wpsg'); ?>'
+ });
+
+ jQuery('#wpsg_foottext_1_<?php echo $key; ?>').editable('<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_rechnungen&do=inlinedit&noheader=1', {
+ submitdata: {
+ field: '1',
+ field_id: '<?php echo $key; ?>'
+ },
+ submit: '<?php echo __('Speichern', 'wpsg'); ?>',
+ placeholder: '<?php echo __('Zum Bearbeiten anklicken ...', 'wpsg'); ?>',
+ indicator: '<?php echo __('Speicher ...', 'wpsg'); ?>',
+ tooltip: '<?php echo __('Zum Bearbeiten anklicken ...', 'wpsg'); ?>'
+ });
+
+ } );
+
+ </script>
+
+ </td>
+ </tr>
+ <?php } ?>
+</table>
+<?php } ?> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/gutschriftmail.phtml b/views/mods/mod_rechnungen/gutschriftmail.phtml
new file mode 100644
index 0000000..dd18ba5
--- /dev/null
+++ b/views/mods/mod_rechnungen/gutschriftmail.phtml
@@ -0,0 +1,19 @@
+<?php
+
+ /**
+ * Template für die Mail, die beim Schreiben einer Rechnungskorrektur optional an den Kunden versendet werden kann
+ */
+
+ //wpsg_debug($this->view);
+
+?><?php echo __("Hallo", "wpsg"); ?> <?php echo $this->view['kunde']['vname']; ?> <?php echo $this->view['kunde']['name']; ?>,
+
+<?php echo __("Sie erhalten hiermit die Rechnungskorrektur in Höhe von", "wpsg"); ?> <?php echo wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'], $this->get_option('wpsg_currency')); ?> <?php echo __("für Ihre Bestellung mit der Bestellnummer", "wpsg"); ?> <?php echo ((trim($this->view['data']['onr']) != '')?$this->view['data']['onr']:$this->view['data']['o_id']); ?>.
+
+<?php if (wpsg_tf($this->view['storno_fee']) > 0) { ?>
+<?php echo wpsg_translate(__('Darin ist eine Gebühr von #1# #2# enthalten.', 'wpsg'), $this->view['storno_fee'], $this->get_option('wpsg_currency')); ?>
+
+<?php } ?>
+<?php echo __("Mit freundlichen Grüßen", "wpsg"); ?>
+
+<?php echo __($this->get_option('wpsg_shopdata_name'), 'wpsg'); ?> - <?php echo __('Team', 'wpsg'); ?> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/gutschriftmail_html.phtml b/views/mods/mod_rechnungen/gutschriftmail_html.phtml
new file mode 100644
index 0000000..cc3e23e
--- /dev/null
+++ b/views/mods/mod_rechnungen/gutschriftmail_html.phtml
@@ -0,0 +1,19 @@
+<?php
+
+ /**
+ * Template für die Mail, die beim Schreiben einer Rechnungskorrektur optional an den Kunden versendet werden kann (HTML)
+ */
+
+ //wpsg_debug($this->view);
+
+?><p><?php echo __("Hallo", "wpsg"); ?> <?php echo $this->view['kunde']['vname']; ?> <?php echo $this->view['kunde']['name']; ?>,</p>
+
+<p><?php echo __("Sie erhalten hiermit die Rechnungskorrektur in Höhe von", "wpsg"); ?> <?php echo wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'], $this->get_option('wpsg_currency')); ?> <?php echo __("für Ihre Bestellung mit der Bestellnummer", "wpsg"); ?> <?php echo ((trim($this->view['data']['onr']) != '')?$this->view['data']['onr']:$this->view['data']['o_id']); ?>.</p>
+
+<?php if (wpsg_tf($this->view['storno_fee']) > 0) { ?>
+<p><?php echo wpsg_translate(__('Darin ist eine Gebühr von #1# #2# enthalten.', 'wpsg'), $this->view['storno_fee'], $this->get_option('wpsg_currency')); ?></p>
+<?php } ?>
+
+<p><?php echo __("Mit freundlichen Grüßen", "wpsg"); ?></p>
+
+<p><?php echo __($this->get_option('wpsg_shopdata_name'), 'wpsg'); ?> - <?php echo __('Team', 'wpsg'); ?></p> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/order_view.phtml b/views/mods/mod_rechnungen/order_view.phtml
new file mode 100644
index 0000000..9551099
--- /dev/null
+++ b/views/mods/mod_rechnungen/order_view.phtml
@@ -0,0 +1,278 @@
+<?php
+
+ /**
+ * Template für die Rechnungsmodulansicht innerhalb der Bestellansicht
+ */
+
+?>
+
+<script type="text/javascript">
+
+ function wpsg_mod_rechnungen_storno()
+ {
+
+ if (jQuery('#wpsg_rechnungen_gutschrift1').attr('checked') || jQuery('#wpsg_rechnungen_gutschrift2').attr('checked'))
+ {
+
+ window.setTimeout(function() {
+ location.href = '<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=view&edit_id=<?php echo $this->view['data']['id']; ?>';
+ }, 1000);
+
+ }
+
+ return true;
+
+ }
+
+ jQuery(document).ready(function() {
+
+ jQuery("#wpsg_rechnungen_postbox_title").bind("click", function() {
+ if (jQuery(this.parentNode).hasClass("closed"))
+ {
+
+ jQuery.cookie("wpsg_rechnungen_field", "0", { expires: 999999 } );
+
+ }
+ else
+ {
+
+ jQuery.cookie("wpsg_rechnungen_field", "1", { expires: 999999 } );
+
+ }
+ } );
+
+ if (jQuery.cookie("wpsg_rechnungen_field") == "1")
+ {
+
+ jQuery("#wpsg_rechnungen_postbox").removeClass("closed");
+ }
+
+ jQuery('.wpsg_rechnungen_gutschrift').bind('change', function() {
+
+ if (jQuery('#wpsg_rechnungen_gutschrift1').attr('checked') || jQuery('#wpsg_rechnungen_gutschrift2').attr('checked'))
+ {
+
+ jQuery('#wpsg_mod_rechnungen_fee_layer').show();
+ jQuery('#wpsg_mod_rechnungen_stornopreview').show();
+ jQuery('#wpsg_rechnungen_stornobutton').attr('value', '<?php echo __('Rechnungskorrektur erstellen', 'wpsg'); ?>');
+
+ }
+ else
+ {
+
+ jQuery('#wpsg_mod_rechnungen_fee_layer').hide();
+ jQuery('#wpsg_mod_rechnungen_stornopreview').hide();
+ jQuery('#wpsg_rechnungen_stornobutton').attr('value', '<?php echo __('Bestellung Stornieren', 'wpsg'); ?>');
+
+ }
+
+ } );
+
+ jQuery('#wpsg_rechnungen_gutschrift0').change();
+
+ } );
+
+</script>
+
+<div class="postbox" id="wpsg_rechnungen">
+ <h3 class="wpsg_handlediv">
+ <span title="<?php echo __('Zum Ein/Ausklappen hier klicken', 'wpsg'); ?>" class="handlediv"><br /></span>
+ <span><?php echo __('Rechnungen', 'wpsg'); ?></span>
+ </h3>
+ <div class="inside">
+
+ <?php if (sizeof($this->view['mod_rechnungen']['arRechnungen']) == 0 && sizeof($this->view['mod_rechnungen']['arRechnungen_storno']) == 0) { ?>
+ <p><?php echo __('Bisher keine Rechnungen geschrieben.', 'wpsg'); ?></p>
+ <?php } else { ?>
+ <table>
+ <?php foreach ($this->view['mod_rechnungen']['arRechnungen_gesamt'] as $r) { ?>
+ <tr>
+ <td>#<?php echo (($r['rnr'] != '')?$r['rnr']:$r['gnr']); ?>
+
+ <?php if ($r['storno'] == "0000-00-00 00:00:00") { ?>
+ <?php if ($r['gnr'] != "") { ?>
+ <?php echo wpsg_translate(__('Rechnungskorrektur vom #1#', 'wpsg'), date("d.m.Y", $r['ts_datum'])); ?>
+ <?php } else { ?>
+ <?php echo wpsg_translate(__('Rechnung geschrieben am #1#', 'wpsg'), date("d.m.Y", $r['ts_datum'])); ?>
+ <?php } ?>
+ <?php } else { ?>
+ <?php echo wpsg_translate(__("Rechnung storniert am #1#", "wpsg"), date("d.m.Y", $r['ts_storno'])); ?>
+ <?php } ?>
+
+ </td>
+ <td style="text-align:right;">
+
+ <?php
+
+ if ($r['rnr'] != "")
+ {
+ $rfile = $this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id'], true)).'R'.$r['rnr'].'.pdf';
+ }
+ else if ($r['gnr'] != "")
+ {
+ $rfile = $this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id'], true)).'G'.$r['gnr'].'.pdf';
+ }
+
+ ?>
+
+ <a target="_blank" onclick="if (!confirm('<?php echo __('Sind Sie sicher, dass Sie eine Kopie dieser Rechnung/Rechnungskorrektur erneut an den Kunden senden möchten?', 'wpsg'); ?>')) return false;" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&mod=wpsg_mod_rechnungen&noheader=1&action=ajax&edit_id=<?php echo $this->view['data']['id']; ?>&r_id=<?php echo $r['id']; ?>&do=copy"><?php echo __("Kopie senden", "wpsg"); ?></a>&nbsp;
+ <a target="_blank" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=ajax&noheader=1&mod=wpsg_mod_rechnungen&do=getRechnung&edit_id=<?php echo $this->view['data']['id']; ?>&r_id=<?php echo $r['id']; ?>"><?php echo __("Ansehen", "wpsg"); ?></a>
+
+ </td>
+ </tr>
+ <?php } ?>
+ </table>
+ <br />
+ <?php } ?>
+
+ <?php if (sizeof($this->view['mod_rechnungen']['arRechnungen']) > 0 && sizeof($this->view['mod_rechnungen']['arRechnungen_gesamt']) != sizeof($this->view['mod_rechnungen']['arRechnungen_storno'])) { ?>
+ <fieldset style="border:1px solid #999999; width:100%;">
+ <legend style="margin-left:7px; margin-right:10px;"><?php echo __("Bestellstorno: Rechnungskorrektur erstellen", "wpsg"); ?></legend>
+ <div style="padding:10px;">
+ <form id="storno_form" target="_blank" method="post" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&noheader=1&action=ajax&mod=wpsg_mod_rechnungen&edit_id=<?php echo $this->view['data']['id']; ?>&do=storno">
+
+ <input type="hidden" name="send" value="1" />
+
+ <label><input onclick="jQuery.cookie('wpsg_rechnungen_stornoradio', '0');" type="radio" value="0" class="wpsg_rechnungen_gutschrift" id="wpsg_rechnungen_gutschrift0" name="wpsg_rechnungen_gutschrift" />&nbsp;<?php echo __("Rechnung komplett stornieren und keine Rechnungskorrektur erstellen.", "wpsg"); ?></label><br />
+ <label><input onclick="jQuery.cookie('wpsg_rechnungen_stornoradio', '1');" type="radio" value="1" class="wpsg_rechnungen_gutschrift" id="wpsg_rechnungen_gutschrift1" name="wpsg_rechnungen_gutschrift" />&nbsp;<?php echo __("Rechnungskorrektur erstellen.", "wpsg"); ?></label><br />
+ <label><input onclick="jQuery.cookie('wpsg_rechnungen_stornoradio', '2');" type="radio" value="2" class="wpsg_rechnungen_gutschrift" id="wpsg_rechnungen_gutschrift2" name="wpsg_rechnungen_gutschrift" />&nbsp;<?php echo __("Rechnungskorrektur erstellen und an Kunden senden.", "wpsg"); ?></label><br />
+
+ <div id="wpsg_mod_rechnungen_fee_layer" style="display:none;">
+ <?php echo wpsg_drawForm_Input('wpsg_mod_rechnungen_fee', __('Gebühr für Rechnungskorrektur', 'wpsg'), ''); ?>
+ </div>
+
+ <div class="wpsg_clear"></div><br />
+
+ <input onclick="return wpsg_mod_rechnungen_storno();" id="wpsg_rechnungen_stornobutton" class="button" type="submit" name="form_submit" value="<?php echo __("Stornieren", "wpsg"); ?>" style="float:right;" />
+ <input id="wpsg_mod_rechnungen_stornopreview" class="button" type="submit" name="form_submit_preview" value="<?php echo __('Vorschau', 'wpsg'); ?>" style="float:right; margin-right:10px;" />
+
+ <script type="text/javascript">
+
+ jQuery(document).ready(function() {
+
+ jQuery("[name=wpsg_rechnungen_gutschrift]").filter("[value=" + jQuery.cookie("wpsg_rechnungen_stornoradio") + "]").attr("checked","checked");
+
+ jQuery("#wpsg_rechnungen_stornobutton").bind("click", function() {
+
+ if (jQuery("#wpsg_rechnungen_gutschrift1").attr("checked") || jQuery("#wpsg_rechnungen_gutschrift2").attr("checked"))
+ {
+
+ //jQuery("#storno_form").attr("action", "<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&noheader=1&action=ajax&mod=wpsg_mod_rechnungen&edit_id=<?php echo $this->view['data']['id']; ?>&do=storno");
+ jQuery("#storno_form").attr("target", "_blank");
+
+ window.setTimeout(function() {
+ location.href = "<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=view&edit_id=<?php echo $this->view['data']['id']; ?>";
+ }, 1500);
+
+ }
+ else
+ {
+
+ //jQuery("#storno_form").attr("action", "<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=ajax&mod=wpsg_mod_rechnungen&edit_id=<?php echo $this->view['data']['id']; ?>&do=storno");
+ jQuery("#storno_form").attr("target", "");
+
+ }
+
+ });
+
+ });
+
+ </script>
+
+ </form>
+ <div class="wpsg_hinweis"><?php echo __("Eine neue Rechnung kann erst geschrieben werden wenn alle bestehenden Rechnungen zu dieser Bestellung storniert wurden.", "wpsg"); ?></div>
+ <div class="wpsg_clear"></div>
+ </div>
+ </fieldset>
+ <?php } else { ?>
+
+ <fieldset style="border:1px solid #999999; width:100%;">
+ <legend style="margin-left:10px; margin-right:10px;"><?php echo __("Neue Rechnung", "wpsg"); ?></legend>
+ <div style="padding:5px;">
+
+ <form target="_blank" method="post" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=ajax&mod=wpsg_mod_rechnungen&cmd=rechnung&noheader=1&edit_id=<?php echo $this->view['data']['id']; ?>">
+
+ <input type="hidden" name="send" value="1" />
+
+ <label style="height:25px; width:240px; float:left; margin-top:10px;">
+ <input onchange="if (this.checked) jQuery('#wpsg_rechnungen_email').show(); else jQuery('#wpsg_rechnungen_email').hide();" type="checkbox" checked="checked" value="1" name="wpsg_rechnungen_sendmail" />
+ &nbsp;<?php echo __("E-Mail an Kunden senden.", "wpsg"); ?>
+ </label>
+ <input type="text" style="display:block; width:300px; float:right;" id="wpsg_rechnungen_email" name="wpsg_rechnungen_email" value="<?php echo wpsg_hspc($this->view['data']['email']); ?>" />
+ <div style="clear:both; width:100%; height:5px;"></div>
+
+ <label style="height:25px; width:240px; float:left;">
+ <input checked="checked" onchange="if (this.checked) jQuery('#wpsg_rechnungen_faelligkeitsdatum').show(); else jQuery('#wpsg_rechnungen_faelligkeitsdatum').hide();" type="checkbox" value="1" name="wpsg_rechnungen_faelligkeit" />
+ &nbsp;<?php echo __("Fälligkeit anzeigen.", "wpsg"); ?>
+ </label>
+ <input type="text" style="display:block; width:300px; float:right;" id="wpsg_rechnungen_faelligkeitsdatum" name="wpsg_rechnungen_faelligkeitsdatum" value="<?php echo date("d.m.Y", time() + ($this->get_option("wpsg_rechnungen_faelligkeit") * 86400)); ?>" />
+ <div style="clear:both; width:100%; height:5px;"></div>
+
+ <label style="height:25px; width:220px; float:left;">
+ <input checked="checked" onchange="if (this.checked) jQuery('#wpsg_rechnungen_status').show(); else jQuery('#wpsg_rechnungen_status').hide();" type="checkbox" value="1" name="wpsg_rechnungen_status" />
+ &nbsp;<?php echo __("Neuer Status:", "wpsg"); ?>
+ </label>
+ <select style="width:300px; float:right;" id="wpsg_rechnungen_status_neu" name="wpsg_rechnungen_status_neu">
+ <?php foreach ($this->arStatus as $k => $v) { ?>
+ <option value="<?php echo $k; ?>" <?php echo (($k == 110)?'selected="selected"':''); ?>><?php echo $v; ?></option>
+ <?php } ?>
+ </select>
+ <div style="clear:both; width:100%; height:5px;"></div>
+
+ <label style="height:25px; width:240px; float:left;">
+ <input <?php echo (($this->get_option("wpsg_rechnungen_url_std") === "1")?'checked="checked"':''); ?> type="checkbox" value="1" name="wpsg_rechnungen_url" />
+ &nbsp;<?php echo __("URL Benachrichtigung", "wpsg"); ?>
+ </label>
+ <div style="clear:both; width:100%; height:5px;"></div>
+
+ <label style="height:25px; width:240px; float:left; padding-left:22px;">
+ <?php echo __("Rechnungsdatum", "wpsg"); ?>:
+ </label>
+ <input style="display:block;float:right; width:300px;" type="text" name="wpsg_rechnungen_datum" value="<?php echo date("d.m.Y", time()); ?>" />
+ <div style="clear:both; width:100%; height:5px;"></div>
+
+ <label for="wpsg_rechnungen_fusstext" style="height:25px; width:220px; padding-left:22px; float:left">
+ <?php echo __("Fußtext", "wpsg"); ?>
+ </label>
+
+ <?php
+
+ $wpsg_rechnungen_footer = $this->get_option("wpsg_rechnungen_footer");
+ if (!is_array($wpsg_rechnungen_footer)) $wpsg_rechnungen_footer = unserialize($this->get_option("wpsg_rechnungen_footer"));
+ if (!is_array($wpsg_rechnungen_footer)) $wpsg_rechnungen_footer = Array();
+
+ ?>
+
+ <?php if (sizeof($wpsg_rechnungen_footer) > 0) { ?>
+ <select style="width:300px; float:right;" id="wpsg_rechnungen_select" onchange="jQuery('#wpsg_rechnungen_fusstext').val(this.value);">
+ <?php foreach ($wpsg_rechnungen_footer as $k => $v) { ?>
+ <option value="<?php echo wpsg_hspc($v[1]); ?>"><?php echo wpsg_hspc($v[0]); ?></option>
+ <?php } ?>
+ </select>
+ <?php } ?>
+
+ <div style="clear:both; width:100%; height:5px;"></div>
+ <div style="padding-left:25px;"><input style="width:100%;" type="text" name="wpsg_rechnungen_fusstext" id="wpsg_rechnungen_fusstext" value="" /></div>
+ <div style="clear:both; width:100%; height:15px;"></div>
+
+ <script type="text/javascript">
+
+ jQuery(document).ready(function() {
+ jQuery('#wpsg_rechnungen_fusstext').val(jQuery("#wpsg_rechnungen_select").val());
+ });
+
+ </script>
+
+ <input class="button" style="float:right;" onclick="window.setTimeout(function() { location.href = '<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=view&edit_id=<?php echo $this->view['data']['id']; ?>'; }, 1000);" name="wpsg_rechnungen_write" type="submit" value="<?php echo __("Rechnung schreiben", "wpsg"); ?>" />
+ <input class="button" style="float:right; margin-right:10px;" name="wpsg_rechnungen_preview" type="submit" value="<?php echo __("Vorschau", "wpsg"); ?>" />
+
+ <div style="clear:both; width:100%; height:5px;"></div>
+
+ </form>
+ </div>
+ </fieldset>
+
+ <?php } ?>
+
+ </div>
+</div> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/rechnung_pdf.phtml b/views/mods/mod_rechnungen/rechnung_pdf.phtml
new file mode 100644
index 0000000..4e4b402
--- /dev/null
+++ b/views/mods/mod_rechnungen/rechnung_pdf.phtml
@@ -0,0 +1,919 @@
+<?php
+
+ /**
+ * Template für die PDF Rechnung
+ */
+
+ require_once WPSG_PATH_LIB.'fpdf/fpdf.php';
+ require_once WPSG_PATH_LIB.'fpdf/fpdi.php';
+ require_once WPSG_PATH_MOD.'mod_rechnungen/wpsg_fpdf.class.php';
+
+ global $absender_left, $absender_top, $adress_left, $adress_top, $rdata_left, $rdata_top;
+
+ // Positionierung der Absenderadresszeile
+ $absender_left = 25;
+ $absender_top = 50;
+
+ // Positionierung der Zieladress
+ $adress_left = 25;
+ $adress_top = 55;
+
+ // Positionierund des Rechnungskopfes
+ $rdata_left = 25;
+ $rdata_top = 90;
+
+ // Positionierung der Produktdaten
+ $prod_left = 25;
+ $prod_top = 105;
+
+ // Anzahl an Produkten pro Seite
+ $prod_break = $this->get_option('wpsg_rechnungen_pdfperpage');
+
+ // Damit die Steuer bei der Kleinunternehmerregelung nicht angezeigt wird leer ich den Array sicherheitshalber
+ if ($this->get_option('wpsg_kleinunternehmer') == '1')
+ {
+
+ unset($this->view['basket']['mwst']);
+
+ }
+
+ if (!function_exists('AddRechnungPage'))
+ {
+
+ function AddRechnungPage($shop, $pdf)
+ {
+
+ global $absender_left, $absender_top, $adress_left, $adress_top, $rdata_left, $rdata_top;
+
+ $pdf->AddPage();
+
+ if (file_exists($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.pdf"))
+ {
+
+ $pagecount = $pdf->setSourceFile($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.pdf");
+ $tplidx = $pdf->importPage(1, '/MediaBox');
+ $pdf->useTemplate($tplidx, 0, 0, 210);
+
+ }
+ if (file_exists($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.jpg"))
+ {
+ $pdf->image($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_bp.jpg", 0, 0, 210, 297, 'jpg');
+ }
+
+
+ if (file_exists($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_logo.jpg"))
+ {
+
+ list($width, $height, $type, $attr) = getimagesize($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_logo.jpg");
+
+ //wpsg_debug($width.":".$height);
+
+ $wPix = (25.4 * $width) / 96;
+ $hPix = (25.4 * $height) / 96;
+
+ $pdf->image($shop->callMod('wpsg_mod_rechnungen', getFilePath, array(''))."wpsg_rechnungen_logo.jpg", 210 - $wPix, 0, $wPix, $hPix);
+
+ }
+
+ // Absenderadresszeile (Wird in der Konfiguration hinterlegt)
+ $pdf->SetFont('Arial', '', 6);
+ $pdf->Text($absender_left, $absender_top, $shop->replaceUniversalPlatzhalter(__($shop->get_option("wpsg_rechnungen_adresszeile"), 'wpsg'), $shop->view['data']['id']));
+
+ if ($shop->view['kunde']['kuerzel'] != "") $shop->view['kunde']['kuerzel'] = $shop->view['kunde']['kuerzel'].'-';
+
+ // Adresse des Kunden
+ $pdf->SetFont('Arial', '', 12);
+ $pdf->Text($adress_left, $adress_top, $shop->view['kunde']['firma']);
+ $pdf->Text($adress_left, $adress_top + 5, $shop->view['kunde']['vname'].' '.$shop->view['kunde']['name']);
+ $pdf->Text($adress_left, $adress_top + 10, $shop->view['kunde']['strasse'].' '.$shop->view['kunde']['hausnr']);
+ $pdf->Text($adress_left, $adress_top + 15, $shop->view['kunde']['plz'].' '.$shop->view['kunde']['ort']);
+ $pdf->Text($adress_left, $adress_top + 20, strtoupper($shop->view['oOrder']->getInvoiceCountryName()));
+
+ // Rechnungsdaten
+ $pdf->SetFont('Arial', 'B', 16);
+ $pdf->Text($rdata_left, $rdata_top, $shop->view['title']);
+ $pdf->SetFont('Arial', 'B', 9);
+ $pdf->Text($rdata_left, $rdata_top + 6, $shop->view['rnr']);
+ $pdf->SetFont('Arial', '', 9);
+
+ if (isset($shop->view['faelligkeitdatum']))
+ {
+
+ $pdf->Text($rdata_left + 35, $rdata_top, __("Fällig am", "wpsg"));
+ $pdf->Text($rdata_left + 35, $rdata_top + 6, $shop->view['faelligkeitdatum']);
+
+ }
+
+ if (isset($shop->view['payment']))
+ {
+
+ $pdf->Text($rdata_left + 58, $rdata_top, __("Zahlungsbedingungen", "wpsg"));
+ $pdf->Text($rdata_left + 58, $rdata_top + 6, $shop->view['payment']);
+
+ }
+
+ $pdf->Text($rdata_left + 105, $rdata_top, __("Kunden-Nr", "wpsg"));
+ $pdf->Text($rdata_left + 105, $rdata_top + 6, (($shop->view['kunde']['knr'] != '')?$shop->view['kunde']['knr']:$shop->view['kunde']['id']));
+
+ $pdf->Text($rdata_left + 135, $rdata_top, __("Best. Nr.", "wpsg"));
+ $pdf->Text($rdata_left + 135, $rdata_top + 6, ((trim($shop->view['data']['onr']) != '')?$shop->view['data']['onr']:$shop->view['data']['id']));
+
+ $pdf->Text($rdata_left + 155, $rdata_top, __("Datum", "wpsg"));
+ $pdf->Text($rdata_left + 155, $rdata_top + 6, $shop->view['rDatum']);
+
+ if ($shop->view['oOrder']->isInnerEu())
+ {
+
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->Text($adress_left, $rdata_top + 11.5, __("Innergemeinschaftliche Lieferung.", "wpsg"));
+
+ }
+
+ // Benutzerdefinierte Felder
+ $arTexte = $shop->callMod('wpsg_mod_rechnungen', 'getRechnungstexte', array($shop->view['data']['id']));
+
+ foreach ((array)$arTexte as $text)
+ {
+
+ if (isset($text['aktiv']) && $text['aktiv'] == 1)
+ {
+
+ $pdf->SetFont('Arial', 'B', ((intval($text['fontsize']) > 0)?intval($text['fontsize']):10));
+ $pdf->SetTextColor($text['color']);
+ $pdf->MultiCell($text['x'], $text['y'], 5, utf8_encode($text['text']));
+ $pdf->SetTextColor("#000000");
+
+ }
+
+ }
+
+ }
+
+ }
+ //wpsg_debug($this->view); die();
+ $pdf = new wpsg_fpdf();
+ $pdf->SetAutoPageBreak(true, 5);
+ AddRechnungPage($this, $pdf);
+
+ $summe = 0;
+
+ $bKopf = false; $pnr = 1; $offset = 0; $count = 0;
+ foreach ($this->view['basket']['produkte'] as $p)
+ {
+
+ if (!$bKopf)
+ {
+
+ $pdf->SetFont('Arial', 'B', 9);
+ $pdf->setXY($prod_left, $prod_top);
+ $pdf->Cell(10, 8, __("Nr.", "wpsg"), 1, 0, 'C');
+
+ $pdf->setXY($prod_left + 10, $prod_top);
+ $pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, "Name", 1, 0, 'L');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ $pdf->setXY($prod_left + 97, $prod_top);
+ $pdf->Cell(15, 8, __("MwSt.", "wpsg"), 1, 0, 'C');
+
+ }
+
+ $pdf->setXY($prod_left + 112, $prod_top);
+ $pdf->Cell(15, 8, __("Menge", "wpsg"), 1, 0, 'C');
+
+ $pdf->setXY($prod_left + 127, $prod_top);
+ $pdf->Cell(25, 8, __("Einzelpreis", "wpsg"), 1, 0, 'R');
+
+ $pdf->setXY($prod_left + 152, $prod_top);
+ $pdf->Cell(25, 8, __("Gesamtpreis", "wpsg"), 1, 0, 'R');
+
+ $offset = 8;
+ $bKopf = true;
+
+ }
+
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->setXY($prod_left, $prod_top + $offset);
+
+ if ($this->get_option('wpsg_mod_rechnungen_showanr') == '1')
+ {
+
+ $pdf->Cell(10, 8, $p['anr'], 0, 0, 'C');
+
+ }
+ else
+ {
+
+ $pdf->Cell(10, 8, $pnr.".", 0, 0, 'C');
+
+ }
+
+ $produkt_text = $this->getProductName($this->getProduktID($p['id']), true);
+ $produktBeschreibung = trim(strip_tags($p['beschreibung']));
+
+ if ($this->isOtherLang())
+ {
+
+ $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())."'");
+
+ if (is_array($trans_db) && sizeof($trans_db) > 0)
+ {
+
+ $produkt_text = $trans_db['name'];
+ $produktBeschreibung = trim(strip_tags($trans_db['beschreibung']));
+
+ }
+
+ }
+
+ $height = 0; // Höhe der Zeile für den Rahmen
+
+ $pdf->setXY($prod_left + 10, $prod_top + $offset);
+
+ // Produktvariablen
+ if ($this->hasMod('wpsg_mod_productvars') && $this->get_option("wpsg_mod_rechnungen_showpv") == "1")
+ {
+
+ $arPV = $this->callMod('wpsg_mod_productvars', 'getAllProductVarValues', array($this->view['data']['id'], $p['product_index']));
+
+ if (wpsg_isSizedArray($arPV))
+ {
+
+ foreach ($arPV as $pv)
+ {
+
+ $produkt_text .= "\r\n".$pv['name'].': '.$pv['value'];
+ $height += 5;
+
+ }
+
+ }
+
+ }
+
+ $produkt_text_cell_width = 102;
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+ $produkt_text_cell_width = 87;
+ }
+
+ $produkt_text_width = $pdf->GetStringWidth($produkt_text);
+ //$produkt_text_cell_width = (($this->arMwSt == "-1")?87:102);
+
+ $height += 5 * ceil($produkt_text_width / $produkt_text_cell_width) + 3;
+
+ $height_y = $pdf->getY();
+ $height = 2 + $pdf->MultiCell($prod_left + 10, $prod_top + $offset + 1.5, 5, utf8_encode($produkt_text), 0, 'L', 0, $produkt_text_cell_width);
+
+ //$height += 3 + 5 + $pdf->getY() - $height_y;
+ //$pdf->Cell((($this->arMwSt == "-1")?102:87), 8, $produkt_text, 0, 0, 'L');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ $pdf->setXY($prod_left + 97, $prod_top + $offset);
+ $pdf->Cell(15, 8, (($this->view['basket']['noMwSt'] == '1')?'0.00 %':wpsg_ff($p['mwst_value'], '%')), 0, 0, 'C');
+
+ }
+
+ $pdf->setXY($prod_left + 112, $prod_top + $offset);
+ $pdf->Cell(15, 8, $p['menge'], 0, 0, 'C');
+
+ // Preis eines Produktes
+ if ($this->view['basket']['noMwSt'] == '1')
+ {
+
+ // Innergemeinschaftliche Lieferung, hier Netto Preis
+ $preis = $p['preis_netto'];
+
+ }
+ else
+ {
+
+ if ($this->getFrontendTaxview() == WPSG_BRUTTO || $this->get_option('wpsg_kleinunternehmer') == '1')
+ {
+ $preis = $p['preis_brutto'];
+ }
+ else
+ {
+ $preis = $p['preis_netto'];
+ }
+
+ }
+
+ $pdf->setXY($prod_left + 127, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($preis, $this->get_option('wpsg_currency')), 0, 0, 'R');
+
+ $pdf->setXY($prod_left + 152, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($preis * $p['menge'], $this->get_option('wpsg_currency')), 0, 0, 'R');
+
+ /**
+ * Produktbeschreibung anzeigen Ja/Nein
+ */
+ $pBeschreibungHeight = 0;
+ if ($this->get_option("wpsg_rechnungen_pbeschreibung") == "1" && trim(strip_tags($p['beschreibung'])) != '')
+ {
+
+ $produktBeschreibung = nl2br($produktBeschreibung);
+ preg_match_all('/\<br \/\>/', $produktBeschreibung, $treffer);
+ $produktBeschreibung = strip_tags($produktBeschreibung);
+
+ $pBeschreibungWidth = $pdf->getStringWidth($produktBeschreibung);
+ $pBeschreibungHeight = 5 * (ceil($pBeschreibungWidth / $produkt_text_cell_width) + @sizeof($treffer[0]));
+
+ $pdf->SetFont('Arial', 'I', 9);
+
+ $cellY = $pdf->getY();
+ $pdf->MultiCell($prod_left + 10, $prod_top + $height + $offset - 1, 5, utf8_encode($produktBeschreibung), 0, 'L', 0, $produkt_text_cell_width);
+ $pBeschreibungHeight = $pdf->getY() - $cellY - $height + 1;
+ $pdf->SetFont('Arial', '', 9);
+
+ }
+
+ $height += $pBeschreibungHeight;
+
+ /**
+ * Variante ?
+ */
+ if (preg_match('/vp_(.*)/', $p['productkey']))
+ {
+
+ $variInfo = $this->callMod('wpsg_mod_varianten', 'getVariantenInfoArray', array($p['productkey']));
+
+ $height += $pdf->MultiCell($prod_left + 10, $prod_top + $height + $offset - 0.5, 5, utf8_encode(wpsg_translate(__('Variante: #1#', 'wpsg'), $variInfo['key'])), 0, 'L', 0, $produkt_text_cell_width);
+
+ //$height += 5;
+
+ }
+
+ if ($this->hasMod('wpsg_mod_deliverynote'))
+ {
+
+ $arDN_order = $this->callMod('wpsg_mod_deliverynote', 'loadDeliveryNotesFromOrder', array($this->view['data']['id']));
+
+ if (sizeof($arDN_order) > 1)
+ {
+
+ $deliveryTimeProduct = $this->callMod('wpsg_mod_deliverynote', 'getProductDeliveryTime', array($this->view['data']['id'], $p['product_index']));
+
+ if ($deliveryTimeProduct !== false)
+ {
+
+ $height += $pdf->MultiCell($prod_left + 10, $prod_top + $height + $offset - 0.5, 5, utf8_encode(wpsg_translate(__('Lieferdatum: #1#', 'wpsg'), date('d.m.Y', $deliveryTimeProduct))), 0, 'L', 0, $produkt_text_cell_width);
+
+ }
+
+ }
+
+ }
+
+ // Jetzt die Rahmen zeichnen
+ $pdf->Rect($prod_left, $prod_top + $offset, 10, $height);
+
+ $pdf->Rect($prod_left + 10, $prod_top + $offset, ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), $height);
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ $pdf->Rect($prod_left + 97, $prod_top + $offset, 15, $height);
+
+ }
+
+ $pdf->Rect($prod_left + 112, $prod_top + $offset, 15, $height);
+ $pdf->Rect($prod_left + 127, $prod_top + $offset, 25, $height);
+ $pdf->Rect($prod_left + 152, $prod_top + $offset, 25, $height);
+
+ $offset += $height;
+
+ $pnr ++;
+ $count ++;
+
+ $summe += $p['price'] * $p['menge'];
+
+ if ($pdf->getY() > 220 || ($count >= $prod_break && sizeof($this->view['basket']['produkte']) > ($pnr - 1)))
+ {
+
+ AddRechnungPage($this, $pdf);
+ $bKopf = false; $offset = 0; $count = 0;
+
+ }
+
+ } // produkte
+
+ // Gutschein
+ if (isset($this->view['basket']['gs']))
+ {
+
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->setXY($prod_left, $prod_top + $offset);
+ $pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
+
+ $pdf->setXY($prod_left + 10, $prod_top + $offset);
+ $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');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ $mwst = __('anteilig', 'wpsg');
+
+ $pdf->setXY($prod_left + 97, $prod_top + $offset);
+ $pdf->Cell(15, 8, $mwst, 1, 0, 'C');
+
+ }
+
+ $pdf->setXY($prod_left + 112, $prod_top + $offset);
+ $pdf->Cell(15, 8, '1', 1, 0, 'C');
+
+ /*
+ if ($this->view['basket']['gs']['calc'] == 'w')
+ {
+
+ $gs_value_einzel = '-'.wpsg_ff($this->view['basket']['gs']['value'], $this->get_option('wpsg_currency'));
+ $gs_value_gesamt = '-'.wpsg_ff($this->view['basket']['gs']['value'], $this->get_option('wpsg_currency'));
+
+ }
+ else if ($this->view['basket']['gs']['calc'] == 'p')
+ {
+
+ $gs_value_einzel = '-'.wpsg_ff($this->view['basket']['gs']['value'], '%');
+ $gs_value_gesamt = '-'.wpsg_ff($this->view['basket']['sum']['gs'], $this->get_option('wpsg_currency'));
+
+ }
+ */
+
+ $gs_value_einzel = '-'.wpsg_ff($this->view['basket']['sum']['gs'], $this->get_option('wpsg_currency'));
+ $gs_value_gesamt = '-'.wpsg_ff($this->view['basket']['sum']['gs'], $this->get_option('wpsg_currency'));
+
+ $pdf->setXY($prod_left + 127, $prod_top + $offset);
+ $pdf->Cell(25, 8, $gs_value_einzel, 1, 0, 'R');
+
+ $pdf->setXY($prod_left + 152, $prod_top + $offset);
+ $pdf->Cell(25, 8, $gs_value_gesamt, 1, 0, 'R');
+
+ $offset += 8;
+
+ }
+
+ // Versandkosten
+ if ($this->view['basket']['sum']['preis_shipping'] != '' && $this->view['basket']['sum']['preis_shipping'] != 0)
+ {
+
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->setXY($prod_left, $prod_top + $offset);
+ $pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
+
+ $pdf->setXY($prod_left + 10, $prod_top + $offset);
+ $pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, wpsg_translate(__('Versandkosten "#1#"', 'wpsg'), $this->view['oOrder']->getShippingTypName()), 1, 0, 'L');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ if ($this->arShipping[$this->view['data']['type_shipping']]['mwst_null'] == '1' && $this->view['basket']['noMwSt'] == '1')
+ {
+
+ $mwst = 0;
+
+ }
+ else
+ {
+
+ if (isset($this->view['basket']['shipping']['tax_rata']) && $this->view['basket']['shipping']['tax_rata'] === true)
+ {
+
+ $mwst = __('anteilig', 'wpsg');
+
+ }
+ else
+ {
+
+ $mwst = wpsg_ff($this->arShipping[$this->view['basket']['checkout']['shipping']]['mwst_value'], '%');
+
+ }
+
+ /*
+ if ($this->arShipping[$this->view['data']['type_shipping']]['mwst'] == '0')
+ {
+
+ $mwst = __('anteilig', 'wpsg');
+
+ }
+ else
+ {
+
+ $mwst = wpsg_ff($this->arShipping[$this->view['data']['type_shipping']]['mwst_value'], '%');
+
+ }
+ */
+
+ }
+
+ $pdf->setXY($prod_left + 97, $prod_top + $offset);
+ $pdf->Cell(15, 8, $mwst, 1, 0, 'C');
+
+ }
+
+ $pdf->setXY($prod_left + 112, $prod_top + $offset);
+ $pdf->Cell(15, 8, '1', 1, 0, 'C');
+
+ $pdf->setXY($prod_left + 127, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_shipping'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $pdf->setXY($prod_left + 152, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_shipping'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $offset += 8;
+
+ // Zusammengesetzte Versandarten darstellen
+ /*
+ if (wpsg_isSizedArray($this->view['basket']['shipping']['methods'])) {
+
+ foreach ($this->view['basket']['shipping']['methods'] as $shipping) {
+
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->setXY($prod_left, $prod_top + $offset);
+ $pdf->Cell(10, 8, '', 1, 0, 'C'); $pnr ++;
+
+ $pdf->setXY($prod_left + 10, $prod_top + $offset);
+ $pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, $this->getShippingName($shipping), 1, 0, 'L');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ if ($this->view['basket']['shipping'][$shipping]['tax_rata'] == 1) { $mwst = __('Anteilig', 'wpsg'); }
+ else { $mwst = wpsg_ff($this->view['basket']['shipping'][$shipping]['mwst'], '%'); }
+
+ $pdf->setXY($prod_left + 97, $prod_top + $offset);
+ $pdf->Cell(15, 8, $mwst, 1, 0, 'C');
+
+ }
+
+ $pdf->setXY($prod_left + 112, $prod_top + $offset);
+ $pdf->Cell(15, 8, '1', 1, 0, 'C');
+
+ $pdf->setXY($prod_left + 127, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($this->view['basket']['shipping'][$shipping]['preis_shipping_brutto'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $pdf->setXY($prod_left + 152, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($this->view['basket']['shipping'][$shipping]['preis_shipping_brutto'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $offset += 8;
+
+ }
+
+ }
+ */
+
+
+ }
+
+ // Zahlungskosten
+ if ($this->view['basket']['sum']['preis_payment'] != '' && $this->view['basket']['sum']['preis_payment'] != 0)
+ {
+
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->setXY($prod_left, $prod_top + $offset);
+ $pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
+
+ $pdf->setXY($prod_left + 10, $prod_top + $offset);
+ $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');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ if ($this->arPayment[$this->view['data']['type_payment']]['mwst_null'] == '1' && $this->view['basket']['noMwSt'] == '1')
+ {
+ $mwst = 0;
+ }
+ else
+ {
+
+ if (isset($this->view['basket']['payment']['tax_rata']) && $this->view['basket']['payment']['tax_rata'] === true)
+ {
+
+ $mwst = __('anteilig', 'wpsg');
+
+ }
+ else
+ {
+
+ $mwst = wpsg_ff($this->arPayment[$this->view['basket']['checkout']['payment']]['mwst_value'], '%');
+
+ }
+
+ /*
+ if ($this->arPayment[$this->view['data']['type_payment']]['mwst'] == '0')
+ {
+
+ $mwst = __('anteilig', 'wpsg');
+
+ }
+ else
+ {
+
+ $mwst = wpsg_ff($this->arPayment[$this->view['data']['type_payment']]['mwst_value'], '%');
+
+ }
+ */
+
+ }
+
+ $pdf->setXY($prod_left + 97, $prod_top + $offset);
+ $pdf->Cell(15, 8, $mwst, 1, 0, 'C');
+
+ }
+
+ $pdf->setXY($prod_left + 112, $prod_top + $offset);
+ $pdf->Cell(15, 8, '1', 1, 0, 'C');
+
+ $pdf->setXY($prod_left + 127, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_payment'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $pdf->setXY($prod_left + 152, $prod_top + $offset);
+ $pdf->Cell(25, 8, wpsg_ff($this->view['basket']['sum']['preis_payment'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $offset += 8;
+
+ }
+
+ // Gebühr
+ if (wpsg_tf($this->view['storno_fee']) > 0)
+ {
+
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->setXY($prod_left, $prod_top + $offset);
+ $pdf->Cell(10, 8, $pnr.'.', 1, 0, 'C'); $pnr ++;
+
+ $label = __('Bearbeitungsgebühr', 'wpsg');
+
+ if (strpos($this->view['storno_fee'], '%') !== false) $label .= ' ('.wpsg_ff($this->view['storno_fee'], '%').')';
+
+ $pdf->setXY($prod_left + 10, $prod_top + $offset);
+ $pdf->Cell( ((sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')?87:102), 8, $label, 1, 0, 'L');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1 || $this->get_option('wpsg_showMwstAlways') == '1')
+ {
+
+ if ($this->view['basket']['noMwSt'] == '1')
+ {
+ $mwst = 0;
+ }
+ else
+ {
+
+
+ $mwst = wpsg_ff($this->view['storno_fee_tax_value'], '%');
+
+ }
+
+ $pdf->setXY($prod_left + 97, $prod_top + $offset);
+ $pdf->Cell(15, 8, $mwst, 1, 0, 'C');
+
+ }
+
+ $pdf->setXY($prod_left + 112, $prod_top + $offset);
+ $pdf->Cell(15, 8, '1', 1, 0, 'C');
+
+ $pdf->setXY($prod_left + 127, $prod_top + $offset);
+ $pdf->Cell(25, 8, '-'.wpsg_ff($this->view['storno_fee_value'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $pdf->setXY($prod_left + 152, $prod_top + $offset);
+ $pdf->Cell(25, 8, '-'.wpsg_ff($this->view['storno_fee_value'], $this->get_option('wpsg_currency')), 1, 0, 'R');
+
+ $offset += 8;
+
+ }
+
+ $pdf->SetFont('Arial', '', 9);
+
+ if ($this->view['kunde']['ustidnr'] != "")
+ {
+ $offset += 10;
+ $pdf->Text($prod_left, $prod_top + $offset, __("Ihre Umsatzsteuer-Identifikationsnummer:", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $pdf->Cell(37, 8, $this->view['kunde']['ustidnr'], 0, 0, 'R');
+ }
+
+ $offset += 10;
+ if ($this->get_option('wpsg_kleinunternehmer'))
+ {
+
+ $pdf->Text($prod_left, $prod_top + $offset, __("Es ergibt sich folgender Gesamtbetrag", "wpsg").':');
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("Summe", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $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');
+ $offset += 5;
+
+ }
+ else
+ {
+
+ if ($this->view['basket']['noMwSt'] == '1')
+ {
+
+ $pdf->Text($prod_left, $prod_top + $offset, __("Es ergibt sich folgender Gesamtbetrag", "wpsg").':');
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("BRUTTOBETRAG", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_gesamt_netto'], $this->get_option('wpsg_currency')), 0, 0, 'R');
+ $offset += 5;
+
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("MwSt. GESAMT", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $pdf->Cell(37, 8, wpsg_ff(0, $this->get_option('wpsg_currency')), 0, 0, 'R');
+
+ }
+ else
+ {
+
+ $pdf->Text($prod_left, $prod_top + $offset, __("Der Gesamtbetrag setzt sich wie folgt zusammen", "wpsg"));
+
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("NETTOBETRAG", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_gesamt_netto'], $this->get_option('wpsg_currency')), 0, 0, 'R');
+
+ if (sizeof($this->view['basket']['mwst']) >= 1)
+ {
+
+ foreach ($this->view['basket']['mwst'] as $mw)
+ {
+
+ $offset += 5;
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("MwSt. ", "wpsg").wpsg_ff($mw['value'], '%'));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $pdf->Cell(37, 8, wpsg_ff($mw['sum'], $this->get_option('wpsg_currency')), 0, 0, 'R');
+
+ }
+
+ }
+
+ if (sizeof($this->view['basket']['mwst']) > 1)
+ {
+
+ $offset += 5;
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("MwSt. GESAMT", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $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');
+
+ }
+
+ }
+
+ }
+
+ // Rabatt
+ if ($this->view['basket']['sum']['preis_rabatt'] > 0)
+ {
+
+ $offset += 5;
+
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("Rabatt", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $pdf->Cell(37, 8, '-'.wpsg_ff($this->view['basket']['sum']['preis_rabatt'], $this->get_option('wpsg_currency')), 0, 0, 'R');
+
+ }
+
+ $offset += 5;
+ $pdf->Text($prod_left + 100, $prod_top + $offset, __("SUMME", "wpsg"));
+ $pdf->setXY($prod_left + 140, $prod_top + $offset - 5);
+ $pdf->Cell(37, 8, wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'], $this->get_option('wpsg_currency')), 0, 0, 'R');
+
+ if ($this->get_option('wpsg_kleinunternehmer') == '1')
+ {
+
+ $pdf->MultiCell($prod_left - 1, $prod_top + $offset + 5, 5, utf8_encode($this->get_option('wpsg_kleinunternehmer_text')));
+ $offset += 15;
+
+ }
+
+ if ($this->hasMod('wpsg_mod_deliverynote'))
+ {
+
+ $arDN_order = $this->callMod('wpsg_mod_deliverynote', 'loadDeliveryNotesFromOrder', array($this->view['data']['id']));
+ $delivery_date = $this->callMod('wpsg_mod_deliverynote', 'getDeliveryTime', array($this->view['data']['id']));
+
+ // Wenn es ein Gesamtlieferdatum gibt und nur einen Lieferschein, dann unter der Bestellung anzeigen
+ if ($delivery_date !== false && sizeof($arDN_order) == 1)
+ {
+
+ $offset += 10;
+
+ $pdf->MultiCell($prod_left, $prod_top + $offset, 5, utf8_encode(
+ wpsg_translate(__('Lieferung: #1#', 'wpsg'), date('d.m.Y', $delivery_date))
+ ));
+
+ $offset += 5;
+
+ }
+
+ }
+
+ $offset += 5;
+
+ if ($this->view['fussText'] != "")
+ {
+
+ $pdf->MultiCell($prod_left - 1, $prod_top + $offset, 5, utf8_encode($this->view['fussText']));
+ $pdf->SetFont('Arial', 'B', 9);
+ $offset += 10;
+
+ }
+
+ $shipping_adress = false;
+
+ 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'])))
+ {
+
+ $pdf->setFont('Arial', 'B', 9);
+ $pdf->Text($prod_left, $prod_top + $offset, __("Lieferanschrift", "wpsg").":");
+ $offset += 5;
+
+ $pdf->setFont('Arial', '', 9);
+
+ $shipping_adress = "";
+ if ($this->view['data']['shipping_firma'] != "")
+ {
+ $shipping_adress .= $this->view['data']['shipping_firma']."\r\n";
+ }
+ $shipping_adress .= $this->view['data']['shipping_vname'].' '.$this->view['data']['shipping_name']."\r\n";
+ $shipping_adress .= $this->view['data']['shipping_strasse']."\r\n";
+ //$shipping_adress .= $this->view['data']['shipping_land']['kuerzel'].'-';
+
+ $shipping_adress .= $this->view['data']['shipping_plz'].' '.$this->view['data']['shipping_ort']."\r\n";
+ $shipping_adress .= $this->view['data']['shipping_land']['name'];
+
+
+ $start = $pdf->getY();
+ $pdf->MultiCell($prod_left - 1, $prod_top + $offset, 5, utf8_encode($shipping_adress), 0, 'L', 0, 100);
+ $offset += $pdf->getY() - $start;
+
+ $shipping_adress = true;
+
+ }
+
+
+ $offset += 5;
+
+ // Bestellvariablen
+ if ($this->hasMod('wpsg_mod_ordervars') && $this->get_option('wpsg_mod_rechnungen_showov') == '1')
+ {
+
+ $bvars = @unserialize($this->view['data']['bvars']);
+ if (!is_array($bvars)) $bvars = array();
+
+ $strBVars = "";
+ foreach ($bvars as $bvars_id => $bvars_value)
+ {
+
+ $bvars = $this->db->fetchRow("SELECT * FROM `".wpsg_q(WPSG_TBL_ORDERVARS)."` WHERE `id` = '".wpsg_q($bvars_id)."'");
+
+ if ($bvars['typ'] == "1") // Auswahl
+ {
+ if ($bvars_value <= 0) $bvars_value = __("Keine Angabe", "wpsg");
+ }
+ else if ($bvars['typ'] == "2") // Texteingabe
+ {
+ if (trim($bvars_value) == "") $bvars_value = __("Keine Angabe", "wpsg");
+ }
+ else if ($bvars['typ'] == "3") // Checkbox
+ {
+ if ($bvars_value <= 0) $bvars_value = __("Keine Angabe", "wpsg");
+ }
+
+ $bvars_name = $this->callMod('wpsg_mod_ordervars', 'getNameById', array($bvars_id));
+ $strBVars .= "\r\n".$bvars_name.": ".$bvars_value;
+
+ }
+
+ $pdf->SetFont('Arial', 'B', 9);
+ $pdf->Text($prod_left, $prod_top + $offset, __("Angaben während der Bestellung", "wpsg").":");
+ $pdf->SetFont('Arial', '', 9);
+ $pdf->MultiCell($prod_left - 1, $prod_top + $offset, 5, utf8_encode($strBVars));
+
+ }
+
+ if (!file_exists($this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id']))))
+ {
+
+ mkdir($this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id'])), 0777, true);
+
+ }
+
+ $this->callMods('wpsg_mod_rechnungen_pdf', array(&$pdf, &$this->view['data']['id'], &$this->view['preview'], &$this->view['invoice']));
+
+ $filename = $this->view['filename'].".pdf";
+
+ if ($this->view['preview'])
+ {
+ $pdf->Output($filename, 'I');
+ }
+ else
+ {
+
+ $pdf->Output($this->callMod('wpsg_mod_rechnungen', 'getFilePath', array($this->view['data']['id'])).$filename, 'F');
+
+ // Hier wird der Dateiname an FPD übergeben. Er soll sich aus der Rechnungsnummer ergeben, auch wenn das Dokument über die ID gespeichert ist.
+ if ($this->view['output'] === true) $pdf->Output($this->view['filename_out'], 'I');
+
+ }
+
+?> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/rechnungsmail.phtml b/views/mods/mod_rechnungen/rechnungsmail.phtml
new file mode 100644
index 0000000..ac01fe7
--- /dev/null
+++ b/views/mods/mod_rechnungen/rechnungsmail.phtml
@@ -0,0 +1,16 @@
+<?php
+
+ /**
+ * Template für die Mail, die beim Schreiben einer Rechnung optional an den Kunden versendet werden kann
+ */
+
+ //wpsg_debug($this->view);
+
+?><?php echo __("Hallo", "wpsg"); ?> <?php echo $this->view['kunde']['vname']; ?> <?php echo $this->view['kunde']['name']; ?>,
+
+<?php echo __("Sie erhalten hiermit die Rechnung in Höhe von", "wpsg"); ?> <?php echo wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'], $this->get_option('wpsg_currency')); ?> <?php echo __("für Ihre Bestellung mit der Bestellnummer", "wpsg"); ?> <?php echo ((trim($this->view['data']['onr']) != '')?$this->view['data']['onr']:$this->view['data']['o_id']); ?>.
+<?php $this->callMods('wpsg_mod_rechnungen_mail'); ?>
+
+<?php echo __("Mit freundlichen Grüßen", "wpsg"); ?>
+
+<?php echo __($this->get_option('wpsg_shopdata_name'), 'wpsg'); ?> - <?php echo __('Team', 'wpsg'); ?> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/rechnungsmail_html.phtml b/views/mods/mod_rechnungen/rechnungsmail_html.phtml
new file mode 100644
index 0000000..666035c
--- /dev/null
+++ b/views/mods/mod_rechnungen/rechnungsmail_html.phtml
@@ -0,0 +1,20 @@
+<?php
+
+ /**
+ * Template für die Mail, die beim Schreiben einer Rechnung optional an den Kunden versendet werden kann (HTML)
+ */
+
+ /* Wichtig, da die Module sonst kein HTML zurückgeben */
+ $this->htmlMail = true;
+
+ //wpsg_debug($this->view);
+
+?><p><?php echo __("Hallo", "wpsg"); ?> <?php echo $this->view['kunde']['vname']; ?> <?php echo $this->view['kunde']['name']; ?>,</p>
+
+<p><?php echo __("Sie erhalten hiermit die Rechnung in Höhe von", "wpsg"); ?> <?php echo wpsg_ff($this->view['basket']['sum']['preis_gesamt_brutto'], $this->get_option('wpsg_currency')); ?> <?php echo __("für Ihre Bestellung mit der Bestellnummer", "wpsg"); ?> <?php echo ((trim($this->view['data']['onr']) != '')?$this->view['data']['onr']:$this->view['data']['o_id']); ?>.</p>
+
+<?php $this->callMods('wpsg_mod_rechnungen_mail'); ?>
+
+<p><?php echo __("Mit freundlichen Grüßen", "wpsg"); ?></p>
+
+<p><?php echo __($this->get_option('wpsg_shopdata_name'), 'wpsg'); ?> - <?php echo __('Team', 'wpsg'); ?></p> \ No newline at end of file
diff --git a/views/mods/mod_rechnungen/settings_edit.phtml b/views/mods/mod_rechnungen/settings_edit.phtml
new file mode 100644
index 0000000..433e0de
--- /dev/null
+++ b/views/mods/mod_rechnungen/settings_edit.phtml
@@ -0,0 +1,241 @@
+<?php
+
+ /**
+ * Template für die Einstellungen des Rechnungen Moduls
+ */
+
+?>
+<script type="text/javascript">
+
+ /**
+ * Wird beim anlegen einer neuen Fußzeile aufgerufen
+ */
+ function wpsg_addFooter()
+ {
+
+ jQuery('#foottext_list').html('<img src="<?php echo WPSG_URL; ?>views/gfx/ajax-loader.gif" alt="<?php echo __('Bitte warten ...', 'wpsg'); ?>" />');
+
+ jQuery.ajax( {
+ url: '<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_rechnungen&do=add&noheader=1',
+ success: function(data) {
+ jQuery('#foottext_list').html(data);
+ }
+ } );
+
+ return false;
+
+ } // function wpsg_addFooter()
+
+ /**
+ * Wird beim entfernen einer Fußzeile aufgerufen
+ */
+ function wpsg_removeFooter(foot_id)
+ {
+
+ if (!confirm('<?php echo __('Sind Sie sich sicher, dass Sie diese Fußzeile löschen möchten?', 'wpsg'); ?>')) return false;
+
+ jQuery('#foottext_list').html('<img src="<?php echo WPSG_URL; ?>views/gfx/ajax-loader.gif" alt="<?php echo __('Bitte warten ...', 'wpsg'); ?>" />');
+
+ jQuery.ajax( {
+ url: '<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_rechnungen&do=removeFooter&noheader=1',
+ data: {
+ foot_id: foot_id
+ },
+ success: function(data) {
+ jQuery('#foottext_list').html(data);
+ }
+ } );
+
+ return false;
+
+ } // function wpsg_removeFooter()
+
+</script>
+
+<br />
+<div class="wpsg_admin_box" id="wpsg_tab">
+ <div class="head">
+ <div class="title">
+ <div class="tab" id="tab1"><?php echo __('Vordefinierte Textfelder', 'wpsg'); ?></div>
+ <div class="tab" id="tab2"><?php echo __('Fußzeile', 'wpsg'); ?></div>
+ <div class="tab" id="tab3"><?php echo __('Sonstiges', 'wpsg'); ?></div>
+ <div class="tabcontent tablink">
+ <a href="" title="<?php echo __('Neues Feld für die Fußzeile hinzufügen', 'wpsg'); ?>" class="wpsg_icon wpsg_icon_right wpsg_icon_add" onclick="return wpsg_addFooter();"></a>
+ </div>
+ <div class="wpsg_clear"></div>
+ </div>
+ </div>
+ <div class="content" id="wpsg_mwst_list">
+
+ <div id="tabcontent1" class="tabcontent">
+
+ <?php echo wpsg_drawForm_Input('wpsg_rechnungen_adresszeile', __('Adresszeile', 'wpsg'), $this->get_option('wpsg_rechnungen_adresszeile')); ?>
+ <div class="wpsg_hinweis"><?php echo __('Diese Zeile wird klein oberhalb der Kundenadresse platziert', 'wpsg'); ?></div>
+ <br />
+
+ <div class="wpsg_form_field">
+ <div class="wpsg_form_left">
+ <label><?php echo __('Briefpapier (PDF/JPG)', 'wpsg'); ?>:</label><br />
+ <?php if ($this->view['bp'] !== false) { ?>
+ <label>
+ <input type="checkbox" name="wpsg_rechnungen_bp_del" value="1" />&nbsp;<?php echo __('Löschen', 'wpsg'); ?>
+ </label>
+ <?php } ?>
+ </div>
+ <div class="wpsg_form_right">
+ <?php if ($this->view['bp'] === false) { ?>
+ <p><?php echo __('Es wurde bisher kein Briefpapier hochgeladen', 'wpsg'); ?></p>
+ <?php } else { ?>
+ <a href="<?php echo $this->view['bp']; ?>" target="_blank"><?php echo __('Derzeitiges Briefpapier', 'wpsg'); ?></a>
+ <?php } ?>
+ <a style="float:right; position:relative;" class="wpsg_form_help" href="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=mod_rechnung_bp" rel="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=mod_rechnung_bp"></a>
+ <input type="file" name="wpsg_rechnungen_bp">
+ </div>
+ <div class="wpsg_clear"></div>
+ </div>
+
+ <div class="wpsg_form_field">
+ <div class="wpsg_form_left">
+ <label><?php echo __('Logo (JPG)', 'wpsg'); ?>:</label><br />
+ <?php if ($this->view['logo'] !== false) { ?>
+ <label>
+ <input type="checkbox" name="wpsg_rechnungen_logo_del" value="1" />&nbsp;<?php echo __('Löschen', 'wpsg'); ?>
+ </label>
+ <?php } ?>
+ </div>
+ <div class="wpsg_form_right">
+ <?php if ($this->view['logo'] === false) { ?>
+ <p><?php echo __('Es wurde bisher kein Logo hochgeladen', 'wpsg'); ?></p>
+ <?php } else { ?>
+ <a href="<?php echo $this->view['logo']; ?>" target="_blank"><?php echo __('Derzeitiges Logo', 'wpsg'); ?></a>
+ <?php } ?>
+ <a style="float:right; position:relative;" class="wpsg_form_help" href="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=mod_rechnung_logo" rel="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=mod_rechnung_logo"></a>
+ <input type="file" name="wpsg_rechnungen_logo">
+ </div>
+ <div class="wpsg_clear"></div>
+ </div>
+
+ <div class="wpsg_hinweis"><?php echo __('Das Briefpapier wird hinter die gesamte Seite gelegt, das Logo wird rechts oben auf jeder Seite platziert. (96 dpi)', 'wpsg'); ?></div>
+ <br />
+
+ <table class="wpsg_mod_rechnungen_fieldtable">
+ <tr>
+ <th class="col_bezeichnung"><?php echo __('Bezeichnung', 'wpsg'); ?></th>
+ <th class="col_freitext"><?php echo __('Freitext', 'wpsg'); ?></th>
+ <th class="col_x"><?php echo __('X', 'wpsg'); ?></th>
+ <th class="col_y"><?php echo __('Y', 'wpsg'); ?></th>
+ <th class="col_color"><?php echo __('Farbe', 'wpsg'); ?></th>
+ <th class="col_groesse"><?php echo __('Größe', 'wpsg'); ?></th>
+ <th class="col_action"></th>
+ </tr>
+ <?php foreach ($this->view['fields'] as $f => $field_name) { ?>
+ <tr>
+ <td><?php echo wpsg_hspc($field_name); ?></td>
+ <td>
+ <input type="text" style="width:100%;" name="text[<?php echo $f; ?>][text]" value="<?php echo wpsg_hspc($this->view['arTexte'][$f]['text']); ?>" />
+ </td>
+ <td>
+ <input type="text" style="width:100%;" name="text[<?php echo $f; ?>][x]" value="<?php echo wpsg_hspc($this->view['arTexte'][$f]['x']); ?>" />
+ </td>
+ <td>
+ <input type="text" style="width:100%;" name="text[<?php echo $f; ?>][y]" value="<?php echo wpsg_hspc($this->view['arTexte'][$f]['y']); ?>" />
+ </td>
+ <td>
+ <input type="text" style="width:100%;" name="text[<?php echo $f; ?>][color]" value="<?php echo wpsg_hspc($this->view['arTexte'][$f]['color']); ?>" />
+ </td>
+ <td>
+ <select name="text[<?php echo $f; ?>][fontsize]" style="width:100%;">
+ <option <?php echo (($this->view['arTexte'][$f]['fontsize'] == "8")?'selected="selected"':''); ?> value="8">8</option>
+ <option <?php echo (($this->view['arTexte'][$f]['fontsize'] == "9")?'selected="selected"':''); ?> value="9">9</option>
+ <option <?php echo (($this->view['arTexte'][$f]['fontsize'] == "10")?'selected="selected"':''); ?> value="10">10</option>
+ <option <?php echo (($this->view['arTexte'][$f]['fontsize'] == "11")?'selected="selected"':''); ?> value="11">11</option>
+ <option <?php echo (($this->view['arTexte'][$f]['fontsize'] == "12")?'selected="selected"':''); ?> value="12">12</option>
+ <option <?php echo (($this->view['arTexte'][$f]['fontsize'] == "13")?'selected="selected"':''); ?> value="13">13</option>
+ <option <?php echo (($this->view['arTexte'][$f]['fontsize'] == "14")?'selected="selected"':''); ?> value="14">14</option>
+ </select>
+ </td>
+ <td>
+ <label><input type="checkbox" value="1" name="text[<?php echo $f; ?>][aktiv]" <?php echo ((wpsg_isSizedInt($this->view['arTexte'][$f]['aktiv']))?'checked="checked"':''); ?> />&nbsp;<?php echo __("Aktiv", "wpsg"); ?></label>
+ <a style="float:right; position:relative;" class="wpsg_form_help" href="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=mod_rechnung_fieldconfig" rel="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=mod_rechnung_fieldconfig"></a>
+ </td>
+ </tr>
+ <?php } ?>
+ </table>
+
+ <br />
+
+ <input style="float:right;" class="button" onclick="if (!confirm('<?php echo __('Sind Sie sich sicher? Ihre bisherigen Einstellungen gehen verloren!', 'wpsg'); ?>')) return false; else location.href = '<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Admin&amp;action=module&amp;modul=<?php echo $_REQUEST['modul']; ?>&amp;do=reset&amp;noheader=1';" type="button" value="<?php echo __('Standardeinstellungen laden', 'wpsg'); ?>" />
+
+ <div class="wpsg_hinweis">
+ <?php echo __('Die Angaben für X (Abstand von Links) und Y (Abstand von Oben) werden in mm eingetragen.', 'wpsg'); ?><br />
+ <?php echo __('Die Farbe wird im Hexadezimalformat angegeben (#FFFFF für weiß, #000000 für schwarz).', 'wpsg'); ?>
+ </div>
+ <br />
+
+ </div>
+ <div id="tabcontent2" class="tabcontent">
+
+ <div id="foottext_list"><?php echo $this->view['foottext_list']; ?></div>
+ <br />
+
+ <div class="wpsg_hinweis">
+ <?php echo __('Hier können Sie Texte vordefinieren, die sie unter die Rechnung setzen können.', 'wpsg'); ?>
+ </div>
+
+ </div>
+ <div id="tabcontent3" class="tabcontent">
+
+ <?php echo wpsg_drawForm_Input('wpsg_rechnungen_url', __('URL Benachrichtigung', 'wpsg'), $this->get_option('wpsg_rechnungen_url'), array('help' => 'wpsg_rechnung_url')); ?>
+ <?php echo wpsg_drawForm_Select('wpsg_mod_rechnungen_auto', __('Rechnungserstellung', 'wpsg'), array(
+ '0' => __('Manuell', 'wpsg'),
+ '1' => __('Bei Bestellung', 'wpsg'),
+ '2' => __('Bei Zahlung', 'wpsg')
+ ), $this->get_option('wpsg_mod_rechnungen_auto'), array('help' => 'wpsg_mod_rechnungen_auto')); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_rechnungen_faelligkeit', __('Fälligkeit in Tagen', 'wpsg'), $this->get_option('wpsg_rechnungen_faelligkeit'), array('help' => 'wpsg_rechnungen_faelligkeit')); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_rechnungen_pdfperpage', __('Anzahl an Produkten pro Seite (PDF)', 'wpsg'), $this->get_option('wpsg_rechnungen_pdfperpage'), array('help' => 'wpsg_rechnungen_pdfperpage')); ?>
+ <?php echo wpsg_drawForm_Checkbox('wpsg_rechnungen_pbeschreibung', __('Produktbeschreibung auf Rechnung anzeigen', 'wpsg'), $this->get_option('wpsg_rechnungen_pbeschreibung'), array('help' => 'wpsg_rechnungen_pbeschreibung')); ?>
+ <?php echo wpsg_drawForm_Checkbox('wpsg_mod_rechnungen_showgutschriftrechnung', __('Rechnungsnummer auf Rechnungskorrektur anzeigen', 'wpsg'), $this->get_option('wpsg_mod_rechnungen_showgutschriftrechnung'), array('help' => 'wpsg_mod_rechnungen_showgutschriftrechnung')); ?>
+ <?php echo wpsg_drawForm_Checkbox('wpsg_mod_rechnungen_showpv', __('Produktvariablen auf Rechnung anzeigen', 'wpsg'), $this->get_option('wpsg_mod_rechnungen_showpv'), array('help' => 'wpsg_mod_rechnungen_showpv')); ?>
+ <?php echo wpsg_drawForm_Checkbox('wpsg_mod_rechnungen_showov', __('Bestellvariablen auf Rechnung anzeigen', 'wpsg'), $this->get_option('wpsg_mod_rechnungen_showov'), array('help' => 'wpsg_mod_rechnungen_showov')); ?>
+ <?php echo wpsg_drawForm_Checkbox('wpsg_mod_rechnungen_showanr', __('Artikelnummer auf Rechnung als Nr. verwenden', 'wpsg'), $this->get_option('wpsg_mod_rechnungen_showanr'), array('help' => 'wpsg_mod_rechnungen_showanr')); ?>
+ <?php echo wpsg_drawForm_Checkbox('wpsg_mod_rechnungen_hideCountry', __('Land auf Lieferschein verbergen', 'wpsg'), $this->get_option('wpsg_mod_rechnungen_hideCountry'), array('help' => 'wpsg_mod_rechnungen_hideCountry')); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_rechnungen_start', __('Startnummer (Rechnungen)', 'wpsg'), $this->get_option('wpsg_rechnungen_start'), array('help' => 'wpsg_rechnungen_start')); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_gutschrift_start', __('Startnummer (Rechnungskorrektur)', 'wpsg'), $this->get_option('wpsg_gutschrift_start'), array('help' => 'wpsg_gutschrift_start')); ?>
+ <?php echo wpsg_drawForm_Select('wpsg_mod_rechnungen_gutschrifttax', __('Mehrwertsteuersatz für Bearbeitungsgebühr', 'wpsg'), wpsg_tax_groups(), $this->get_option('wpsg_mod_rechnungen_gutschrifttax'), array('help' => 'wpsg_mod_rechnungen_gutschrifttax')); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_rechnungen_format', __('Format (Rechnungen)', 'wpsg'), $this->get_option('wpsg_rechnungen_format'), array('help' => 'wpsg_rechnungen_format')); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_gutschrift_format', __('Format (Rechnungskorrektur)', 'wpsg'), $this->get_option('wpsg_gutschrift_format'), array('help' => 'wpsg_gutschrift_format')); ?>
+
+ <div class="wpsg_form_field">
+ <div class="wpsg_form_left">
+ <label><?php echo __('Mögliche Platzhalter für Rechnungen und Rechnungskorrektur', 'wpsg'); ?>:</label>
+ </div>
+ <div class="wpsg_form_right">
+ <p>
+ %nr% - <?php echo __('Fortlaufende Rechnungs- bzw. Rechnungskorrekturnummer', 'wpsg'); ?><br />
+ %Jahr% - <?php echo __('Das aktuelle Jahr (4 Stellig)', 'wpsg'); ?><br />
+ %Monat% - <?php echo __('Der aktuelle Monat (01 - 12)', 'wpsg'); ?><br />
+ %Tag% - <?php echo __('Der Tag des Monats (01 - 31)', 'wpsg'); ?><br />
+ </p>
+ <div class="wpsg_hinweis"><?php echo __('Die Platzhalter können bei den Formatfeldern und dem Dateinamen verwendet werden. Der Platzhalter %nr% sollte dabei immer Verwendung finden.', 'wpsg'); ?></div>
+ </div>
+ </div>
+ <div class="wpsg_clear"></div>
+
+ </div>
+
+ </div>
+</div>
+
+
+<script type="text/javascript">/* <![CDATA[ */
+
+ jQuery(document).ready(function() {
+ jQuery('#wpsg_tab').wpsg_tab( {
+ 'cookiename': 'wpsg_rechnungen_tab',
+ 'tab2': function() {
+ jQuery('.tablink').show();
+ }
+ } );
+ } );
+
+/* ]]> */</script> \ No newline at end of file