summaryrefslogtreecommitdiff
path: root/views/mods/mod_orderupload/smartcheckout_checkout.phtml
diff options
context:
space:
mode:
authordaniel <noreply@maennchen1.de>2026-09-24 11:24:12 +0200
committerdaniel <noreply@maennchen1.de>2026-09-24 11:24:12 +0200
commita95de0fa4cd3c617ef08a9679a6c32ae5f676fda (patch)
treeb78bd9fa23550e7dfd03cc693032cce5e9048236 /views/mods/mod_orderupload/smartcheckout_checkout.phtml
parent19a8938fa3b41a6c6ed1e15c20586f860f4a637b (diff)
- Feature: PHP 8.3 Kompatibilität
- Feature: SmartCheckout - Ersatz für EinSeitenCheckout - Feature: Optik im Frontend an moderne Themes angepasst
Diffstat (limited to 'views/mods/mod_orderupload/smartcheckout_checkout.phtml')
-rw-r--r--views/mods/mod_orderupload/smartcheckout_checkout.phtml77
1 files changed, 77 insertions, 0 deletions
diff --git a/views/mods/mod_orderupload/smartcheckout_checkout.phtml b/views/mods/mod_orderupload/smartcheckout_checkout.phtml
new file mode 100644
index 0000000..7da51cb
--- /dev/null
+++ b/views/mods/mod_orderupload/smartcheckout_checkout.phtml
@@ -0,0 +1,77 @@
+<?php
+
+ /**
+ * Template für den Bestellupload im SmartCheckout
+ *
+ * Aufbau und Verhalten wie beim Upload zum Produkt (smartcheckout_row.phtml): Dateiliste mit Größe und
+ * Löschen, darunter die Dateiauswahl. Die Datei wird direkt nach der Auswahl hochgeladen (data-sc-upload,
+ * siehe smartcheckout.js), entfernt wird über data-sc-send, beides landet in
+ * wpsg_mod_orderupload::smartcheckout_ajax(). Der Block wird bei jeder Antwort neu geliefert.
+ */
+
+ $arUploads = (array)($_SESSION['wpsg']['wpsg_mod_orderupload'] ?? []);
+ $uploadsum = floatval($this->view['wpsg_mod_orderupload']['uploadsum'] ?? 0);
+ $maxweight = (string)($this->view['wpsg_mod_orderupload']['maxweight'] ?? '');
+ $bRequired = ($this->get_option('wpsg_mod_orderupload_optional') != '1');
+ $bMulti = ($this->get_option('wpsg_mod_orderupload_multifiles') == '1');
+ $arMessages = (array)($this->view['wpsg_mod_orderupload']['messages'] ?? []);
+ $arAllowed = (array)($this->view['wpsg_mod_orderupload']['allowedext'] ?? []);
+ $strAccept = implode(',', array_map(function($ext) { return '.'.$ext; }, $arAllowed));
+
+?>
+<div class="sc_orderupload">
+
+ <h2 class="sc_title"><?php echo esc_html__('Dateiupload', 'wpsg'); ?><?php if ($bRequired) { ?><span class="sc_required" aria-hidden="true">*</span><?php } ?></h2>
+
+ <div class="sc_upload">
+
+ <div class="sc_upload_label"><?php echo esc_html__('Upload zur Bestellung', 'wpsg'); ?></div>
+
+ <div class="sc_upload_target">
+
+ <?php /* Meldungen des letzten Uploads bzw. Entfernens, wie beim Upload zum Produkt direkt am Block */ ?>
+ <?php foreach ($arMessages as $message) { ?>
+ <div class="sc_upload_message sc_upload_message_<?php echo esc_attr($message['type']); ?>"><?php echo wp_kses_post($message['text']); ?></div>
+ <?php } ?>
+
+ <?php if (wpsg_isSizedArray($arUploads)) { ?>
+ <ul>
+ <?php foreach ($arUploads as $ou_index => $ou) { ?>
+ <li>
+ <a href="<?php echo esc_url($ou[2]); ?>" target="_blank" rel="noopener"><?php echo wpsg_hspc($ou[0]); ?> <span class="size">(<?php echo esc_html(wpsg_formatSize($ou[3])); ?>)</span></a>
+ <a
+ href="#"
+ class="removeLink"
+ role="button"
+ data-sc-send="wpsg_mod_orderupload_remove"
+ data-sc-value="<?php echo intval($ou_index); ?>"
+ data-sc-confirm="<?php echo esc_attr__('Sind Sie sich sicher, dass Sie dieses Dokument aus der Bestellung entfernen möchten?', 'wpsg'); ?>"
+ title="<?php echo esc_attr__('Upload entfernen.', 'wpsg'); ?>"
+ ><img src="<?php echo esc_url(WPSG_URL.'views/gfx/bin_x.png'); ?>" alt="<?php echo esc_attr__('Löschen', 'wpsg'); ?>" /></a>
+ </li>
+ <?php } ?>
+ </ul>
+ <?php } ?>
+
+ <?php if ($uploadsum > 0) { ?>
+ <input
+ type="file"
+ name="wpsg_mod_orderupload_file<?php echo (($bMulti)?'[]':''); ?>"
+ data-sc-upload="1"
+ data-sc-upload-wait="<?php echo esc_attr__('Bitte warten ', 'wpsg'); ?>"
+ <?php if ($strAccept !== '') { ?>accept="<?php echo esc_attr($strAccept); ?>"<?php } ?>
+ <?php echo (($bMulti)?'multiple="multiple"':''); ?>
+ aria-label="<?php echo esc_attr__('Upload zur Bestellung', 'wpsg'); ?>"
+ />
+ <?php } ?>
+
+ </div>
+
+ <div class="sc_hint"><?php echo esc_html(wpsg_translate(__('Es stehen Ihnen #1# Mb von #2# Mb für den Upload zur Verfügung', 'wpsg'), $uploadsum, $maxweight)); ?></div>
+ <?php if (wpsg_isSizedArray($arAllowed)) { ?>
+ <div class="sc_hint"><?php echo esc_html(wpsg_translate(__('Erlaubte Dateiendungen: #1#', 'wpsg'), implode(', ', $arAllowed))); ?></div>
+ <?php } ?>
+
+ </div>
+
+</div>