Changeset 3255218
- Timestamp:
- 03/13/2025 09:27:59 AM (11 months ago)
- Location:
- boxo-return
- Files:
-
- 20 edited
- 1 copied
-
tags/0.0.36 (copied) (copied from boxo-return/trunk)
-
tags/0.0.36/boxo-return.php (modified) (1 diff)
-
tags/0.0.36/checkout/checkout.php (modified) (1 diff)
-
tags/0.0.36/includes/api.php (modified) (10 diffs)
-
tags/0.0.36/includes/options.php (modified) (1 diff)
-
tags/0.0.36/languages/boxo-return-nl.po (modified) (6 diffs)
-
tags/0.0.36/languages/boxo-return-nl_BE.mo (modified) (previous)
-
tags/0.0.36/languages/boxo-return-nl_NL.mo (modified) (previous)
-
tags/0.0.36/languages/boxo-return-nl_NL_formal.mo (modified) (previous)
-
tags/0.0.36/languages/boxo-return.pot (modified) (6 diffs)
-
tags/0.0.36/readme.txt (modified) (2 diffs)
-
trunk/boxo-return.php (modified) (1 diff)
-
trunk/checkout/checkout.php (modified) (1 diff)
-
trunk/includes/api.php (modified) (10 diffs)
-
trunk/includes/options.php (modified) (1 diff)
-
trunk/languages/boxo-return-nl.po (modified) (6 diffs)
-
trunk/languages/boxo-return-nl_BE.mo (modified) (previous)
-
trunk/languages/boxo-return-nl_NL.mo (modified) (previous)
-
trunk/languages/boxo-return-nl_NL_formal.mo (modified) (previous)
-
trunk/languages/boxo-return.pot (modified) (6 diffs)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
boxo-return/tags/0.0.36/boxo-return.php
r3243706 r3255218 2 2 /* 3 3 * Plugin Name: BOXO Return 4 * Version: 0.0.3 54 * Version: 0.0.36 5 5 * Description: Allows customers to select reusable packaging during checkout. 6 6 * Author: BOXO -
boxo-return/tags/0.0.36/checkout/checkout.php
r3242753 r3255218 174 174 } 175 175 if (Boxo_Options::disposable_fee_enabled()) { 176 $feeInclTax = Boxo_Options::disposable_fee_cents() / 100; 177 $rates = WC_Tax::get_rates(''); 178 $tax = array_sum(WC_Tax::calc_inclusive_tax($feeInclTax, $rates)); 179 $feeExclTax = $feeInclTax - $tax; 176 180 WC()->cart->add_fee( 177 181 __('Disposable packaging', 'boxo-return'), 178 Boxo_Options::disposable_fee_cents() / 100,182 $feeExclTax, 179 183 true // Disposable fee is taxable. 180 184 ); -
boxo-return/tags/0.0.36/includes/api.php
r3235409 r3255218 32 32 */ 33 33 public function handle_boxo_available($req) { 34 function successResponse($available) { 35 $res = rest_ensure_response(['available' => $available]); 36 $res->set_status(200); 37 $res->set_headers(['Cache-Control' => 'no-store']); 38 return $res; 39 } 40 function errorResponse($status, $message) { 41 $res = rest_ensure_response($message); 42 $res->set_status($status); 43 return $res; 44 } 45 34 46 $postal_code = $req['postal_code']; 35 47 if (!$postal_code) { … … 38 50 array('source' => 'boxo-return') 39 51 ); 40 $res = rest_ensure_response('Missing query param: postal_code'); 41 $res->set_status(400); 42 return $res; 52 return errorResponse(400, 'Missing query param: postal_code'); 43 53 } 44 54 … … 57 67 if (!$products) { 58 68 $log_error("Missing query param: products"); 59 $res = rest_ensure_response('Missing query param: products'); 60 $res->set_status(400); 61 return $res; 69 return errorResponse(400, 'Missing query param: products'); 62 70 } 63 71 … … 65 73 if (!$item_count) { 66 74 $log_error("Missing query param: item_count"); 67 $res = rest_ensure_response('Missing query param: item_count'); 68 $res->set_status(400); 69 return $res; 75 return errorResponse(400, 'Missing query param: item_count'); 70 76 } 71 77 72 78 if (Boxo_Options::cart_limit_enabled() && $item_count > Boxo_Options::cart_limit()) { 73 79 $log_info('Item count exceeds cart limit.'); 74 return ['available' => false];80 return successResponse(false); 75 81 } 76 82 … … 82 88 if (in_array($id, $excluded)) { 83 89 $log_info('Product not allowed: ' . $id); 84 return ['available' => false];90 return successResponse(false); 85 91 } 86 92 } … … 92 98 if (!in_array($id, $included)) { 93 99 $log_info('Product not allowed: ' . $id); 94 return ['available' => false];100 return successResponse(false); 95 101 } 96 102 } … … 99 105 if (!preg_match('/^\d{4}[a-z,A-Z]{2}$/', $postal_code)) { 100 106 $log_error('Invalid postal code'); 101 $res = rest_ensure_response('Invalid postal code'); 102 $res->set_status(400); 103 return $res; 107 return errorResponse(400, 'Invalid postal code'); 104 108 } 105 109 … … 109 113 if (is_wp_error($boxo_res)) { 110 114 $log_error('wp_remote_get error: ' . wp_json_encode($boxo_res->errors)); 111 $res = rest_ensure_response('Internal server error'); 112 $res->set_status(500); 113 return $res; 115 return errorResponse(500, 'Internal server error'); 114 116 } 115 117 … … 123 125 wp_json_encode($boxo_res) 124 126 ])); 125 $res = rest_ensure_response('Internal server error'); 126 $res->set_status(500); 127 return $res; 127 return errorResponse(500, 'Internal server error'); 128 128 }; 129 129 … … 132 132 if (!is_bool($available)) { 133 133 $log_error('Unexpected response: ' . wp_json_encode($boxo_res)); 134 $res = rest_ensure_response('Internal server error'); 135 $res->set_status(500); 136 return $res; 134 return errorResponse(500, 'Internal server error'); 137 135 } 138 136 139 137 if ($available) { 140 138 $log_info('Available'); 141 return ['available' => true];139 return successResponse(true); 142 140 } 143 141 $log_info('Not available'); 144 return ['available' => false];142 return successResponse(false); 145 143 } 146 144 -
boxo-return/tags/0.0.36/includes/options.php
r3242753 r3255218 60 60 61 61 /** 62 * @return bool Optional fee for disposable packaging in cents. 62 * @return bool Optional fee for disposable packaging in cents. The fee is taxable and the amount is considered to include any taxes. 63 63 */ 64 64 public static function disposable_fee_cents() { -
boxo-return/tags/0.0.36/languages/boxo-return-nl.po
r3242753 r3255218 79 79 msgstr "Product toevoegen:" 80 80 81 #: admin/product-picker.php:4 681 #: admin/product-picker.php:47 82 82 msgid "No products found." 83 83 msgstr "Geen producten gevonden." 84 84 85 #: admin/product-picker.php:4 785 #: admin/product-picker.php:48 86 86 msgid "Remove" 87 87 msgstr "Verwijderen" … … 107 107 msgstr "Klant kiest tussen herbruikbaar of eenmalig" 108 108 109 #: admin/order.php: 81109 #: admin/order.php:128 110 110 #: admin/settings.php:217 111 111 msgid "Reusable packaging" 112 112 msgstr "Herbruikbare verzendverpakking" 113 113 114 #: admin/order.php: 91114 #: admin/order.php:138 115 115 #: admin/settings.php:218 116 116 #: checkout/checkout.php:177 … … 142 142 msgstr "Productnaam" 143 143 144 #: admin/order.php:33 145 #: admin/order.php:58 144 #: admin/order.php:38 145 #: admin/order.php:80 146 #: admin/order.php:105 146 147 #: checkout/checkout.php:93 147 148 #: checkout/checkout.php:94 … … 149 150 msgstr "Verzendverpakking" 150 151 152 #: admin/order.php:60 151 153 #: checkout/checkout.php:122 152 154 msgid "Reusable" … … 157 159 msgstr "statiegeld" 158 160 161 #: admin/order.php:63 159 162 #: checkout/checkout.php:141 160 163 msgid "Disposable" … … 183 186 #: admin/settings.php:313 184 187 msgid "If enabled, reusable packaging will not be available when the cart exceeds the set amount of items." 185 msgstr "Wanneer deze optie is ingeschakeld wordt geen herbruikbare verpakking aangeboden voor orders met meer dan dit aantal items."188 msgstr "Wanneer deze optie is ingeschakeld wordt er geen herbruikbare verpakking aangeboden voor orders met meer dan dit aantal items." 186 189 187 190 #: admin/settings.php:315 -
boxo-return/tags/0.0.36/languages/boxo-return.pot
r3242753 r3255218 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: BOXO Return 0.0.3 2\n"5 "Project-Id-Version: BOXO Return 0.0.35\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/boxo-return\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 2-15T20:00:47+00:00\n"12 "POT-Creation-Date: 2025-03-10T06:55:41+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.11.0\n" … … 48 48 msgstr "" 49 49 50 #: admin/order.php:33 51 #: admin/order.php:58 50 #: admin/order.php:38 51 #: admin/order.php:80 52 #: admin/order.php:105 52 53 #: checkout/checkout.php:93 53 54 #: checkout/checkout.php:94 … … 55 56 msgstr "" 56 57 57 #: admin/order.php:81 58 #: admin/order.php:60 59 #: checkout/checkout.php:122 60 msgid "Reusable" 61 msgstr "" 62 63 #: admin/order.php:63 64 #: checkout/checkout.php:141 65 msgid "Disposable" 66 msgstr "" 67 68 #: admin/order.php:128 58 69 #: admin/settings.php:217 59 70 msgid "Reusable packaging" 60 71 msgstr "" 61 72 62 #: admin/order.php: 9173 #: admin/order.php:138 63 74 #: admin/settings.php:218 64 75 #: checkout/checkout.php:177 … … 74 85 msgstr "" 75 86 76 #: admin/product-picker.php:4 687 #: admin/product-picker.php:47 77 88 msgid "No products found." 78 89 msgstr "" 79 90 80 #: admin/product-picker.php:4 791 #: admin/product-picker.php:48 81 92 msgid "Remove" 82 93 msgstr "" … … 170 181 msgstr "" 171 182 172 #: checkout/checkout.php:122173 msgid "Reusable"174 msgstr ""175 176 183 #: checkout/checkout.php:125 177 184 msgid "We'll send your order in reusable packaging. Return the packaging at a return point to get your deposit back right away. Click for more information." 178 msgstr ""179 180 #: checkout/checkout.php:141181 msgid "Disposable"182 185 msgstr "" 183 186 -
boxo-return/tags/0.0.36/readme.txt
r3243706 r3255218 4 4 Requires at least: 4.7 5 5 Tested up to: 6.5.3 6 Stable tag: 0.0.3 56 Stable tag: 0.0.36 7 7 Requires PHP: 7.0 8 8 License: GPLv2 or later … … 26 26 27 27 == Changelog == 28 29 = 0.0.36 = 30 Disposable fee is including tax. 28 31 29 32 = 0.0.35 = -
boxo-return/trunk/boxo-return.php
r3243706 r3255218 2 2 /* 3 3 * Plugin Name: BOXO Return 4 * Version: 0.0.3 54 * Version: 0.0.36 5 5 * Description: Allows customers to select reusable packaging during checkout. 6 6 * Author: BOXO -
boxo-return/trunk/checkout/checkout.php
r3242753 r3255218 174 174 } 175 175 if (Boxo_Options::disposable_fee_enabled()) { 176 $feeInclTax = Boxo_Options::disposable_fee_cents() / 100; 177 $rates = WC_Tax::get_rates(''); 178 $tax = array_sum(WC_Tax::calc_inclusive_tax($feeInclTax, $rates)); 179 $feeExclTax = $feeInclTax - $tax; 176 180 WC()->cart->add_fee( 177 181 __('Disposable packaging', 'boxo-return'), 178 Boxo_Options::disposable_fee_cents() / 100,182 $feeExclTax, 179 183 true // Disposable fee is taxable. 180 184 ); -
boxo-return/trunk/includes/api.php
r3235409 r3255218 32 32 */ 33 33 public function handle_boxo_available($req) { 34 function successResponse($available) { 35 $res = rest_ensure_response(['available' => $available]); 36 $res->set_status(200); 37 $res->set_headers(['Cache-Control' => 'no-store']); 38 return $res; 39 } 40 function errorResponse($status, $message) { 41 $res = rest_ensure_response($message); 42 $res->set_status($status); 43 return $res; 44 } 45 34 46 $postal_code = $req['postal_code']; 35 47 if (!$postal_code) { … … 38 50 array('source' => 'boxo-return') 39 51 ); 40 $res = rest_ensure_response('Missing query param: postal_code'); 41 $res->set_status(400); 42 return $res; 52 return errorResponse(400, 'Missing query param: postal_code'); 43 53 } 44 54 … … 57 67 if (!$products) { 58 68 $log_error("Missing query param: products"); 59 $res = rest_ensure_response('Missing query param: products'); 60 $res->set_status(400); 61 return $res; 69 return errorResponse(400, 'Missing query param: products'); 62 70 } 63 71 … … 65 73 if (!$item_count) { 66 74 $log_error("Missing query param: item_count"); 67 $res = rest_ensure_response('Missing query param: item_count'); 68 $res->set_status(400); 69 return $res; 75 return errorResponse(400, 'Missing query param: item_count'); 70 76 } 71 77 72 78 if (Boxo_Options::cart_limit_enabled() && $item_count > Boxo_Options::cart_limit()) { 73 79 $log_info('Item count exceeds cart limit.'); 74 return ['available' => false];80 return successResponse(false); 75 81 } 76 82 … … 82 88 if (in_array($id, $excluded)) { 83 89 $log_info('Product not allowed: ' . $id); 84 return ['available' => false];90 return successResponse(false); 85 91 } 86 92 } … … 92 98 if (!in_array($id, $included)) { 93 99 $log_info('Product not allowed: ' . $id); 94 return ['available' => false];100 return successResponse(false); 95 101 } 96 102 } … … 99 105 if (!preg_match('/^\d{4}[a-z,A-Z]{2}$/', $postal_code)) { 100 106 $log_error('Invalid postal code'); 101 $res = rest_ensure_response('Invalid postal code'); 102 $res->set_status(400); 103 return $res; 107 return errorResponse(400, 'Invalid postal code'); 104 108 } 105 109 … … 109 113 if (is_wp_error($boxo_res)) { 110 114 $log_error('wp_remote_get error: ' . wp_json_encode($boxo_res->errors)); 111 $res = rest_ensure_response('Internal server error'); 112 $res->set_status(500); 113 return $res; 115 return errorResponse(500, 'Internal server error'); 114 116 } 115 117 … … 123 125 wp_json_encode($boxo_res) 124 126 ])); 125 $res = rest_ensure_response('Internal server error'); 126 $res->set_status(500); 127 return $res; 127 return errorResponse(500, 'Internal server error'); 128 128 }; 129 129 … … 132 132 if (!is_bool($available)) { 133 133 $log_error('Unexpected response: ' . wp_json_encode($boxo_res)); 134 $res = rest_ensure_response('Internal server error'); 135 $res->set_status(500); 136 return $res; 134 return errorResponse(500, 'Internal server error'); 137 135 } 138 136 139 137 if ($available) { 140 138 $log_info('Available'); 141 return ['available' => true];139 return successResponse(true); 142 140 } 143 141 $log_info('Not available'); 144 return ['available' => false];142 return successResponse(false); 145 143 } 146 144 -
boxo-return/trunk/includes/options.php
r3242753 r3255218 60 60 61 61 /** 62 * @return bool Optional fee for disposable packaging in cents. 62 * @return bool Optional fee for disposable packaging in cents. The fee is taxable and the amount is considered to include any taxes. 63 63 */ 64 64 public static function disposable_fee_cents() { -
boxo-return/trunk/languages/boxo-return-nl.po
r3242753 r3255218 79 79 msgstr "Product toevoegen:" 80 80 81 #: admin/product-picker.php:4 681 #: admin/product-picker.php:47 82 82 msgid "No products found." 83 83 msgstr "Geen producten gevonden." 84 84 85 #: admin/product-picker.php:4 785 #: admin/product-picker.php:48 86 86 msgid "Remove" 87 87 msgstr "Verwijderen" … … 107 107 msgstr "Klant kiest tussen herbruikbaar of eenmalig" 108 108 109 #: admin/order.php: 81109 #: admin/order.php:128 110 110 #: admin/settings.php:217 111 111 msgid "Reusable packaging" 112 112 msgstr "Herbruikbare verzendverpakking" 113 113 114 #: admin/order.php: 91114 #: admin/order.php:138 115 115 #: admin/settings.php:218 116 116 #: checkout/checkout.php:177 … … 142 142 msgstr "Productnaam" 143 143 144 #: admin/order.php:33 145 #: admin/order.php:58 144 #: admin/order.php:38 145 #: admin/order.php:80 146 #: admin/order.php:105 146 147 #: checkout/checkout.php:93 147 148 #: checkout/checkout.php:94 … … 149 150 msgstr "Verzendverpakking" 150 151 152 #: admin/order.php:60 151 153 #: checkout/checkout.php:122 152 154 msgid "Reusable" … … 157 159 msgstr "statiegeld" 158 160 161 #: admin/order.php:63 159 162 #: checkout/checkout.php:141 160 163 msgid "Disposable" … … 183 186 #: admin/settings.php:313 184 187 msgid "If enabled, reusable packaging will not be available when the cart exceeds the set amount of items." 185 msgstr "Wanneer deze optie is ingeschakeld wordt geen herbruikbare verpakking aangeboden voor orders met meer dan dit aantal items."188 msgstr "Wanneer deze optie is ingeschakeld wordt er geen herbruikbare verpakking aangeboden voor orders met meer dan dit aantal items." 186 189 187 190 #: admin/settings.php:315 -
boxo-return/trunk/languages/boxo-return.pot
r3242753 r3255218 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: BOXO Return 0.0.3 2\n"5 "Project-Id-Version: BOXO Return 0.0.35\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/boxo-return\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 2-15T20:00:47+00:00\n"12 "POT-Creation-Date: 2025-03-10T06:55:41+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.11.0\n" … … 48 48 msgstr "" 49 49 50 #: admin/order.php:33 51 #: admin/order.php:58 50 #: admin/order.php:38 51 #: admin/order.php:80 52 #: admin/order.php:105 52 53 #: checkout/checkout.php:93 53 54 #: checkout/checkout.php:94 … … 55 56 msgstr "" 56 57 57 #: admin/order.php:81 58 #: admin/order.php:60 59 #: checkout/checkout.php:122 60 msgid "Reusable" 61 msgstr "" 62 63 #: admin/order.php:63 64 #: checkout/checkout.php:141 65 msgid "Disposable" 66 msgstr "" 67 68 #: admin/order.php:128 58 69 #: admin/settings.php:217 59 70 msgid "Reusable packaging" 60 71 msgstr "" 61 72 62 #: admin/order.php: 9173 #: admin/order.php:138 63 74 #: admin/settings.php:218 64 75 #: checkout/checkout.php:177 … … 74 85 msgstr "" 75 86 76 #: admin/product-picker.php:4 687 #: admin/product-picker.php:47 77 88 msgid "No products found." 78 89 msgstr "" 79 90 80 #: admin/product-picker.php:4 791 #: admin/product-picker.php:48 81 92 msgid "Remove" 82 93 msgstr "" … … 170 181 msgstr "" 171 182 172 #: checkout/checkout.php:122173 msgid "Reusable"174 msgstr ""175 176 183 #: checkout/checkout.php:125 177 184 msgid "We'll send your order in reusable packaging. Return the packaging at a return point to get your deposit back right away. Click for more information." 178 msgstr ""179 180 #: checkout/checkout.php:141181 msgid "Disposable"182 185 msgstr "" 183 186 -
boxo-return/trunk/readme.txt
r3243706 r3255218 4 4 Requires at least: 4.7 5 5 Tested up to: 6.5.3 6 Stable tag: 0.0.3 56 Stable tag: 0.0.36 7 7 Requires PHP: 7.0 8 8 License: GPLv2 or later … … 26 26 27 27 == Changelog == 28 29 = 0.0.36 = 30 Disposable fee is including tax. 28 31 29 32 = 0.0.35 =
Note: See TracChangeset
for help on using the changeset viewer.