Plugin Directory

Changeset 3255218


Ignore:
Timestamp:
03/13/2025 09:27:59 AM (11 months ago)
Author:
boxodev
Message:

Update to version 0.0.36 from GitHub

Location:
boxo-return
Files:
20 edited
1 copied

Legend:

Unmodified
Added
Removed
  • boxo-return/tags/0.0.36/boxo-return.php

    r3243706 r3255218  
    22/*
    33* Plugin Name: BOXO Return
    4 * Version: 0.0.35
     4* Version: 0.0.36
    55* Description: Allows customers to select reusable packaging during checkout.
    66* Author: BOXO
  • boxo-return/tags/0.0.36/checkout/checkout.php

    r3242753 r3255218  
    174174            }
    175175            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;
    176180                WC()->cart->add_fee(
    177181                    __('Disposable packaging', 'boxo-return'),
    178                     Boxo_Options::disposable_fee_cents() / 100,
     182                    $feeExclTax,
    179183                    true // Disposable fee is taxable.
    180184                );
  • boxo-return/tags/0.0.36/includes/api.php

    r3235409 r3255218  
    3232         */
    3333        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
    3446            $postal_code = $req['postal_code'];
    3547            if (!$postal_code) {
     
    3850                    array('source' => 'boxo-return')
    3951                );
    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');
    4353            }
    4454
     
    5767            if (!$products) {
    5868                $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');
    6270            }
    6371
     
    6573            if (!$item_count) {
    6674                $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');
    7076            }
    7177
    7278            if (Boxo_Options::cart_limit_enabled() && $item_count > Boxo_Options::cart_limit()) {
    7379                $log_info('Item count exceeds cart limit.');
    74                 return ['available' => false];
     80                return successResponse(false);
    7581            }
    7682
     
    8288                    if (in_array($id, $excluded)) {
    8389                        $log_info('Product not allowed: ' . $id);
    84                         return ['available' => false];
     90                        return successResponse(false);
    8591                    }
    8692                }
     
    9298                    if (!in_array($id, $included)) {
    9399                        $log_info('Product not allowed: ' . $id);
    94                         return ['available' => false];
     100                        return successResponse(false);
    95101                    }
    96102                }
     
    99105            if (!preg_match('/^\d{4}[a-z,A-Z]{2}$/', $postal_code)) {
    100106                $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');
    104108            }
    105109
     
    109113            if (is_wp_error($boxo_res)) {
    110114                $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');
    114116            }
    115117
     
    123125                    wp_json_encode($boxo_res)
    124126                ]));
    125                 $res = rest_ensure_response('Internal server error');
    126                 $res->set_status(500);
    127                 return $res;
     127                return errorResponse(500, 'Internal server error');
    128128            };
    129129
     
    132132            if (!is_bool($available)) {
    133133                $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');
    137135            }
    138136
    139137            if ($available) {
    140138                $log_info('Available');
    141                 return ['available' => true];
     139                return successResponse(true);
    142140            }
    143141            $log_info('Not available');
    144             return ['available' => false];
     142            return successResponse(false);
    145143        }
    146144
  • boxo-return/tags/0.0.36/includes/options.php

    r3242753 r3255218  
    6060
    6161        /**
    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.
    6363         */
    6464        public static function disposable_fee_cents() {
  • boxo-return/tags/0.0.36/languages/boxo-return-nl.po

    r3242753 r3255218  
    7979msgstr "Product toevoegen:"
    8080
    81 #: admin/product-picker.php:46
     81#: admin/product-picker.php:47
    8282msgid "No products found."
    8383msgstr "Geen producten gevonden."
    8484
    85 #: admin/product-picker.php:47
     85#: admin/product-picker.php:48
    8686msgid "Remove"
    8787msgstr "Verwijderen"
     
    107107msgstr "Klant kiest tussen herbruikbaar of eenmalig"
    108108
    109 #: admin/order.php:81
     109#: admin/order.php:128
    110110#: admin/settings.php:217
    111111msgid "Reusable packaging"
    112112msgstr "Herbruikbare verzendverpakking"
    113113
    114 #: admin/order.php:91
     114#: admin/order.php:138
    115115#: admin/settings.php:218
    116116#: checkout/checkout.php:177
     
    142142msgstr "Productnaam"
    143143
    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
    146147#: checkout/checkout.php:93
    147148#: checkout/checkout.php:94
     
    149150msgstr "Verzendverpakking"
    150151
     152#: admin/order.php:60
    151153#: checkout/checkout.php:122
    152154msgid "Reusable"
     
    157159msgstr "statiegeld"
    158160
     161#: admin/order.php:63
    159162#: checkout/checkout.php:141
    160163msgid "Disposable"
     
    183186#: admin/settings.php:313
    184187msgid "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."
     188msgstr "Wanneer deze optie is ingeschakeld wordt er geen herbruikbare verpakking aangeboden voor orders met meer dan dit aantal items."
    186189
    187190#: admin/settings.php:315
  • boxo-return/tags/0.0.36/languages/boxo-return.pot

    r3242753 r3255218  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: BOXO Return 0.0.32\n"
     5"Project-Id-Version: BOXO Return 0.0.35\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/boxo-return\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-02-15T20:00:47+00:00\n"
     12"POT-Creation-Date: 2025-03-10T06:55:41+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.11.0\n"
     
    4848msgstr ""
    4949
    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
    5253#: checkout/checkout.php:93
    5354#: checkout/checkout.php:94
     
    5556msgstr ""
    5657
    57 #: admin/order.php:81
     58#: admin/order.php:60
     59#: checkout/checkout.php:122
     60msgid "Reusable"
     61msgstr ""
     62
     63#: admin/order.php:63
     64#: checkout/checkout.php:141
     65msgid "Disposable"
     66msgstr ""
     67
     68#: admin/order.php:128
    5869#: admin/settings.php:217
    5970msgid "Reusable packaging"
    6071msgstr ""
    6172
    62 #: admin/order.php:91
     73#: admin/order.php:138
    6374#: admin/settings.php:218
    6475#: checkout/checkout.php:177
     
    7485msgstr ""
    7586
    76 #: admin/product-picker.php:46
     87#: admin/product-picker.php:47
    7788msgid "No products found."
    7889msgstr ""
    7990
    80 #: admin/product-picker.php:47
     91#: admin/product-picker.php:48
    8192msgid "Remove"
    8293msgstr ""
     
    170181msgstr ""
    171182
    172 #: checkout/checkout.php:122
    173 msgid "Reusable"
    174 msgstr ""
    175 
    176183#: checkout/checkout.php:125
    177184msgid "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:141
    181 msgid "Disposable"
    182185msgstr ""
    183186
  • boxo-return/tags/0.0.36/readme.txt

    r3243706 r3255218  
    44Requires at least: 4.7
    55Tested up to: 6.5.3
    6 Stable tag: 0.0.35
     6Stable tag: 0.0.36
    77Requires PHP: 7.0
    88License: GPLv2 or later
     
    2626
    2727== Changelog ==
     28
     29= 0.0.36 =
     30Disposable fee is including tax.
    2831
    2932= 0.0.35 =
  • boxo-return/trunk/boxo-return.php

    r3243706 r3255218  
    22/*
    33* Plugin Name: BOXO Return
    4 * Version: 0.0.35
     4* Version: 0.0.36
    55* Description: Allows customers to select reusable packaging during checkout.
    66* Author: BOXO
  • boxo-return/trunk/checkout/checkout.php

    r3242753 r3255218  
    174174            }
    175175            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;
    176180                WC()->cart->add_fee(
    177181                    __('Disposable packaging', 'boxo-return'),
    178                     Boxo_Options::disposable_fee_cents() / 100,
     182                    $feeExclTax,
    179183                    true // Disposable fee is taxable.
    180184                );
  • boxo-return/trunk/includes/api.php

    r3235409 r3255218  
    3232         */
    3333        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
    3446            $postal_code = $req['postal_code'];
    3547            if (!$postal_code) {
     
    3850                    array('source' => 'boxo-return')
    3951                );
    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');
    4353            }
    4454
     
    5767            if (!$products) {
    5868                $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');
    6270            }
    6371
     
    6573            if (!$item_count) {
    6674                $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');
    7076            }
    7177
    7278            if (Boxo_Options::cart_limit_enabled() && $item_count > Boxo_Options::cart_limit()) {
    7379                $log_info('Item count exceeds cart limit.');
    74                 return ['available' => false];
     80                return successResponse(false);
    7581            }
    7682
     
    8288                    if (in_array($id, $excluded)) {
    8389                        $log_info('Product not allowed: ' . $id);
    84                         return ['available' => false];
     90                        return successResponse(false);
    8591                    }
    8692                }
     
    9298                    if (!in_array($id, $included)) {
    9399                        $log_info('Product not allowed: ' . $id);
    94                         return ['available' => false];
     100                        return successResponse(false);
    95101                    }
    96102                }
     
    99105            if (!preg_match('/^\d{4}[a-z,A-Z]{2}$/', $postal_code)) {
    100106                $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');
    104108            }
    105109
     
    109113            if (is_wp_error($boxo_res)) {
    110114                $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');
    114116            }
    115117
     
    123125                    wp_json_encode($boxo_res)
    124126                ]));
    125                 $res = rest_ensure_response('Internal server error');
    126                 $res->set_status(500);
    127                 return $res;
     127                return errorResponse(500, 'Internal server error');
    128128            };
    129129
     
    132132            if (!is_bool($available)) {
    133133                $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');
    137135            }
    138136
    139137            if ($available) {
    140138                $log_info('Available');
    141                 return ['available' => true];
     139                return successResponse(true);
    142140            }
    143141            $log_info('Not available');
    144             return ['available' => false];
     142            return successResponse(false);
    145143        }
    146144
  • boxo-return/trunk/includes/options.php

    r3242753 r3255218  
    6060
    6161        /**
    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.
    6363         */
    6464        public static function disposable_fee_cents() {
  • boxo-return/trunk/languages/boxo-return-nl.po

    r3242753 r3255218  
    7979msgstr "Product toevoegen:"
    8080
    81 #: admin/product-picker.php:46
     81#: admin/product-picker.php:47
    8282msgid "No products found."
    8383msgstr "Geen producten gevonden."
    8484
    85 #: admin/product-picker.php:47
     85#: admin/product-picker.php:48
    8686msgid "Remove"
    8787msgstr "Verwijderen"
     
    107107msgstr "Klant kiest tussen herbruikbaar of eenmalig"
    108108
    109 #: admin/order.php:81
     109#: admin/order.php:128
    110110#: admin/settings.php:217
    111111msgid "Reusable packaging"
    112112msgstr "Herbruikbare verzendverpakking"
    113113
    114 #: admin/order.php:91
     114#: admin/order.php:138
    115115#: admin/settings.php:218
    116116#: checkout/checkout.php:177
     
    142142msgstr "Productnaam"
    143143
    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
    146147#: checkout/checkout.php:93
    147148#: checkout/checkout.php:94
     
    149150msgstr "Verzendverpakking"
    150151
     152#: admin/order.php:60
    151153#: checkout/checkout.php:122
    152154msgid "Reusable"
     
    157159msgstr "statiegeld"
    158160
     161#: admin/order.php:63
    159162#: checkout/checkout.php:141
    160163msgid "Disposable"
     
    183186#: admin/settings.php:313
    184187msgid "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."
     188msgstr "Wanneer deze optie is ingeschakeld wordt er geen herbruikbare verpakking aangeboden voor orders met meer dan dit aantal items."
    186189
    187190#: admin/settings.php:315
  • boxo-return/trunk/languages/boxo-return.pot

    r3242753 r3255218  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: BOXO Return 0.0.32\n"
     5"Project-Id-Version: BOXO Return 0.0.35\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/boxo-return\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-02-15T20:00:47+00:00\n"
     12"POT-Creation-Date: 2025-03-10T06:55:41+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.11.0\n"
     
    4848msgstr ""
    4949
    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
    5253#: checkout/checkout.php:93
    5354#: checkout/checkout.php:94
     
    5556msgstr ""
    5657
    57 #: admin/order.php:81
     58#: admin/order.php:60
     59#: checkout/checkout.php:122
     60msgid "Reusable"
     61msgstr ""
     62
     63#: admin/order.php:63
     64#: checkout/checkout.php:141
     65msgid "Disposable"
     66msgstr ""
     67
     68#: admin/order.php:128
    5869#: admin/settings.php:217
    5970msgid "Reusable packaging"
    6071msgstr ""
    6172
    62 #: admin/order.php:91
     73#: admin/order.php:138
    6374#: admin/settings.php:218
    6475#: checkout/checkout.php:177
     
    7485msgstr ""
    7586
    76 #: admin/product-picker.php:46
     87#: admin/product-picker.php:47
    7788msgid "No products found."
    7889msgstr ""
    7990
    80 #: admin/product-picker.php:47
     91#: admin/product-picker.php:48
    8192msgid "Remove"
    8293msgstr ""
     
    170181msgstr ""
    171182
    172 #: checkout/checkout.php:122
    173 msgid "Reusable"
    174 msgstr ""
    175 
    176183#: checkout/checkout.php:125
    177184msgid "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:141
    181 msgid "Disposable"
    182185msgstr ""
    183186
  • boxo-return/trunk/readme.txt

    r3243706 r3255218  
    44Requires at least: 4.7
    55Tested up to: 6.5.3
    6 Stable tag: 0.0.35
     6Stable tag: 0.0.36
    77Requires PHP: 7.0
    88License: GPLv2 or later
     
    2626
    2727== Changelog ==
     28
     29= 0.0.36 =
     30Disposable fee is including tax.
    2831
    2932= 0.0.35 =
Note: See TracChangeset for help on using the changeset viewer.