Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.122
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : agni-ajax-sidecart.js
"use strict";

jQuery(document).ready(function ($) {
  'use strict';

  $(document.body).on('wc_fragment_refresh', $.cart_contents_loader_show);

  $.cart_contents_loader_show = function () {
    $('.agni-sidecart__loader').addClass('active');
  };

  $.cart_contents_loader_hide = function () {
    $('.agni-sidecart__loader').removeClass('active');
  };

  $.cart_loader_show = function (adding_cart_text) {
    $('body').append('<div id="agni-ajax-sidecart-loader" class="agni-ajax-sidecart-loader">' + adding_cart_text + '</div>');
  };

  $.cart_loader_hide = function () {
    $('body').find('#agni-ajax-sidecart-loader').remove();
  };

  $.cart_show = function () {
    $('.agni-sidecart').addClass('active');
  };

  $.cart_hide = function () {
    $('.agni-sidecart').removeClass('active');
  };

  $.cart_toggle = function () {
    if ($('.agni-sidecart').hasClass('active')) {
      $.cart_hide();
    } else {
      $.cart_show();
    }
  };

  $.coupon_loading_show = function () {
    $('.agni-sidecart__coupon .coupon').append('<span class="agni-ajax-sidecart-loader-coupon">Adding Coupon</span>');
  };

  $.coupon_loading_hide = function () {
    $('.agni-sidecart__coupon .agni-ajax-sidecart-loader-coupon').remove();
  };

  $.coupon_toggle = function () {
    var $coupon = $('.agni-sidecart__coupon');

    if ($coupon.hasClass('active')) {
      $coupon.removeClass('active');
    } else {
      $coupon.addClass('active');
    }
  };

  $('.site-header-icons-cart__link').add($('.agni-shop-dock-cart__link:not(.has-custom-link)')).on('click', function (e) {
    if ($(this).parent().hasClass('no-sidecart')) {
      return null;
    }

    e.preventDefault();
    $.cart_toggle();
  });
  $('body').on('click', '.agni-sidecart__close , .agni-sidecart__overlay', function (e) {
    e.preventDefault();
    $.cart_hide();
  });
  $('body').on('click', '.agni-sidecart__coupon-text', function () {
    $.coupon_toggle();
  });

  $.add_to_cart = function (atc_btn, product_data) {
    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
    var buynow = options['buynow'] ? options['buynow'] : false;
    var update_qty = true;
    atc_btn.addClass('loading');
    var product_id = '';

    if (Array.isArray(product_data)) {
      product_data.forEach(function (data) {
        if (data.name == "product_id") {
          product_id = data.value;
        }
      });
    } else {
      product_id = product_data['product_id'];
    }

    $(document.body).trigger('adding_to_cart', [atc_btn, product_data]);
    $.ajax({
      url: cartify_ajax_sidecart.ajaxurl_wc.toString().replace('%%endpoint%%', 'agni_ajax_add_to_cart'),
      type: 'POST',
      data: product_data,
      dataType: 'json',
      beforeSend: function beforeSend() {},
      complete: function complete() {},
      success: function success(response) {
        if (!response) {
          return;
        }

        if (response.fragments) {
          $(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, atc_btn]);

          if ($('.agni-update-cart').length != 0) {
            $('.agni-update-cart').each(function () {
              if ($(this).data('product_id') == product_id) {
                $(this).addClass('active');
              }
            });
          }

          if (buynow) {
            window.location.href = cartify_ajax_sidecart.checkout_url;
          }
        } else {
          console.log(response);
        }

        if (!buynow) {
          $.cart_loader_hide();
          $.cart_contents_loader_hide();
          $.cart_show();
        }
      }
    });
  };

  $.update_cart = function (cart_key, new_qty) {
    $.ajax({
      url: cartify_ajax_sidecart.ajaxurl_wc.toString().replace('%%endpoint%%', 'agni_ajax_update_cart'),
      type: 'POST',
      data: {
        security: cartify_ajax_sidecart.security,
        cart_key: cart_key,
        new_qty: new_qty
      },
      dataType: 'json',
      success: function success(response) {
        if (!response) {
          return;
        }

        if (response.fragments) {
          $.each(response.fragments, function (key, value) {
            $(key).replaceWith(value);
            $(key).stop(true).css('opacity', '1').unblock();
          });
          $(document.body).trigger('wc_fragments_loaded');
        } else {
          console.log(response);
        }
      },
      complete: function complete() {
        $.cart_contents_loader_hide();
      }
    });
  };

  $.apply_coupon = function ($form) {
    var $text_field = $form.find('#coupon_code');
    var coupon_code = $text_field.val();
    var data = {
      security: cartify_ajax_sidecart.security,
      coupon_code: coupon_code
    };
    $.ajax({
      type: 'POST',
      url: cartify_ajax_sidecart.ajaxurl_wc.toString().replace('%%endpoint%%', 'agni_ajax_apply_coupon'),
      data: data,
      dataType: 'json',
      success: function success(response) {
        if (!response.success) {
          var footer_div = $('.agni-sidecart__footer .agni-sidecart__coupon-text');

          if (!footer_div.children('.woocommerce-notices-wrapper').length) {
            footer_div.prepend("<div class='woocommerce-notices-wrapper'></div>");
          }

          footer_div.children('.woocommerce-notices-wrapper').html('<div class="woocommerce-error" role="alert">' + response.data + '</div>');
          return;
        }

        $(document.body).trigger('applied_coupon', [coupon_code]);
        $.ajax({
          type: 'POST',
          url: cartify_ajax_sidecart.ajaxurl_wc.toString().replace('%%endpoint%%', 'agni_ajax_get_cart_totals'),
          data: '',
          success: function success(fragmentsResponse) {
            if (fragmentsResponse.fragments) {
              $.each(fragmentsResponse.fragments, function (key, value) {
                $(key).replaceWith(value);
                $(key).stop(true).css('opacity', '1').unblock();
              });
              $(document.body).trigger('wc_fragments_loaded');
              var footer_div = $('.agni-sidecart__footer .agni-sidecart__coupon-text');

              if (!footer_div.children('.woocommerce-notices-wrapper').length) {
                footer_div.prepend("<div class='woocommerce-notices-wrapper'></div>");
              }

              footer_div.children('.woocommerce-notices-wrapper').html('<div class="woocommerce-message" role="alert">' + response.data + '</div>');
            }
          }
        });
      },
      complete: function complete() {
        $text_field.val('');
        $.cart_contents_loader_hide();
      }
    });
  };

  $.remove_coupon_clicked = function ($this) {
    var coupon = $this.attr('data-coupon');
    var data = {
      security: cartify_ajax_sidecart.security,
      coupon: coupon
    };
    $.ajax({
      type: 'POST',
      url: cartify_ajax_sidecart.ajaxurl_wc.toString().replace('%%endpoint%%', 'agni_ajax_remove_coupon'),
      data: data,
      dataType: 'json',
      success: function success(response) {
        if (!response.success) {
          var footer_div = $('.agni-sidecart__footer .agni-sidecart__coupon-text');

          if (!footer_div.children('.woocommerce-notices-wrapper').length) {
            footer_div.prepend("<div class='woocommerce-notices-wrapper'></div>");
          }

          footer_div.children('.woocommerce-notices-wrapper').html('<div class="woocommerce-error" role="alert">' + response.data + '</div>');
          return;
        }

        $(document.body).trigger('removed_coupon', [coupon]);
        $.ajax({
          type: 'POST',
          url: cartify_ajax_sidecart.ajaxurl_wc.toString().replace('%%endpoint%%', 'agni_ajax_get_cart_totals'),
          data: '',
          success: function success(fragmentsResponse) {
            if (fragmentsResponse.fragments) {
              $.each(fragmentsResponse.fragments, function (key, value) {
                $(key).replaceWith(value);
                $(key).stop(true).css('opacity', '1').unblock();
              });
              $(document.body).trigger('wc_fragments_loaded');
              var footer_div = $('.agni-sidecart__footer .agni-sidecart__coupon-text');

              if (!footer_div.children('.woocommerce-notices-wrapper').length) {
                footer_div.prepend("<div class='woocommerce-notices-wrapper'></div>");
              }

              footer_div.children('.woocommerce-notices-wrapper').html('<div class="woocommerce-message" role="alert">' + response.data + '</div>');
            }
          }
        });
      },
      complete: function complete() {
        $.cart_contents_loader_hide();
      }
    });
  };

  $(document).on('click', '.agni-sidecart__remove', function (e) {
    e.preventDefault();
    $.cart_contents_loader_show();
    var product_row = $(this).parents('.agni-sidecart__product');
    var cart_key = product_row.data('item-key');
    $.update_cart(cart_key, 0);
  });
  $(document).on('change', '.agni-sidecart__product input.qty, .agni-sidecart__product select.qty', function (e) {
    e.preventDefault();
    $.cart_contents_loader_show();
    var $this = $(this);
    var new_qty = parseInt($this.val());
    var product_row = $this.parents('.agni-sidecart__product');
    var cart_key = product_row.data('item-key');
    $.update_cart(cart_key, new_qty);
  });
  $(document).on('submit', 'form.cart', function (e) {
    var buynow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
    var form = $(this);
    var $product = form.closest('.product').hasClass('product-type-external');

    if ($product) {
      return null;
    }

    e.preventDefault();
    var atc_btn = form.find('button[type="submit"]');
    var adding_cart_text = "Adding to Cart!";
    var product_data = form.serializeArray();

    if (atc_btn.attr('name') && atc_btn.attr('name') == 'add-to-cart' && atc_btn.attr('value')) {
      product_data.push({
        name: 'add-to-cart',
        value: atc_btn.attr('value')
      });
    }

    product_data.push({
      name: 'action',
      value: 'agni_ajax_add_to_cart'
    });
    $.cart_contents_loader_show();
    $.add_to_cart(atc_btn, product_data, {
      'buynow': buynow
    });
  });
  $(document).on('click', '.product_type_simple.ajax_add_to_cart', function (e) {
    e.preventDefault();
    var $this = $(this);
    var $adding_to_cart_text = "Adding to Cart!";
    var data = {};
    $.each($this.data(), function (key, value) {
      data[key] = value;
    });
    data['add-to-cart'] = data['product_id'];
    $.add_to_cart($this, data);
  });
  $('.agni-sidecart').on('submit', 'form.woocommerce-coupon-form', function (e) {
    e.preventDefault();
    var $form = $(this);
    $.cart_contents_loader_show();
    $.apply_coupon($form);
  });
  $('.agni-sidecart').on('click', '.woocommerce-remove-coupon', function (e) {
    e.preventDefault();
    var coupon_remove = $(this);
    $.cart_contents_loader_show();
    $.remove_coupon_clicked(coupon_remove);
  });
  $('.agni-sidecart').on('change', '.woocommerce-shipping-methods', function () {
    var $this = $(this);
    var shipping_method = $this.find('input:checked').val();
    $.cart_contents_loader_show();
    $.ajax({
      type: 'POST',
      url: cartify_ajax_sidecart.ajaxurl_wc.toString().replace('%%endpoint%%', 'agni_ajax_update_shipping_method'),
      data: {
        shipping_method: shipping_method
      },
      dataType: 'json',
      success: function success(response) {
        if (response.fragments) {
          $.each(response.fragments, function (key, value) {
            $(key).replaceWith(value);
            $(key).stop(true).css('opacity', '1').unblock();
          });
          $(document.body).trigger('wc_fragments_loaded');
        } else {
          console.log(response);
        }
      },
      complete: function complete() {
        $.cart_contents_loader_hide();
      }
    });
  });
});
© 2026 GrazzMean