Plugin Directory

Changeset 3406858


Ignore:
Timestamp:
12/01/2025 01:39:00 PM (4 months ago)
Author:
datalogics
Message:

2.6.56

Location:
datalogics
Files:
92 added
9 edited

Legend:

Unmodified
Added
Removed
  • datalogics/assets/readme-he_IL.txt

    r3385886 r3406858  
    44Requires at least: 5.0
    55Tested up to: 6.8
    6 Stable tag: 2.6.55
     6Stable tag: 2.6.56
    77Requires PHP: 7.4
    88License: GPLv2 or later
  • datalogics/trunk/README.txt

    r3385886 r3406858  
    44Requires at least: 5.0
    55Tested up to: 6.8
    6 Stable tag: 2.6.55
     6Stable tag: 2.6.56
    77Requires PHP: 7.4
    88License: GPLv2 or later
  • datalogics/trunk/actions.php

    r3353425 r3406858  
    608608
    609609
     610
     611add_action( 'wp_ajax_datalogics_log_print', 'datalogics_log_print' );
     612
     613function datalogics_log_print(){
     614
     615    $nonce = '';
     616    if (isset($_POST['nonce'])) {
     617        $nonce = sanitize_text_field(wp_unslash($_POST['nonce']));
     618    }
     619    if (  !wp_verify_nonce($nonce, 'datalogics_nonce') ) {
     620        wp_send_json_error('Invalid nonce.');
     621        wp_die();
     622    }
     623
     624    $order_id = $_POST['order_id'];
     625
     626    $datalogics_shipping = get_post_meta( $order_id, 'datalogics_shipping', true);               
     627    if ($datalogics_shipping=='')
     628    {
     629        $datalogics_shipping = [];
     630    } else {
     631        if (is_string($datalogics_shipping)) { 
     632            $datalogics_shipping = json_decode($datalogics_shipping,true);
     633        }
     634    }   
     635   
     636    $datalogics_shipping['printed'] = true;
     637    update_post_meta( $order_id, 'datalogics_shipping', json_encode($datalogics_shipping) );
     638   
     639
     640}
    610641
    611642
  • datalogics/trunk/css/style_admin.css

    r3291430 r3406858  
    409409    background-image:url(../images/print-label-black.svg);     
    410410}
     411.datalogics-dso-row-btn.print.printed{ 
     412    border-color: rgb(0 115 0);
     413    background-color: #00a400;
     414}
     415.datalogics-dso-row-btn.print.printed:before { 
     416    background-image:url(../images/print-label.svg);   
     417}
    411418.datalogics-dso-row-btn.status:before {
    412419    background-image:url(../images/pointer-icon-dark.svg); 
  • datalogics/trunk/data.php

    r3385886 r3406858  
    179179
    180180
    181 
    182 
    183181    add_filter('woocommerce_account_menu_items', 'datalogics_shipment_track_log_history_link', 40);
    184     function datalogics_shipment_track_log_history_link($menu_links)
    185     {
    186 
     182    function datalogics_shipment_track_log_history_link($menu_links) {
    187183        $menu_links = array_slice($menu_links, 0, 5, true)
    188184            + array('d-shipment-tracking' => __('Track your shipment', 'datalogics'))
     
    190186
    191187        return $menu_links;
    192 
    193     }
    194 
    195     // 2. Register endpoint
     188    }
     189
     190
    196191    add_action('init', 'datalogics_shipment_track_add_endpoint');
    197192    function datalogics_shipment_track_add_endpoint() {
     
    199194    }
    200195
    201     // 3. Endpoint content
    202196    add_action('woocommerce_account_d-shipment-tracking_endpoint', 'datalogics_shipment_tracking_my_account_endpoint_content');
    203197    function datalogics_shipment_tracking_my_account_endpoint_content() {
     
    209203    }
    210204
    211 
     205       
    212206    add_action('init', function () {
    213207        add_rewrite_rule('^d-shipment-tracking/?$', 'index.php?d_shipment_tracking=1', 'top');
     
    215209    });
    216210
    217     // Template handler for public tracking
    218211    add_action('template_include', function ($template) {
    219212        if (get_query_var('d_shipment_tracking')) {
    220             // Load your custom template or just use page.php
    221213            return get_page_template();
    222214        }
     
    224216    });
    225217
    226     // Inject content for public tracking
    227218    add_filter('the_content', function ($content) {
    228        
    229         if (get_query_var('d_shipment_tracking')) {
     219
     220        $is_public  = get_query_var('d_shipment_tracking');
     221        $is_account = get_query_var('d-shipment-tracking');
     222
     223        if ($is_public || $is_account) {
    230224            remove_filter('the_content', __FUNCTION__);
    231225
    232226            ob_start();
     227
    233228            $tracking = sanitize_text_field($_GET['tracking'] ?? '');
    234229            $order_id = intval($_GET['order'] ?? 0);
    235230
    236231            if (function_exists('datalogics_shipping_tracker')) {
    237                 echo datalogics_shipping_tracker($tracking, $order_id);
     232                echo datalogics_shipping_tracker();
    238233            } else {
    239234                echo '<p>No tracking data available.</p>';
     
    245240        return $content;
    246241    });
    247 
    248 
    249242
    250243
  • datalogics/trunk/datalogics.php

    r3385886 r3406858  
    1010    License: GPLv2 or later
    1111    License URI: https://www.gnu.org/licenses/gpl-2.0.html
    12     Version: 2.6.55
     12    Version: 2.6.56
    1313*/
    1414
  • datalogics/trunk/js/datalogics_shipping.js

    r3385886 r3406858  
    231231
    232232                        let city = ui.item.value;
    233                         let nlist_el = $("#datalogics_n_code_select");
     233                        //let nlist_el = $("#datalogics_n_code_select");
     234                        let nlist_el = $('[name="datalogics_n_code"]')
    234235
    235236                        nlist_el.find(":not([data-city='"+city+"'])").hide(0);
     
    255256            let el = $(this).find("option:selected");
    256257            let city = el.data('city');
    257             let nlist_el = $("#datalogics_n_code_select");
     258            //let nlist_el = $("#datalogics_n_code_select");
     259            let nlist_el = $('[name="datalogics_n_code"]')
    258260
    259261            //console.log('city',city )
     
    274276    }
    275277
    276     $(document).on("change","#datalogics_n_code_select",function(){
     278    //$(document).on("change","#datalogics_n_code_select",function(){
     279    $(document).on("change","[name='datalogics_n_code']",function(){
    277280
    278281        let el = $(this).find("option:selected");
  • datalogics/trunk/js/scripts.js

    r3291430 r3406858  
    6969
    7070
    71     $(".datalogics-bulk.print").on("click",function(){
     71    $(".datalogics-bulk.print").on("click",async function(){
    7272        let selectedList = [];
    7373        $(".type-shop_order").find(".check-column input[name='post[]']:checked,.check-column input[name='id[]']:checked").each(function() {
     
    8181            printPopup(href)
    8282
     83            for (let i = 0; i < selectedList.length; i++) {
     84                await logPrint(selectedList[i]).then(()=>{
     85                    $(".datalogics-orders-colum[data-order-id='"+selectedList[i]+"'] .print").addClass("printed");
     86                }).catch(()=>{});;
     87            }
     88
     89           
     90
    8391        } else {
    8492
     
    247255    })
    248256
    249     $(".datalogics-orders-colum").on("click",".datalogics-dso-row-btn.print",function(){
     257    $(".datalogics-orders-colum").on("click",".datalogics-dso-row-btn.print",async function(){
    250258
    251259        var href = $(this).data("label")
     
    254262        printPopup(href,token);
    255263
     264        await logPrint($(this).closest(".datalogics-orders-colum").data("order-id")).then(()=>{
     265            $(this).addClass("printed");
     266        }).catch(()=>{});
     267
    256268
    257269    })
    258270
    259     $(document).on("click",".datalogics_submit.print_label",function(){
     271    $(document).on("click",".datalogics_submit.print_label",async function(){
    260272
    261273        var href = $(this).data("label")
    262274        var token = $(this).data("token")
    263275        printPopup(href,token);
     276
     277        await logPrint($(this).closest(".datalogics-orders-colum").data("order-id")).then(()=>{
     278            $(this).addClass("printed");
     279        }).catch(()=>{});;
    264280
    265281    })
     
    594610    }
    595611
     612    function logPrint(order_id){
     613
     614        return new Promise((resolve, reject) => {
     615
     616            let data = {
     617                action : 'datalogics_log_print',
     618                order_id : order_id,
     619                nonce: datalogics_data.nonce,
     620            }
     621
     622            $.ajax(datalogics_data.ajax_url, {
     623                type: 'POST',  // http method
     624                data: data,  // data to submit
     625                success: function (data, status, xhr) {
     626                    var result = data;//JSON.parse(data.body)
     627                    resolve();
     628                },
     629                error: function (jqXhr, textStatus, errorMessage) {
     630                    console.log(textStatus);
     631                    reject();
     632                }
     633            });
     634
     635        });
     636
     637    }
     638
    596639
    597640
  • datalogics/trunk/orders.php

    r3353425 r3406858  
    431431                    </div>
    432432                    <div>                                     
    433                         <button type="button" class="datalogics-dso-row-btn print" data-label="">
     433                        <button type="button" class="datalogics-dso-row-btn print <?php if (isset($shipment['printed'])) { echo 'printed'; }?>" data-label="">
    434434                            <span><?php echo esc_html(__('Print Shipment', 'datalogics'))?></span>
    435435                        </button>
    436436                        <button type="button" class="datalogics-dso-row-btn status datalogics_open_iframe" data-order-id="<?php echo esc_html($order_data->ID)?>">
    437437                            <span><?php echo esc_html(__('Status Shipment', 'datalogics'))?></span>
    438                         </button>
     438                        </button>                       
     439                        <button type="button" class="datalogics-dso-row-btn edit datalogics_open_iframe">
     440                            <span><?php echo esc_html(__('Edit Shipment', 'datalogics'))?></span>
     441                        </button>
    439442                        <button type="button" class="datalogics-dso-row-btn cancel" data-tracking-number="">
    440443                            <span><?php echo esc_html(__('Cancel', 'datalogics'))?></span>
    441                         </button>
    442                         <button type="button" class="datalogics-dso-row-btn edit datalogics_open_iframe">
    443                             <span><?php echo esc_html(__('Edit Shipment', 'datalogics'))?></span>
    444444                        </button> 
    445445                        <button type="button" class="datalogics-dso-row-btn send">
     
    514514                            ?>
    515515                            <div>
     516                                <button type="button" class="datalogics-dso-row-btn print <?php if (isset($shipment['printed'])) { echo 'printed'; }?>" data-label="<?php echo ($shipment['label_url']!='') ? esc_html($shipment['label_url']) : '';?>">
     517                                    <span><?php echo esc_html(__('Print Shipment', 'datalogics'))?></span>
     518                                </button>
    516519                                <button type="button" class="datalogics-dso-row-btn status datalogics_open_iframe" data-order-id="<?php echo esc_html($order_data->ID)?>">
    517520                                    <span><?php echo esc_html(__('Status Shipment', 'datalogics'))?></span>
    518                                 </button> 
    519 
    520                                 <button type="button" class="datalogics-dso-row-btn print" data-label="<?php echo ($shipment['label_url']!='') ? esc_html($shipment['label_url']) : '';?>">
    521                                     <span><?php echo esc_html(__('Print Shipment', 'datalogics'))?></span>
    522                                 </button>                                   
    523                                    
    524                                 <button type="button" class="datalogics-dso-row-btn cancel" data-tracking-number="<?php echo esc_html($shipment['tracking_number'])?>">
    525                                     <span><?php echo esc_html(__('Cancel', 'datalogics'))?></span>
    526                                 </button>                                 
     521                                </button>
     522                                                   
    527523                                <button type="button" class="datalogics-dso-row-btn edit datalogics_open_iframe">
    528524                                    <span><?php echo esc_html(__('Edit Shipment', 'datalogics'))?></span>
    529525                                </button>
     526                                <button type="button" class="datalogics-dso-row-btn cancel" data-tracking-number="<?php echo esc_html($shipment['tracking_number'])?>">
     527                                    <span><?php echo esc_html(__('Cancel', 'datalogics'))?></span>
     528                                </button>   
    530529                            </div>
    531530                            <span class="datalogics-dso-row-method"><?php echo esc_html($shipping_method['name'])?></span>     
     
    739738                        <button type="button" class="datalogics-dso-row-btn status datalogics_open_iframe" data-order-id="<?php echo esc_html($post->ID)?>">
    740739                            <span><?php echo esc_html(__('Status Shipment', 'datalogics'))?></span>
    741                         </button>
    742                         <button type="button" class="datalogics-dso-row-btn cancel" data-tracking-number="">
    743                             <span><?php echo esc_html(__('Cancel', 'datalogics'))?></span>
    744                         </button>   
     740                        </button>                           
    745741                        <button type="button" class="datalogics-dso-row-btn send">
    746742                            <?php echo esc_html(__('Send Shipment', 'datalogics'))?>
     
    748744                        <button type="button" class="datalogics-dso-row-btn edit datalogics_open_iframe">
    749745                            <span><?php echo esc_html(__('Edit Shipment', 'datalogics'))?></span>
     746                        </button>
     747                        <button type="button" class="datalogics-dso-row-btn cancel" data-tracking-number="">
     748                            <span><?php echo esc_html(__('Cancel', 'datalogics'))?></span>
    750749                        </button>               
    751750                    </div>
     
    772771                            }
    773772                            ?>
    774                             <div>
     773                            <div>                                 
     774
     775                                <button type="button" class="datalogics-dso-row-btn print <?php if (isset($shipment['printed'])) { echo 'printed'; }?>" data-label="<?php echo ($shipment['label_url']!='') ? esc_html($shipment['label_url']) : '';?>">
     776                                    <span><?php echo esc_html(__('Print Shipment', 'datalogics'))?></span>
     777                                </button>
     778                               
    775779                                <button type="button" class="datalogics-dso-row-btn status datalogics_open_iframe" data-order-id="<?php echo esc_html($post->ID)?>">
    776780                                    <span><?php echo esc_html(__('Status Shipment', 'datalogics'))?></span>
    777                                 </button> 
    778 
    779                                 <button type="button" class="datalogics-dso-row-btn print" data-label="<?php echo ($shipment['label_url']!='') ? esc_html($shipment['label_url']) : '';?>">
    780                                     <span><?php echo esc_html(__('Print Shipment', 'datalogics'))?></span>
    781                                 </button>                                   
     781                                </button>
     782
     783                                <button type="button" class="datalogics-dso-row-btn edit datalogics_open_iframe">
     784                                    <span><?php echo esc_html(__('Edit Shipment', 'datalogics'))?></span>
     785                                </button>
    782786                                   
    783787                                <button type="button" class="datalogics-dso-row-btn cancel" data-tracking-number="<?php echo esc_html($shipment['tracking_number'])?>">
    784788                                    <span><?php echo esc_html(__('Cancel', 'datalogics'))?></span>
    785789                                </button>
    786                                 <button type="button" class="datalogics-dso-row-btn edit datalogics_open_iframe">
    787                                     <span><?php echo esc_html(__('Edit Shipment', 'datalogics'))?></span>
    788                                 </button>   
     790                                   
    789791                                                               
    790792                            </div>
Note: See TracChangeset for help on using the changeset viewer.