Plugin Directory

Changeset 3403157


Ignore:
Timestamp:
11/26/2025 09:08:45 AM (4 months ago)
Author:
shipo
Message:

Checkout page city name and locker functions working

Location:
shipo/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • shipo/trunk/assets/js/checkout.js

    r3395057 r3403157  
    9191        var coordAddress = $(this).data('coord');
    9292        var cityId = $(this).data('city-id');
     93        var cityName = $(this).text();
    9394        $('#' + prefix + '_city').val(selectedAddress);
    9495        $('#' + elementId).hide();
     
    9899        $('input[name="' + elementId.split('_')[0] + '_postcode"]').val('');
    99100
    100         toggleViewSector(prefix, cityId);
     101        toggleViewSector(prefix, cityName);
    101102
    102103        $(document.body).trigger('update_checkout');
     
    104105
    105106    $(document).ready(function() {
    106         var billing = $('#billing_shipo_city_id').val();
    107         var shipping = $('#shipping_shipo_city_id').val();
     107        var billing = $('#billing_shipo_city').text();
     108        var shipping = $('#shipping_shipo_city').text();
    108109        toggleViewSector('billing_shipo', billing);
    109110        toggleViewSector('shipping_shipo', shipping);
     
    225226    })
    226227   
    227     function prepareMapButton(el) {
     228    function prepareMapButton(el) {       
    228229        var recipientType = el.data('recipient-type');
     230        var recipientSlug = el.data('recipient-slug');
     231        var recipientCoord = $('#ship-to-different-address-checkbox').is(':checked') ? $('#shipping_shipo_coord').val() : $('input[name="billing_shipo_coord"]').val();
    229232
    230233        clearMapElements();
    231234
    232         if(recipientType == 'locker') {
     235        if(recipientType == 'locker' && recipientSlug && recipientCoord) {
    233236            var lockerWrapper = $('<div>', {
    234237                id: 'shipo-locker-wrapper'
    235238            });
    236239            lockerWrapper.insertBefore('#payment');
    237 
    238240            var button = $('<button>', {
    239241                id: 'show-shipo-map',
    240242                class: 'button alt wp-element-button',
    241243                type: 'button',
    242                 'data-map-type': el.data('recipient-type'),
    243                 'data-map-slug': el.data('recipient-slug'),
    244                 'data-map-coord': el.data('recipient-coord'),
     244                'data-map-type': recipientType,
     245                'data-map-slug': recipientSlug,
     246                'data-map-coord': recipientCoord,
    245247                text: 'Selecteaza un locker'
    246248            });
    247 
    248249            $('#shipo-locker-wrapper').html(button);
    249             $('#shipo-locker-wrapper').append('<div id="shipo-' + el.data('recipient-slug') + '_' + el.data('recipient-type') + '-data" class="shipo-locker-data"></div>');
    250 
     250            $('#shipo-locker-wrapper').append('<div id="shipo-' + recipientSlug + '_' + recipientType + '-data" class="shipo-locker-data"></div>');
    251251            button.on('click', function() {
    252252                generateMap($(this));
     
    263263    }
    264264
    265     function toggleViewSector(prefix, cityId) {
    266         if(cityId == 11) {
     265    function toggleViewSector(prefix, cityName) {
     266        if (cityName.toString().toLowerCase().includes('bucuresti')) {
    267267            $('#' + prefix + '_city_sector_field').removeClass('shipo-hidden');
    268268        }
  • shipo/trunk/assets/js/map.js

    r3395057 r3403157  
    3939 */
    4040window.addEventListener('message', function(event) {
    41     if (event.origin !== "https://api.shipo.ro") return;
     41    var allowedOrigins = ["https://api.shipo.ro", "https://apitest.shipo.ro"];
     42    if (allowedOrigins.indexOf(event.origin) === -1) return;
    4243
    4344    var action = event.data.action;
     
    9697
    9798    if(jQuery('#show-shipo-map').length) {
    98         html += '<input type="hidden" name="shipo_locker" value="' + encodeURIComponent(JSON.stringify(marker_data)) + '" />';
     99        // Create the element properly using jQuery
     100        var input = jQuery('<input>', {
     101            type: 'hidden',
     102            name: 'shipo_locker',
     103            value: JSON.stringify(marker_data)
     104        });
     105
     106        // Append to your container
     107        html += input.prop('outerHTML');
    99108    }
    100109    else {
  • shipo/trunk/includes/class-shipo-admin-order.php

    r3395057 r3403157  
    6969        echo '<div class="shipo-shipping-details">';
    7070       
    71         echo '<h4>' . esc_html__('Adresa de livrare', 'shipo') . '</h4>';
     71        echo '<h4>' . esc_html__('Delivery Address', 'shipo') . '</h4>';
    7272        echo '<p><strong>' . esc_html__('Oraș:', 'shipo') . '</strong> ' . esc_html($city) . '</p>';
    7373        echo '<p><strong>' . esc_html__('Stradă:', 'shipo') . '</strong> ' . esc_html($street) . '</p>';
  • shipo/trunk/includes/class-shipo-checkout.php

    r3395057 r3403157  
    166166       
    167167        if (!empty($shipping_method_id) && isset($_POST['shipo_locker'])) {
    168             $locker_data = sanitize_textarea_field(wp_unslash($_POST['shipo_locker']));
     168            $locker_data = sanitize_text_field(wp_unslash($_POST['shipo_locker']));
     169
    169170            if (!empty($locker_data)) {
    170                 // Decode the JSON data
     171                // Decode the JSON data§
     172                $order->update_meta_data('_shipo_locker_data_json', json_encode(urldecode($locker_data)));
     173
    171174                $locker_obj = json_decode(urldecode($locker_data), true);
    172175                if ($locker_obj && is_array($locker_obj)) {
     
    201204                        isset($locker_details['system_id']) ? sanitize_text_field($locker_details['system_id']) : ''
    202205                    );
    203                    
    204                     $order->update_meta_data('_shipo_locker_data', $locker_data);
    205206                                       
    206207                    // Update the shipping address with the locker's address
  • shipo/trunk/languages/shipo-en_US.po

    r3395057 r3403157  
    1717msgid "Save Settings"
    1818msgstr "Save Settings"
     19
     20msgid "View more informations on"
     21msgstr "View more informations on"
  • shipo/trunk/languages/shipo-ro_RO.po

    r3395057 r3403157  
    1717msgid "Save Settings"
    1818msgstr "Salvează setările"
     19
     20msgid "Delivery Address"
     21msgstr "Adresa de livrare"
     22
     23msgid "Settings"
     24msgstr "Setări"
     25
     26msgid "View more informations on"
     27msgstr "Vezi mai multe informații pe"
  • shipo/trunk/languages/shipo.pot

    r3395057 r3403157  
    1717msgid "Save Settings"
    1818msgstr ""
     19
     20msgid "View more informations on"
     21msgstr ""
  • shipo/trunk/readme.txt

    r3395049 r3403157  
    44Requires at least: 4.7
    55Tested up to: 6.8
    6 Stable tag: 1.0
     6Stable tag: 1.1
    77Requires PHP: 8.0
    88License: GPLv2 or later
     
    3737Requires WooCommerce to working.
    3838
    39 = 1.0 (BETA) =
     39= 1.0 =
     40
     41First version of the plugin, it connects to the Shipo API to obtain shipping rates and allows customers to select shipping locations from API-populated lists and view real-time rates during checkout.
     42
     43= 1.1 =
     44
     45Fix city name selector from checkout page
     46Fix locker missing coordinates message
     47Fix locker data selector
  • shipo/trunk/shipo.php

    r3395057 r3403157  
    33 * Plugin Name: Shipo
    44 * Description: Shipo connects your webshop with top couriers instantly, no contract. Ship to address or locker, pay only when parcels are delivered.
    5  * Version: 1.0
     5 * Version: 1.1
    66 * Author: Shipo
    77 * Author URI: https://shipo.ro
     
    1616
    1717// Define plugin constants
    18 define('SHIPO_PLUGIN_VERSION', '1.0.0');
     18define('SHIPO_PLUGIN_VERSION', '1.1.0');
    1919define('SHIPO_PLUGIN_DIR', plugin_dir_path(__FILE__));
    2020define('SHIPO_PLUGIN_URL', plugin_dir_url(__FILE__));
Note: See TracChangeset for help on using the changeset viewer.