Do not check to see if session is set before setting timezone always set timezone, Fixes MFA when switching timezones

This commit is contained in:
johnnyq
2024-11-25 12:20:56 -05:00
parent 5a8234db13
commit 8c296de205

View File

@@ -1,18 +1,15 @@
<?php <?php
// Check if timezone and offset are set in session $result = mysqli_query($mysqli, "SELECT config_timezone FROM settings WHERE company_id = 1");
if (!isset($_SESSION['session_timezone']) || !isset($_SESSION['session_utc_offset'])) { $row = mysqli_fetch_array($result);
$result = mysqli_query($mysqli, "SELECT config_timezone FROM settings WHERE company_id = 1"); $_SESSION['session_timezone'] = $row['config_timezone'];
$row = mysqli_fetch_array($result);
$_SESSION['session_timezone'] = $row['config_timezone'];
// Set PHP timezone // Set PHP timezone
date_default_timezone_set($_SESSION['session_timezone']); date_default_timezone_set($_SESSION['session_timezone']);
// Calculate UTC offset and store it in session // Calculate UTC offset and store it in session
$session_datetime = new DateTime('now', new DateTimeZone($_SESSION['session_timezone'])); $session_datetime = new DateTime('now', new DateTimeZone($_SESSION['session_timezone']));
$_SESSION['session_utc_offset'] = $session_datetime->format('P'); $_SESSION['session_utc_offset'] = $session_datetime->format('P');
}
// Use the stored timezone and offset // Use the stored timezone and offset
$session_timezone = $_SESSION['session_timezone']; $session_timezone = $_SESSION['session_timezone'];