403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/sale/payment-pay/lib/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/sale/payment-pay/lib/dist/controller.bundle.js
this.BX = this.BX || {};
this.BX.Sale = this.BX.Sale || {};
(function (exports,main_core_events,sale_paymentPay_const) {
	'use strict';

	var FormHelper = /*#__PURE__*/function () {
	  /**
	   * @private
	   * @param {HTMLFormElement|null} form
	   */
	  function FormHelper(form) {
	    babelHelpers.classCallCheck(this, FormHelper);
	    this.form = form || null;
	  }
	  /**
	   * @public
	   * @param {string} html
	   * @returns {FormHelper}
	   */


	  babelHelpers.createClass(FormHelper, [{
	    key: "submit",

	    /**
	     * @public
	     * @returns {void}
	     */
	    value: function submit() {
	      if (!this.canSubmit()) {
	        return;
	      }

	      if (this.isVirtual()) {
	        document.body.appendChild(this.form.parentNode);
	      }

	      HTMLFormElement.prototype.submit.call(this.form);
	    }
	    /**
	     * @public
	     * @returns {boolean}
	     */

	  }, {
	    key: "canSubmit",
	    value: function canSubmit() {
	      return this.isValidFormObject() && this.containsAllowedInputTypesOnly();
	    }
	    /**
	     * @private
	     * @returns {boolean}
	     */

	  }, {
	    key: "isValidFormObject",
	    value: function isValidFormObject() {
	      return this.form instanceof HTMLFormElement;
	    }
	    /**
	     * @private
	     * @returns {boolean}
	     */

	  }, {
	    key: "containsAllowedInputTypesOnly",
	    value: function containsAllowedInputTypesOnly() {
	      if (!this.form || !this.form.elements) {
	        return false;
	      } // eslint-disable-next-line no-plusplus


	      for (var i = 0; i < this.form.elements.length; i++) {
	        if (!FormHelper.elementAllowed(this.form.elements[i])) {
	          return false;
	        }
	      }

	      return true;
	    }
	    /**
	     * @private
	     * @param element
	     * @returns {boolean}
	     */

	  }, {
	    key: "isVirtual",

	    /**
	     * @public
	     * @returns {boolean}
	     */
	    value: function isVirtual() {
	      if (this.form) {
	        return !document.body.contains(this.form);
	      }

	      return true;
	    }
	  }], [{
	    key: "createFromHtml",
	    value: function createFromHtml(html) {
	      var tempNode = document.createElement('div');
	      tempNode.innerHTML = html;
	      tempNode.style.display = 'none';
	      var form = tempNode.querySelector('form');
	      return new FormHelper(form);
	    }
	    /**
	     * @public
	     * @param {HTMLElement} node
	     * @returns {FormHelper}
	     */

	  }, {
	    key: "createFromNode",
	    value: function createFromNode(node) {
	      if (node instanceof HTMLFormElement) {
	        return new FormHelper(node);
	      }

	      var form = node.querySelector('form');
	      return new FormHelper(form);
	    }
	  }, {
	    key: "elementAllowed",
	    value: function elementAllowed(element) {
	      var allowedTypes = FormHelper.getAllowedInputTypes();

	      if (element instanceof HTMLInputElement) {
	        return allowedTypes.indexOf(element.type) !== -1;
	      }

	      return true;
	    }
	    /**
	     * @private
	     * @returns {string[]}
	     */

	  }, {
	    key: "getAllowedInputTypes",
	    value: function getAllowedInputTypes() {
	      return ['hidden', 'submit'];
	    }
	  }]);
	  return FormHelper;
	}();

	var Controller = /*#__PURE__*/function () {
	  function Controller(options) {
	    babelHelpers.classCallCheck(this, Controller);
	    this.options = options || {};
	    this.url = this.option('url', this.getDefaultAjaxController());
	    this.allowPaymentRedirect = this.option('allowPaymentRedirect', true);
	    this.returnUrl = this.option('returnUrl', this.getCurrentUrl());
	    this.orderId = this.option('orderId', null);
	    this.paymentId = this.option('paymentId', null);
	    this.accessCode = this.option('accessCode', null);
	    this.response = null;
	  }
	  /**
	   * @public
	   * @param {object} params
	   * @returns {Error|void}
	   */


	  babelHelpers.createClass(Controller, [{
	    key: "initPayment",
	    value: function initPayment(params) {
	      var _this = this;

	      if (!params.paySystemId) {
	        throw new Error('Payment system undefined');
	      }

	      BX.ajax({
	        method: 'POST',
	        dataType: 'json',
	        url: this.url,
	        data: {
	          sessid: BX.bitrix_sessid(),
	          paysystemId: params.paySystemId,
	          returnUrl: this.returnUrl,
	          orderId: this.orderId,
	          paymentId: this.paymentId,
	          access: this.accessCode
	        },
	        onsuccess: function onsuccess(response) {
	          _this.response = response;

	          _this.handleResponse();
	        }
	      });
	    }
	    /**
	     * @private
	     */

	  }, {
	    key: "handleResponse",
	    value: function handleResponse() {
	      if (this.isResponseSucceed()) {
	        this.tryToRedirectUserOnPaymentGate();
	        main_core_events.EventEmitter.emit(sale_paymentPay_const.EventType.payment.success, this.response);
	      } else {
	        main_core_events.EventEmitter.emit(sale_paymentPay_const.EventType.payment.error, this.response);
	      }
	    }
	    /**
	     * @private
	     * @returns {boolean}
	     */

	  }, {
	    key: "isResponseSucceed",
	    value: function isResponseSucceed() {
	      return BX.type.isObject(this.response) && this.response.status === 'success';
	    }
	    /**
	     * @private
	     */

	  }, {
	    key: "tryToRedirectUserOnPaymentGate",
	    value: function tryToRedirectUserOnPaymentGate() {
	      var url = BX.type.isString(this.response.url) ? this.response.url : '';
	      var html = BX.type.isString(this.response.html) ? this.response.html : '';

	      if (this.allowPaymentRedirect) {
	        if (url.length > 0) {
	          window.location.href = url;
	        } else if (html.length > 0) {
	          this.tryToAutoSubmitHtmlChunk(html);
	        }
	      }
	    }
	    /**
	     * @public
	     * @param {string} html
	     * @returns {void}
	     */

	  }, {
	    key: "tryToAutoSubmitHtmlChunk",
	    value: function tryToAutoSubmitHtmlChunk(html) {
	      FormHelper.createFromHtml(html).submit();
	    }
	    /**
	     * @public
	     * @param {HTMLElement} node
	     * @returns {void}
	     */

	  }, {
	    key: "tryToAutoSubmitDomNode",
	    value: function tryToAutoSubmitDomNode(node) {
	      FormHelper.createFromNode(node).submit();
	    }
	    /**
	     * @private
	     * @returns {string}
	     */

	  }, {
	    key: "getDefaultAjaxController",
	    value: function getDefaultAjaxController() {
	      return sale_paymentPay_const.Api.controller.initPayment;
	    }
	    /**
	     * @private
	     * @returns {string}
	     */

	  }, {
	    key: "getCurrentUrl",
	    value: function getCurrentUrl() {
	      return window.location.href;
	    }
	    /**
	     * @private
	     * @param {string} name
	     * @param {*} defaultValue
	     * @returns {*}
	     */

	  }, {
	    key: "option",
	    value: function option(name, defaultValue) {
	      return this.options.hasOwnProperty(name) ? this.options[name] : defaultValue;
	    }
	  }]);
	  return Controller;
	}();

	exports.Controller = Controller;

}((this.BX.Sale.PaymentPay = this.BX.Sale.PaymentPay || {}),BX.Event,BX.Sale.PaymentPay.Const));
//# sourceMappingURL=controller.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit