/**
  * 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);
         }
     }
 }
Exemple #2
0
 /**
  * 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));
         }
     }
 }