nhance/app/Controllers/LoginController.php
2024-02-09 12:44:43 +05:30

74 lines
2.3 KiB
PHP

<?php
namespace App\Controllers;
use CodeIgniter\HTTP\IncomingRequest;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Models\UserModal;
class LoginController extends BaseController
{
public function index(){
// $session_data = ['isLoggedIn' => True ,'userid' => '4'];
// set_session_data($session_data);
$isLoggedIn = check_session();
if ($isLoggedIn) {
return redirect()->to(base_url('/dashboard/view'));
}
return view('login');
}
public function receiveGoogleOAuthResponse()
{
//echo 'DONE';die();
$UserModel = new UserModal();
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');
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'));
}
}