From ee163b01c6bdf3da7c2a8f3ee1be25b02cb760b4 Mon Sep 17 00:00:00 2001 From: daniel Date: Tue, 29 Sep 2026 12:05:22 +0200 Subject: - Anfrage Modul aufgeräumt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- views/mods/mod_coverletter/coverletter_pdf.phtml | 171 ++++++++-------- views/mods/mod_coverletter/order_view.phtml | 104 +++++----- views/mods/mod_coverletter/settings_edit.phtml | 244 ++++++++++++----------- 3 files changed, 276 insertions(+), 243 deletions(-) (limited to 'views') diff --git a/views/mods/mod_coverletter/coverletter_pdf.phtml b/views/mods/mod_coverletter/coverletter_pdf.phtml index 21b9511..4cb56be 100644 --- a/views/mods/mod_coverletter/coverletter_pdf.phtml +++ b/views/mods/mod_coverletter/coverletter_pdf.phtml @@ -1,44 +1,48 @@ AddPage(); - - if (file_exists($shop->callMod('wpsg_mod_coverletter', 'getFilePath', array(''))."wpsg_coverletter_bp.pdf")) { - - $pdf->setSourceFile($shop->callMod('wpsg_mod_coverletter', 'getFilePath', array(''))."wpsg_coverletter_bp.pdf"); + + if (file_exists($shop->callMod('wpsg_mod_coverletter', 'getFilePath', ['']).'wpsg_coverletter_bp.pdf')) { + + $pdf->setSourceFile($shop->callMod('wpsg_mod_coverletter', 'getFilePath', ['']).'wpsg_coverletter_bp.pdf'); $tplidx = $pdf->importPage(1, '/MediaBox'); $pdf->useTemplate($tplidx, 0, 0, 210); - - } else if (file_exists($shop->callMod('wpsg_mod_coverletter', 'getFilePath', array(''))."wpsg_coverletter_bp.jpg")) { - - $pdf->image($shop->callMod('wpsg_mod_coverletter', 'getFilePath', array(''))."wpsg_coverletter_bp.jpg", 0, 0, 210, 297, 'jpg'); - + + } else if (file_exists($shop->callMod('wpsg_mod_coverletter', 'getFilePath', ['']).'wpsg_coverletter_bp.jpg')) { + + $pdf->image($shop->callMod('wpsg_mod_coverletter', 'getFilePath', ['']).'wpsg_coverletter_bp.jpg', 0, 0, 210, 297, 'jpg'); + } - if (file_exists($shop->callMod('wpsg_mod_coverletter', 'getFilePath', array(''))."wpsg_coverletter_logo.jpg")) { + $arLogoSize = ((file_exists($shop->callMod('wpsg_mod_coverletter', 'getFilePath', ['']).'wpsg_coverletter_logo.jpg'))?getimagesize($shop->callMod('wpsg_mod_coverletter', 'getFilePath', ['']).'wpsg_coverletter_logo.jpg'):false); + + if (is_array($arLogoSize)) { - list($width, $height, $type, $attr) = getimagesize($shop->callMod('wpsg_mod_coverletter', 'getFilePath', array(''))."wpsg_coverletter_logo.jpg"); + [$width, $height] = $arLogoSize; // Umrechnung von Inch zu Pixel $wPix = (25.4 * $width) / 96; $hPix = (25.4 * $height) / 96; - + $alpha = wpsg_logo_alpha($shop->get_option('wpsg_mod_coverletter_logo_transparency')); /* @@ -48,100 +52,97 @@ if(isset($logo_pos) && $logo_pos === "center") { $abscissa = 105 - ($wPix / 2); } if(isset($logo_pos) && $logo_pos === "right") { $abscissa = 210 - $wPix; } */ - + $logox = intval($shop->get_option('wpsg_mod_coverletter_logo_x')); $logoy = intval($shop->get_option('wpsg_mod_coverletter_logo_y')); $pdf->SetAlpha($alpha); - $pdf->image($shop->callMod('wpsg_mod_coverletter', 'getFilePath', array(''))."wpsg_coverletter_logo.jpg", $logox, $logoy, $wPix, $hPix); + $pdf->image($shop->callMod('wpsg_mod_coverletter', 'getFilePath', ['']).'wpsg_coverletter_logo.jpg', $logox, $logoy, $wPix, $hPix); $pdf->SetAlpha(1); } - + // Adresse des Kunden $pdf->SetFont('Arial', '', 12); - $pdf->Text($adress_left, $adress_top, $shop->view['data']['company']); - $pdf->Text($adress_left, $adress_top + 5, $shop->view['data']['firstname'].' '.$shop->view['data']['name']); - $pdf->Text($adress_left, $adress_top + 10, $shop->view['data']['street'].' '.$shop->view['data']['hnr']); - $pdf->Text($adress_left, $adress_top + 15, $shop->view['data']['zip'].' '.$shop->view['data']['city']); - $pdf->Text($adress_left, $adress_top + 20, $shop->view['data']['country']); - + $pdf->Text($adress_left, $adress_top, ($shop->view['data']['company']??'')); + $pdf->Text($adress_left, $adress_top + 5, ($shop->view['data']['firstname']??'').' '.($shop->view['data']['name']??'')); + $pdf->Text($adress_left, $adress_top + 10, ($shop->view['data']['street']??'').' '.($shop->view['data']['hnr']??'')); + $pdf->Text($adress_left, $adress_top + 15, ($shop->view['data']['zip']??'').' '.($shop->view['data']['city']??'')); + $pdf->Text($adress_left, $adress_top + 20, ($shop->view['data']['country']??'')); + // Daten $pdf->SetFont('Arial', 'B', 16); - $pdf->Text($dndata_left, $dndata_top, $shop->view['title']); + $pdf->Text($dndata_left, $dndata_top, ($shop->view['title']??'')); $pdf->SetFont('Arial', 'B', 9); - $pdf->Text($dndata_left, $dndata_top + 6, $shop->view['clnr']); + $pdf->Text($dndata_left, $dndata_top + 6, ($shop->view['clnr']??'')); $pdf->SetFont('Arial', '', 9); - - $pdf->Text($rdata_left + 100, $dndata_top, __("Kunden-Nr.", "wpsg")); - $pdf->Text($rdata_left + 100, $dndata_top + 6, (($shop->view['customer']['knr'] != '')?$shop->view['customer']['knr']:$shop->view['customer']['id'])); - - $pdf->Text($rdata_left + 125, $dndata_top, __("Best. Nr.", "wpsg")); - $pdf->Text($rdata_left + 125, $dndata_top + 6, ((trim($shop->view['order']['onr']) != '')?$shop->view['order']['onr']:$shop->view['order']['id'])); - - $pdf->Text($rdata_left + 145, $dndata_top, __("Bestelldatum", "wpsg")); - $pdf->Text($rdata_left + 145, $dndata_top + 6, wpsg_formatTimestamp(strtotime($shop->view['order']['cdate']), true)); - - $pdf->Text($rdata_left + 170, $dndata_top, __("Datum", "wpsg")); + + $pdf->Text($rdata_left + 100, $dndata_top, __('Kunden-Nr.', 'wpsg')); + $pdf->Text($rdata_left + 100, $dndata_top + 6, (((string)($shop->view['customer']['knr']??'') !== '')?$shop->view['customer']['knr']:($shop->view['customer']['id']??''))); + + $pdf->Text($rdata_left + 125, $dndata_top, __('Best. Nr.', 'wpsg')); + $pdf->Text($rdata_left + 125, $dndata_top + 6, ((trim((string)($shop->view['order']['onr']??'')) !== '')?$shop->view['order']['onr']:($shop->view['order']['id']??''))); + + $pdf->Text($rdata_left + 145, $dndata_top, __('Bestelldatum', 'wpsg')); + $pdf->Text($rdata_left + 145, $dndata_top + 6, wpsg_formatTimestamp(strtotime((string)($shop->view['order']['cdate']??'')), true)); + + $pdf->Text($rdata_left + 170, $dndata_top, __('Datum', 'wpsg')); $pdf->Text($rdata_left + 170, $dndata_top + 6, wpsg_formatTimestamp(time(), true)); - - foreach ($shop->view['arTexts'] as $text) { - + + foreach (($shop->view['arTexts']??[]) as $text) { + if (isset($text['aktiv']) && $text['aktiv'] == 1) { - - $pdf->SetFont('Arial', 'B', ((intval($text['fontsize']) > 0)?intval($text['fontsize']):10)); - $pdf->wpsg_SetTextColor($text['color']); - $pdf->wpsg_MultiCell($text['x'], $text['y'], 5, $text['text']); - $pdf->wpsg_SetTextColor("#000000"); - + + $pdf->SetFont('Arial', 'B', ((intval($text['fontsize']??0) > 0)?intval($text['fontsize']):10)); + $pdf->wpsg_SetTextColor(($text['color']??'')); + $pdf->wpsg_MultiCell(($text['x']??0), ($text['y']??0), 5, ($text['text']??'')); + $pdf->wpsg_SetTextColor('#000000'); + } - + } - + // Text $pdf->setFont('Arial', '', 10); - $pdf->wpsg_MultiCell($dndata_left - 1, $dndata_top + 12, 4, $shop->view['text']); - - } - + $pdf->wpsg_MultiCell($dndata_left - 1, $dndata_top + 12, 4, ($shop->view['text']??'')); + + } // function addCoverLetterPage($shop, $pdf) + } - + // Positionierung der Absenderadresszeile - $absender_left = 25; - $absender_top = 50; - - // Positionierung der Zieladress - $adress_left = 25; - $adress_top = 55; - - // Positionierund des Lieferscheinkopfes - $dndata_left = 25; - $dndata_top = 90; - + $absender_left = 25; + $absender_top = 50; + + // Positionierung der Zieladresse + $adress_left = 25; + $adress_top = 55; + + // Positionierung des Kopfes + $dndata_left = 25; + $dndata_top = 90; + // Positionierung der Produktdaten - $prod_left = 25; - $prod_top = 105; - + $prod_left = 25; + $prod_top = 105; + // Anzahl an Produkten pro Seite - $prod_break = 10; - + $prod_break = 10; + $pdf = new wpsg_fpdf(); $pdf->SetAutoPageBreak(true, 5); addCoverLetterPage($this, $pdf); - $offset += 5; - - ob_end_clean(); - - if ($this->view['preview']) { - + if (ob_get_level() > 0) ob_end_clean(); + + if ($this->view['preview']??false) { + $pdf->Output($this->view['filename'], 'I'); - + } else { - + $pdf->Output($this->view['filename'], 'F'); - - if ($this->view['output'] === true) $pdf->Output($this->view['filename'], 'I'); - + + if (($this->view['output']??false) === true) $pdf->Output($this->view['filename'], 'I'); + } - \ No newline at end of file diff --git a/views/mods/mod_coverletter/order_view.phtml b/views/mods/mod_coverletter/order_view.phtml index 5bfe585..b2771d6 100644 --- a/views/mods/mod_coverletter/order_view.phtml +++ b/views/mods/mod_coverletter/order_view.phtml @@ -1,92 +1,104 @@ view['data']['id']??0); + $arCoverLetter = (array)($this->view['mod_coverletter']['arCoverLetter']??[]); + + $arShopLocations = $this->getShopLocations(); + $arShopLocationLabels = []; + + foreach ($arShopLocations as $l_id => $l) { + + $arShopLocationLabels[$l_id] = $l['label']; + } + ?> - - - view['mod_coverletter']['arCoverLetter']) == 0 ) { ?> - -

- + + + + +

+ - view['mod_coverletter']['arCoverLetter'] as $a) { ?> - + +
- : 50)?substr($a['text'],0,50).' ...':$a['text']); ?> + : 50)?substr($a['text'], 0, 50).' ...':$a['text'])); ?> - - + +
- + - + - +
- +
- +
- -
+ +
- -
- getShopLocations(); ?> - $l) $arShopLocationLabels[$l_id] = $l['label']; ?> - + + + + 1) { ?> - + - + - + - + - replaceUniversalPlatzhalter($this->get_option('wpsg_mod_coverletter_text'), $this->view['data']['id']), ['noLabel' => true, 'fullLabel' => __('Text für das Anschreiben', 'wpsg'), 'style' => 'height:200px']); ?> - + replaceUniversalPlatzhalter($this->get_option('wpsg_mod_coverletter_text'), $order_id), ['noLabel' => true, 'fullLabel' => __('Text für das Anschreiben', 'wpsg'), 'style' => 'height:200px']); ?> +
- - " style="float:left;" class="button button-primary" /> - - + + + +
- +
- +
diff --git a/views/mods/mod_coverletter/settings_edit.phtml b/views/mods/mod_coverletter/settings_edit.phtml index 400f7a7..c8b6a6f 100644 --- a/views/mods/mod_coverletter/settings_edit.phtml +++ b/views/mods/mod_coverletter/settings_edit.phtml @@ -1,148 +1,162 @@ view['wpsg_mod_coverletter']['arTexts']; + + $logo_pos = $this->get_option('wpsg_mod_coverletter_logo_position'); + $defaultAlign = ((!isset($logo_pos) || empty($logo_pos))?'align-buttons-active':''); + + $alignLeft = (($logo_pos === 'left')?'align-buttons-active':''); + $alignCenter = (($logo_pos === 'center')?'align-buttons-active':''); + $alignRight = (($logo_pos === 'right')?'align-buttons-active':''); + + $logo_transparency = (($this->get_option('wpsg_mod_coverletter_logo_transparency'))?$this->get_option('wpsg_mod_coverletter_logo_transparency'):'100%'); ?>
- +
view['wpsg_mod_coverletter']['bp'] === false) { ?> -

+

- + - + - view['wpsg_mod_coverletter']['bp'] !== false) { $strSuffix = ' - '; - echo __($strSuffix); - } ?> + view['wpsg_mod_coverletter']['bp'] !== false) { ?> + +
- true, 'helps' => 'wpsg_mod_coverletter_bp')); ?> - + true, 'helps' => 'wpsg_mod_coverletter_bp']); ?> +
- - get_option('wpsg_mod_coverletter_subject'), ['help' => 'wpsg_mod_coverletter_subject']); ?> + + get_option('wpsg_mod_coverletter_subject'), ['help' => 'wpsg_mod_coverletter_subject']); ?> get_option('wpsg_mod_coverletter_text'), ['help' => 'wpsg_mod_coverletter_text']); ?> - +
view['wpsg_mod_coverletter']['logo'] === false) { ?> -

+

- + - + - get_option("wpsg_mod_coverletter_logo_position"); ?> - - - - - - - get_option("wpsg_mod_coverletter_logo_transparency") ?: "100%"; ?> - view['wpsg_mod_coverletter']['logo'] !== false) { $strSuffix = ' + view['wpsg_mod_coverletter']['logo'] !== false) { ?>

-
-
- - -
-
+
+
+ + +
+
+   +
+   +
-
'; - echo __($strSuffix); - } ?> +
+ - -
- - true, 'helps' => 'wpsg_mod_coverletter_logo')); ?> + + true, 'helps' => 'wpsg_mod_coverletter_logo']); ?>

