function performLogin(phpFunction, errorElementId, emailInputId, passwordInputId, loginFormId, resetPasswordFormId, createAccountFormId, resetPasswordEmailInputId, resetPasswordOldInputId, destinationPage) { document.getElementById(errorElementId).innerText = ''; let email = document.getElementById(emailInputId).value; let password = document.getElementById(passwordInputId).value; let siteId = document.getElementById("siteId").value; if (!email) { document.getElementById(errorElementId).innerText = 'User name is required.'; return } else if (!password) { document.getElementById(errorElementId).innerText = 'Password is required.'; return } else { let xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", `phpFunctions/ajaxFunctions.php?ajax_token=${ajax_token}&f1=${phpFunction}&email=${encodeURIComponent(email)}&site_id=${encodeURIComponent(siteId)}&password=${encodeURIComponent(password)}`, true); xmlhttp.responseType = 'text'; xmlhttp.onload = function() { let values = xmlhttp.response.split('~,~'); let entryId = values[0]; let resetPasswordRequired = values[1]; let error = values[2]; if (resetPasswordRequired == 1) { document.getElementById(loginFormId).style.display = "none"; if (createAccountFormId) { document.getElementById(createAccountFormId).style.display = "none"; } document.getElementById(resetPasswordFormId).style.display = ""; document.getElementById(resetPasswordEmailInputId).value = email; document.getElementById(resetPasswordOldInputId).value = password; document.getElementById(errorElementId).innerText = error; return; } else if (error) { document.getElementById(errorElementId).innerText = error; return; } if (!destinationPage) { destinationPage = 'index.html'; } window.location.href = destinationPage; } xmlhttp.send(); } } function performResetPassword(phpFunction, errorElementId, emailInputId, oldPasswordInputId, newPasswordInputId, confirmNewPasswordInputId, loginFormId, resetPasswordFormId, createAccountFormId, loginEmailInputId, loginPasswordInputId) { document.getElementById(errorElementId).innerText = ''; let email = document.getElementById(emailInputId).value; let oldPassword = document.getElementById(oldPasswordInputId).value; let newPassword = document.getElementById(newPasswordInputId).value; let confirmPassword = document.getElementById(confirmNewPasswordInputId).value; if (newPassword != confirmPassword) { document.getElementById(errorElementId).innerText = 'The new password fields must match.'; return; } else if (newPassword == oldPassword) { document.getElementById(errorElementId).innerText = 'The new password must be different.'; return; } else if (newPassword.length < 8 || newPassword.toUpperCase() === newPassword || newPassword.toLowerCase() === newPassword || !(/[^a-zA-Z]/.test(newPassword))) { document.getElementById(errorElementId).innerText = 'Password must be at least 8 characters, contain both uppercase and lowercase letters, and contain a number or symbol.'; return; } let xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", `phpFunctions/ajaxFunctions.php?ajax_token=${ajax_token}&f1=${phpFunction}&email=${encodeURIComponent(email)}&old_password=${encodeURIComponent(oldPassword)}&new_password=${encodeURIComponent(newPassword)}`, true); xmlhttp.responseType = 'text'; xmlhttp.onload = function() { console.log(xmlhttp.response); let values = xmlhttp.response.split('~,~'); let success = values[0]; let error = values[1]; if (success == 0) { document.getElementById(errorElementId).innerText = error; } else { document.getElementById(loginEmailInputId).value = email; document.getElementById(loginPasswordInputId).value = newPassword; document.getElementById(loginFormId).style.display = ""; if (createAccountFormId) { document.getElementById(createAccountFormId).style.display = ""; } document.getElementById(resetPasswordFormId).style.display = "none"; login(); } } xmlhttp.send(); }