Untitled
unknown
plain_text
a year ago
3.5 kB
23
Indexable
function marketking_refund_button( $order ) { if ( ! $order || ! $order->has_status( apply_filters( 'marketking_valid_statuses_refunds', array( 'completed','processing','on-hold' ) ) ) || ! is_user_logged_in() ) { return; } // if is checkout / order received, do not show refund button if ( is_checkout() && !empty( is_wc_endpoint_url('order-received') ) ) { return; } // check time limit for order $days_limit = get_option('marketking_refund_time_limit_setting', 90); if (empty($days_limit)){ $days_limit = 90; } $order_time = strtotime(explode('T',$order->get_date_created())[0]); $current_time = time(); $ordervalue = $order->get_total(); // if vendor has refunds enabled or is admin $vendor_id = marketking()->get_order_vendor($order->get_id()); $vendoruser = new WP_User($vendor_id); if(marketking()->vendor_has_panel('refunds', $vendor_id) || $vendoruser->has_cap( 'manage_woocommerce' ) ){ if (floatval($order_time+(86400*$days_limit)) > $current_time){ // check if refund already $refund_requests = get_posts( array( 'post_type' => 'marketking_refund', 'numberposts' => -1, 'post_status' => 'any', 'fields' => 'ids', 'meta_key' => 'order_id', 'meta_value' => $order->get_id(), )); if (apply_filters('marketking_allow_refund_request_order', true, $order->get_id())){ if (empty($refund_requests)){ ?> <p class="order-again"> <a class="button" id="marketking_request_refund_initial_button"><?php esc_html_e( 'Request refund', 'marketking' ); ?></a> </p> <div id="marketking_refund_request_panel"> <input type="hidden" id="marketking_refund_order_id" value="<?php echo esc_attr($order->get_id());?>"> <label class="marketking_refund_label" for="marketking_refund_request_value"><?php esc_html_e('Request value:','marketking');?></label> <select name="marketking_refund_request_value" id="marketking_refund_request_value"> <option value="full"><?php esc_html_e('Full Order Refund', 'marketking');?></option> <option value="partial"><?php esc_html_e('Partial Refund', 'marketking');?></option> </select> <div id="marketking_refund_partial_container"> <label class="marketking_refund_label" for="marketking_refund_partial_amount"><?php esc_html_e('Partial refund value:','marketking');?></label> <input type="number" name="marketking_refund_partial_amount" id="marketking_refund_partial_amount" step="0.01" max="<?php echo esc_attr($ordervalue); ?>"> </div> <label class="marketking_refund_label" for="marketking_refund_request_reason"><?php esc_html_e('Reason for request:','marketking');?></label> <textarea id="marketking_refund_request_reason"></textarea> <button type="button" id="marketking_refund_request_send" class="button"> <?php echo apply_filters('marketking_refund_request_send_text', esc_html__('Send refund request','marketking')); ?> </button> </div> <?php } else { $refund_endpoint_url = wc_get_endpoint_url(get_option('marketking_refund_endpoint_setting','refund')); foreach ($refund_requests as $request){ esc_html_e('A refund request has been submitted for this order.','marketking'); echo ' <a href="'.esc_attr($refund_endpoint_url).'?id='.esc_attr($request).'">'.esc_html__('Click to View Request.','marketking').'</a>'; echo '<br><br>'; } } } } } }
Editor is loading...