shell bypass 403
(function ($) {
'use strict';
var $body = $('body');
var xhr = false;
function tooltip() {
$('body').on('mouseenter', '.motiox-add-to-cart:not(.tooltipstered), .group-action .motiox-add-to-cart:not(.tooltipstered), .group-action .woosw-btn:not(.tooltipstered), .group-action .woosq-btn:not(.tooltipstered), .group-action .woosc-btn:not(.tooltipstered)', function () {
var $element = $(this);
if (typeof $.fn.tooltipster !== 'undefined') {
$element.tooltipster({
position: 'top', functionBefore: function (instance, helper) {
instance.content(instance._$origin.text());
}, theme: 'opal-product-tooltipster', delay: 0, animation: 'grow'
}).tooltipster('show');
}
});
}
function product_hover_image() {
$('body').on('click', '.product-block .product-color .item', function () {
var image = $(this).data('image');
var $product = $(this).closest('.product-block');
var $image = $product.find('.product-image img');
$image.attr('src', image.src);
$image.attr('srcset', image.srcset);
$image.attr('sizes', image.sizes);
if ($(this).hasClass('active-swatch')) {
return;
}
$(this).parent().find('.active-swatch').removeClass('active-swatch');
$(this).addClass('active-swatch');
});
}
function ajax_wishlist_count() {
$(document).on('added_to_wishlist removed_from_wishlist', function () {
var counter = $('.header-wishlist .count, .footer-wishlist .count, .header-wishlist .wishlist-count-item');
$.ajax({
url: yith_wcwl_l10n.ajax_url, data: {
action: 'yith_wcwl_update_wishlist_count'
}, dataType: 'json', success: function (data) {
counter.html(data.count);
$('.wishlist-count-text').html(data.text);
},
});
});
$('body').on('woosw_change_count', function (event, count) {
var counter = $('.header-wishlist .count, .footer-wishlist .count, .header-wishlist .wishlist-count-item');
$.ajax({
url: woosw_vars.ajax_url, data: {
action: 'woosw_ajax_update_count'
}, dataType: 'json', success: function (data) {
$('.wishlist-count-text').html(data.text);
},
});
counter.html(count);
});
}
function woo_widget_categories() {
var widget = $('.widget_product_categories'),
main_ul = widget.find('ul');
if (main_ul.length) {
var dropdown_widget_nav = function () {
main_ul.find('li').each(function () {
var main = $(this), link = main.find('> a'), ul = main.find('> ul.children');
if (ul.length) {
//init widget
// main.removeClass('opened').addClass('closed');
if (main.hasClass('closed')) {
ul.hide();
link.before('<i class="icon-plus"></i>');
} else if (main.hasClass('opened')) {
link.before('<i class="icon-minus"></i>');
} else {
main.addClass('opened');
link.before('<i class="icon-minus"></i>');
}
// on click
main.find('i').on('click', function (e) {
ul.slideToggle('slow');
if (main.hasClass('closed')) {
main.removeClass('closed').addClass('opened');
main.find('>i').removeClass('icon-plus').addClass('icon-minus');
} else {
main.removeClass('opened').addClass('closed');
main.find('>i').removeClass('icon-minus').addClass('icon-plus');
}
e.stopImmediatePropagation();
});
main.on('click', function (e) {
if ($(e.target).filter('a').length) return;
ul.slideToggle('slow');
if (main.hasClass('closed')) {
main.removeClass('closed').addClass('opened');
main.find('i').removeClass('icon-plus').addClass('icon-minus');
} else {
main.removeClass('opened').addClass('closed');
main.find('i').removeClass('icon-minus').addClass('icon-plus');
}
e.stopImmediatePropagation();
});
}
});
};
dropdown_widget_nav();
}
}
function orderbyselect() {
$('.woocommerce-ordering select').on('change', function () {
var text = $(this).find('option:selected').text();
var $aux = $('<select/>').append($('<option/>').text(text));
$(this).after($aux);
$(this).width($aux.width());
$aux.remove();
}).change()
}
function sendRequest(url, append = false) {
if (xhr) {
xhr.abort();
}
xhr = $.ajax({
type: "GET",
url: url,
beforeSend: function () {
var $products = $('ul.motiox-products');
if (!append) {
$products.addClass('preloader');
}
},
success: function (data) {
let $html = $(data);
if (append) {
$('#main ul.motiox-products').append($html.find('#main ul.motiox-products > li'));
} else {
$('#main ul.motiox-products').replaceWith($html.find('#main .motiox-products-grid'));
}
$('#main .woocommerce-pagination-wrap').replaceWith($html.find('#main .woocommerce-pagination-wrap'));
window.history.pushState(null, null, url);
xhr = false;
$(document).trigger('motiox-products-loaded');
}
});
}
function productsPaginationScroll() {
if (typeof $.fn.waypoint == 'function') {
var waypoint = $('.products-load-more-btn.load-on-scroll').waypoint(function () {
$('.products-load-more-btn.load-on-scroll').trigger('click');
}, {offset: '100%'});
}
}
function woo_dropdown_sidebar() {
$body.on('click', '.widget.motiox-widget-woocommerce .widgettitle', function (e) {
e.preventDefault();
var $parent = $(this).closest('.motiox-menu-filter');
if ($parent.length) {
if ($(this).hasClass('toggled-on')) {
$(this).removeClass('toggled-on')
.siblings('.widget-content').stop().slideUp()
.closest('.widget').removeClass('active');
} else {
$parent.find('.toggled-on').removeClass('toggled-on');
$parent.find('.widget-content').stop().slideUp();
$parent.find('.widget').removeClass('active');
$(this).addClass('toggled-on')
.siblings('.widget-content').stop().slideDown()
.closest('.widget').addClass('active');
}
} else {
$(this).toggleClass('toggled-on')
.siblings('.widget-content').stop().slideToggle()
.closest('.widget').toggleClass('active');
}
});
}
$body.on('change', '.motiox-products-per-page #per_page', function (e) {
e.preventDefault();
var url = this.value;
sendRequest(url);
});
$body.on('click', '.products-load-more-btn', function (e) {
e.preventDefault();
$(this).addClass('loading');
var url = $(this).attr('href');
sendRequest(url, true);
}).on('click', '.gridlist-toggle a', function (e) {
e.preventDefault();
$('.gridlist-toggle a').removeClass('active');
$(this).addClass('active');
var url = $(this).attr('href');
sendRequest(url, false);
});
$(document).ready(function () {
// woo_widget_categories();
}).on('motiox-products-loaded', function () {
$('.products-load-more-btn').removeClass('loading');
productsPaginationScroll();
});
woo_dropdown_sidebar();
productsPaginationScroll();
orderbyselect();
product_hover_image();
tooltip();
ajax_wishlist_count();
})(jQuery);