📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
e-ticaretv11.demodesign.com.tr
/
catalog
/
view
/
javascript
📝
xshippingpro.min.js
← Geri Dön
(function(window) { function OCMCheckoutModule(callback_fn) { var modules = {}; var interface = { shipping_input_selector: 'input[name="shipping_method"]', shipping_container_selector: "div", shipping_key: "shipping_method", shippings_key: "shipping_methods", shipping_validate_route: /shipping_method(\/|\|)save/, total_refresh_route: /payment_method\/save/i, xoffer_selector: "#collapse-checkout-confirm:prepend", order_data_keys: false, defer_update: false, city_selector: false, setShippingMethod: function() {}, setTotals: function() {}, refreshShipping: function() {}, refreshPayment: function() {}, getOrderData: function() {}, setOrderData: function() {}, hideLoader: function() {}, showLoader: function() {} }; this.detectModule = function detectModule() { var name; if (window.qc && window.qc.d_quickcheckout_store) { name = "qc_d" } else if (window.qc && (window.qc.PaymentMethod || window.qc.ShippingMethod)) { name = "qc_d_latency" } else if (window._QuickCheckout || window._QuickCheckoutData) { name = "journal3" } else if ($(".journal-checkout").length) { name = "journal2" } else if (window.validateShippingMethod || window.validatePaymentMethod) { name = "qc_msg" } else if (window.xcart) { name = "best_checkout" } else if ($("#onepagecheckout").length) { name = "onepagecheckout" } else if ($("#input-order-status").length && $("#input-store").length) { name = "oc_admin" } else if ($(".nicocheckout").length) { name = "nicocheckout" } else if (window.MPSHOPPINGCART) { name = "mpcheckout" } else if (window.Simplecheckout) { name = "simplecheckout" } else if (window.ajax_update_cart) { name = "qnec" } else if (window.checkoutCustomer) { name = "custom" } else { name = "default_oc" } return name }; this.getDetail = function getDetail() { var name = this.detectModule(), _return = modules[name](); _return["name"] = name; return _return }; modules["qc_d"] = function qc_d() { var _hideSpinner = qc.hideSpinner; qc.hideSpinner = function() { _hideSpinner(); callback_fn.call(null) }; function getOrderData() { return qc.d_quickcheckout_store.getState() } function setOrderData(original_data, modified_data, xshippingpro_methods) { if (xshippingpro_methods && Object.keys(xshippingpro_methods).length) { qc.updateState(["session", "shipping_methods"], modified_data.shipping_methods) } } function setTotals() { $(".qc-product-quantity")[0].dispatchEvent(new Event("change")) } function hideLoader() { setTimeout((function() { qc.hideLoader() }), 10) } function showLoader() { qc.showLoader() } return $.extend({}, interface, { order_data_keys: ["session"], getOrderData: getOrderData, setOrderData: setOrderData, setTotals: setTotals, hideLoader: hideLoader, showLoader: showLoader, defer_update: true, xoffer_selector: 'div[data-name="cart"] .step:prepend', shipping_validate_route: /d_quickcheckout\/confirm/i, total_refresh_route: /payment_method|shipping_method|cart/i }) }; modules["qc_d_latency"] = function qc_d_latency() { function setTotals() { $(".qc-product-qantity").trigger("change") } function refreshShipping() { $(".qc-product-qantity").trigger("change") } function hideLoader() { preloaderStop() } function showLoader() { preloaderStart() } return $.extend({}, interface, { setTotals: setTotals, hideLoader: hideLoader, refreshShipping: refreshShipping, xoffer_selector: "#cart_view:before", shipping_validate_route: /d_quickcheckout\/confirm/i, total_refresh_route: /payment_method|shipping_method|cart/i }) }; modules["journal3"] = function journal3() { function getOrderData() { return window._QuickCheckout ? _QuickCheckout._data : false } function setTotals() { _QuickCheckout.save() } function setShippingMethod() { _QuickCheckout.save() } function hideLoader() { $(".journal-loading-overlay").hide(); $("#quick-checkout-button-confirm").button("reset") } return $.extend({}, interface, { shipping_key: "shipping_code", order_data_keys: ["order_data", "response", "response.order_data"], getOrderData: getOrderData, setTotals: setTotals, xoffer_selector: ".cart-section:before", setShippingMethod: setShippingMethod, hideLoader: hideLoader, shipping_validate_route: /checkout\/save\&confirm=true/, total_refresh_route: /checkout\/save|cart_/i }) }; modules["journal2"] = function journal2() { function setTotals() { $(document).trigger("journal_checkout_reload_cart", true) } function setShippingMethod() { $(document).trigger("journal_checkout_shipping_changed", $(interface.shipping_input_selector + ":checked").val()) } function hideLoader() { triggerLoadingOff() } function showLoader() { triggerLoadingOn() } function refreshShipping() { $(document).trigger("journal_checkout_reload_shipping") } return $.extend({}, interface, { setTotals: setTotals, setShippingMethod: setShippingMethod, hideLoader: hideLoader, xoffer_selector: ".checkout-cart:before", city_selector: "input[name='payment_city']", refreshShipping: refreshShipping, showLoader: showLoader, total_refresh_route: /cart/i }) }; modules["qc_msg"] = function qc_msg() { function setTotals() { loadCart() } function refreshShipping() { $("input[name='postcode']").trigger("focusout") } function refreshPayment() { reloadPaymentMethod() } function hideLoader() { $("#button-payment-method").prop("disabled", false); $("#button-payment-method").button("reset"); $(".fa-spinner").remove() } function showLoader() { $("#button-payment-method").prop("disabled", true); $("#button-payment-method").button("loading"); $("#button-payment-method").after('<i class="fa fa-spinner fa-spin"></i>') } return $.extend({}, interface, { shipping_container_selector: "tr", setTotals: setTotals, hideLoader: hideLoader, showLoader: showLoader, xoffer_selector: "#cart1:before", city_selector: "input[name='city']", refreshShipping: refreshShipping, refreshPayment: refreshPayment, shipping_validate_route: /terms\/validate/i, total_refresh_route: /cart/i }) }; modules["best_checkout"] = function best_checkout() { function setTotals() { $('input[name^="quantity"').first().trigger("change") } function hideLoader() { hideBar() } function showLoader() { showBar() } return $.extend({}, interface, { shipping_container_selector: "label", setTotals: setTotals, hideLoader: hideLoader, showLoader: showLoader, shipping_validate_route: /validate&showpayment/i, xoffer_selector: "#totals:before", total_refresh_route: /xpayment_address|payment_method|shipping_method|cart/i }) }; modules["onepagecheckout"] = function onepagecheckout() { function setTotals() { LoadCart() } function hideLoader() { $("#onepagecheckout #button-register").button("reset") } function showLoader() { $("#onepagecheckout #button-register").button("loading") } return $.extend({}, interface, { setTotals: setTotals, hideLoader: hideLoader, showLoader: showLoader, shipping_validate_route: /validate\/validateForm/i, xoffer_selector: ".content-shopping-cart:before", total_refresh_route: /cart/i }) }; modules["nicocheckout"] = function default_oc() { function setTotals() { $('input[name="shipping_method"]:checked').trigger("click") } return $.extend({}, interface, { setTotals: setTotals, shipping_validate_route: /cart/i, xoffer_selector: ".shipping-method:after", total_refresh_route: /cart/i }) }; modules["mpcheckout"] = function mpcheckout() { function setTotals() { MPSHOPPINGCART.refresh() } function refreshShipping() { MPSHIPPINGMETHODS.refresh() } function setShippingMethod() { MPSHIPPINGMETHODS.save() } return $.extend({}, interface, { setTotals: setTotals, refreshShipping: refreshShipping, setShippingMethod: setShippingMethod, shipping_validate_route: /checkout_button/i, xoffer_selector: ".shoppingcart:after", total_refresh_route: /cart/i }) }; modules["simplecheckout"] = function simplecheckout() { function setTotals() { $('input[name^="quantity["]').first().trigger("change") } function refreshShipping() { $('input[name^="quantity["]').first().trigger("change") } return $.extend({}, interface, { setTotals: setTotals, xoffer_selector: "#simplecheckout_cart:after", refreshShipping: refreshShipping, total_refresh_route: /checkout\/simplecheckout/i }) }; modules["qnec"] = function qnec() { function setTotals() { ajax_update_cart() } function hideLoader() { _unblock_all_panels() } function showLoader() { _block_all_panels() } return $.extend({}, interface, { setTotals: setTotals, hideLoader: hideLoader, showLoader: showLoader, xoffer_selector: ".panel_cart:before", total_refresh_route: /action=get_cart/i }) }; modules["custom"] = function custom() { function setTotals() { var input = $("table.smplcart tbody tr input").first(); var quantity = parseInt(input.val()); var key = input.attr("name").replace(/quantity\[(\d+)\]/, "$1"); custom_cart.update(key, quantity) } return $.extend({}, interface, { total_refresh_route: /\/cart\//i, setTotals: setTotals }) }; modules["default_oc"] = function default_oc() { function setTotals() { $.get("index.php?route=checkout/confirm", (function(html) { $("#collapse-checkout-confirm .panel-body").html(html) })) } return $.extend({}, interface, { setTotals: setTotals }) }; modules["oc_admin"] = function oc_admin() { function setTotals() { $("#button-refresh").trigger("click") } return $.extend({}, interface, { setTotals: setTotals, xoffer_selector: "#tab-total:prepend", total_refresh_route: /cart\/products/i }) } } window.OCMCheckoutModule = OCMCheckoutModule })(window); (function(window) { var $ = $ || jQuery; function XshippingproEstimator() { var tpl = { header: '<div class="shipping-header">' + _xshippingpro["lang"]["header"] + "</div>", country: '<div class="shipping-field"><select id="xshippingpro-country" name="_xestimator[country_id]" class="form-control"></select></div>', zone: '<div class="shipping-field"><select id="xshippingpro-zone" name="_xestimator[zone_id]" class="form-control"><option value="">' + _xshippingpro["lang"]["zone"] + "</option></select></div>", postal: '<div class="shipping-field"><input type="text" name="_xestimator[postcode]" id="input-postcode" placeholder="' + _xshippingpro["lang"]["postal"] + '" class="form-control" /></div>', btn: '<button type="button" id="estimate-xshipping" class="btn btn-default btn-block"><i style="display:none" class="fa fa-spinner fa-spin loader-icon"></i> ' + _xshippingpro["lang"]["btn"] + "</button>", quote: '<div class="xshippingpro-quote"><b>{title}</b> {cost} {desc}</div>' }; this.pouplateCountry = function() { if (_xshippingpro["country"]) { var _options = '<option value="">' + _xshippingpro["lang"]["country"] + "</option>"; $.each(_xshippingpro["country"], (function(i, item) { var selected = _xshippingpro["meta"]["country_id"] == item.country_id ? "selected" : ""; _options += "<option " + selected + ' value="' + item.country_id + '">' + item.name + "</option>" })); $("#xshippingpro-country").html(_options) } }; this.initEvent = function() { $("#xshippingpro-country").on("change", _click_on_country); $("#estimate-xshipping").on("click", _click_on_button) }; this.getQuoteBox = function() { var quote_box = '<div id="xshippingpro-box" class="xshippingpro-box">'; quote_box += tpl.header; quote_box += '<div class="shipping-fields">'; quote_box += '<input type="hidden" value="' + _xshippingpro["meta"]["product_id"] + '" name="_xestimator[product_id]" />'; if (_xshippingpro["meta"]["country"]) { quote_box += tpl.country } if (_xshippingpro["meta"]["zone"]) { quote_box += tpl.zone } if (_xshippingpro["meta"]["postal"]) { quote_box += tpl.postal } quote_box += "</div>"; quote_box += tpl.btn; quote_box += "</div>"; return quote_box }; function _click_on_country() { $('#xshippingpro-box input[type="text"], #xshippingpro-box select').removeClass("xshippingpro-error"); var country_id = this.value || _xshippingpro["meta"]["country_id"]; $.ajax({ url: _xshippingpro["url"]["country"] + "&country_id=" + country_id, dataType: "json", success: function(json) { var _options = '<option value="">' + _xshippingpro["lang"]["zone"] + "</option>"; if (json["zone"]) { $.each(json["zone"], (function(i, item) { _options += '<option value="' + item.zone_id + '">' + item.name + "</option>" })) } $("#xshippingpro-zone").html(_options) } }) } function _click_on_button() { $(".xshippingpro-quotes").remove(); $('#xshippingpro-box input[type="text"], #xshippingpro-box select').removeClass("xshippingpro-error"); var is_valid = true; $('#xshippingpro-box input[type="text"], #xshippingpro-box select').each((function() { if (!$(this).val()) { is_valid = false; $(this).addClass("xshippingpro-error") } })); if (!is_valid) { return } var parent_inputs = $("#xshippingpro-box").parent().find('input[name="quantity"], input[name^="option"], select[name^="option"]').serializeArray(); var data = $("#xshippingpro-box :input").serializeArray().concat(parent_inputs); $.ajax({ url: _xshippingpro["url"]["estimate"], dataType: "json", data: data, type: "POST", beforeSend: function() { $("#estimate-xshipping").attr("disabled", true).find("i").css("display", "inline") }, complete: function() { $("#estimate-xshipping").attr("disabled", false).find("i").css("display", "none") }, success: function(json) { var _shippping_data = '<div class="xshippingpro-quotes">'; if (json && json.quote && !json.error) { $.each(json.quote, (function(i, item) { var desc = item.desc ? '<div class="xshippingpro-desc">' + item.desc + "</div>" : ""; _shippping_data += tpl.quote.replace("{title}", item.title).replace("{cost}", item.text).replace("{desc}", desc) })) } else if (json && json.message) { _shippping_data += '<div class="xshippingpro-' + json.class + '">' + json.message + "</div>" } else { var _error = json.error || _xshippingpro["lang"]["no_data"]; _shippping_data += '<div class="xshippingpro-no-quote">' + _error + "</div>" } _shippping_data += "</div>"; $("#xshippingpro-box").after(_shippping_data) } }) } var append_mode = _xshippingpro["selectors"]["estimator"].split(":").pop(); var selector = _xshippingpro["selectors"]["estimator"]; if (["prepend", "append", "after", "before"].indexOf(append_mode) !== -1) { selector = _xshippingpro["selectors"]["estimator"].replace(":" + append_mode, "") } else { append_mode = "after" } var quote_box = this.getQuoteBox(); if (_xshippingpro["tab"]) { var desc_tab = $("#tab-description"); var tabs = $(_xshippingpro["selectors"]["estimator"]); var wrap_li = tabs.children().length > 0 && tabs.children().first().prop("tagName").toLowerCase() == "li"; var _th = '<a href="#tab-shippingpro" data-toggle="tab">' + _xshippingpro["lang"]["tab"] + "</a>"; var _tc = '<div class="tab-pane tab-content" id="tab-shippingpro">' + quote_box + "</div>"; if (wrap_li) { _th = "<li>" + _th + "</li>" } $(_xshippingpro["selectors"]["estimator"]).append(_th); if (desc_tab.length) { desc_tab.after(_tc) } else { $(_xshippingpro["selectors"]["estimator"]).next().append(_tc) } } else { $(selector)[append_mode](quote_box) } this.pouplateCountry(); this.initEvent(); if (_xshippingpro["meta"]["country_id"]) { _click_on_country() } } function XshippingproExtender() { var $ = $ || jQuery; var _error_template = '<div class="alert alert-danger xshippingpro-global-error"><i class="fa fa-exclamation-circle"></i> __MSG__<button type="button" class="close" data-dismiss="alert">×</button></div>'; var _request_cache = {}; var _request_counter = 1; var _current_methods = []; var _grand_method_count = 0; this.chmod = new OCMCheckoutModule(_onAjaxReqComplete).getDetail(); this.shipping_key = this.chmod.shipping_key; this.shippings_key = this.chmod.shippings_key; this.xshippingpro_delimiter = "xshippingpro.xshippingpro"; this.option_delimiter = /_\d+/; this.option_present_regex = /xshippingpro\.xshippingpro\d+_\d+/; this.option_replace_regex = /xshippingpro\.xshippingpro\d+/; this.option_sanitize_regex = /&?_xshippingpro[%\w]+=xshippingpro\.xshippingpro\d+_\d+/; this.free_option_delimiter = "!!--"; this.user_data = {}; this.sub_options = _xshippingpro && _xshippingpro["sub_options"] || false; this.xform = _xshippingpro && _xshippingpro["xform"] || false; this.free_options = []; this.desc = _xshippingpro && _xshippingpro["desc"] || false; this.logo = _xshippingpro && _xshippingpro["logo"] || false; this.city_rule = _xshippingpro && _xshippingpro["city"] || false; this.payment_rule = _xshippingpro && _xshippingpro["payment"] || false; this.force_update = false; this.scroll_top = false; this.node_zero_recheck = true; var _self = this; this.isXshipping = function isXshipping(code) { return code.indexOf(this.xshippingpro_delimiter) !== -1 }; this.getTabIdFromCode = function getTabIdFromCode(code) { return code.replace(this.xshippingpro_delimiter, "") }; this.getTabIdFromOptionCode = function getTabIdFromOptionCode(code) { code = code.replace(this.option_delimiter, ""); return this.getTabIdFromCode(code) }; this.getCodeFromOptionCode = function getCodeFromOptionCode(code) { return code.replace(this.option_delimiter, "") }; this.isOptionCode = function isOptionCode(code) { return this.isXshipping(code) && code.indexOf("_") !== -1 }; this.getDomByCode = function getDomByCode(code) { var _dom = ""; var tab_id = this.getTabIdFromCode(code); var index = this.free_options.indexOf(tab_id); if (this.sub_options[tab_id]) { _dom += '<option value="">' + _xshippingpro["lang"]["select"] + "</option>"; $.each(this.sub_options[tab_id], (function(i, item) { var selected = _self.user_data.option == item.code ? "selected" : ""; var title = index !== -1 ? item.title.replace(/\(.*\d+\)/, "") : item.title; _dom += "<option " + selected + ' value="' + item.code + '">' + title + "</option>" })); if (_dom) { _dom = '<div class="xshippingpro-options"><select tab_id="' + tab_id + '" id="xshippingpro-options-' + tab_id + '" name="_xshippingpro[' + tab_id + '][option]" class="form-control xshippingpro-option">' + _dom + "</select></div>" } } else if (this.xform && this.xform[tab_id]) { _dom = '<div id="xshippingpro-xform-' + tab_id + '" class="xform-form xshippingpro-xform-form">' + this.xform[tab_id] + "</xform>" } return _dom }; this.isValidShippingCode = function isValidShippingCode(code) { if (!$.isPlainObject(code) && /<(tr|td|div|label|input|span).*\/>/.test(code)) { this.force_update = true; return false } return true }; this.validate = function validate() { $(".xshippingpro-option-error").remove(); var is_valid = true, selected_node = $(this.chmod.shipping_input_selector + ":checked"), code = selected_node.length ? selected_node.val() : ""; if (this.isXshipping(code)) { var tab_id = this.getTabIdFromCode(code); if (this.sub_options && this.sub_options[tab_id]) { var option_node = $('select[name="_xshippingpro[' + tab_id + '][option]"]'); if (!option_node.length) { this.setDomByNode(selected_node); option_node = $('select[name="_xshippingpro[' + tab_id + '][option]"]') } if (!this.user_data.option) { is_valid = false; option_node.after('<div class="xshippingpro-option-error">' + _xshippingpro["lang"]["error"] + "</div>") } } if (this.xform && this.xform[tab_id]) { is_valid = window.xform.doValidate(".xshippingpro-xform-form") } } return is_valid }; this.setDescByNode = function setDescByNode(node, tab_id) { var desc, $this = $(node); if (!this.desc) return; if (this.desc[tab_id]) { desc = '<div class="xshippingpro-desc">' + this.desc[tab_id] + "</div>"; if (_xshippingpro && _xshippingpro["selectors"]["desc"]) { try { eval(_xshippingpro["selectors"]["desc"]) } catch (e) { console.log("incorrect desc js") } } else { $this.closest(this.chmod.shipping_container_selector).after(desc) } } }; this.setLogoByNode = function setLogoByNode(node, tab_id) { var logo, $this = $(node), img_regex = /\.(png|jpg|bmp|jpeg|webp|gif)/i; if (!this.logo) return; if (this.logo[tab_id]) { logo = img_regex.test(this.logo[tab_id]) ? '<img class="xshippingpro-logo" src="' + this.logo[tab_id] + '"/>' : '<i class="fa fas ' + this.logo[tab_id] + ' xshippingpro-icon"></i>'; if (_xshippingpro && _xshippingpro["selectors"]["logo"]) { try { eval(_xshippingpro["selectors"]["logo"]) } catch (e) { console.log("incorrect logo js") } } else if (this.chmod.name === "qc_msg") { $this = $this.closest("tr").find("label").first(); } else { $this.next('.shipping-quote-title').after(logo); } } }; this.setDomByNode = function setDomByNode(node) { var $this = $(node), $closest = $this.closest(this.chmod.shipping_container_selector), code = $this.val(), tab_id = this.getTabIdFromCode(code); if (this.xform && this.xform[tab_id] && $("#xshippingpro-xform-" + tab_id).length) { return } $(".xshippingpro-options, .xshippingpro-xform-form").remove(); if (/xshippingpro/.test(code)) { var dd = this.getDomByCode(code); if (!dd) return; if ($closest.next().hasClass("xshippingpro-desc")) { $closest.next().after(dd) } else { $closest.after(dd) } if (dd.indexOf("xform-form") !== -1) { window.xform.populateForm(".xshippingpro-xform-form") } } }; this.parseAndGetData = function parseAndGetData(data, needle_key) { var data_keys = this.chmod.order_data_keys, _return, i, keys, key; if (!needle_key) { needle_key = this.shipping_key } if (!data || !$.isPlainObject(data) || data[needle_key]) { _return = data } else if (data_keys && $.isArray(data_keys)) { for (i = 0; i < data_keys.length; i++) { key = data_keys[i]; if (key.indexOf(".") == -1) { if (data[key] && data[key][needle_key]) { _return = data[key]; break } } else { keys = key.split("."); if (keys.length == 3) { if (data[keys[0]] && data[keys[0]][keys[1]] && data[keys[0]][keys[1]][keys[2]] && data[keys[0]][keys[1]][keys[2]][needle_key]) { _return = data[keys[0]][keys[1]][keys[2]]; break } } else { if (data[keys[0]] && data[keys[0]][keys[1]] && data[keys[0]][keys[1]][needle_key]) { _return = data[keys[0]][keys[1]]; break } } } } } if (_return && _return[needle_key]) { this.setShippingError(_return[needle_key]) } return _return }; this.isValidationReq = function isValidationReq(url) { var current_node = window.document.activeElement, node_type = current_node ? current_node.nodeName.toLowerCase() : ""; if (!this.sub_options && !this.xform) { return false } if (this.chmod.shipping_validate_route) { return this.chmod.shipping_validate_route.test(url) } if (node_type == "button" || node_type == "input" && current_node.type && (current_node.type == "submit" || current_node.type == "button")) { return true } return false }; this.updateOptionPriceInfo = function updateOptionPriceInfo(option_text, option_code) { var free_token = option_text.indexOf(this.free_option_delimiter); tab_id = this.getTabIdFromOptionCode(option_code), index = this.free_options.indexOf(tab_id), is_changed = false; if (free_token !== -1 && index === -1) { is_changed = true; this.free_options.push(tab_id) } if (free_token === -1 && index !== -1) { is_changed = true; this.free_options.splice(index, 1) } return is_changed }; this.removeOptionMethods = function removeOptionMethods(order_data) { var _any_diff, _xshippping_methods = {}, _xquote = {}, _final_quote = {}; if (order_data[this.shippings_key] && order_data[this.shippings_key]["xshippingpro"]) { _xquote = order_data[this.shippings_key]["xshippingpro"]["quote"]; for (var key in _xquote) { var code = _xquote[key]["code"]; if (!this.isOptionCode(code)) { _final_quote[key] = _xquote[key]; _any_diff = _current_methods.indexOf(code) === -1 } else { var text = _xquote[key].text; if (this.updateOptionPriceInfo(text, code)) { this.force_update = true } } } order_data[this.shippings_key]["xshippingpro"]["quote"] = _final_quote } if (_any_diff) { this.force_update = true } return _final_quote }; this.revertToParentCode = function revertToParentCode(order_data, set_user_data) { var option_code, is_object = $.isPlainObject(order_data[this.shipping_key]); option_code = is_object ? order_data[this.shipping_key]["code"] : order_data[this.shipping_key]; if (this.isOptionCode(option_code)) { if (is_object) { order_data[this.shipping_key]["code"] = this.getCodeFromOptionCode(order_data[this.shipping_key]["code"]) } else { order_data[this.shipping_key] = this.getCodeFromOptionCode(order_data[this.shipping_key]) } if (set_user_data) { this.user_data.option = option_code } } }; this.setShippingError = function setShippingError(shipping_data) { $(".xshippingpro-global-error").remove(); if (shipping_data && shipping_data.xshippingpro && shipping_data.xshippingpro.error && _xshippingpro && _xshippingpro.selectors.shipping_error) { var error_html = _error_template.replace("__MSG__", shipping_data.xshippingpro.error); $(_xshippingpro.selectors.shipping_error).prepend(error_html) } }; this.initEvent = function initEvent() { if (this.sub_options) { $(document).on("change", ".xshippingpro-option", _onShippingOptionSelect) } if (this.sub_options || this.xform) { $(document).on("change", this.chmod.shipping_input_selector, _onShippingSelect) } if (this.chmod.city_selector) { if (_self.city_rule) { $(document).on("focusout", this.chmod.city_selector, (function() { setTimeout((function() { _self.chmod.refreshShipping() }), 500) })) } if (_self.payment_rule) { $(document).on("change", 'input[name="payment_method"]', (function() { setTimeout((function() { _self.chmod.refreshShipping() }), 500) })) } } $.ajaxPrefilter(_onAjaxReq); $(document).ajaxComplete(_onAjaxReqComplete); $(document).ready(_onDomLoad) }; this.deferUpdateBychmod = function deferUpdateBychmod() { if (this.chmod.defer_update) { this.force_update = true; setTimeout(_onAjaxReqComplete, 50) } }; function _onShippingSelect(e, isTriggered) { if (!isTriggered) { _self.user_data.option = ""; _self.setDomByNode(this) } } function _onShippingOptionSelect(e) { var tab_id = $(this).attr("tab_id"); $(".xshippingpro-option-error").remove(); $('input[value="' + _self.xshippingpro_delimiter + tab_id + '"]').trigger("click"); $('input[value="' + _self.xshippingpro_delimiter + tab_id + '"]').trigger("change", [true]); _self.chmod.setShippingMethod() } function _onDomLoad() { var data, order_data, xshippingpro_methods; _onAjaxReqComplete(); data = _self.chmod.getOrderData(); order_data = _self.parseAndGetData(data); if (order_data && order_data[_self.shipping_key]) { _self.revertToParentCode(order_data, true) } order_data = _self.parseAndGetData(data, _self.shippings_key); if (order_data && order_data[_self.shippings_key]) { xshippingpro_methods = _self.removeOptionMethods(order_data) } _self.chmod.setOrderData(data, order_data, xshippingpro_methods) } function _onAjaxReqComplete(event, xhr, settings) { var shipping_nodes = $(_self.chmod.shipping_input_selector), xshipping_nodes = [], parent_code, parent_node, selected_node, tab_id, is_changed = _self.force_update, new_methods = [], i, j; if (shipping_nodes.length == 0) { $(".xshippingpro-options, .xshippingpro-desc").remove(); if (_self.node_zero_recheck) { setTimeout(_onAjaxReqComplete, 100); _self.node_zero_recheck = false } return } if (!_self.scroll_top) { _self.scroll_top = shipping_nodes.closest(_self.chmod.shipping_container_selector).parent().closest("div") } if (_grand_method_count !== shipping_nodes.length) { is_changed = true; _grand_method_count = shipping_nodes.length } shipping_nodes.map((function() { var $this = $(this), code = $this.val(); if (!_self.isXshipping(code)) { return false } xshipping_nodes.push(this); if (_self.isOptionCode(code)) { is_changed = true } new_methods.push(code) })); new_methods.sort(); if (!is_changed) { if (new_methods.length !== _current_methods.length) { is_changed = true } else { for (i = 0; i < new_methods.length; i++) { if (new_methods[i] !== _current_methods[i]) { is_changed = true; break } } } } if (!is_changed) { var is_desc_missing = Object.keys(_self.desc).length > 0 && $("div.xshippingpro-desc").length == 0; var is_logo_missing = Object.keys(_self.logo).length > 0 && $(".xshippingpro-logo").length == 0; if (is_desc_missing || is_logo_missing) { for (i = 0; i < new_methods.length; i++) { tab_id = _self.getTabIdFromCode(new_methods[i]); if (is_desc_missing && _self.desc[tab_id]) { is_changed = true; break } if (is_logo_missing && _self.logo[tab_id]) { is_changed = true; break } } } } _current_methods = new_methods; if (is_changed) { $(".xshippingpro-options, .xshippingpro-desc, .xshippingpro-logo, .xshippingpro-icon").remove(); $.each(xshipping_nodes, (function(i, node) { var code = $(node).val(), text, closest; if (_self.isOptionCode(code)) { closest = $(node).closest(_self.chmod.shipping_container_selector); text = closest.text(); closest.remove(); _self.updateOptionPriceInfo(text, code); if ($(node).prop("checked")) { _self.user_data.option = code; parent_code = _self.getCodeFromOptionCode(code); parent_node = $('input[value="' + parent_code + '"]'); parent_node.prop("checked", true); _self.setDomByNode(parent_node) } } else { tab_id = _self.getTabIdFromCode(code); if (_self.sub_options && _self.sub_options[tab_id] || _self.xform && _self.xform[tab_id]) { if ($(node).prop("checked")) { _self.setDomByNode(node) } } _self.setDescByNode(node, tab_id); _self.setLogoByNode(node, tab_id) } })); _self.deferUpdateBychmod(); _self.force_update = false; _self.node_zero_recheck = true } else { selected_node = $(_self.chmod.shipping_input_selector + ":checked"); if (selected_node.length && _self.isXshipping(selected_node.val())) { _self.setDomByNode(selected_node) } } } function _getJSONData(data) { var _array = data.serializeArray(), json = {}; $.map(_array, (function(item) { json[item["name"]] = item["value"] })); return json } function _flatten(data) { var _return = {}; $.each(data, (function(index, item) { if (/\[\]$/.test(item.name)) { var name = item.name.replace(/\[\]$/, ""); if (!_return[name]) _return[name] = []; _return[name].push(item.value) } else { _return[item.name] = item.value } })); return _return } function _onAjaxSuccess(data, status, jqXhr) { var order_data, xshippingpro_methods; if (_request_cache[jqXhr.xid]) { order_data = _self.parseAndGetData(data); if (order_data && order_data[_self.shipping_key] && _self.isValidShippingCode(order_data[_self.shipping_key])) { _self.revertToParentCode(order_data, false) } order_data = _self.parseAndGetData(data, _self.shippings_key); if (order_data && order_data[_self.shippings_key]) { xshippingpro_methods = _self.removeOptionMethods(order_data); _self.chmod.setOrderData(data, order_data, xshippingpro_methods) } _request_cache[jqXhr.xid].call(null, data, status, jqXhr); _request_cache[jqXhr.xid] = null } } function _onAjaxReq(options, originalOptions, jqXhr) { var option_node; if (_self.sub_options) { option_node = $(".xshippingpro-option").first(); if (option_node.length) { _self.user_data.option = option_node.val() } if (options.data && typeof options.data == "string" && options.data.indexOf("_xshippingpro") !== -1) { options.data = options.data.replace(_self.option_sanitize_regex, "") } } if (options.data && _self.user_data.option && typeof options.data == "string" && !_self.option_present_regex.test(options.data) && options.data.indexOf(_self.getCodeFromOptionCode(_self.user_data.option)) !== -1) { options.data = options.data.replace(_self.option_replace_regex, _self.user_data.option) } if (_self.xform && options.data && typeof options.data == "string" && options.data.indexOf(_self.xshippingpro_delimiter) !== -1 && $(".xshippingpro-xform-form").length) { options.data += "&" + $(".xshippingpro-xform-form :input").serialize() } if (_self.isValidationReq(options.url) && (options.dataType == "json" || !options.dataType)) { if (!_self.validate()) { jqXhr.abort(); _self.chmod.hideLoader(); $("html, body").animate({ scrollTop: _self.scroll_top.offset().top }, 1e3); return false } } if (options.url.indexOf("xform.min.js") !== -1 && window.xform) { jqXhr.abort() } if (options.dataType == "json" || !options.dataType) { jqXhr.xid = _request_counter++; _request_cache[jqXhr.xid] = options.success; options.success = _onAjaxSuccess } } if (_xshippingpro["is_checkout"]) { this.initEvent() } this.validate = this.validate.bind(this) } if (window._xshippingpro) { if (!window.xshippingproestimator) { window.xshippingproestimator = new XshippingproEstimator } if (!window.xshippingproextender) { window.xshippingproextender = new XshippingproExtender } } else { window.XshippingproEstimator = XshippingproEstimator; window.XshippingproExtender = XshippingproExtender } })(window);
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula