Plugin Directory

Changeset 2683354


Ignore:
Timestamp:
02/22/2022 10:48:08 PM (4 years ago)
Author:
dillerapp
Message:

Added new field in admin settings to allow "Join Loyalty Program" checkboxes to be displayed after billing form (default) or terms
Fixes bug with marketing fields logic at checkout
Fixes bug with displaying points to customers that joined for the first time via checkout

Location:
diller-loyalty/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • diller-loyalty/trunk/README.txt

    r2682907 r2683354  
    44Requires at least: 4.7
    55Tested up to: 5.9
    6 Version: 2.1.0
    7 Stable tag: 2.1.0
     6Version: 2.1.1
     7Stable tag: 2.1.1
    88Requires PHP: 7.3
    99WC requires at least: 3.8.0
     
    6565
    6666== Changelog ==
     67= 2.1.1 =
     68* Added new field in admin settings to allow "Join Loyalty Program" checkboxes to be displayed after billing form (default) or terms
     69* Fixes bug with marketing fields logic at checkout
     70* Fixes bug with displaying points to customers that joined for the first time via checkout
     71
    6772= 2.1.0 =
    6873* New feature: Members can reset their account or fulfil an incomplete registration by SMS code verification
  • diller-loyalty/trunk/admin/class-diller-loyalty-admin.php

    r2682907 r2683354  
    213213            $new_configs["default_date_placeholder"] = sanitize_text_field($_POST["default_date_placeholder"]);
    214214            $new_configs["min_enrollment_age"] = sanitize_text_field($_POST["min_enrollment_age"]);
     215            $new_configs["join_checkboxes_placement"] = sanitize_text_field($_POST["join_checkboxes_placement"]);
    215216
    216217            $store_configs = wp_parse_args($new_configs, DillerLoyalty()->get_store()->get_configs(true));
  • diller-loyalty/trunk/admin/partials/diller-loyalty-admin-settings.php

    r2654758 r2683354  
    2424$enable_recaptcha = get_partial_view_param("enable_recaptcha");
    2525$min_enrollment_age = get_partial_view_param("min_enrollment_age");
     26$join_checkboxes_placement = get_partial_view_param("join_checkboxes_placement");
    2627
    2728$phone_configs = get_partial_view_param("phone");
     
    153154                <table class="form-table" role="presentation">
    154155                    <tr>
    155                         <th><?php esc_html_e( "Minimum age for enrollment", "diller-loyalty" ); ?></th>
    156                         <td>
    157                             <input type="number" id="min_enrollment_age" class="small-text" name="min_enrollment_age" value="<?php echo esc_attr( $min_enrollment_age ); ?>" /><br />
    158                             <p class="description"><?php esc_html_e( "The minimum age allowed, for enrolling the Loyalty Program", "diller-loyalty" ); ?></p>
    159                         </td>
    160                     </tr>
    161                     <tr>
    162156                        <th scope="row">
    163157                            <label for="stamps_enabled"><?php esc_html_e( "Enable stamps usage", "diller-loyalty" ); ?></label>
     
    167161                            <?php esc_html_e( "Enable", "diller-loyalty" ); ?><br />
    168162                            <p class="description"><?php esc_html_e( "If checked, Stamps feature will be available for this store.", "diller-loyalty" ); ?></p>
     163                        </td>
     164                    </tr>
     165                </table>
     166            </div><!-- end of inside -->
     167        </div>
     168
     169        <div class="diller-mb-3">
     170            <h2><?php esc_html_e( "Other settings", "diller-loyalty" ); ?></h2>
     171            <div id="diller-forms-description">
     172                <p><?php esc_html_e( "Other settings for customizing Loyalty Program enrollment"); ?></p>
     173            </div>
     174            <div class="inside">
     175                <table class="form-table" role="presentation">
     176                    <tr>
     177                        <th><?php esc_html_e( "Minimum age for enrollment", "diller-loyalty" ); ?></th>
     178                        <td>
     179                            <input type="number" id="min_enrollment_age" class="small-text" name="min_enrollment_age" value="<?php echo esc_attr( $min_enrollment_age ); ?>" /><br />
     180                            <p class="description"><?php esc_html_e( "The minimum age allowed, for enrolling the Loyalty Program", "diller-loyalty" ); ?></p>
     181                        </td>
     182                    </tr>
     183                    <tr>
     184                        <th scope="row">
     185                            <label for="checkboxes_placement[]"><?php esc_html_e( "Display \"Join Loyalty Program\" checkboxes", "diller-loyalty" ); ?></label>
     186                        </th>
     187                        <td>
     188                            <fieldset>
     189                                <input name="join_checkboxes_placement" type="radio" id="checkbox_placement_billing_form" value="billing" <?php checked($join_checkboxes_placement === 'billing'); ?> >
     190                                <?php esc_html_e( "After billing details", "diller-loyalty" ); ?><br />
     191                                <p class="description"><?php esc_html_e( "Display checkboxes for joining the Loyalty Program right after the billing fields, at checkout. This is the default setting.", "diller-loyalty" ); ?></p>
     192                                <br />
     193                            </fieldset>
     194                            <fieldset>
     195                                <input name="join_checkboxes_placement" type="radio" id="checkbox_placement_terms" value="terms" <?php checked($join_checkboxes_placement === 'terms'); ?> >
     196                                <?php esc_html_e( "Before terms & conditions", "diller-loyalty" ); ?><br />
     197                                <p class="description"><?php esc_html_e( "Display checkboxes for joining the Loyalty Program right before the terms and conditions checkbox field, at checkout.", "diller-loyalty" ); ?></p>
     198                            </fieldset>
    169199                        </td>
    170200                    </tr>
  • diller-loyalty/trunk/diller-loyalty.php

    r2682907 r2683354  
    66 * Plugin URI:           https://diller.no/
    77 * Description:          Diller is a loyalty platform for businesses that is easy, affordable and profitable and integrates seamlessly with your WooCommerce shop.
    8  * Version:              2.1.0
     8 * Version:              2.1.1
    99 * Author:               Diller AS
    1010 * Author URI:           https://diller.no/kontakt/
     
    1313 * Text Domain:          diller-loyalty
    1414 * Domain Path:          /languages
    15  * Stable tag:           2.1.0
     15 * Stable tag:           2.1.1
    1616 * Requires at least:    4.7
    1717 * Tested up to:         5.8.2
     
    3131// Start at version 2.0.0 and use SemVer - https://semver.org
    3232if ( ! defined( 'DILLER_LOYALTY_VERSION' ) ) {
    33     define('DILLER_LOYALTY_VERSION', '2.1.0');
     33    define('DILLER_LOYALTY_VERSION', '2.1.1');
    3434}
    3535
  • diller-loyalty/trunk/includes/class-diller-loyalty-store.php

    r2654758 r2683354  
    2727    protected $default_postal_code_format = '';
    2828    protected $min_enrollment_age = 15;
     29    protected $join_checkboxes_placement = '';
    2930
    3031    /**
     
    181182    public function get_min_enrollment_age(): int {
    182183        return $this->min_enrollment_age;
     184    }
     185
     186    public function get_join_checkboxes_placement(): string {
     187        return $this->join_checkboxes_placement;
    183188    }
    184189
     
    220225            "default_postal_code_format" => "",
    221226            "min_enrollment_age" => 15,
     227            "join_checkboxes_placement" => "billing",
    222228            "phone" => array(
    223229                "enable_number_lookup" => true,
     
    291297            $this->default_postal_code_format = $this->store_data["default_postal_code_format"] ?? $default_data["default_postal_code_format"] ?? '';
    292298            $this->min_enrollment_age = $this->store_data["min_enrollment_age"] ?? $default_data["min_enrollment_age"] ?? '';
    293 
     299            $this->join_checkboxes_placement = $this->store_data["join_checkboxes_placement"] ?? $default_data["join_checkboxes_placement"] ?? '';
    294300
    295301           
  • diller-loyalty/trunk/includes/class-diller-loyalty-woocommerce.php

    r2682907 r2683354  
    641641
    642642
    643     function checkout_display_consent_fields_after_terms_and_conditions() {
     643    function checkout_page_display_consent_fields() {
    644644       
    645645
     
    673673
    674674    function order_thank_you_summary_show_points($order_id) {
    675         if(DillerLoyalty()->get_store()->get_point_system_enabled() && DillerLoyalty()->user_has_joined()):
    676             $order_total = get_post_meta($order_id, '_order_total', true);
    677             $currency_to_points_ratio = DillerLoyalty()->get_store()->get_currency_to_points_ratio();
    678             //Test URL: http://localhost:8080/checkout/order-received/100/?key=wc_order_2jhYu1vG6cEMY
     675
     676        //Test URL: http://localhost:8080/checkout/order-received/100/?key=wc_order_2jhYu1vG6cEMY
     677        if(($total_points = $this->get_order_points($order_id)) > 0):
    679678            ?>
    680679                <section class="diller-woocommerce-section">
     
    684683                        <tr>
    685684                            <th class="diller-woocommerce-table-cell"><?php echo esc_html__('Points earned','diller-loyalty'); ?></th>
    686                             <th class="diller-woocommerce-table-cell"><?php echo ($order_total * $currency_to_points_ratio) . ' ' . esc_html__( 'points', 'diller-loyalty' ); ?></th>
     685                            <th class="diller-woocommerce-table-cell"><?php echo $total_points . ' ' . esc_html__( 'points', 'diller-loyalty' ); ?></th>
    687686                        </tr>
    688687                        </tbody>
     
    729728
    730729    function update_order_received_text($thank_you_text, $order) {
    731         if(false === is_a($order, 'WC_Order')) return $thank_you_text;
    732 
    733         $order_user = $order->get_user();
    734         if(false === is_a($order_user, 'WP_User')) return $thank_you_text;
    735 
    736         if(DillerLoyalty()->get_store()->get_point_system_enabled() && DillerLoyalty()->user_has_joined($order_user->ID)):
    737             $order_total = get_post_meta( $order->get_id(), '_order_total', true );
    738             $currency_to_points_ratio = DillerLoyalty()->get_store()->get_currency_to_points_ratio();
    739 
    740             $thank_you_text = '<ul class="diller-woocommerce-order-overview diller-woocommerce-order-points">';
    741             $thank_you_text .= '    <li>';
    742             $thank_you_text .=  esc_html__('Points earned', 'diller-loyalty') . ': <b>' . $order_total * $currency_to_points_ratio . '</b>';
    743             $thank_you_text .= '    </li>';
    744             $thank_you_text .= '</ul>';
    745         endif;
     730        if(($total_points = $this->get_order_points($order)) == 0) return $thank_you_text;
     731
     732        $thank_you_text = '<ul class="diller-woocommerce-order-overview diller-woocommerce-order-points">';
     733        $thank_you_text .= '    <li>';
     734        $thank_you_text .=  esc_html__('Points earned', 'diller-loyalty') . ': <b>' . $total_points . '</b>';
     735        $thank_you_text .= '    </li>';
     736        $thank_you_text .= '</ul>';
    746737
    747738        return $thank_you_text;
     
    782773                $result = DillerLoyalty()->get_api()->cancel_order_transaction_for($follower, $order->get_id());
    783774                if(!is_wp_error($result)){
     775                    delete_post_meta($order->get_id(), '_diller_points');
    784776                    DillerLoyalty()->get_logger()->info(sprintf("Successfully cancelled order# %s", $order->get_id()), $follower);
    785777                    return true;
     
    816808        $country =  $order->get_billing_country();
    817809        $follower = false;
    818         $checkout_membership_consent_accepted = !empty($_POST['diller_membership_consent_accepted'])
    819             ? filter_var($_POST['diller_membership_consent_accepted'], FILTER_SANITIZE_STRING)
    820             : 'No';
    821810
    822811        // Handle normal scenario, for registered and logged-in Customer that has already enrolled LP before
     
    844833
    845834        // Handle scenario where Customer is new and wants to join the LP or has already joined LP, but never used the webshop
     835        $checkout_membership_consent_accepted = !empty($_POST['diller_membership_consent_accepted'])
     836            ? filter_var($_POST['diller_membership_consent_accepted'], FILTER_SANITIZE_STRING)
     837            : 'No';
     838
    846839        $purchase_history_consent_accepted = !empty($_POST['diller_purchase_history_consent_accepted'])
    847840            ? filter_var($_POST['diller_purchase_history_consent_accepted'], FILTER_SANITIZE_STRING)
     
    870863        $follower_exists = (!is_wp_error($follower) && is_a($follower, 'Diller_Loyalty_Follower'));
    871864        if($follower_exists):
    872             // Quit is Follower hasn't accepted the GDPR before and at checkout
     865            // Quit because Follower hasn't accepted the GDPR before and now at checkout
    873866            if($follower->get_membership_consent_accepted() !== 'Yes' && $checkout_membership_consent_accepted !== 'Yes') return;
    874867
     
    882875            }
    883876
    884             // Check if Follower didn't accept purchase_history_consent from before, but accepted it now at checkout
    885             if($follower->get_purchase_history_consent_accepted() !== 'Yes' && $purchase_history_consent_accepted === 'Yes'){
    886                 $follower->set_purchase_history_consent_accepted($purchase_history_consent_accepted);
    887             }
     877            // Check if Follower haven't accepted purchase_history, sms and email consents before, but accepted it now, at checkout
     878            $checkout_membership_consent_accepted = ($follower->get_membership_consent_accepted() === 'Yes') ? 'Yes' : $checkout_membership_consent_accepted;
     879            $purchase_history_consent_accepted = ($follower->get_purchase_history_consent_accepted() === 'Yes') ? 'Yes' : $purchase_history_consent_accepted;
     880            $marketing_sms_consent_accepted = ($follower->get_marketing_sms_consent_accepted() === 'Yes') ? 'Yes' : $marketing_sms_consent_accepted;
     881            $marketing_email_consent_accepted = ($follower->get_marketing_email_consent_accepted() === 'Yes') ? 'Yes' : $marketing_email_consent_accepted;
    888882        endif;
    889883
     
    941935        $result = DillerLoyalty()->get_api()->save_follower_transactions($follower, $order);
    942936        if(!is_wp_error($result)){
     937
     938            // Transaction was successfully communicated, so we can safely save here the amount of points earned.
     939            // This is mainly to cover the scenario where customer enrolled the LP at checkout.
     940            $order_total = get_post_meta( $order->get_id(), '_order_total', true );
     941            $currency_to_points_ratio = DillerLoyalty()->get_store()->get_currency_to_points_ratio();
     942            update_post_meta($order->get_id(), '_diller_points', $order_total * $currency_to_points_ratio);
     943
    943944            DillerLoyalty()->get_logger()->info(sprintf("Transaction saved for order# %d.", $order->get_id()), $follower);
    944945            return true;
     
    10651066        }
    10661067    }
     1068
     1069    private function get_order_points($order) {
     1070         if (is_int( $order )) {
     1071            $order = new WC_Order($order);
     1072        }
     1073
     1074        if(false === is_a($order, 'WC_Order') || !DillerLoyalty()->get_store()->get_point_system_enabled()) return 0;
     1075
     1076        if(!($total_points = get_post_meta($order->get_id(), '_diller_points', true))){
     1077
     1078            // We can only display points for customers that joined LP and gave consent to save transactions
     1079            if(!DillerLoyalty()->user_has_joined() || 'No' === DillerLoyalty()->get_current_follower()->get_purchase_history_consent_accepted()) return 0;
     1080
     1081            // Fallback
     1082            $order_total = get_post_meta($order->get_id(), '_order_total', true);
     1083            $currency_to_points_ratio = DillerLoyalty()->get_store()->get_currency_to_points_ratio();
     1084            $total_points = ($order_total * $currency_to_points_ratio);
     1085        }
     1086
     1087        return $total_points;
     1088    }
    10671089}
  • diller-loyalty/trunk/includes/class-diller-loyalty.php

    r2682907 r2683354  
    439439        // Checkout
    440440        $filters[] = array( 'hook' => 'woocommerce_checkout_fields', 'callback' => 'checkout_form_add_custom_fields', 'priority' => 10, 'accepted_args' => 1 );
    441         $actions[] = array( 'hook' => 'woocommerce_checkout_terms_and_conditions', 'callback' => 'checkout_display_consent_fields_after_terms_and_conditions', 'priority' => 10, 'accepted_args' => 1 );
    442 
    443         // Check for Klarna checkout plugin
     441
     442        // Consent checkboxes placement. Defaults to billing
     443        $consent_fields_action = "woocommerce_after_checkout_billing_form";
     444        if(DillerLoyalty()->get_store()->get_join_checkboxes_placement() === "terms"){
     445            $consent_fields_action = 'woocommerce_checkout_terms_and_conditions';
     446        }
     447        $actions[] = array( 'hook' => $consent_fields_action, 'callback' => 'checkout_page_display_consent_fields', 'priority' => 10, 'accepted_args' => 1 );
     448
     449        // Check for Klarna checkout plugin existence.
    444450        if(class_exists( 'KCO' )) {
    445451            // Ref: https://docs.woocommerce.com/document/klarna-checkout-hooks-actions-filters/
    446             // Klarna checkout form takes over the native WC checkout form. So we add here the custom fields for joining Diller
    447             $actions[] = array( 'hook' => 'kco_wc_after_order_review', 'callback' => 'checkout_display_consent_fields_after_terms_and_conditions', 'priority' => 10, 'accepted_args' => 1 );
     452            // Klarna checkout form takes over the native WC checkout billing form. So we add here the custom fields for joining Diller here.
     453            $actions[] = array( 'hook' => 'kco_wc_after_order_review', 'callback' => 'checkout_page_display_consent_fields', 'priority' => 10, 'accepted_args' => 1 );
    448454        }
    449455
  • diller-loyalty/trunk/languages/diller-loyalty-nb_NO.po

    r2682907 r2683354  
    44"Report-Msgid-Bugs-To: \n"
    55"POT-Creation-Date: 2021-09-16 15:17+0000\n"
    6 "PO-Revision-Date: 2022-02-21 14:06+0000\n"
     6"PO-Revision-Date: 2022-02-22 22:35+0000\n"
    77"Last-Translator: Tiago - Network Super Admin\n"
    8 "Language-Team: Norwegian (Bokmål)\n"
     8"Language-Team: Norsk bokmål\n"
    99"Language: nb_NO\n"
    1010"Plural-Forms: nplurals=2; plural=n != 1;\n"
     
    4040msgstr "Adresse"
    4141
    42 #: admin/partials/diller-loyalty-admin-settings.php:36
     42#: admin/partials/diller-loyalty-admin-settings.php:190
     43msgid "After billing details"
     44msgstr "Etter faktureringsdetaljer"
     45
     46#: admin/partials/diller-loyalty-admin-settings.php:37
    4347msgid "Allow phone numbers from all countries"
    4448msgstr "Tillat telefonnumre fra andre land"
    4549
    46 #: admin/partials/diller-loyalty-admin-settings.php:37
     50#: admin/partials/diller-loyalty-admin-settings.php:38
    4751msgid "Allow phone numbers from all countries, except for…"
    4852msgstr "Tillat telefonnumre fra alle land, bortsett fra... "
    4953
    50 #: admin/partials/diller-loyalty-admin-settings.php:38
     54#: admin/partials/diller-loyalty-admin-settings.php:39
    5155msgid "Allow phone numbers from specific countries"
    5256msgstr "Tillat telefonnumre fra bestemte land"
     
    8286"%1$s%2$sKlikk her%3$s for å bli medlem nå."
    8387
     88#: admin/partials/diller-loyalty-admin-settings.php:196
     89msgid "Before terms & conditions"
     90msgstr "Før vilkår og betingelser"
     91
    8492#: includes/forms/class-diller-enrollment-form.php:80
    8593msgid "Birth date"
    8694msgstr "Bursdag"
    8795
    88 #: admin/partials/diller-loyalty-admin-settings.php:109
     96#: admin/partials/diller-loyalty-admin-settings.php:110
    8997msgid "Choose one or more countries, to display on the top of the list"
    9098msgstr "Velg ett eller flere land for å vises øverst på listen"
     
    94102msgstr "Lukk"
    95103
    96 #: admin/partials/diller-loyalty-admin-settings.php:119
     104#: admin/partials/diller-loyalty-admin-settings.php:120
    97105msgid "Configure date formats, etc"
    98106msgstr "Konfigurer datoformater, osv"
     
    145153msgstr "Kunne ikke hente landskode fra telefonnummeret"
    146154
    147 #: admin/partials/diller-loyalty-admin-settings.php:91
     155#: admin/partials/diller-loyalty-admin-settings.php:92
    148156msgid "Countries"
    149157msgstr "Land"
     
    169177msgstr "Dato kan ikke være høyere enn i dag"
    170178
    171 #: admin/partials/diller-loyalty-admin-settings.php:124
     179#: admin/partials/diller-loyalty-admin-settings.php:125
    172180msgid "Default date placeholder"
    173181msgstr "Standard datoformat"
    174182
    175 #: admin/partials/diller-loyalty-admin-settings.php:63
     183#: admin/partials/diller-loyalty-admin-settings.php:64
    176184msgid "Default phone country code"
    177185msgstr "Standard landskode"
     
    206214msgstr "Avvis varsel."
    207215
     216#: admin/partials/diller-loyalty-admin-settings.php:185
     217msgid "Display \"Join Loyalty Program\" checkboxes"
     218msgstr "Vis \"Bli med i kundeklubb\" avmerkingsbokser"
     219
     220#: admin/partials/diller-loyalty-admin-settings.php:191
     221msgid ""
     222"Display checkboxes for joining the Loyalty Program right after the billing "
     223"fields, at checkout. This is the default setting."
     224msgstr ""
     225"Vis avmerkingsbokser for å bli med i kundeklubb rett etter "
     226"faktureringsdetaljer, ved kassen. Dette er standardinnstillingen."
     227
     228#: admin/partials/diller-loyalty-admin-settings.php:197
     229msgid ""
     230"Display checkboxes for joining the Loyalty Program right before the terms "
     231"and conditions checkbox field, at checkout."
     232msgstr ""
     233"Vis avmerkingsbokser for å bli med i kundeklubb rett før avmerkingsboksen "
     234"for vilkår og betingelser, ved kassen."
     235
    208236#: includes/forms/class-diller-wc-enrollment-form.php:11
    209237msgid ""
     
    224252msgstr "E-post"
    225253
    226 #: admin/partials/diller-loyalty-admin-settings.php:58
    227 #: admin/partials/diller-loyalty-admin-settings.php:75
    228 #: admin/partials/diller-loyalty-admin-settings.php:167
     254#: admin/partials/diller-loyalty-admin-settings.php:59
     255#: admin/partials/diller-loyalty-admin-settings.php:76
     256#: admin/partials/diller-loyalty-admin-settings.php:161
    229257msgid "Enable"
    230258msgstr "Aktiver"
    231259
    232 #: admin/partials/diller-loyalty-admin-settings.php:163
     260#: admin/partials/diller-loyalty-admin-settings.php:157
    233261msgid "Enable stamps usage"
    234262msgstr "Aktiver klippekort bruk"
    235263
    236 #: admin/partials/diller-loyalty-admin-settings.php:70
     264#: admin/partials/diller-loyalty-admin-settings.php:71
    237265msgid "Enhanced phone field"
    238266msgstr "Forbedre telefon-felt"
     
    274302msgstr "Fornavn"
    275303
    276 #: admin/partials/diller-loyalty-admin-settings.php:117
     304#: admin/partials/diller-loyalty-admin-settings.php:118
    277305msgid "Formats"
    278306msgstr "Formater"
     
    330358"vilkårene her%3$s"
    331359
    332 #: admin/partials/diller-loyalty-admin-settings.php:59
     360#: admin/partials/diller-loyalty-admin-settings.php:60
    333361msgid ""
    334362"If checked, Diller will try to fetch name and address automatically from "
     
    337365"Hvis huket på, Diller vil hente opplysninger fra 1881.no for telefonnummeret"
    338366
    339 #: admin/partials/diller-loyalty-admin-settings.php:76
     367#: admin/partials/diller-loyalty-admin-settings.php:77
    340368msgid ""
    341369"If checked, form displays an enhanced phone input field, with dropdown to "
     
    345373"rullegardin for å velge landskoder og validere telefonnumre"
    346374
    347 #: admin/partials/diller-loyalty-admin-settings.php:168
     375#: admin/partials/diller-loyalty-admin-settings.php:162
    348376msgid "If checked, Stamps feature will be available for this store."
    349377msgstr ""
     
    372400msgstr "Invitasjon status"
    373401
    374 #: includes/class-diller-loyalty.php:848
     402#: includes/class-diller-loyalty.php:854
    375403msgid "Join Loyalty Program"
    376404msgstr "Bli medlem av vår kundeklubb"
     
    386414#: includes/class-diller-loyalty-woocommerce.php:44
    387415#: includes/class-diller-loyalty-woocommerce.php:145
    388 #: includes/class-diller-loyalty-woocommerce.php:681
    389 #: includes/class-diller-loyalty-woocommerce.php:962
    390 #: includes/class-diller-loyalty-woocommerce.php:1040
    391 #: includes/class-diller-loyalty-woocommerce.php:1058
     416#: includes/class-diller-loyalty-woocommerce.php:680
     417#: includes/class-diller-loyalty-woocommerce.php:963
     418#: includes/class-diller-loyalty-woocommerce.php:1041
     419#: includes/class-diller-loyalty-woocommerce.php:1059
    392420#: includes/forms/class-diller-wc-enrollment-form.php:45
    393421msgid "Loyalty Program"
     
    410438msgstr "Kvalifiseringsperiode for oppgradering av medlemsnivå"
    411439
    412 #: admin/partials/diller-loyalty-admin-settings.php:155
     440#: admin/partials/diller-loyalty-admin-settings.php:177
    413441msgid "Minimum age for enrollment"
    414442msgstr "Aldersgrense for å bli med i kundeklubb"
     
    418446msgstr "Mobilnummer"
    419447
    420 #: admin/partials/diller-loyalty-admin-settings.php:148
     448#: admin/partials/diller-loyalty-admin-settings.php:149
    421449msgid "My Account"
    422450msgstr "Min Konto"
     
    494522"kontakt med oss."
    495523
    496 #: admin/partials/diller-loyalty-admin-settings.php:46
     524#: admin/partials/diller-loyalty-admin-settings.php:170
     525msgid "Other settings"
     526msgstr "Andre innstillinger"
     527
     528#: admin/partials/diller-loyalty-admin-settings.php:47
    497529msgid "Phone"
    498530msgstr "Telefonnummer"
    499531
    500 #: admin/partials/diller-loyalty-admin-settings.php:54
     532#: admin/partials/diller-loyalty-admin-settings.php:55
    501533msgid "Phone lookup - 1881.no"
    502534msgstr "Søk telefonnummer på 1881.no"
     
    510542msgstr "Telefonnummer er ugyldig"
    511543
    512 #: admin/partials/diller-loyalty-admin-settings.php:80
     544#: admin/partials/diller-loyalty-admin-settings.php:81
    513545msgid "Phone numbers allowed"
    514546msgstr "Telefonnumre tillatt"
     
    532564#: includes/class-diller-loyalty-woocommerce.php:438
    533565#: includes/class-diller-loyalty-woocommerce.php:506
    534 #: includes/class-diller-loyalty-woocommerce.php:686
    535 #: includes/class-diller-loyalty-woocommerce.php:725
     566#: includes/class-diller-loyalty-woocommerce.php:685
     567#: includes/class-diller-loyalty-woocommerce.php:724
    536568msgid "points"
    537569msgstr "poeng"
    538570
    539 #: includes/class-diller-loyalty-woocommerce.php:685
    540 #: includes/class-diller-loyalty-woocommerce.php:707
    541 #: includes/class-diller-loyalty-woocommerce.php:742
     571#: includes/class-diller-loyalty-woocommerce.php:684
     572#: includes/class-diller-loyalty-woocommerce.php:706
     573#: includes/class-diller-loyalty-woocommerce.php:734
    542574#: includes/forms/class-diller-refer-friend-form.php:109
    543575msgid "Points earned"
     
    572604msgstr "Ønsker ikke å dele"
    573605
    574 #: admin/partials/diller-loyalty-admin-settings.php:102
     606#: admin/partials/diller-loyalty-admin-settings.php:103
    575607msgid "Preferred countries"
    576608msgstr "Foretrukkede land"
     
    621653msgstr "Lagre mine preferanser"
    622654
    623 #: admin/partials/diller-loyalty-admin-settings.php:176
     655#: admin/partials/diller-loyalty-admin-settings.php:206
    624656msgid "Save Settings"
    625657msgstr "Lagre instillinger"
     
    633665msgstr "Send verifiseringskode"
    634666
    635 #: diller-loyalty.php:134
     667#: diller-loyalty.php:133
    636668msgid "Settings"
    637669msgstr "Innstillinger"
    638670
    639 #: admin/class-diller-loyalty-admin.php:220
     671#: admin/class-diller-loyalty-admin.php:221
    640672msgid "Settings saved"
    641673msgstr "Instillingene ble lagret"
     
    706738
    707739#. translators: 1: new line break
    708 #: admin/partials/diller-loyalty-admin-settings.php:130
     740#: admin/partials/diller-loyalty-admin-settings.php:131
    709741msgid ""
    710742"The default placeholder for date input fields to provide a hint on how to "
     
    720752msgstr "Du må oppgi en gyldig e-postadresse."
    721753
    722 #: admin/partials/diller-loyalty-admin-settings.php:158
     754#: admin/partials/diller-loyalty-admin-settings.php:180
    723755msgid "The minimum age allowed, for enrolling the Loyalty Program"
    724756msgstr "Minimumsalderen tillatt for å melde seg på Kundeklubb"
     
    741773msgstr "E-post finnes allerede"
    742774
    743 #: admin/partials/diller-loyalty-admin-settings.php:87
     775#: admin/partials/diller-loyalty-admin-settings.php:88
    744776msgid ""
    745777"This option lets you define countries for which phone numbers are allowed or "
     
    882914
    883915#. translators: 1: link to Terms & Conditions URL, 2: closing url
    884 #: includes/class-diller-loyalty-woocommerce.php:1044
     916#: includes/class-diller-loyalty-woocommerce.php:1045
    885917#| msgid ""
    886918#| "You have unsubscribed the Loyalty Program. To enroll again and enjoy the "
  • diller-loyalty/trunk/languages/diller-loyalty.pot

    r2682907 r2683354  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Diller Loyalty 2 2.1.0\n"
     5"Project-Id-Version: Diller Loyalty 2 2.1.1\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/diller-loyalty\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: 2022-02-21T14:04:58+00:00\n"
     12"POT-Creation-Date: 2022-02-22T22:26:45+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.6.0\n"
     
    5353msgstr ""
    5454
    55 #: admin/class-diller-loyalty-admin.php:220
     55#: admin/class-diller-loyalty-admin.php:221
    5656msgid "Settings saved"
    5757msgstr ""
     
    114114msgstr ""
    115115
    116 #: admin/partials/diller-loyalty-admin-settings.php:36
     116#: admin/partials/diller-loyalty-admin-settings.php:37
    117117msgid "Allow phone numbers from all countries"
    118118msgstr ""
    119119
    120 #: admin/partials/diller-loyalty-admin-settings.php:37
     120#: admin/partials/diller-loyalty-admin-settings.php:38
    121121msgid "Allow phone numbers from all countries, except for…"
    122122msgstr ""
    123123
    124 #: admin/partials/diller-loyalty-admin-settings.php:38
     124#: admin/partials/diller-loyalty-admin-settings.php:39
    125125msgid "Allow phone numbers from specific countries"
    126126msgstr ""
    127127
    128 #: admin/partials/diller-loyalty-admin-settings.php:46
     128#: admin/partials/diller-loyalty-admin-settings.php:47
    129129msgid "Phone"
    130130msgstr ""
    131131
    132 #: admin/partials/diller-loyalty-admin-settings.php:54
     132#: admin/partials/diller-loyalty-admin-settings.php:55
    133133msgid "Phone lookup - 1881.no"
    134134msgstr ""
    135135
    136 #: admin/partials/diller-loyalty-admin-settings.php:58
    137 #: admin/partials/diller-loyalty-admin-settings.php:75
    138 #: admin/partials/diller-loyalty-admin-settings.php:167
     136#: admin/partials/diller-loyalty-admin-settings.php:59
     137#: admin/partials/diller-loyalty-admin-settings.php:76
     138#: admin/partials/diller-loyalty-admin-settings.php:161
    139139msgid "Enable"
    140140msgstr ""
    141141
    142 #: admin/partials/diller-loyalty-admin-settings.php:59
     142#: admin/partials/diller-loyalty-admin-settings.php:60
    143143msgid "If checked, Diller will try to fetch name and address automatically from 1881.no, by using the phone number."
    144144msgstr ""
    145145
    146 #: admin/partials/diller-loyalty-admin-settings.php:63
     146#: admin/partials/diller-loyalty-admin-settings.php:64
    147147msgid "Default phone country code"
    148148msgstr ""
    149149
    150 #: admin/partials/diller-loyalty-admin-settings.php:70
     150#: admin/partials/diller-loyalty-admin-settings.php:71
    151151msgid "Enhanced phone field"
    152152msgstr ""
    153153
    154 #: admin/partials/diller-loyalty-admin-settings.php:76
     154#: admin/partials/diller-loyalty-admin-settings.php:77
    155155msgid "If checked, form displays an enhanced phone input field, with dropdown to pick country codes and validate phone numbers"
    156156msgstr ""
    157157
    158 #: admin/partials/diller-loyalty-admin-settings.php:80
     158#: admin/partials/diller-loyalty-admin-settings.php:81
    159159msgid "Phone numbers allowed"
    160160msgstr ""
    161161
    162 #: admin/partials/diller-loyalty-admin-settings.php:87
     162#: admin/partials/diller-loyalty-admin-settings.php:88
    163163msgid "This option lets you define countries for which phone numbers are allowed or not."
    164164msgstr ""
    165165
    166 #: admin/partials/diller-loyalty-admin-settings.php:91
     166#: admin/partials/diller-loyalty-admin-settings.php:92
    167167msgid "Countries"
    168168msgstr ""
    169169
    170 #: admin/partials/diller-loyalty-admin-settings.php:102
     170#: admin/partials/diller-loyalty-admin-settings.php:103
    171171msgid "Preferred countries"
    172172msgstr ""
    173173
    174 #: admin/partials/diller-loyalty-admin-settings.php:109
     174#: admin/partials/diller-loyalty-admin-settings.php:110
    175175msgid "Choose one or more countries, to display on the top of the list"
    176176msgstr ""
    177177
    178 #: admin/partials/diller-loyalty-admin-settings.php:117
     178#: admin/partials/diller-loyalty-admin-settings.php:118
    179179msgid "Formats"
    180180msgstr ""
    181181
    182 #: admin/partials/diller-loyalty-admin-settings.php:119
     182#: admin/partials/diller-loyalty-admin-settings.php:120
    183183msgid "Configure date formats, etc"
    184184msgstr ""
    185185
    186 #: admin/partials/diller-loyalty-admin-settings.php:124
     186#: admin/partials/diller-loyalty-admin-settings.php:125
    187187msgid "Default date placeholder"
    188188msgstr ""
    189189
    190190#. translators: 1: new line break
    191 #: admin/partials/diller-loyalty-admin-settings.php:130
     191#: admin/partials/diller-loyalty-admin-settings.php:131
    192192msgid "The default placeholder for date input fields to provide a hint on how to type the date.%1$sEg. Norway: dd.mm.åååå, Sweden: åååå-mm-dd, UK: dd/mm/yyyy, US: mm/dd/yyyyetc."
    193193msgstr ""
    194194
    195 #: admin/partials/diller-loyalty-admin-settings.php:148
     195#: admin/partials/diller-loyalty-admin-settings.php:149
    196196msgid "My Account"
    197197msgstr ""
    198198
    199 #: admin/partials/diller-loyalty-admin-settings.php:155
     199#: admin/partials/diller-loyalty-admin-settings.php:157
     200msgid "Enable stamps usage"
     201msgstr ""
     202
     203#: admin/partials/diller-loyalty-admin-settings.php:162
     204msgid "If checked, Stamps feature will be available for this store."
     205msgstr ""
     206
     207#: admin/partials/diller-loyalty-admin-settings.php:170
     208msgid "Other settings"
     209msgstr ""
     210
     211#: admin/partials/diller-loyalty-admin-settings.php:177
    200212msgid "Minimum age for enrollment"
    201213msgstr ""
    202214
    203 #: admin/partials/diller-loyalty-admin-settings.php:158
     215#: admin/partials/diller-loyalty-admin-settings.php:180
    204216msgid "The minimum age allowed, for enrolling the Loyalty Program"
    205217msgstr ""
    206218
    207 #: admin/partials/diller-loyalty-admin-settings.php:163
    208 msgid "Enable stamps usage"
    209 msgstr ""
    210 
    211 #: admin/partials/diller-loyalty-admin-settings.php:168
    212 msgid "If checked, Stamps feature will be available for this store."
    213 msgstr ""
    214 
    215 #: admin/partials/diller-loyalty-admin-settings.php:176
     219#: admin/partials/diller-loyalty-admin-settings.php:185
     220msgid "Display \"Join Loyalty Program\" checkboxes"
     221msgstr ""
     222
     223#: admin/partials/diller-loyalty-admin-settings.php:190
     224msgid "After billing details"
     225msgstr ""
     226
     227#: admin/partials/diller-loyalty-admin-settings.php:191
     228msgid "Display checkboxes for joining the Loyalty Program right after the billing fields, at checkout. This is the default setting."
     229msgstr ""
     230
     231#: admin/partials/diller-loyalty-admin-settings.php:196
     232msgid "Before terms & conditions"
     233msgstr ""
     234
     235#: admin/partials/diller-loyalty-admin-settings.php:197
     236msgid "Display checkboxes for joining the Loyalty Program right before the terms and conditions checkbox field, at checkout."
     237msgstr ""
     238
     239#: admin/partials/diller-loyalty-admin-settings.php:206
    216240msgid "Save Settings"
    217241msgstr ""
    218242
    219 #: diller-loyalty.php:134
     243#: diller-loyalty.php:133
    220244msgid "Settings"
    221245msgstr ""
     
    271295#: includes/class-diller-loyalty-woocommerce.php:44
    272296#: includes/class-diller-loyalty-woocommerce.php:145
    273 #: includes/class-diller-loyalty-woocommerce.php:681
    274 #: includes/class-diller-loyalty-woocommerce.php:962
    275 #: includes/class-diller-loyalty-woocommerce.php:1040
    276 #: includes/class-diller-loyalty-woocommerce.php:1058
     297#: includes/class-diller-loyalty-woocommerce.php:680
     298#: includes/class-diller-loyalty-woocommerce.php:963
     299#: includes/class-diller-loyalty-woocommerce.php:1041
     300#: includes/class-diller-loyalty-woocommerce.php:1059
    277301#: includes/forms/class-diller-wc-enrollment-form.php:45
    278302msgid "Loyalty Program"
     
    299323#: includes/class-diller-loyalty-woocommerce.php:438
    300324#: includes/class-diller-loyalty-woocommerce.php:506
    301 #: includes/class-diller-loyalty-woocommerce.php:686
    302 #: includes/class-diller-loyalty-woocommerce.php:725
     325#: includes/class-diller-loyalty-woocommerce.php:685
     326#: includes/class-diller-loyalty-woocommerce.php:724
    303327msgid "points"
    304328msgstr ""
     
    470494msgstr ""
    471495
    472 #: includes/class-diller-loyalty-woocommerce.php:685
    473 #: includes/class-diller-loyalty-woocommerce.php:707
    474 #: includes/class-diller-loyalty-woocommerce.php:742
     496#: includes/class-diller-loyalty-woocommerce.php:684
     497#: includes/class-diller-loyalty-woocommerce.php:706
     498#: includes/class-diller-loyalty-woocommerce.php:734
    475499#: includes/forms/class-diller-refer-friend-form.php:109
    476500msgid "Points earned"
     
    478502
    479503#. translators: 1: link to Terms & Conditions URL, 2: closing url
    480 #: includes/class-diller-loyalty-woocommerce.php:1044
     504#: includes/class-diller-loyalty-woocommerce.php:1045
    481505msgid "You have unsubscribed the Loyalty Program. To enroll again and enjoy the benefits, please %1$sclick here%2$s"
    482506msgstr ""
    483507
    484 #: includes/class-diller-loyalty.php:848
     508#: includes/class-diller-loyalty.php:854
    485509msgid "Join Loyalty Program"
    486510msgstr ""
Note: See TracChangeset for help on using the changeset viewer.