From bfd748b52f0abf192a508abf3a30fb5b5b6ef742 Mon Sep 17 00:00:00 2001 From: ainaraRT Date: Tue, 15 Oct 2024 10:41:09 +0000 Subject: [PATCH] login and logout of the user --- modules/Users/Authenticate.php | 25 +++++++++++++++++++++++++ modules/Users/Logout.php | 22 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/modules/Users/Authenticate.php b/modules/Users/Authenticate.php index 1ffd9fa87e5..bd8a5aafcb8 100755 --- a/modules/Users/Authenticate.php +++ b/modules/Users/Authenticate.php @@ -86,6 +86,31 @@ } else { $url = $GLOBALS['app']->getLoginRedirect(); } + + // STIC-Custom 20241014 ART - Tracker Module + // https://github.com/SinergiaTIC/SinergiaCRM/pull/211 + // Track the login of the current user + if($action === 'Authenticate'){ + $trackerManager = TrackerManager::getInstance(); + $monitor = $trackerManager->getMonitor('tracker'); + + if ($monitor) { + + $user = $GLOBALS['current_user']; + + $monitor->setValue('date_modified', $GLOBALS['timedate']->nowDb()); + $monitor->setValue('user_id', $user->id); + $monitor->setValue('assigned_user_link', $user->user_name); + $monitor->setValue('module_name', 'Users'); + $monitor->setValue('action', 'login_ok'); + $monitor->setValue('item_id', $user->id); + $monitor->setValue('item_summary', $user->full_name .' - Login'); + $monitor->setValue('visible', true); + + $trackerManager->saveMonitor($monitor, true, true); + } + } + // END STIC Custom } else { // Login has failed if (isset($_POST['login_language']) && !empty($_POST['login_language'])) { diff --git a/modules/Users/Logout.php b/modules/Users/Logout.php index 2937eefb1d3..a990e33a7f0 100755 --- a/modules/Users/Logout.php +++ b/modules/Users/Logout.php @@ -62,6 +62,28 @@ } //Update the tracker_sessions table +// STIC-Custom 20241014 ART - Tracker Module +// https://github.com/SinergiaTIC/SinergiaCRM/pull/211 +// Track the logout of the current user +if($action === 'Logout') { + $trackerManager = TrackerManager::getInstance(); + $monitor = $trackerManager->getMonitor('tracker'); + + if ($monitor) { + + $monitor->setValue('date_modified', $GLOBALS['timedate']->nowDb()); + $monitor->setValue('user_id', $current_user->id); + $monitor->setValue('assigned_user_link', $current_user->user_name); + $monitor->setValue('module_name', 'Users'); + $monitor->setValue('action', 'logout'); + $monitor->setValue('item_id', $current_user->id); + $monitor->setValue('item_summary', $current_user->full_name .' - Logout'); + $monitor->setValue('visible', true); + + $trackerManager->saveMonitor($monitor, true, true); + } +} +// END STIC Custom // clear out the authenticating flag session_destroy();