/** * Takes username and password, if succesful returns a access token */ function rtmedia_api_process_wp_login_request() { //Login Errors and Messages $ec_user_pass_missing = 200001; $msg_user_pass_missing = __('username/password empty', 'rtmedia'); $ec_incorrect_username = 200002; $msg_incorrect_username = __('incorrect username', 'rtmedia'); $ec_incorrect_pass = 200003; $msg_incorrect_pass = __('incorrect password', 'rtmedia'); $ec_login_success = 200004; $msg_login_success = __('login success', 'rtmedia'); if (empty($_POST['username']) || empty($_POST['password'])) { echo $this->rtmedia_api_response_object('FALSE', $ec_user_pass_missing, $msg_user_pass_missing); exit; } else { $user_login = wp_authenticate(trim($_POST['username']), trim($_POST['password'])); if (is_wp_error($user_login)) { $incorrect_password = !empty($user_login->errors['incorrect_password']) ? TRUE : FALSE; $incorrect_username = !empty($user_login->errors['invalid_username']) ? TRUE : FALSE; if ($incorrect_password) { echo $this->rtmedia_api_response_object('FALSE', $ec_incorrect_pass, $msg_incorrect_pass); exit; } elseif ($incorrect_username) { echo $this->rtmedia_api_response_object('FALSE', $ec_incorrect_username, $msg_incorrect_username); exit; } } else { $access_token = $this->rtmediajsonapifunction->rtmedia_api_get_user_token($user_login->ID, $user_login->data->user_login); $data = array('access_token' => $access_token); echo $this->rtmedia_api_response_object('TRUE', $ec_login_success, $msg_login_success, $data); $rtmapilogin = new RTMediaApiLogin(); //update all tokens for user to exired on each login $rtmapilogin->update(array('status' => 'FALSE'), array('user_id' => $user_login->ID)); $login_details = array('user_id' => $user_login->ID, 'ip' => $_SERVER['REMOTE_ADDR'], 'token' => $access_token, 'token_time' => date("Y-m-d H:i:s")); $rtmapilogin->insert($login_details); } } }
/** * Takes username and password, if succesful returns a access token */ function rtmedia_api_process_wp_login_request() { //Login Errors and Messages $ec_user_pass_missing = 200001; $msg_user_pass_missing = esc_html__('username/password empty', 'buddypress-media'); $ec_incorrect_username = 200002; $msg_incorrect_username = esc_html__('incorrect username', 'buddypress-media'); $ec_incorrect_pass = 200003; $msg_incorrect_pass = esc_html__('incorrect password', 'buddypress-media'); $ec_login_success = 200004; $msg_login_success = esc_html__('login success', 'buddypress-media'); $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); $password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING); if (empty($username) || empty($password)) { wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_user_pass_missing, $msg_user_pass_missing)); } else { $user_login = wp_authenticate(trim($username), trim($password)); if (is_wp_error($user_login)) { $incorrect_password = !empty($user_login->errors['incorrect_password']) ? true : false; $incorrect_username = !empty($user_login->errors['invalid_username']) ? true : false; if ($incorrect_password) { wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_incorrect_pass, $msg_incorrect_pass)); } elseif ($incorrect_username) { wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_incorrect_username, $msg_incorrect_username)); } } else { $access_token = $this->rtmediajsonapifunction->rtmedia_api_get_user_token($user_login->ID, $user_login->data->user_login); $data = array('access_token' => $access_token); $rtmapilogin = new RTMediaApiLogin(); //update all tokens for user to exired on each login $rtmapilogin->update(array('status' => 'FALSE'), array('user_id' => $user_login->ID)); $remote_addr = rtm_get_server_var('REMOTE_ADDR', 'FILTER_VALIDATE_IP'); $login_details = array('user_id' => intval($user_login->ID), 'ip' => $remote_addr, 'token' => sanitize_text_field($access_token), 'token_time' => date('Y-m-d H:i:s')); $rtmapilogin->insert($login_details); wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_login_success, $msg_login_success, $data)); } } }