public function getWorkDistanceAttribute() { if (Session::has('user_id')) { $user_id = Session::get('user_id'); $lat = $this->job_locations->lat; $lng = $this->job_locations->lng; $user = User::where('id', '=', $user_id)->within((int) $this->search_radius, 'kilometers', $lat, $lng)->where('lat', '!=', '')->where('lng', '!=', '')->first(); if (empty($user) || count($user) == 0) { return 0; } return $user->toArray()['distance']; } return 0; }
public function getUserImageInfo($user_id) { $user_image = User::where('id', '=', $user_id)->first(); $file_info = File::where('id', '=', $user_image->profile_image)->first()->toArray(); return $file_info; }
public function update(GoogleApiService $google, $user_id) { try { $input = Request::all(); $address = $input['street_name'] . ', ' . $input['city_town'] . ', ' . $input['zip_code'] . ', ' . $input['country']; $input['lat'] = 0; $input['lng'] = 0; $geocode = $google->geoCoding($address); if ($geocode['status'] == 'OK') { $input['lat'] = $geocode['lat']; $input['lng'] = $geocode['lng']; $birthday = $input['birth_year'] . '-' . $input['birth_month'] . '-' . $input['birth_date']; $input['birth_date'] = date('Y-m-d', strtotime($birthday)); unset($input['password_confirmation']); unset($input['birth_year']); unset($input['birth_month']); User::where('id', '=', $user_id)->update($input); $response = User::where('id', '=', $user_id)->first()->toArray(); if (!empty($response)) { return $this->json_response->success($response); } return $this->json_response->error($response); } else { return $this->json_response->error(['validation_message' => $geocode['status']]); } } catch (Exception $e) { return $this->json_response->error(['error' => $e->getMessage()]); } }
public function processVerification($verification_code) { $logged = false; $verified = false; $expired = false; $verification_info = UserVerify::where('verification_code', '=', $verification_code)->first(); //code cannot be found if (empty($verification_info)) { return 'not-found'; } if (!empty(JWTAuth::getToken())) { $logged = true; } $verification_info = $verification_info->toArray(); $end = date('Y-m-d H:i:s', strtotime($verification_info['created_at'] . '+1 hour')); $now = date('Y-m-d H:i:s'); //checks if user has been verified if ($this->getUserById($verification_info['user_id'])['verified'] == 1) { $verified = true; } //if not verified check if the code already expired if (!$verified) { if (strtotime($now) >= strtotime($end) || $verification_info['status'] == 2) { if ($verification_info['status'] != 2) { UserVerify::where('verification_code', '=', $verification_code)->update(['status' => 2]); } $expired = true; } } // checks if user logged in is the same user using verification code if ($logged) { $user = $this->getUserByToken()->toArray(); if ($user['id'] != $verification_info['user_id']) { if ($verified) { return 'already-verified-user-not-logged'; } if ($expired) { return 'expired-user-not-logged'; } return 'user-not-logged'; } } UserVerify::where('verification_code', '=', $verification_code)->update(['status' => 1]); User::where('id', '=', $verification_info['user_id'])->update(['verified' => 1]); $this->sendValidatedEmail($verification_info['user_id']); if ($expired) { return 'expired'; } if ($logged) { if ($verified) { return 'already-verified-logged'; } return 'success-logged'; } if ($verified) { return 'already-verified-not-logged'; } return 'success-not-logged'; }