session Helper implementation : ps

This commit is contained in:
VE10-Sanjeev 2023-08-23 15:00:55 +05:30
parent 3b8ddca8fe
commit 96b93c723f
8 changed files with 175 additions and 66 deletions

View File

@ -49,45 +49,50 @@ class Authentication extends BaseController
if ($username === $user['email'] && $pwd_verify) {
// Redirect to a dashboard or other protected area
$session = \Config\Services::session();
$session->set('user_id', $user['user_id']);
$session->set('user_name', $user['first_name'] . " " . $user['last_name']);
$session->set('user_role', $user['role']);
$session->set('business_id', $user['business_id']);
helper('session');
set_logged_user_id($user['user_id']);
set_logged_name($user['first_name'] . " " . $user['last_name']);
set_user_role($user['role']);
set_business_id($user['business_id']);
return redirect()->to('dashboard');
// $cookie = \Config\Services::cookie();
// $cookie->setCookie('remember_username', 'Sri Harsha', 3600); // Cookie expires in 1 hour
return redirect()->to('dashboard');
} else {
// Invalid credentials, display error message
// return redirect()->back()->with('error', 'Invalid username or password.');
return redirect()->back()->withInput()->with('error', 'Invalid username or password.');
}
} else {
// Validation failed, display errors
// return redirect()->back()->withInput()->with('validation', $validation);
return redirect()->back()->withInput()->with('error', 'Invalid username or password.');
}
}
public function logout()
{
// Clear session and cookies
$session = \Config\Services::session();
$session->remove('user_id');
$session = session();
// Regenerate the session ID
$session->regenerate();
// Clear session data and perform logout logic
$session->destroy();
// $cookie = \Config\Services::cookie();
// $remembered_username = $cookie->getCookie('remember_username');
// $cookie->delete('remember_username');
// Redirect to a logout confirmation page or login page
return redirect()->to('/login'); // Replace with your login route
// return redirect()->to('/login'); // Replace with your login route
$this->response->setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0');
$this->response->setHeader('Pragma', 'no-cache');
$this->response->setHeader('Expires', 'Fri, 01 Jan 1990 00:00:00 GMT');
return redirect()->to('/login'); //
}
public function lockscreen()

View File

