Changeset 3292802
- Timestamp:
- 05/13/2025 06:55:18 PM (10 months ago)
- Location:
- wc-dpd
- Files:
-
- 101 added
- 3 edited
-
tags/8.0.2 (added)
-
tags/8.0.2/includes (added)
-
tags/8.0.2/includes/Ajax.php (added)
-
tags/8.0.2/includes/Assets.php (added)
-
tags/8.0.2/includes/Blocks.php (added)
-
tags/8.0.2/includes/Client.php (added)
-
tags/8.0.2/includes/Core.php (added)
-
tags/8.0.2/includes/DpdExport.php (added)
-
tags/8.0.2/includes/DpdExportSettings.php (added)
-
tags/8.0.2/includes/DpdParcelShopShippingMethod.php (added)
-
tags/8.0.2/includes/Email.php (added)
-
tags/8.0.2/includes/Hooks.php (added)
-
tags/8.0.2/includes/Notice.php (added)
-
tags/8.0.2/includes/Order.php (added)
-
tags/8.0.2/includes/OrderList.php (added)
-
tags/8.0.2/includes/OrderMetabox.php (added)
-
tags/8.0.2/includes/Shipping.php (added)
-
tags/8.0.2/includes/helpers.php (added)
-
tags/8.0.2/index.php (added)
-
tags/8.0.2/languages (added)
-
tags/8.0.2/languages/wc-dpd-sk_SK.mo (added)
-
tags/8.0.2/languages/wc-dpd-sk_SK.po (added)
-
tags/8.0.2/languages/wc-dpd.pot (added)
-
tags/8.0.2/public (added)
-
tags/8.0.2/public/main.js (added)
-
tags/8.0.2/public/mix-manifest.json (added)
-
tags/8.0.2/public/scripts (added)
-
tags/8.0.2/public/scripts/dpd-export-settings-admin-repeater.js (added)
-
tags/8.0.2/public/scripts/dpd-export-settings-admin-repeater.js.map (added)
-
tags/8.0.2/public/scripts/dpd-export-settings-admin.js (added)
-
tags/8.0.2/public/scripts/dpd-export-settings-admin.js.map (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-block-shipping-method.js (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-map-widget.js (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-map-widget.js.map (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-popup.js (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-popup.js.map (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-shipping-method-weight-by-package-repeater.js (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-shipping-method-weight-by-package-repeater.js.map (added)
-
tags/8.0.2/public/scripts/dpd-parcelshop-widget.js (added)
-
tags/8.0.2/public/styles (added)
-
tags/8.0.2/public/styles/dpd-export-repeater-settings-field.css (added)
-
tags/8.0.2/public/styles/dpd-export-repeater-settings-field.css.map (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-block-shipping-method.css (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-map-widget.css (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-map-widget.css.map (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-popup.css (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-popup.css.map (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-shipping-method-content.css (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-shipping-method-content.css.map (added)
-
tags/8.0.2/public/styles/dpd-parcelshop-widget.css (added)
-
tags/8.0.2/readme.txt (added)
-
tags/8.0.2/templates (added)
-
tags/8.0.2/templates/chosen-parcelshop-order-data.php (added)
-
tags/8.0.2/templates/parcelshop-map-widget.php (added)
-
tags/8.0.2/templates/parcelshop-popup.php (added)
-
tags/8.0.2/templates/parcelshop-shipping-method-content.php (added)
-
tags/8.0.2/vendor (added)
-
tags/8.0.2/vendor/autoload.php (added)
-
tags/8.0.2/vendor/composer (added)
-
tags/8.0.2/vendor/composer/ClassLoader.php (added)
-
tags/8.0.2/vendor/composer/InstalledVersions.php (added)
-
tags/8.0.2/vendor/composer/LICENSE (added)
-
tags/8.0.2/vendor/composer/autoload_classmap.php (added)
-
tags/8.0.2/vendor/composer/autoload_files.php (added)
-
tags/8.0.2/vendor/composer/autoload_namespaces.php (added)
-
tags/8.0.2/vendor/composer/autoload_psr4.php (added)
-
tags/8.0.2/vendor/composer/autoload_real.php (added)
-
tags/8.0.2/vendor/composer/autoload_static.php (added)
-
tags/8.0.2/vendor/composer/installed.json (added)
-
tags/8.0.2/vendor/composer/installed.php (added)
-
tags/8.0.2/vendor/composer/platform_check.php (added)
-
tags/8.0.2/vendor/league (added)
-
tags/8.0.2/vendor/league/iso3166 (added)
-
tags/8.0.2/vendor/league/iso3166/.yamllint (added)
-
tags/8.0.2/vendor/league/iso3166/LICENSE (added)
-
tags/8.0.2/vendor/league/iso3166/composer.json (added)
-
tags/8.0.2/vendor/league/iso3166/src (added)
-
tags/8.0.2/vendor/league/iso3166/src/Exception (added)
-
tags/8.0.2/vendor/league/iso3166/src/Exception/DomainException.php (added)
-
tags/8.0.2/vendor/league/iso3166/src/Exception/ISO3166Exception.php (added)
-
tags/8.0.2/vendor/league/iso3166/src/Exception/OutOfBoundsException.php (added)
-
tags/8.0.2/vendor/league/iso3166/src/Guards.php (added)
-
tags/8.0.2/vendor/league/iso3166/src/ISO3166.php (added)
-
tags/8.0.2/vendor/league/iso3166/src/ISO3166DataProvider.php (added)
-
tags/8.0.2/vendor/league/iso3166/src/ISO3166DataValidator.php (added)
-
tags/8.0.2/vendor/league/iso3166/src/ISO3166WithAliases.php (added)
-
tags/8.0.2/vendor/symfony (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/LICENSE (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/Mbstring.php (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/README.md (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/Resources (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/Resources/unidata (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/bootstrap.php (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/bootstrap80.php (added)
-
tags/8.0.2/vendor/symfony/polyfill-mbstring/composer.json (added)
-
tags/8.0.2/wc-dpd.php (added)
-
trunk/includes/OrderMetabox.php (modified) (5 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/wc-dpd.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wc-dpd/trunk/includes/OrderMetabox.php
r3255337 r3292802 18 18 { 19 19 add_action('add_meta_boxes', [__CLASS__, 'addMetabox']); 20 add_action('save_post', [__CLASS__, 'processExport']); 21 add_filter('save_post', [__CLASS__, 'processReset']); 20 21 // Handle form submission via dedicated admin action 22 add_action('admin_init', [__CLASS__, 'handleFormSubmission']); 22 23 } 23 24 … … 29 30 30 31 add_meta_box('dpd-export', __('DPD Export', 'wc-dpd'), [__CLASS__, 'renderMetabox'], $screen, 'side', 'core'); 32 } 33 34 /** 35 * Handle direct form submissions 36 */ 37 public static function handleFormSubmission() 38 { 39 // Handle the reset action 40 if (isset($_POST[self::RESET_ACTION_KEY]) && isset($_POST['dpd_metabox_nonce'])) { 41 if (!wp_verify_nonce($_POST['dpd_metabox_nonce'], 'dpd_metabox_save')) { 42 return; 43 } 44 45 if (isset($_POST['order_id']) && !empty($_POST['order_id'])) { 46 $order_id = absint($_POST['order_id']); 47 Order::reset($order_id); 48 49 $order_edit_url = admin_url('post.php?post=' . $order_id . '&action=edit'); 50 wp_safe_redirect($order_edit_url); 51 exit; 52 } 53 } 54 55 // Handle direct export action 56 if (isset($_POST[self::EXPORT_ACTION_KEY]) && isset($_POST['dpd_metabox_nonce'])) { 57 if (!wp_verify_nonce($_POST['dpd_metabox_nonce'], 'dpd_metabox_save')) { 58 return; 59 } 60 61 if (isset($_POST['order_id']) && !empty($_POST['order_id'])) { 62 $order_id = absint($_POST['order_id']); 63 self::saveMetaFields($order_id); 64 Order::export($order_id); 65 66 $order_edit_url = admin_url('post.php?post=' . $order_id . '&action=edit'); 67 wp_safe_redirect($order_edit_url); 68 exit; 69 } 70 } 71 } 72 73 /** 74 * Save metabox field data 75 * 76 * @param int $order_id Order ID 77 * @return bool 78 */ 79 public static function saveMetaFields($order_id) 80 { 81 if (!$order_id) { 82 return false; 83 } 84 85 $order = wc_get_order($order_id); 86 87 if (!$order instanceof \WC_Order) { 88 return false; 89 } 90 91 // Save metabox fields 92 if (isset($_POST[Order::SHIPPING_META_KEY])) { 93 $order->update_meta_data(Order::SHIPPING_META_KEY, sanitize_text_field($_POST[Order::SHIPPING_META_KEY])); 94 } 95 96 if (isset($_POST[Order::ADDRESS_ID_META_KEY])) { 97 $order->update_meta_data(Order::ADDRESS_ID_META_KEY, sanitize_text_field($_POST[Order::ADDRESS_ID_META_KEY])); 98 } 99 100 if (isset($_POST[Order::BANK_ID_META_KEY])) { 101 $order->update_meta_data(Order::BANK_ID_META_KEY, sanitize_text_field($_POST[Order::BANK_ID_META_KEY])); 102 } 103 104 if (isset($_POST[Order::NOTIFICATION_META_KEY])) { 105 $order->update_meta_data(Order::NOTIFICATION_META_KEY, $_POST[Order::NOTIFICATION_META_KEY] == 'on' ? 'yes' : 'no'); 106 } else { 107 $order->update_meta_data(Order::NOTIFICATION_META_KEY, 'no'); 108 } 109 110 if (isset($_POST[Order::REFERENCE_1_META_KEY])) { 111 $order->update_meta_data(Order::REFERENCE_1_META_KEY, sanitize_text_field($_POST[Order::REFERENCE_1_META_KEY])); 112 } 113 114 if (isset($_POST[Order::REFERENCE_2_META_KEY])) { 115 $order->update_meta_data(Order::REFERENCE_2_META_KEY, sanitize_text_field($_POST[Order::REFERENCE_2_META_KEY])); 116 } 117 118 if (isset($_POST[Order::PACKAGE_WEIGHT_META_KEY])) { 119 $order->update_meta_data(Order::PACKAGE_WEIGHT_META_KEY, sanitize_text_field($_POST[Order::PACKAGE_WEIGHT_META_KEY])); 120 } 121 122 $order->save_meta_data(); 123 124 return true; 31 125 } 32 126 … … 62 156 } 63 157 158 echo '<form method="post">'; 159 wp_nonce_field('dpd_metabox_save', 'dpd_metabox_nonce'); 160 echo '<input type="hidden" name="order_id" value="' . esc_attr($order_id) . '">'; 64 161 echo '<input type="submit" class="button" value="' . __('Reset', 'wc-dpd') . '" name="' . esc_attr(self::RESET_ACTION_KEY) . '">'; 162 echo '</form>'; 65 163 66 164 return; … … 95 193 ?> 96 194 97 <form method="post" name="form"> 195 <form method="post"> 196 <?php wp_nonce_field('dpd_metabox_save', 'dpd_metabox_nonce'); ?> 197 <input type="hidden" name="order_id" value="<?php echo esc_attr($order_id); ?>"> 198 98 199 <?php if (!empty($bank_id_options)) : ?> 99 200 <p> … … 177 278 <?php 178 279 } 179 180 /**181 * Save data from metabox fiels182 *183 * @return void184 */185 public static function processExport($order_id)186 {187 if (!is_admin()) {188 return;189 }190 191 if (!$order_id) {192 return;193 }194 195 $order = wc_get_order($order_id);196 197 if (!$order instanceof \WC_Order) {198 return;199 }200 201 // Save metabox fields202 if (isset($_POST[Order::SHIPPING_META_KEY])) {203 $order->update_meta_data(Order::SHIPPING_META_KEY, sanitize_text_field($_POST[Order::SHIPPING_META_KEY]));204 }205 206 if (isset($_POST[Order::ADDRESS_ID_META_KEY])) {207 $order->update_meta_data(Order::ADDRESS_ID_META_KEY, sanitize_text_field($_POST[Order::ADDRESS_ID_META_KEY]));208 }209 210 if (isset($_POST[Order::BANK_ID_META_KEY])) {211 $order->update_meta_data(Order::BANK_ID_META_KEY, sanitize_text_field($_POST[Order::BANK_ID_META_KEY]));212 }213 214 if (isset($_POST[Order::NOTIFICATION_META_KEY])) {215 $order->update_meta_data(Order::NOTIFICATION_META_KEY, $_POST[Order::NOTIFICATION_META_KEY] == 'on' ? 'yes' : 'no');216 } else {217 $order->update_meta_data(Order::NOTIFICATION_META_KEY, 'no');218 }219 220 if (isset($_POST[Order::REFERENCE_1_META_KEY])) {221 $order->update_meta_data(Order::REFERENCE_1_META_KEY, sanitize_text_field($_POST[Order::REFERENCE_1_META_KEY]));222 }223 224 if (isset($_POST[Order::REFERENCE_2_META_KEY])) {225 $order->update_meta_data(Order::REFERENCE_2_META_KEY, sanitize_text_field($_POST[Order::REFERENCE_2_META_KEY]));226 }227 228 if (isset($_POST[Order::PACKAGE_WEIGHT_META_KEY])) {229 $order->update_meta_data(Order::PACKAGE_WEIGHT_META_KEY, sanitize_text_field($_POST[Order::PACKAGE_WEIGHT_META_KEY]));230 }231 232 $order->save_meta_data();233 234 // Process export235 if (isset($_POST[self::EXPORT_ACTION_KEY])) {236 Order::export($order_id);237 }238 }239 240 /**241 * Process order reset242 *243 * @param int $order_id244 *245 * @return mixed246 */247 public static function processReset($order_id)248 {249 if (!is_admin()) {250 return;251 }252 253 if (!$order_id) {254 return;255 }256 257 $order = wc_get_order($order_id);258 259 if (!$order instanceof \WC_Order) {260 return;261 }262 263 if ($order_id && isset($_POST[self::RESET_ACTION_KEY])) {264 Order::reset($order_id);265 266 $order_edit_url = admin_url('post.php?post=' . $order_id . '&action=edit');267 268 wp_safe_redirect($order_edit_url);269 exit;270 }271 272 return $order_id;273 }274 280 } -
wc-dpd/trunk/readme.txt
r3255337 r3292802 4 4 Donate link: https://platobnebrany.sk/ 5 5 Requires at least: 5.3 6 Tested up to: 6. 7.26 Tested up to: 6.8.1 7 7 Requires PHP: 7.4 8 Stable tag: 8.0. 18 Stable tag: 8.0.2 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 62 62 63 63 == Changelog == 64 65 = 8.0.2 = 66 * Fixed export metabox method 64 67 65 68 = 8.0.1 = -
wc-dpd/trunk/wc-dpd.php
r3255337 r3292802 4 4 * Plugin Name: DPD SK for WooCommerce 5 5 * Description: DPD SK plugin for WooCommerce which exports orders to the DPD through their API 6 * Version: 8.0. 16 * Version: 8.0.2 7 7 * Author: Webikon 8 8 * Author URI: https://www.webikon.sk … … 12 12 * Domain Path: /languages 13 13 * Requires at least: 5.3 14 * Tested up to: 6. 7.214 * Tested up to: 6.8.1 15 15 * Requires PHP: 7.4 16 16 * WC requires at least: 7.0 17 * WC tested up to: 9. 7.117 * WC tested up to: 9.8.5 18 18 */ 19 19
Note: See TracChangeset
for help on using the changeset viewer.