Add missing user preferences init

This commit is contained in:
Jack Anderson 2024-07-25 15:06:52 +01:00
parent 1c81c2e684
commit e015a284f4
2 changed files with 5 additions and 17 deletions

View file

@ -98,15 +98,10 @@ class UserPreference extends SugarBean
$name,
$category = 'global'
) {
global $sugar_config, $current_user;
global $sugar_config;
$user = $this->_userFocus;
if ($user->user_name !== $current_user->user_name){
$this->loadPreferences($category);
return $user->user_preferences[$category][$name] ?? $this->getDefaultPreference($name, $category);
}
// if the unique key in session doesn't match the app or prefereces are empty
if (!isset($_SESSION[$user->user_name.'_PREFERENCES'][$category]) || (!empty($_SESSION['unique_key']) && $_SESSION['unique_key'] != $sugar_config['unique_key'])) {
$this->loadPreferences($category);
@ -208,18 +203,13 @@ class UserPreference extends SugarBean
public function loadPreferences(
$category = 'global'
) {
global $sugar_config, $current_user;
global $sugar_config;
$user = $this->_userFocus;
if ($user->object_name != 'User') {
return;
}
if ($user->user_name !== $current_user->user_name){
return $this->reloadPreferences($category);
}
if (!empty($user->id) && (!isset($_SESSION[$user->user_name . '_PREFERENCES'][$category]) || (!empty($_SESSION['unique_key']) && $_SESSION['unique_key'] != $sugar_config['unique_key']))) {
// cn: moving this to only log when valid - throwing errors on install
return $this->reloadPreferences($category);
@ -240,10 +230,8 @@ class UserPreference extends SugarBean
return false;
}
$GLOBALS['log']->debug('Loading Preferences DB ' . $user->user_name);
if ($GLOBALS['current_user']->user_name === $user->user_name){
if (!isset($_SESSION[$user->user_name . '_PREFERENCES'])) {
$_SESSION[$user->user_name . '_PREFERENCES'] = array();
}
if (!isset($_SESSION[$user->user_name . '_PREFERENCES'])) {
$_SESSION[$user->user_name . '_PREFERENCES'] = array();
}
if (!isset($user->user_preferences) || !is_array($user->user_preferences)) {
$user->user_preferences = array();

View file

@ -210,7 +210,7 @@ class SugarAuthenticate
$authenticated_user_language = $GLOBALS['current_user']->getPreference('language') ?? $_REQUEST['ck_login_language_20'] ?? $sugar_config['default_language'];
}
if (str_contains($sugar_config['disabled_languages'], $authenticated_user_language)){
if (str_contains($sugar_config['disabled_languages'] ?? '', $authenticated_user_language)){
$authenticated_user_language = $sugar_config['default_language'];
}