@ -56,33 +56,32 @@ abstract class BaseController extends Controller
// E.g.: $this->session = \Config\Services::session();
}
public function render_page($viewpage, $data){
helper('session');
$session_uid = get_logged_user_id('user_id');
$session_uname = get_logged_name('user_name');
$session_role = get_user_role('user_role');
if(!is_session_active()) {
$route = base_url()."login";
return redirect()->route($route);
}
$auth_model = new AuthenticationModel();
public function render_page($viewpage, $data)
{
$session = \Config\Services::session();
// print_r($session);die();
$session_uid = $session->get('user_id');
$session_uname = $session->get('user_name');
$session_role = $session->get('user_role');
$auth_model = new AuthenticationModel();
$details = $auth_model->getheringDetailsForHeader($session_uid);
$data['company_name'] = $details[0]['site_name'];
$data['company_short_name'] = $details[0]['site_title'];
$data['loggedin_person'] = $session_uname;
$data['loggedin_person_role'] = $details[0]['role'];
$data['favicon'] = $details[0]['favicon'];
$data['profile_picture'] = $details[0]['profile_picture'];
$data['browser_title'] = $data['company_name'] . ' | ' . $data['company_short_name'] . ' ' . $data['page_name'];
$data['heading'] = $data['page_name'] == "Dashboard" ? 'Welcome to ' . $data['company_name'] : "";
echo view('template/header.php', $data);
echo view('template/topbar.php', $data);
echo view($viewpage, $data);
echo view('template/footer.php', $data);
$details = $auth_model->getheringDetailsForHeader($session_uid);
$data['company_name'] = $details[0]['site_name'];
$data['company_short_name'] = $details[0]['site_title'];
$data['loggedin_person'] = $session_uname;
$data['loggedin_person_role'] = $details[0]['role'];
$data['favicon'] = $details[0]['favicon'];
$data['profile_picture'] = $details[0]['profile_picture'];
$data['browser_title'] = $data['company_name'] . ' | ' . $data['company_short_name'] . ' ' . $data['page_name'];
$data['heading'] = $data['page_name'] == "Dashboard" ? 'Welcome to ' . $data['company_name'] : "";
echo view('template/header.php', $data);
echo view('template/topbar.php', $data);
echo view($viewpage, $data);
echo view('template/footer.php', $data);
// $header = view('template/header.php', $data);
// $topbar = view('template/topbar.php', $data);
// $content = view($viewpage, $data);

View File

@ -8,9 +8,11 @@ class Books extends BaseController
{
public function index()
{
$session = \Config\Services::session();
$session_role = $session->get('user_role');
$session_bid = $session->get('business_id');
helper('session');
if (is_session_active()) {
$session_role = get_user_role('user_role');
$session_bid = get_business_id('business_id');
$where = ['books.isactive' => 1];
if (!empty($session_role) && $session_role !== "sadmin") {
$where = ['books.business_id' => $session_bid, 'books.isactive' => 1];
@ -22,6 +24,10 @@ class Books extends BaseController
$data['page_name'] = 'Book Details';
$data['details'] = $book_details;
$this->render_page('book_list', $data);
} else {
// Session is not active or user is not logged in
return redirect()->to('login');
}
}
## To Load Book Add/Update page
@ -44,22 +50,22 @@ class Books extends BaseController
## To Save/Update Book Data on DB.
public function book_synchronization()
{
$session = \Config\Services::session();
helper('session');
$model = new BooksModel();
$model->setTable('books');
if ($this->request->is('post')) {
$requestData = $this->request->getVar();
}
$requestData['business_id'] = $session->get('business_id');
$requestData['business_id'] = get_business_id('business_id');
if ($requestData['user_id']) {
#edit
$requestData['updated_by'] = $session->get('book_id');
$requestData['updated_by'] = get_logged_user_id();
$requestData['isactive'] = isset($requestData['isactive']) && $requestData['isactive'] == 'on' ? 1 : 0;
$model->saveData($requestData, $requestData['user_id']);
$alert_message = "Book details successfully updated.";
} else {
#add
$requestData['created_by'] = $session->get('user_id');
$requestData['created_by'] = get_logged_user_id();
$requestData['isactive'] = 1;
$model->saveData($requestData, null);
$alert_message = "Book details successfully created.";

View File

@ -6,7 +6,9 @@ class Home extends BaseController
{
public function index()
{
$data['page_name'] = 'Dashboard';
$this->render_page('dashboard', $data);
$data['page_name'] = 'Dashboard';
$this->render_page('dashboard', $data);
}
}

View File

@ -8,9 +8,10 @@ class Settings extends BaseController
{
public function index()
{
$session = \Config\Services::session();
$session_role = $session->get('user_role');
$session_bid = $session->get('business_id');
helper('session');
$session_role = get_user_role('user_role');
$session_bid = get_business_id('business_id');
$where = ['settings.isactive' => 1];
if (!empty($session_role) && $session_role !== "sadmin") {
$where = ['settings.business_id' => $session_bid, 'settings.isactive' => 1];
@ -45,22 +46,25 @@ class Settings extends BaseController
## To Save/Update Setting Data on DB.
public function sitesetting_synchronization()
{
$session = \Config\Services::session();
helper('session');
$session_bid = get_business_id('business_id');
$session_uid = get_logged_user_id();
$model = new SettingsModel();
$model->setTable('settings');
if ($this->request->is('post')) {
$requestData = $this->request->getVar();
}
$requestData['business_id'] = $session->get('business_id');
if ($requestData['user_id']) {
$requestData['business_id'] = $session_bid;
if ($requestData['setting_id']) {
#edit
$requestData['updated_by'] = $session->get('book_id');
$requestData['updated_by'] = $session_uid;
$requestData['isactive'] = isset($requestData['isactive']) && $requestData['isactive'] == 'on' ? 1 : 0;
$model->saveData($requestData, $requestData['user_id']);
$model->saveData($requestData, $requestData['setting_id']);
$alert_message = "Site Settings details successfully updated.";
} else {
#add
$requestData['created_by'] = $session->get('user_id');
$requestData['created_by'] = $session_uid;
$requestData['isactive'] = 1;
$model->saveData($requestData, null);
$alert_message = "Site Settings details successfully created.";

View File

@ -9,9 +9,10 @@ class Users extends BaseController
## For User Listing
public function index()
{
$session = \Config\Services::session();
$session_role = $session->get('user_role');
$session_bid = $session->get('business_id');
helper('session');
$session_role = get_user_role('user_role');
$session_bid = get_business_id('business_id');
$where = ['users.isactive' => 1];
if (!empty($session_role) && $session_role !== "sadmin") {
@ -45,16 +46,18 @@ class Users extends BaseController
## To Save/Update User Data on DB.
public function user_synchronization()
{
$session = \Config\Services::session();
helper('session');
$session_bid = get_business_id('business_id');
$session_uid = get_logged_user_id();
$model = new UsersModel();
$model->setTable('users');
if ($this->request->is('post')) {
$requestData = $this->request->getVar();
}
$requestData['business_id'] = $session->get('business_id');
$requestData['business_id'] = $session_bid;
if ($requestData['user_id']) {
#edit
$requestData['updated_by'] = $session->get('user_id');
$requestData['updated_by'] = $session_uid;
$requestData['isactive'] = isset($requestData['isactive']) && $requestData['isactive'] == 'on' ? 1 : 0;
unset($requestData['password']);
$model->saveData($requestData, $requestData['user_id']);
@ -63,7 +66,7 @@ class Users extends BaseController
#add
$hash_password = password_hash($requestData['password'], PASSWORD_DEFAULT);
$requestData['password'] = $hash_password;
$requestData['created_by'] = $session->get('user_id');
$requestData['created_by'] = $session_uid;
$requestData['isactive'] = 1;
$model->saveData($requestData, null);
$alert_message = "User successfully created.";

View File

@ -0,0 +1,90 @@
<?php
if (!function_exists('is_session_active')) {
function is_session_active()
{
//$session = \Config\Services::session();
// echo "i am in helper ...".$session->get('user_id');die();
return session()->get('user_id');
}
}
if (!function_exists('get_logged_user_id')) {
function get_logged_user_id()
{
return session('user_id');
}
}
if (!function_exists('set_logged_user')) {
function set_logged_user_id($userId)
{
session()->set('user_id', $userId);
}
}
if (!function_exists('unset_logged_user')) {
function unset_logged_user()
{
session()->remove('user_id');
}
}
if (!function_exists('get_logged_name')) {
function get_logged_name()
{
return session('user_name');
}
}
if (!function_exists('set_logged_name')) {
function set_logged_name($userName)
{
session()->set('user_name', $userName);
}
}
if (!function_exists('get_logged_name')) {
function get_logged_name()
{
return session('user_name');
}
}
if (!function_exists('set_user_role')) {
function set_user_role($userRole)
{
session()->set('user_role', $userRole);
}
}
if (!function_exists('get_user_role')) {
function get_user_role()
{
return session('user_role');
}
}
if (!function_exists('set_business_id')) {
function set_business_id($businessId)
{
session()->set('business_id', $businessId);
}
}
if (!function_exists('get_business_id')) {
function get_business_id()
{
return session('business_id');
}
}
if (!function_exists('is_session_destroy')) {
function is_session_destroy()
{
session()->destroy();
}
}
?>

View File

@ -252,7 +252,7 @@
<div class="dropdown-divider"></div>
<!-- item-->
<a href="logout" class="dropdown-item notify-item">
<a href="<?= base_url()."logout"; ?>" class="dropdown-item notify-item">
<i class="ri-logout-box-line"></i>
<span>Logout</span>
</a>