ss', 'profilepress-login-status', $login_form_id);
$login_username = ! empty($data['tabbed-login-name']) ? $data['tabbed-login-name'] : $data['login_username'];
$login_password = ! empty($data['tabbed-login-password']) ? $data['tabbed-login-password'] : $data['login_password'];
$login_remember = ! empty($data['tabbed-login-remember-me']) ? $data['tabbed-login-remember-me'] : $data['login_remember'];
$login_username = trim($login_username);
$login_remember = sanitize_text_field($login_remember);
$login_redirect = ! empty($data['login_redirect']) ? sanitize_text_field($data['login_redirect']) : '';
if ( ! empty($data['melange_redirect'])) {
$login_redirect = sanitize_text_field($data['melange_redirect']);
}
/** @var \WP_Error|string $response */
$response = LoginAuth::login_auth($login_username, $login_password, $login_remember, $login_form_id, $login_redirect);
$ajax_response = array('success' => true, 'redirect' => $response);
if (isset($response) && is_wp_error($response)) {
$login_error = '
';
$login_error .= $response->get_error_message();
$login_error .= '
';
$ajax_response = [
'success' => false,
'code' => $response->get_error_code(),
'message' => $login_error
];
}
wp_send_json($ajax_response);
}
wp_die();
}
function ajax_signup_func()
{
if ( ! defined('W3GUY_LOCAL') && is_user_logged_in()) wp_send_json_error();
if (isset($_REQUEST)) {
$is_melange = ( ! empty($_POST['is_melange']) && $_POST['is_melange'] == 'true');
$form_id = ! empty($_POST['melange_id']) ? $_POST['melange_id'] : ($_POST['signup_form_id'] ?? '');
$form_id = absint($form_id);
$redirect = ppressPOST_var('signup_redirect', '', true);
if ( ! empty($_POST['melange_redirect'])) {
$redirect = sanitize_text_field($_POST['melange_redirect']);
}
$no_login_redirect = sanitize_text_field($_POST['signup_no_login_redirect'] ?? '');
// if this is tab widget.
if (isset($_POST['is-pp-tab-widget']) && $_POST['is-pp-tab-widget'] == 'true') {
$widget_status = @TabbedWidgetDependency::registration(
$_POST['tabbed-reg-username'],
$_POST['tabbed-reg-password'],
$_POST['tabbed-reg-email']
);
if ( ! empty($widget_status)) {
$response = '' . $widget_status . '
';
}
} else {
$response = RegistrationAuth::register_new_user($_POST, $form_id, $redirect, $is_melange, $no_login_redirect);
}
// display form generated messages
if ( ! empty($response)) {
if (is_array($response)) {
$ajax_response = ['redirect' => $response[0]];
} else {
$ajax_response = ['message' => wp_kses_post(html_entity_decode($response))];
}
wp_send_json($ajax_response);
}
}
wp_die();
}
function ajax_passwordreset_func()
{
if (isset($_REQUEST['data'])) {
parse_str($_REQUEST['data'], $data);
// populate global $_POST and $_REQUEST variable.
$_POST = $_REQUEST = $data;
// variable is populated by parse_str()
$user_login = ! empty($data['tabbed-user-login']) ? $data['tabbed-user-login'] : ppress_var($data, 'user_login', '');
$user_login = sanitize_text_field($user_login);
$is_melange = ( ! empty($_POST['is_melange']) && $_POST['is_melange'] == 'true');
$form_id = ! empty($data['melange_id']) ? $data['melange_id'] : $data['passwordreset_form_id'];
$form_id = absint($form_id);
// do password reset
if ( ! empty($data['reset_key']) && ! empty($data['reset_login'])) {
// needed for checking if this is for do password reset.
$_REQUEST['reset_password'] = true;
$response = PasswordReset::do_password_reset();
} else {
// response is WP_Error on error or redirect url on success.
$response = PasswordReset::password_reset_status($user_login, $form_id, $is_melange);
}
$ajax_response = array();
$ajax_response['status'] = is_array($response) ? true : false;
$ajax_response['message'] = is_array($response) ? wp_kses_post(html_entity_decode($response[0])) : wp_kses_post(html_entity_decode($response));
wp_send_json($ajax_response);
}
wp_die();
}
function ajax_editprofile_func()
{
if (isset($_REQUEST)) {
$is_melange = ( ! empty($_POST['is_melange']) && $_POST['is_melange'] == 'true');
$form_id = absint(! empty($_POST['melange_id']) ? $_POST['melange_id'] : ppressPOST_var('editprofile_form_id'));
$redirect = ppressPOST_var('editprofile_redirect', '', true);
if ( ! empty($_POST['melange_redirect'])) {
$redirect = esc_url_raw($_POST['melange_redirect']);
}
// check to see if the submitted nonce matches with the generated nonce we created earlier
if ( ! wp_verify_nonce($_REQUEST['nonce'], 'ppress-frontend-nonce')) {
wp_send_json([
'success' => false,
'message' => '' . esc_html__('Security validation failed. Try again', 'wp-user-avatar') . '
'
]);
}
$response = EditUserProfile::process_func($form_id, $redirect, $is_melange);
// display form generated messages
if (isset($response) && is_array($response)) {
wp_send_json($response);
}
}
wp_die();
}
public static function get_instance()
{
static $instance = null;
if (is_null($instance)) {
$instance = new self();
}
return $instance;
}
}