function process(Vtiger_Request $request) { vimport('~include/events/include.inc'); $db = PearDatabase::getInstance(); $em = new VTEventsManager($db); $em->initTriggerCache(); $em->triggerEvent('user.logout.before', []); Vtiger_Session::regenerateId(true); // to overcome session id reuse. Vtiger_Session::destroy(); //Track the logout History $moduleName = $request->getModule(); $moduleModel = Users_Module_Model::getInstance($moduleName); $moduleModel->saveLogoutHistory(); //End header('Location: index.php'); }
function process(Vtiger_Request $request) { $username = $request->get('username'); $password = $request->get('password'); if ($request->get('mode') == 'install') { $dirPath = 'install'; Users_Module_Model::deleteLangFiles(); $configTemplate = "config/config.template.php"; if (file_exists($configTemplate)) { unlink($configTemplate); } Vtiger_Functions::recurseDelete($dirPath); } $checkBlocked = Settings_BruteForce_Module_Model::checkBlocked(); $bruteForceSettings = Settings_BruteForce_Module_Model::getBruteForceSettings(); if ($checkBlocked && $bruteForceSettings['active']) { Settings_BruteForce_Module_Model::sendNotificationEmail(); header('Location: index.php?module=Users&parent=Settings&view=Login&error=2'); exit; } $user = CRMEntity::getInstance('Users'); $user->column_fields['user_name'] = $username; $moduleModel = Users_Module_Model::getInstance('Users'); if ($user->doLogin($password)) { if (vglobal('session_regenerate_id')) { Vtiger_Session::regenerateId(true); } // to overcome session id reuse. $userid = $user->retrieve_user_id($username); Vtiger_Session::set('AUTHUSERID', $userid); // For Backward compatability // TODO Remove when switch-to-old look is not needed Vtiger_Session::set('authenticated_user_id', $userid); Vtiger_Session::set('app_unique_key', vglobal('application_unique_key')); Vtiger_Session::set('authenticated_user_language', vglobal('default_language')); Vtiger_Session::set('user_name', $username); Vtiger_Session::set('full_user_name', Vtiger_Functions::getUserRecordLabel($userid)); if ($request->has('language') && vglobal('langInLoginView')) { Vtiger_Session::set('language', $request->get('language')); } if ($request->has('layout')) { Vtiger_Session::set('layout', $request->get('layout')); } //Enabled session variable for KCFINDER $_SESSION['KCFINDER'] = array(); $_SESSION['KCFINDER']['disabled'] = false; $_SESSION['KCFINDER']['uploadURL'] = "cache/upload"; $_SESSION['KCFINDER']['uploadDir'] = "../../cache/upload"; $deniedExts = implode(" ", vglobal('upload_badext')); $_SESSION['KCFINDER']['deniedExts'] = $deniedExts; // End //Track the login History $moduleModel->saveLoginHistory($user->column_fields['user_name']); //End if (isset($_SESSION['return_params'])) { $return_params = urldecode($_SESSION['return_params']); header("Location: index.php?{$return_params}"); exit; } else { header('Location: index.php'); exit; } } else { //Track the login History $browser = Settings_BruteForce_Module_Model::browserDetect(); $moduleModel->saveLoginHistory($username, 'Failed login', $browser); header('Location: index.php?module=Users&parent=Settings&view=Login&error=1'); exit; } }