JEMBOT MAWOT Bypass Shell

Current Path : /home/c/i/n/cinepatreb/billetterie/modules/mollie/views/js/front/
Upload File :
Current File : /home/c/i/n/cinepatreb/billetterie/modules/mollie/views/js/front/mollie_iframe.js

/**
 * Mollie       https://www.mollie.nl
 *
 * @author      Mollie B.V. <info@mollie.nl>
 * @copyright   Mollie B.V.
 * @license     https://github.com/mollie/PrestaShop/blob/master/LICENSE.md
 *
 * @see        https://github.com/mollie/PrestaShop
 * @codingStandardsIgnoreStart
 */

$(document).ready(function () {
    var $mollieContainers = $('.mollie-iframe-container');
    if (!$mollieContainers.length) {
        return;
    }

    var overridePrestaShopsAdditionalInformationHideFunctionality = function ($mollieContainer) {
      var $additionalInformationContainer = $mollieContainer.closest('.additional-information');

      // this allows for us to have our custom hide functionality
      $additionalInformationContainer.addClass('mollie-credit-card-container__hide')

      // making the container visible
      $additionalInformationContainer.css('display', 'block')
      // removing any additional classes that might also set element to be hidden
      $additionalInformationContainer.removeClass('ps-hidden')
    }

    var showAdditionalInformation = function ($additionalInformation) {
      $additionalInformation.removeClass('mollie-credit-card-container__hide')
      $additionalInformation.addClass('mollie-credit-card-container__show')
    }

    var hideAdditionalInformation = function ($additionalInformation) {
      $additionalInformation.addClass('mollie-credit-card-container__hide')
      $additionalInformation.removeClass('mollie-credit-card-container__show')
    }

    overridePrestaShopsAdditionalInformationHideFunctionality($mollieContainers)

    // if credit card is somehow preselected its hidden content will be displayed
    var isMollieCreditCardPreselected = function ($iframeContainer) {
      var $additionalInformation = $iframeContainer.closest('.additional-information')
      var id = $additionalInformation.attr('id')

      var paymentOptionPrefix = id.replace('-additional-information', '')
      var $paymentOption = $('#' + paymentOptionPrefix)

      return $paymentOption.is(':checked')
    }

    if (isMollieCreditCardPreselected($mollieContainers)) {
      showAdditionalInformation($mollieContainers.closest('.additional-information'))
    }

    var options = {
        styles: {
            base: {
                color: "#222",
                fontSize: "15px;",
                padding: "15px"
            }
        }
    };
    var mollie = Mollie(profileId, {locale: isoCode, testMode: isTestMode});
    var cardHolder = mollie.createComponent('cardHolder', options);
    var cardNumber = mollie.createComponent('cardNumber', options);
    var expiryDate = mollie.createComponent('expiryDate', options);
    var verificationCode = mollie.createComponent('verificationCode', options);

    var cardHolderInput;
    var carNumberInput;
    var expiryDateInput;
    var verificationCodeInput;

    var fieldMap = {
        'card-holder': 0,
        'card-number': 1,
        'expiry-date': 2,
        'verification-code': 3
    };
    var fieldErrors = {};
    mountMollieComponents();

    $(document).on('change', 'input[data-module-name="mollie"]', function () {
        var paymentOption = $(this).attr('id');
        var $additionalInformation = $('#' + paymentOption + '-additional-information');
        $additionalInformation.addClass('mollie-addition-info');

        showAdditionalInformation($additionalInformation)

        var methodId = $additionalInformation.find('input[name="mollie-method-id"]').val();
        if (methodId !== 'creditcard') {
            return;
        }
        cardHolderInput.unmount();
        carNumberInput.unmount();
        expiryDateInput.unmount();
        verificationCodeInput.unmount();
        fieldErrors = {};
        handleErrors();
        $('.mollie-input').removeClass('is-invalid');
        mountMollieComponents();
    });

    $(document).on('change', 'input[name="payment-option"]', function () {
      var isMollie = $(this).attr('data-module-name') === 'mollie'

      if (isMollie) {
        return;
      }

      var $additionalInformation = $mollieContainers.closest('.additional-information')

      hideAdditionalInformation($additionalInformation)
    })

    function mountMollieComponents() {
        methodId = 'creditcard';
        cardHolderInput = mountMollieField(this, '#card-holder', methodId, cardHolder, 'card-holder');
        carNumberInput = mountMollieField(this, '#card-number', methodId, cardNumber, 'card-number');
        expiryDateInput = mountMollieField(this, '#expiry-date', methodId, expiryDate, 'expiry-date');
        verificationCodeInput = mountMollieField(this, '#verification-code', methodId, verificationCode, 'verification-code');

        var $mollieCardToken = $('input[name="mollieCardToken"]');
        var isResubmit = false;
        $mollieCardToken.closest('form').on('submit', function (event) {
            var $form = $(this);
            var useSavedCardCheckbox = $('input[name="mollie-use-saved-card"]');
            if (isResubmit || useSavedCardCheckbox.is(':checked')) {
                return;
            }
            event.preventDefault();
            mollie.createToken().then(function (token) {
                if (token.error) {
                    var $mollieAlert = $('.js-mollie-alert');
                    $mollieAlert.closest('article').show();
                    $mollieAlert.text(token.error.message);
                    return;
                }

                $mollieCardToken.val(token.token);
                isResubmit = true;
                $form[0].submit();
                return;
            });

            $('#payment-confirmation').find('button[type=submit]').prop("disabled", false);
        });
    }

    function mountMollieField(mollieContainer, holderId, methodId, inputHolder, methodName) {
        var invalidClass = 'is-invalid';
        var cardHolderId = holderId + '-' + methodId;
        inputHolder.mount(cardHolderId);
        inputHolder.addEventListener('change', function (event) {
            if (event.error && event.touched) {
                $(cardHolderId).addClass(invalidClass);
                fieldErrors[fieldMap[methodName]] = event.error;
                handleErrors();
            } else {
                fieldErrors[fieldMap[methodName]] = '';
                $(cardHolderId).removeClass(invalidClass);
                handleErrors();
            }
        });

        inputHolder.addEventListener("focus", function () {
            var $formGroup =   $('.form-group-' + methodName + '.' + methodId)

            var $additionalInformation = $formGroup.closest('.additional-information')

            if ($additionalInformation.hasClass('mollie-credit-card-container__hide')) {
              // if mollie is hidden do nothing with focus
              return
            }

            $formGroup.toggleClass('is-focused', true);
        });

        inputHolder.addEventListener("blur", function () {
            $('.form-group-' + methodName + '.' + methodId).toggleClass('is-focused', false);
        });
        inputHolder.addEventListener("change", function (event) {
            $('.form-group-' + methodName + '.' + methodId).toggleClass('is-dirty', event.dirty);
        });
        return inputHolder;
    }

    function handleErrors() {
        var $errorField = $('#mollie-field-error');
        var hasError = 0;
        jQuery.each(fieldErrors, function (key, fieldError) {
            if (fieldError) {
                $errorField.find('label').text(fieldError);
                hasError = 1;
                return false;
            }
        });
        if (!hasError) {
            $errorField.find('label').text('');
        }
    }
});

xxxxx1.0, XXX xxxx