Plugin Directory

Changeset 3360418


Ignore:
Timestamp:
09/12/2025 09:38:15 AM (5 months ago)
Author:
postenbring
Message:

Version 1.1.32

Location:
posten-bring-checkout
Files:
6 added
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • posten-bring-checkout/tags/1.1.32/admin/Backoffice.php

    r3353917 r3360418  
    8888            wp_enqueue_style( 'posten-bring-modal-styles', plugin_dir_url( __FILE__ ) . 'css/posten-bring-checkout-mass-booking.css', array(), '1' );
    8989        }
     90
     91        wp_enqueue_script('posten-bring-checkout-notifications', plugin_dir_url( __FILE__ ) . 'js/posten-bring-checkout-notifications.js', array( 'jquery' ), '1', true );;
     92        wp_localize_script('posten-bring-checkout-notifications', 'PostenBringCheckoutNotice', [
     93            'ajaxurl' => admin_url('admin-ajax.php'),
     94            'nonce'   => wp_create_nonce('posten_bring_checkout_dismiss_notice'),
     95            'action'  => 'posten_bring_checkout_dismiss_notice',
     96        ]);
    9097
    9198        wp_set_script_translations( $this->plugin_name, 'posten-bring-checkout', plugin_dir_path( dirname( __FILE__ ) ) . 'languages' );
     
    948955
    949956    /**
     957     * Dismiss notices
     958     *
     959     * This callback function will dismiss notices from admin pages
     960     *
     961     * @since 1.1.32
     962     */
     963    public function dismiss_notice() {
     964        check_ajax_referer('posten_bring_checkout_dismiss_notice', 'nonce');
     965
     966        if ( ! is_user_logged_in() ) {
     967            wp_send_json_error(['message' => 'Not logged in'], 403);
     968        }
     969
     970        $key = isset( $_POST[ 'key' ] ) ? sanitize_key( wp_unslash( $_POST[ 'key' ] ) ) : '';
     971        if ( ! $key ) {
     972            wp_send_json_error(['message' => 'Missing key'], 400);
     973        }
     974
     975        $dismissed = get_user_meta( get_current_user_id(), 'posten_bring_checkout_dismissed_notifications', true );
     976        $dismissed = is_array( $dismissed ) ? $dismissed : [];
     977        $dismissed[ $key ] = time();
     978        update_user_meta( get_current_user_id(), 'posten_bring_checkout_dismissed_notifications', $dismissed );
     979
     980        wp_send_json_success();
     981    }
     982
     983    /**
    950984     * Add warning notices
    951985     *
     
    955989     */
    956990    public function add_warnings() {
     991        $dismissed = get_user_meta( get_current_user_id(), 'posten_bring_checkout_dismissed_notifications', true );
     992        $dismissed = is_array( $dismissed ) ? $dismissed : [];
     993
    957994        $data = CredentialsService::get_instance()->get_credentials_and_webshop_id();
    958         if ( empty( $data->apikey ) || empty( $data->webshop_id ) ) {
     995        if ( !isset( $dismissed[ 'not-initialized' ] ) && ( empty( $data->apikey ) || empty( $data->webshop_id ) ) ) {
    959996            ?>
    960             <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px">
     997            <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px" data-notice-id="not-initialized">
    961998                <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
    962999                <div>
     
    9731010
    9741011        $vippsSettings = get_option('woocommerce_vipps_settings');
    975         if ( (isset( $vippsSettings['enablestaticshipping'] ) && $vippsSettings['enablestaticshipping'] == 'yes') || isset( $vippsSettings['enablestaticshipping_checkout'] ) && $vippsSettings['enablestaticshipping_checkout'] == 'yes' ) {
     1012        if ( !isset( $dismissed[ 'vipps-static-shipping' ] ) && (isset( $vippsSettings['enablestaticshipping'] ) && $vippsSettings['enablestaticshipping'] == 'yes') || isset( $vippsSettings['enablestaticshipping_checkout'] ) && $vippsSettings['enablestaticshipping_checkout'] == 'yes' ) {
    9761013            ?>
    977                 <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px">
     1014                <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px" data-notice-id="vipps-static-shipping">
    9781015                    <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
    9791016                    <div>
     
    9811018                        <p><?php echo wp_kses_post( __( '<strong>Vipps/MobilePay</strong> has been configured with "static shipping" enabled. This means that the available shipping options do not vary based on the customer\'s address. For <strong>Posten Bring Checkout</strong> to be able to display shipping options and pickup points associated with the customers address, this setting must be disabled.', 'posten-bring-checkout' ) ) ?></p>
    9821019                    </div>
    983                 </div>'
     1020                </div>
    9841021            <?php
     1022        }
     1023
     1024        $notifications = CheckoutApi::get_instance()->get_notifications();
     1025        if ( !empty( $notifications->errors ) ) {
     1026            foreach ( $notifications->errors as $error ) {
     1027                if ( !isset( $dismissed[ $error[ 'id' ] ] ) ) {
     1028                    ?>
     1029                    <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px" data-notice-id="<?php echo esc_attr( $error[ 'id' ] )?>">
     1030                        <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
     1031                        <div>
     1032                            <h4 style="margin-bottom: 0"><?php echo esc_html( $error['title'] ) ?></h4>
     1033                            <?php echo wp_kses_post( $error['message'] ) ?>
     1034                        </div>
     1035                    </div>
     1036                    <?php
     1037                }
     1038            }
     1039        }
     1040        if ( !empty( $notifications->news ) ) {
     1041            foreach ( $notifications->news as $news ) {
     1042                if ( !isset( $dismissed[ $news[ 'id' ] ] ) ) {
     1043                    ?>
     1044                    <div class="notice notice-info is-dismissible" style="display: flex; gap: 20px" data-notice-id="<?php echo esc_attr( $news[ 'id' ] )?>">
     1045                        <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
     1046                        <div>
     1047                            <h4 style="margin-bottom: 0"><?php echo esc_html( $news['title'] ) ?></h4>
     1048                            <?php echo wp_kses_post( $news['message'] ) ?>
     1049                        </div>
     1050                    </div>
     1051                    <?php
     1052                }
     1053            }
    9851054        }
    9861055    }
  • posten-bring-checkout/tags/1.1.32/admin/bring/CheckoutApi.php

    r3293898 r3360418  
    1010use PostenBringCheckout\admin\bring\models\booking\WebshopBooking;
    1111use PostenBringCheckout\admin\api\models\CredentialsVerificationResult;
     12use PostenBringCheckout\admin\bring\models\notification\Notifications;
    1213use PostenBringCheckout\admin\bring\models\service\MybringServiceDetails;
    1314
     
    602603
    603604    /**
     605     * Fetches operational issues and general announcements from Bring
     606     *
     607     * @return void
     608     */
     609    public function get_notifications(): Notifications {
     610        try {
     611            $credentials = CredentialsService::get_instance()->get_credentials_and_webshop_id();
     612            if ( empty( $credentials->apikey ) || empty( $credentials->webshop_id ) ) {
     613                return new Notifications( array(), array() );
     614            }
     615
     616            $current_locale    = get_locale();
     617            if ( function_exists( 'icl_get_languages' ) ) { // If WPML is installed.
     618                $current_locale = apply_filters( 'wpml_current_language', NULL );
     619            } elseif ( function_exists( 'pll_current_language' ) ) { // If Polylang is installed.
     620                $current_locale = pll_current_language();
     621            }
     622
     623            $transient_ref = 'posten_bring_checkout_notifications' . $current_locale;
     624            $transient     = get_transient( $transient_ref );
     625
     626            if ( $transient !== false ) {
     627                return new Notifications( $transient['errors'], $transient['news'] );
     628            }
     629
     630            $url        = POSTEN_BRING_CHECKOUT_MYBRING_API_URL . "/checkout/webshops/{$credentials->webshop_id}/notifications";
     631            $request_id = $this->generate_request_id();
     632
     633            $response = wp_remote_get( $url, array(
     634                'headers' => array_merge(
     635                    array(
     636                        'X-MyBring-Token' => $credentials->apikey,
     637                        'X-Request-Id' => $request_id,
     638                        'Accept' => 'application/json',
     639                        'Accept-language' => preg_split ('_', $current_locale )[0]
     640                    ),
     641                    $this->getVersionHeaders()
     642                )
     643            ) );
     644
     645            if ( is_wp_error( $response ) ) {
     646                $error_msg = $response->get_error_message();
     647                throw new Exception( esc_html("Could not retrieve notifications: $error_msg. Request Id: $request_id") );
     648            }
     649
     650            $httpCode = wp_remote_retrieve_response_code( $response );
     651
     652            if ( $httpCode !== 200 ) {
     653                throw new Exception( esc_html("Failed to retrieve notifications - got response: $httpCode, request id: $request_id, body: " . wp_remote_retrieve_body( $response ) ) );
     654            }
     655
     656            $responseData = json_decode( wp_remote_retrieve_body( $response ), true );
     657            set_transient( $transient_ref, $responseData, 60 * 5);
     658
     659            return new Notifications( $responseData['errors'], $responseData['news'] );
     660
     661        } catch ( Exception $exception ) {
     662            wc_get_logger()->warning( esc_html($exception->getMessage()), array( 'source' => 'posten-bring-checkout' ) );
     663            return new Notifications( array(), array() );
     664        }
     665    }
     666
     667    /**
    604668     * Sends feedback to the Bring API
    605669     *
  • posten-bring-checkout/tags/1.1.32/changelog.txt

    r3355112 r3360418  
    11*** Posten Bring Checkout Changelog ***
     2
     32025-09-12 - version 1.1.32
     4* Added support for general announcements and notifications from Posten Bring. To be used when we experience technical outages affecting your daily use of the plugin, or when there is something important to inform about.
    25
    362025-09-03 - version 1.1.31
  • posten-bring-checkout/tags/1.1.32/checkout/PostenBringCheckoutPublic.php

    r3344034 r3360418  
    539539        $shipmondo       = $shipping_option->get_meta( 'third_party_shipping_provider' ) == 'SHIPMONDO';
    540540
     541        if ( ! is_array( $pickup_points ) ) {
     542              return;
     543        }
     544
    541545        $matching_pickup_points  = array_filter(
    542546            $pickup_points,
  • posten-bring-checkout/tags/1.1.32/includes/Main.php

    r3344034 r3360418  
    123123        require_once plugin_dir_path( __DIR__ ) . 'checkout/integrations/vipps/VippsIntegration.php';
    124124        require_once plugin_dir_path( __DIR__ ) . 'checkout/integrations/shipmondo/ShipmondoIntegration.php';
     125        require_once plugin_dir_path( __DIR__ ) . 'admin/bring/models/notification/Notifications.php';
    125126
    126127        $this->loader = new Loader();
     
    199200        $this->loader->add_action( 'woocommerce_save_product_variation', $backoffice, 'store_custom_product_variant_meta_data', 10, 2);
    200201        $this->loader->add_action( 'admin_notices', $backoffice, 'add_warnings' );
     202        $this->loader->add_action( 'wp_ajax_posten_bring_checkout_dismiss_notice', $backoffice, 'dismiss_notice' );
    201203    }
    202204
  • posten-bring-checkout/tags/1.1.32/posten-bring-checkout.php

    r3355112 r3360418  
    44 * Plugin URI:        https://wordpress.org/plugins/posten-bring-checkout/
    55 * Description:       Posten Bring Checkout plugin for WooCommerce
    6  * Version:           1.1.31
     6 * Version:           1.1.32
    77 * Author:            Posten Bring AS
    88 * Author URI:        https://www.postenbring.no/en
  • posten-bring-checkout/tags/1.1.32/readme.txt

    r3355112 r3360418  
    33Tags: woocommerce, posten, bring, shipping, checkout
    44Tested up to: 6.8
    5 Stable tag: 1.1.31
     5Stable tag: 1.1.32
    66License: GPLv2 or later
    77License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    6060
    6161== Changelog ==
     62
     63= 1.1.32 =
     64* Added support for general announcements and notifications from Posten Bring. To be used when we experience technical outages affecting your daily use of the plugin, or when there is something important to inform about.
    6265
    6366= 1.1.31 =
  • posten-bring-checkout/trunk/admin/Backoffice.php

    r3353917 r3360418  
    8888            wp_enqueue_style( 'posten-bring-modal-styles', plugin_dir_url( __FILE__ ) . 'css/posten-bring-checkout-mass-booking.css', array(), '1' );
    8989        }
     90
     91        wp_enqueue_script('posten-bring-checkout-notifications', plugin_dir_url( __FILE__ ) . 'js/posten-bring-checkout-notifications.js', array( 'jquery' ), '1', true );;
     92        wp_localize_script('posten-bring-checkout-notifications', 'PostenBringCheckoutNotice', [
     93            'ajaxurl' => admin_url('admin-ajax.php'),
     94            'nonce'   => wp_create_nonce('posten_bring_checkout_dismiss_notice'),
     95            'action'  => 'posten_bring_checkout_dismiss_notice',
     96        ]);
    9097
    9198        wp_set_script_translations( $this->plugin_name, 'posten-bring-checkout', plugin_dir_path( dirname( __FILE__ ) ) . 'languages' );
     
    948955
    949956    /**
     957     * Dismiss notices
     958     *
     959     * This callback function will dismiss notices from admin pages
     960     *
     961     * @since 1.1.32
     962     */
     963    public function dismiss_notice() {
     964        check_ajax_referer('posten_bring_checkout_dismiss_notice', 'nonce');
     965
     966        if ( ! is_user_logged_in() ) {
     967            wp_send_json_error(['message' => 'Not logged in'], 403);
     968        }
     969
     970        $key = isset( $_POST[ 'key' ] ) ? sanitize_key( wp_unslash( $_POST[ 'key' ] ) ) : '';
     971        if ( ! $key ) {
     972            wp_send_json_error(['message' => 'Missing key'], 400);
     973        }
     974
     975        $dismissed = get_user_meta( get_current_user_id(), 'posten_bring_checkout_dismissed_notifications', true );
     976        $dismissed = is_array( $dismissed ) ? $dismissed : [];
     977        $dismissed[ $key ] = time();
     978        update_user_meta( get_current_user_id(), 'posten_bring_checkout_dismissed_notifications', $dismissed );
     979
     980        wp_send_json_success();
     981    }
     982
     983    /**
    950984     * Add warning notices
    951985     *
     
    955989     */
    956990    public function add_warnings() {
     991        $dismissed = get_user_meta( get_current_user_id(), 'posten_bring_checkout_dismissed_notifications', true );
     992        $dismissed = is_array( $dismissed ) ? $dismissed : [];
     993
    957994        $data = CredentialsService::get_instance()->get_credentials_and_webshop_id();
    958         if ( empty( $data->apikey ) || empty( $data->webshop_id ) ) {
     995        if ( !isset( $dismissed[ 'not-initialized' ] ) && ( empty( $data->apikey ) || empty( $data->webshop_id ) ) ) {
    959996            ?>
    960             <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px">
     997            <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px" data-notice-id="not-initialized">
    961998                <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
    962999                <div>
     
    9731010
    9741011        $vippsSettings = get_option('woocommerce_vipps_settings');
    975         if ( (isset( $vippsSettings['enablestaticshipping'] ) && $vippsSettings['enablestaticshipping'] == 'yes') || isset( $vippsSettings['enablestaticshipping_checkout'] ) && $vippsSettings['enablestaticshipping_checkout'] == 'yes' ) {
     1012        if ( !isset( $dismissed[ 'vipps-static-shipping' ] ) && (isset( $vippsSettings['enablestaticshipping'] ) && $vippsSettings['enablestaticshipping'] == 'yes') || isset( $vippsSettings['enablestaticshipping_checkout'] ) && $vippsSettings['enablestaticshipping_checkout'] == 'yes' ) {
    9761013            ?>
    977                 <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px">
     1014                <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px" data-notice-id="vipps-static-shipping">
    9781015                    <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
    9791016                    <div>
     
    9811018                        <p><?php echo wp_kses_post( __( '<strong>Vipps/MobilePay</strong> has been configured with "static shipping" enabled. This means that the available shipping options do not vary based on the customer\'s address. For <strong>Posten Bring Checkout</strong> to be able to display shipping options and pickup points associated with the customers address, this setting must be disabled.', 'posten-bring-checkout' ) ) ?></p>
    9821019                    </div>
    983                 </div>'
     1020                </div>
    9841021            <?php
     1022        }
     1023
     1024        $notifications = CheckoutApi::get_instance()->get_notifications();
     1025        if ( !empty( $notifications->errors ) ) {
     1026            foreach ( $notifications->errors as $error ) {
     1027                if ( !isset( $dismissed[ $error[ 'id' ] ] ) ) {
     1028                    ?>
     1029                    <div class="notice notice-warning is-dismissible" style="display: flex; gap: 20px" data-notice-id="<?php echo esc_attr( $error[ 'id' ] )?>">
     1030                        <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
     1031                        <div>
     1032                            <h4 style="margin-bottom: 0"><?php echo esc_html( $error['title'] ) ?></h4>
     1033                            <?php echo wp_kses_post( $error['message'] ) ?>
     1034                        </div>
     1035                    </div>
     1036                    <?php
     1037                }
     1038            }
     1039        }
     1040        if ( !empty( $notifications->news ) ) {
     1041            foreach ( $notifications->news as $news ) {
     1042                if ( !isset( $dismissed[ $news[ 'id' ] ] ) ) {
     1043                    ?>
     1044                    <div class="notice notice-info is-dismissible" style="display: flex; gap: 20px" data-notice-id="<?php echo esc_attr( $news[ 'id' ] )?>">
     1045                        <img src="<?php echo esc_url( plugin_dir_url(__DIR__) . 'assets/images/Bring_logo_secondary.svg' ); ?>" alt="" style="width: 45px; margin: 8px 0"/>
     1046                        <div>
     1047                            <h4 style="margin-bottom: 0"><?php echo esc_html( $news['title'] ) ?></h4>
     1048                            <?php echo wp_kses_post( $news['message'] ) ?>
     1049                        </div>
     1050                    </div>
     1051                    <?php
     1052                }
     1053            }
    9851054        }
    9861055    }
  • posten-bring-checkout/trunk/admin/bring/CheckoutApi.php

    r3293898 r3360418  
    1010use PostenBringCheckout\admin\bring\models\booking\WebshopBooking;
    1111use PostenBringCheckout\admin\api\models\CredentialsVerificationResult;
     12use PostenBringCheckout\admin\bring\models\notification\Notifications;
    1213use PostenBringCheckout\admin\bring\models\service\MybringServiceDetails;
    1314
     
    602603
    603604    /**
     605     * Fetches operational issues and general announcements from Bring
     606     *
     607     * @return void
     608     */
     609    public function get_notifications(): Notifications {
     610        try {
     611            $credentials = CredentialsService::get_instance()->get_credentials_and_webshop_id();
     612            if ( empty( $credentials->apikey ) || empty( $credentials->webshop_id ) ) {
     613                return new Notifications( array(), array() );
     614            }
     615
     616            $current_locale    = get_locale();
     617            if ( function_exists( 'icl_get_languages' ) ) { // If WPML is installed.
     618                $current_locale = apply_filters( 'wpml_current_language', NULL );
     619            } elseif ( function_exists( 'pll_current_language' ) ) { // If Polylang is installed.
     620                $current_locale = pll_current_language();
     621            }
     622
     623            $transient_ref = 'posten_bring_checkout_notifications' . $current_locale;
     624            $transient     = get_transient( $transient_ref );
     625
     626            if ( $transient !== false ) {
     627                return new Notifications( $transient['errors'], $transient['news'] );
     628            }
     629
     630            $url        = POSTEN_BRING_CHECKOUT_MYBRING_API_URL . "/checkout/webshops/{$credentials->webshop_id}/notifications";
     631            $request_id = $this->generate_request_id();
     632
     633            $response = wp_remote_get( $url, array(
     634                'headers' => array_merge(
     635                    array(
     636                        'X-MyBring-Token' => $credentials->apikey,
     637                        'X-Request-Id' => $request_id,
     638                        'Accept' => 'application/json',
     639                        'Accept-language' => preg_split ('_', $current_locale )[0]
     640                    ),
     641                    $this->getVersionHeaders()
     642                )
     643            ) );
     644
     645            if ( is_wp_error( $response ) ) {
     646                $error_msg = $response->get_error_message();
     647                throw new Exception( esc_html("Could not retrieve notifications: $error_msg. Request Id: $request_id") );
     648            }
     649
     650            $httpCode = wp_remote_retrieve_response_code( $response );
     651
     652            if ( $httpCode !== 200 ) {
     653                throw new Exception( esc_html("Failed to retrieve notifications - got response: $httpCode, request id: $request_id, body: " . wp_remote_retrieve_body( $response ) ) );
     654            }
     655
     656            $responseData = json_decode( wp_remote_retrieve_body( $response ), true );
     657            set_transient( $transient_ref, $responseData, 60 * 5);
     658
     659            return new Notifications( $responseData['errors'], $responseData['news'] );
     660
     661        } catch ( Exception $exception ) {
     662            wc_get_logger()->warning( esc_html($exception->getMessage()), array( 'source' => 'posten-bring-checkout' ) );
     663            return new Notifications( array(), array() );
     664        }
     665    }
     666
     667    /**
    604668     * Sends feedback to the Bring API
    605669     *
  • posten-bring-checkout/trunk/changelog.txt

    r3355112 r3360418  
    11*** Posten Bring Checkout Changelog ***
     2
     32025-09-12 - version 1.1.32
     4* Added support for general announcements and notifications from Posten Bring. To be used when we experience technical outages affecting your daily use of the plugin, or when there is something important to inform about.
    25
    362025-09-03 - version 1.1.31
  • posten-bring-checkout/trunk/checkout/PostenBringCheckoutPublic.php

    r3344034 r3360418  
    539539        $shipmondo       = $shipping_option->get_meta( 'third_party_shipping_provider' ) == 'SHIPMONDO';
    540540
     541        if ( ! is_array( $pickup_points ) ) {
     542              return;
     543        }
     544
    541545        $matching_pickup_points  = array_filter(
    542546            $pickup_points,
  • posten-bring-checkout/trunk/includes/Main.php

    r3344034 r3360418  
    123123        require_once plugin_dir_path( __DIR__ ) . 'checkout/integrations/vipps/VippsIntegration.php';
    124124        require_once plugin_dir_path( __DIR__ ) . 'checkout/integrations/shipmondo/ShipmondoIntegration.php';
     125        require_once plugin_dir_path( __DIR__ ) . 'admin/bring/models/notification/Notifications.php';
    125126
    126127        $this->loader = new Loader();
     
    199200        $this->loader->add_action( 'woocommerce_save_product_variation', $backoffice, 'store_custom_product_variant_meta_data', 10, 2);
    200201        $this->loader->add_action( 'admin_notices', $backoffice, 'add_warnings' );
     202        $this->loader->add_action( 'wp_ajax_posten_bring_checkout_dismiss_notice', $backoffice, 'dismiss_notice' );
    201203    }
    202204
  • posten-bring-checkout/trunk/posten-bring-checkout.php

    r3355112 r3360418  
    44 * Plugin URI:        https://wordpress.org/plugins/posten-bring-checkout/
    55 * Description:       Posten Bring Checkout plugin for WooCommerce
    6  * Version:           1.1.31
     6 * Version:           1.1.32
    77 * Author:            Posten Bring AS
    88 * Author URI:        https://www.postenbring.no/en
  • posten-bring-checkout/trunk/readme.txt

    r3355112 r3360418  
    33Tags: woocommerce, posten, bring, shipping, checkout
    44Tested up to: 6.8
    5 Stable tag: 1.1.31
     5Stable tag: 1.1.32
    66License: GPLv2 or later
    77License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    6060
    6161== Changelog ==
     62
     63= 1.1.32 =
     64* Added support for general announcements and notifications from Posten Bring. To be used when we experience technical outages affecting your daily use of the plugin, or when there is something important to inform about.
    6265
    6366= 1.1.31 =
Note: See TracChangeset for help on using the changeset viewer.