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; } }