+ + - - - - - - - - - - - - view['wpsg_mod_coverletter']['fields'] as $f => $field_name) { ?> - - - - - - - + + + + + + + - + + + view['wpsg_mod_coverletter']['fields'] as $f => $field_name) { ?> + + + + + + + + + + +
- - - - - - - - - - - view['wpsg_mod_coverletter']['arTexts'][$f]['aktiv']))?'checked="checked"':''); ?> /> -
+ + + + + + + + + + + 0)?'checked="checked"':''); ?> /> +
- +

-
- +

@@ -157,40 +171,42 @@ /** * Stellt sicher, dass immer nur ein Button der align-buttons die highlight Klasse hat */ - function handleLogoAlignClick(pressedEl) - { + function handleLogoAlignClick(pressedEl) { + + if (pressedEl.hasClass('align-buttons-active')) { + + return; - if(pressedEl.hasClass("align-buttons-active")) return; - else - { + } else { - pressedEl.addClass("align-buttons-active"); - pressedEl[0].value = pressedEl[0].value + " selected"; + pressedEl.addClass('align-buttons-active'); + pressedEl[0].value = pressedEl[0].value + ' selected'; - jQuery.each($(".logo-align-button"), function(index, element) { - if(element.classList.contains("align-buttons-active") && element !== pressedEl[0]){ + jQuery.each(jQuery('.logo-align-button'), function(index, element) { - var values = element.value.split(" "); + if (element.classList.contains('align-buttons-active') && element !== pressedEl[0]) { + + var values = element.value.split(' '); element.value = values[0]; - element.classList.remove("align-buttons-active"); + element.classList.remove('align-buttons-active'); return false; } + }); } - } // function handleLogoAlignClick() + } // function handleLogoAlignClick(pressedEl) /** * Wird beim Klicken auf den Vorschau Button ausgelöst */ - function wpsg_coverletter_preview() - { + function wpsg_coverletter_preview() { - var url = "wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_coverletter&do=orderAjax&noheader=1&wpsg_mod_coverletter_preview=1"; + var url = ; window.open(url, '_blank'); @@ -198,19 +214,23 @@ } // function wpsg_coverletter_preview() - - jQuery(document).ready(function() { - jQuery('#wpsg_tab').wpsg_tab( { + jQuery('#wpsg_tab').wpsg_tab({ 'cookiename': 'wpsg_mod_coverletter_tab', 'tab2': function() { + jQuery('.tablink').show(); + } - } ); + }); + + jQuery('.wpsg_coverletter_preview').click(function() { + + wpsg_coverletter_preview(); - jQuery(".wpsg_coverletter_preview").click(function(){ wpsg_coverletter_preview(); }); + }); - } ); + }); /* ]]> */ \ No newline at end of file -- cgit v1.2.3