HEX
Server: nginx/1.27.1
System: Linux in-4 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User: ilikadirect (1186)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v6964/gopalak/public_html/wp-content/plugins/wc-cancel-order/assets/js/front.js
function wc_cancel_get_param(name,url){
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

function get_wc_cancel_reason_text(){
    var html = '';
    html = '<div class="wc-cancel-txt-main">';
    html+= '<div class="wc-cancel-reasons-head">'+wc_cancel.wcc_additional+'</div>';
    html+= '<div class="wc-cancel-reason-txt"><textarea name="wc-cancel-additional-text" rows="5"></textarea></div>';
    html+= '</div>';
    return html;
}

function get_wc_cancel_note(note){
    return note.trim()!=='' ? '<div class="wc-cancel-note">'+note+'</div>' : '';
}

jQuery(function($){

    $.Wc_Cancel_Order = function(opts) {
        opts = $.extend(
            true,
            {
                title: "Request Order Cancellation",
                note : "",
                sub_title: "",
                message: [],
                order_id: "",
                confirm_btn: "Confirm Cancellation",
                close_btn: "Close",
                security : "",
                callback: $.noop
            },
            opts || {}
        );

        $.fancybox.open({
            type: "html",
            src:
                '<div class="wc-cancel-main"><form method="post" id="wc-cancel-form">' +
                '<div class="wc-cancel-head">' + opts.title + '</div>' +
                '<div class="wc-cancel-order-num">' + opts.sub_title + '</div>' +
                 get_wc_cancel_note(opts.note) +
                '<div class="wc-cancel-notice"></div>' +
                '<div class="wc-cancel-reason-text">' + get_wc_cancel_reason_text() + '</div>' +
                '<p class="wc-cancel-buttons">' +
                '<button type="button" data-value="0" data-fancybox-close class="btn btn-primary wc-cancel-close">' + opts.close_btn + "</button>" +
                '<button type="button" data-key="'+opts.security+'" data-value="1" data-order-id="'+opts.order_id+'" class="btn btn-primary wc-cancel-confirm">' + opts.confirm_btn + "</button>" +
                '</p>' +
                '<p class="wcc-load"></p>'+
                '</form></div>',
            opts: {
                animationDuration: 350,
                animationEffect: "material",
                modal: true,
                baseTpl:
                    '<div class="fancybox-container fc-container" role="dialog" tabindex="-1">' +
                    '<div class="fancybox-bg"></div>' +
                    '<div class="fancybox-inner">' +
                    '<div class="fancybox-stage"></div>' +
                    "</div>" +
                    "</div>",
                afterShow: function(instance,current, e){
                    $(".wc-cancel-main").on("click","button.wc-cancel-confirm",function(e){
                        var button = e ? e.target || e.currentTarget : null;
                        var value = button ? $(button).data("value") : 0;
                        var key = button ? $(button).data("key") : '';
                        opts.callback(value,key);
                    });
                }
            }
        });
    };

    $(document).on('click','a.wc-cancel-order',function(e){
        e.stopPropagation();
        e.preventDefault();
        var cancel_url = $(this).attr('href');
        var order_id = wc_cancel_get_param('order_id',cancel_url),
            order_num = wc_cancel_get_param('order_num',cancel_url),
            order_key = wc_cancel_get_param('key',window.location.href),
            cancel_reason = '',
            cancel_reason_text = '';
        $.Wc_Cancel_Order({
            order_id:order_id,
            title: wc_cancel.wcc_head_text,
            sub_title: wc_cancel.wcc_order_text+order_num,
            note: wc_cancel.wcc_note,
            text_input: wc_cancel.wcc_text_input,
            confirm_btn: wc_cancel.wcc_confirm,
            close_btn: wc_cancel.wcc_close,
            security: wc_cancel.wcc_nonce,
            callback: function(value,key){
                if(value){

                    if($('textarea[name=wc-cancel-additional-text]','#wc-cancel-form').length){
                        if(wc_cancel.wcc_text_required && $('textarea[name=wc-cancel-additional-text]','#wc-cancel-form').val().trim()===''){
                            $(document).find('.wc-cancel-notice').html('<span class="wcc_error">'+wc_cancel.wcc_txt_error+'</span>');
                            return false;
                        }
                        else
                        {
                            cancel_reason_text = $('textarea[name=wc-cancel-additional-text]','#wc-cancel-form').val();
                        }
                    }

                    $(document).find('.wcc-load').html('<div class="fancybox-loading"></div>');
                    parent.jQuery.fancybox.getInstance().update();
                    $("button.wc-cancel-confirm").prop('disabled',true);

                    $.ajax({
                        type	: "POST",
                        cache	: false,
                        url     : cancel_url,
                        dataType : 'json',
                        data: {
                            'order_id' : order_id,
                            'reason' : cancel_reason,
                            'additional_details' : cancel_reason_text,
                            'order_key' : order_key,
                            '_wpnonce' : key,
                            'wcc_ajax' : true
                        },
                        success: function(data){
                            if(data.res){
                                if(data.hasOwnProperty("fragments")){
                                    $.each(data.fragments, function(key,value){
                                        $(key).replaceWith(value);
                                    });
                                }
                            }
                            setTimeout(function(){
                                window.location.reload();
                                },1500);

                        }
                    });
                }
            },
        });
    });
});