diff --git a/workflow/engine/methods/login/authentication.php b/workflow/engine/methods/login/authentication.php index 37d7c961a..70e099ea9 100755 --- a/workflow/engine/methods/login/authentication.php +++ b/workflow/engine/methods/login/authentication.php @@ -181,6 +181,45 @@ try { $_SESSION['USR_USERNAME'] = $usr; } + //Set default Languaje + if (isset($frm['USER_LANG'])) { + if ($frm['USER_LANG'] != '') { + $lang = $frm['USER_LANG']; + if($frm['USER_LANG'] == "default"){ + //Check the USR_DEFAULT_LANG + require_once 'classes/model/Users.php'; + $user = new Users(); + $rsUser = $user->userLanguaje($_SESSION['USER_LOGGED']); + $rsUser->next(); + $rowUser = $rsUser->getRow(); + if( isset($rowUser["USR_DEFAULT_LANG"]) && $rowUser["USR_DEFAULT_LANG"]!=''){ + $lang = $rowUser["USR_DEFAULT_LANG"]; + } else { + //Check the login_defaultLanguage + $oConf = new Configurations(); + $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', ''); + if (isset($oConf->aConfig["login_defaultLanguage"]) && $oConf->aConfig["login_defaultLanguage"] != "") { + $lang = $oConf->aConfig["login_defaultLanguage"]; + }else{ + if(SYS_LANG != ''){ + $lang = SYS_LANG; + }else{ + $lang = 'en'; + } + } + } + } else { + $lang = $frm['USER_LANG']; + } + } + } else { + if (defined("SYS_LANG") && SYS_LANG != "") { + $lang = SYS_LANG; + } else { + $lang = 'en'; + } + } + /*----------------------------------********---------------------------------*/ if (PMLicensedFeatures::getSingleton()->verifyfeature('oq3S29xemxEZXJpZEIzN01qenJUaStSekY4cTdJVm5vbWtVM0d4S2lJSS9qUT0=')) { //Update User Time Zone @@ -220,8 +259,10 @@ try { $_SESSION['BROWSER_TIME_ZONE'] = $dateTime->getTimeZoneIdByTimeZoneOffset((int)($_POST['form']['BROWSER_TIME_ZONE_OFFSET']), false); + $_SESSION['USER_LANG'] = $lang; + if (strpos($_SERVER['HTTP_REFERER'], 'home/login') !== false) { - $d = serialize(['u' => $usr, 'p' => $pwd, 'm' => '', 'timeZoneFailed' => 1, 'userTimeZone' => $_SESSION['USR_TIME_ZONE'], 'browserTimeZone' => $_SESSION['BROWSER_TIME_ZONE']]); + $d = serialize(['u' => $usr, 'p' => $pwd, 'm' => '', 'timeZoneFailed' => 1, 'userTimeZone' => $_SESSION['USR_TIME_ZONE'], 'browserTimeZone' => $_SESSION['BROWSER_TIME_ZONE'],'USER_LANG' => $lang]); $urlLogin = $urlLogin . '?d=' . base64_encode($d); } @@ -259,45 +300,6 @@ try { die; } - //Set default Languaje - if (isset($frm['USER_LANG'])) { - if ($frm['USER_LANG'] != '') { - $lang = $frm['USER_LANG']; - if($frm['USER_LANG'] == "default"){ - //Check the USR_DEFAULT_LANG - require_once 'classes/model/Users.php'; - $user = new Users(); - $rsUser = $user->userLanguaje($_SESSION['USER_LOGGED']); - $rsUser->next(); - $rowUser = $rsUser->getRow(); - if( isset($rowUser["USR_DEFAULT_LANG"]) && $rowUser["USR_DEFAULT_LANG"]!=''){ - $lang = $rowUser["USR_DEFAULT_LANG"]; - } else { - //Check the login_defaultLanguage - $oConf = new Configurations(); - $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', ''); - if (isset($oConf->aConfig["login_defaultLanguage"]) && $oConf->aConfig["login_defaultLanguage"] != "") { - $lang = $oConf->aConfig["login_defaultLanguage"]; - }else{ - if(SYS_LANG != ''){ - $lang = SYS_LANG; - }else{ - $lang = 'en'; - } - } - } - } else { - $lang = $frm['USER_LANG']; - } - } - } else { - if (defined("SYS_LANG") && SYS_LANG != "") { - $lang = SYS_LANG; - } else { - $lang = 'en'; - } - } - /**log in table Login**/ require_once 'classes/model/LoginLog.php'; $weblog=new LoginLog(); diff --git a/workflow/engine/methods/login/login.php b/workflow/engine/methods/login/login.php index d94d3fd71..00e86e5b7 100755 --- a/workflow/engine/methods/login/login.php +++ b/workflow/engine/methods/login/login.php @@ -148,6 +148,11 @@ if (isset($_SESSION['__TIME_ZONE_FAILED__']) && $_SESSION['__TIME_ZONE_FAILED__' $userPassword = $_SESSION['USR_PASSWORD']; $userTimeZone = $_SESSION['USR_TIME_ZONE']; $browserTimeZone = $_SESSION['BROWSER_TIME_ZONE']; + if(isset($_SESSION['USER_LANG'])){ + $lang = $_SESSION['USER_LANG']; + }else{ + $lang = SYS_LANG; + } } /*----------------------------------********---------------------------------*/ @@ -214,7 +219,8 @@ if ($timeZoneFailed) { 'USR_USERNAME' => $userUsername, 'USR_PASSWORD' => $userPassword, 'USR_TIME_ZONE' => '(UTC ' . $userUtcOffset . ') ' . $userTimeZone, - 'BROWSER_TIME_ZONE' => $browserTimeZone + 'BROWSER_TIME_ZONE' => $browserTimeZone, + 'USER_LANG' => $lang ]; $G_PUBLISH = new Publisher(); diff --git a/workflow/engine/xmlform/login/TimeZoneAlert.html b/workflow/engine/xmlform/login/TimeZoneAlert.html index aa1da414c..73de2c162 100644 --- a/workflow/engine/xmlform/login/TimeZoneAlert.html +++ b/workflow/engine/xmlform/login/TimeZoneAlert.html @@ -11,6 +11,7 @@ {$form.USR_USERNAME} {$form.USR_PASSWORD} + {$form.USER_LANG} {$form.USR_TIME_ZONE}
diff --git a/workflow/engine/xmlform/login/TimeZoneAlert.xml b/workflow/engine/xmlform/login/TimeZoneAlert.xml index adebaea36..7940ad00e 100644 --- a/workflow/engine/xmlform/login/TimeZoneAlert.xml +++ b/workflow/engine/xmlform/login/TimeZoneAlert.xml @@ -4,6 +4,7 @@ +