get('isLoggedIn'); if ($isLoggedIn) { return redirect()->to(base_url('/dashboard/view')); } return view('login'); } public function receiveGoogleOAuthResponse() { $UserModel = new UserModel(); if ($this->request->getGet('code')) { $code = (string) $this->request->getGet('code'); log_message('error', 'Get OAuth Responce Code Sucessfully'); log_message('error', 'OAuthResponceCode : `'.$code.'`'); $value = googleOAuthLogin($this->request->getGet('code')); if($value){ $user = $UserModel->getUserByEmail($value->email); if($user){ if($user->is_active !== '0'){ $session_data = ['isLoggedIn' => True ,'userid' => $user->id]; set_session_data($session_data); log_message('error', 'Set The UserId : `'. $user->id .'` in Session'); log_message('error', 'Is User Login Sucessfully'); $this->getUserDeviceInfo($user->id); return redirect()->to(base_url('/dashboard/view')); }else{ log_message('error', 'Is User Not Activate'); session()->setFlashdata('error', 'Is User Not Activate'); return redirect()->to(base_url('login')); } }else{ log_message('error', 'Is User Not Register'); session()->setFlashdata('error', 'Is User Not Register'); return redirect()->to(base_url('login')); } } }else{ $return = googleOAuthLogin(false); return $return; } } public function logout() { session()->destroy(); return redirect()->to(base_url('login')); } public function getUserDeviceInfo($userId){ // Load the UserAgent library $userAgent = $this->request->getUserAgent(); // Get the user's platform (e.g., Windows, Mac, Linux) $platform = $userAgent->getPlatform(); // Get the user's browser (e.g., Chrome, Firefox, Safari) $browser = $userAgent->getBrowser(); // Get the user's IP address $ipAddress = $this->request->getIPAddress(); $datd = [ 'user_id' => $userId, 'ip' => $ipAddress, 'platform' => $platform, 'broswer' => $browser, ]; $AuthHistoryModel = new AuthHistoryModel; $insertAuthHistory = $AuthHistoryModel->insert($datd); } }