File "premium-activation.js"
Full Path: /home/flipjqml/onlinebetsolution.com/wp-content/plugins/call-now-button/resources/js/premium-activation.js
File size: 5.71 KB
MIME-type: text/html
Charset: utf-8
function cnb_email_activation_reenable_fields(form, showSomethingWentWrong = true) {
let errorMessage = ''
if (showSomethingWentWrong) {
errorMessage = '<h3 class="title">Something went wrong!</h3>' +
'<p>Something has gone wrong and we do not know why...</p>' +
'<p>As unlikely as it is, our service might be experiencing issues (check <a href="https://status.callnowbutton.com" target="_blank">our status page</a>).</p>' +
'<p>If you think you\'ve found a bug, please report it <a href="https://nowbuttons.com/support/contact/contact-support/" target="_blank">here</a>.' +
'<p>Technical details:</p>'
}
const errorDetails = '<p style="color:red"><span class="cnb_email_activation_errors"></span></p>'
const submitButton = jQuery(form).find('[name="cnb_email_activation_submit"]')
jQuery(form).find('[name="cnb_email_activation_address"]').removeAttr("disabled")
submitButton.removeAttr("disabled")
submitButton.val("Activate")
jQuery(form).find('.cnb_email_activation_message').html(errorMessage + errorDetails)
}
function cnb_email_activation_taking_too_long(form) {
const errorMessage = '<h3 class="title">Hmm, that\'s taking a while...</h3>' +
'<p>This call should not take this long. Please try again in a minute or so.</p>' +
'<p>As unlikely as it is, our service might be experiencing issues (check <a href="https://status.callnowbutton.com" target="_blank">our status page</a>).</p>' +
'<p>If you think you\'ve found a bug, please report it <a href="https://nowbuttons.com/support/contact/contact-support/" target="_blank">here</a>.'
const errorDetails = '<p>Technical details:</p><p style="color:red"><span class="cnb_email_activation_errors"></span></p>'
const submitButton = jQuery(form).find('[name="cnb_email_activation_submit"]')
jQuery(form).find('[name="cnb_email_activation_address"]').removeAttr("disabled")
submitButton.removeAttr("disabled")
submitButton.val("Activate")
jQuery(form).find('.cnb_email_activation_message').html(errorMessage + errorDetails)
}
/**
* This calls the admin-ajax action called 'cnb_email_activation' (function cnb_admin_cnb_email_activation)
*/
function cnb_email_activation(form) {
const email_address = jQuery(form).find('[name="cnb_email_activation_address"]').val()
// Prep data
const data = {
'action': 'cnb_email_activation',
'admin_email': email_address
}
// Disable the Email and Button fields (reactivate in case of errors)
const submitButton = jQuery(form).find('[name="cnb_email_activation_submit"]')
jQuery(form).find('[name="cnb_email_activation_address"]').attr("disabled", "disabled")
submitButton.attr("disabled", "disabled")
submitButton.val("Check your e-mail")
// Clear the error fields
jQuery(form).find('.cnb_email_activation_message').empty()
jQuery(form).find('[name="cnb_email_activation_address"]').empty()
const statusTimeout = 5000
const fn_is_taking_too_long = () => cnb_email_activation_taking_too_long(form)
const takingTooLongTimer = setTimeout(fn_is_taking_too_long, statusTimeout)
// Send remove request
jQuery.post(ajaxurl, data)
.done((result) => {
if (result && result.email) {
clearTimeout(takingTooLongTimer)
jQuery(form).find('.cnb_email_activation_message').html('<span class="cnb_check_email_message">Check your inbox for an activation email sent to <strong><span class="cnb_email_activation_address"></span></strong>.</span>')
jQuery(form).find('span.cnb_email_activation_address').text(result.email)
}
if (result && result.errors) {
clearTimeout(takingTooLongTimer)
const keys = Object.keys(result.errors)
let showSomethingWentWrong = true
if (keys.length === 1 && (keys[0] === 'CNB_EMAIL_INVALID'|| keys[0] === 'CNB_EMAIL_EMPTY')) {
// Skip showing the big block with links, since we know exactly what's going on
showSomethingWentWrong = false
}
cnb_email_activation_reenable_fields(form, showSomethingWentWrong)
keys.forEach((key) => {
// Create Text Nodes to ensure escaping of the content
const codeMsg = document.createTextNode(key)
const errorMsg = document.createTextNode(result.errors[key])
const code = jQuery('<code>').append(codeMsg)
jQuery(form).find('.cnb_email_activation_errors').append('<br />', code, ': ', errorMsg)
})
}
})
.fail((result) => {
clearTimeout(takingTooLongTimer)
cnb_email_activation_reenable_fields(form)
// Create Text Nodes to ensure escaping of the content
const codeMsg = document.createTextNode(result.status + ' ' + result.statusText)
const errorMsg = document.createTextNode(result.responseText)
const code = jQuery('<code>').append(codeMsg)
jQuery(form).find('.cnb_email_activation_errors').append('<br />', code, ': ', errorMsg)
})
return false
}
function cnb_email_activation_init() {
jQuery('form.cnb_email_activation').on('submit', (event) => {
const form = jQuery(event.target)
return cnb_email_activation(form)
})
}
function cnb_activation_notice_ui() {
jQuery(".option2-apikey, #option1-email").hide();
jQuery("#option1-email, #option2-apikey").on("click", () => {
jQuery(".option2-apikey, #option2-apikey, #option1-email, .option1-email").toggle();
});
}
jQuery(() => {
cnb_email_activation_init()
cnb_activation_notice_ui()
})