BUG 9363 What is the difference between Default lang in Login and System

- In the login screen for the classic skin was not selected the language set in the ADMIN
This commit is contained in:
Julio Cesar Laura
2012-07-09 19:08:34 -04:00
parent 41e013196a
commit 3cb00f3de2
2 changed files with 222 additions and 199 deletions

View File

@@ -23,16 +23,18 @@
* *
*/ */
$aFields = array();
if (!isset($_GET['u'])) { if (!isset($_GET['u'])) {
$aFields['URL'] = ''; $aFields['URL'] = '';
} } else {
else {
$aFields['URL'] = urldecode($_GET['u']); $aFields['URL'] = urldecode($_GET['u']);
} }
if (!isset($_SESSION['G_MESSAGE'])) { if (!isset($_SESSION['G_MESSAGE'])) {
$_SESSION['G_MESSAGE'] = ''; $_SESSION['G_MESSAGE'] = '';
} }
if (!isset($_SESSION['G_MESSAGE_TYPE'])) { if (!isset($_SESSION['G_MESSAGE_TYPE'])) {
$_SESSION['G_MESSAGE_TYPE'] = ''; $_SESSION['G_MESSAGE_TYPE'] = '';
} }
@@ -43,6 +45,7 @@
if (!isset($_SESSION['FAILED_LOGINS'])) { if (!isset($_SESSION['FAILED_LOGINS'])) {
$_SESSION['FAILED_LOGINS'] = 0; $_SESSION['FAILED_LOGINS'] = 0;
} }
$sFailedLogins = $_SESSION['FAILED_LOGINS']; $sFailedLogins = $_SESSION['FAILED_LOGINS'];
require_once 'classes/model/LoginLog.php'; require_once 'classes/model/LoginLog.php';
@@ -52,17 +55,23 @@
if (isset ($_SESSION['USER_LOGGED'])) { if (isset ($_SESSION['USER_LOGGED'])) {
//close the session, if the current session_id was used in PM. //close the session, if the current session_id was used in PM.
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->add(LoginLogPeer::LOG_SID, session_id()); $oCriteria->add(LoginLogPeer::LOG_SID, session_id());
$oCriteria->add(LoginLogPeer::USR_UID, isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : '-'); $oCriteria->add(LoginLogPeer::USR_UID, isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : '-');
$oCriteria->add(LoginLogPeer::LOG_STATUS, 'ACTIVE'); $oCriteria->add(LoginLogPeer::LOG_STATUS, 'ACTIVE');
$oCriteria->add ( LoginLogPeer::LOG_END_DATE, NULL, Criteria::ISNULL ); $oCriteria->add(LoginLogPeer::LOG_END_DATE, null, Criteria::ISNULL);
$oDataset = LoginLogPeer::doSelectRS($oCriteria); $oDataset = LoginLogPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$aRow = $oDataset->getRow(); $aRow = $oDataset->getRow();
if ($aRow) { if ($aRow) {
if ($aRow ['LOG_STATUS'] != 'CLOSED' && $aRow ['LOG_END_DATE'] == NULL) { if ($aRow['LOG_STATUS'] != 'CLOSED' && $aRow['LOG_END_DATE'] == null) {
$weblog = new LoginLog(); $weblog = new LoginLog();
$aLog['LOG_UID'] = $aRow['LOG_UID']; $aLog['LOG_UID'] = $aRow['LOG_UID'];
$aLog['LOG_STATUS'] = 'CLOSED'; $aLog['LOG_STATUS'] = 'CLOSED';
$aLog['LOG_IP'] = $aRow['LOG_IP']; $aLog['LOG_IP'] = $aRow['LOG_IP'];
@@ -71,11 +80,11 @@
$aLog['LOG_END_DATE'] = date('Y-m-d H:i:s'); $aLog['LOG_END_DATE'] = date('Y-m-d H:i:s');
$aLog['LOG_CLIENT_HOSTNAME'] = $aRow['LOG_CLIENT_HOSTNAME']; $aLog['LOG_CLIENT_HOSTNAME'] = $aRow['LOG_CLIENT_HOSTNAME'];
$aLog['USR_UID'] = $aRow['USR_UID']; $aLog['USR_UID'] = $aRow['USR_UID'];
$weblog->update($aLog); $weblog->update($aLog);
} }
} }
} } else {
else {
// Execute SSO trigger // Execute SSO trigger
$pluginRegistry =& PMPluginRegistry::getSingleton(); $pluginRegistry =& PMPluginRegistry::getSingleton();
if (defined('PM_SINGLE_SIGN_ON')) { if (defined('PM_SINGLE_SIGN_ON')) {
@@ -85,8 +94,10 @@
@session_destroy(); @session_destroy();
session_start(); session_start();
session_regenerate_id(); session_regenerate_id();
// Authenticate // Authenticate
require_once 'authentication.php'; require_once 'authentication.php';
die(); die();
} }
} }
@@ -105,6 +116,7 @@
if (strlen($msgType) > 0) { if (strlen($msgType) > 0) {
$_SESSION['G_MESSAGE_TYPE'] = $msgType; $_SESSION['G_MESSAGE_TYPE'] = $msgType;
} }
$_SESSION['FAILED_LOGINS'] = $sFailedLogins; $_SESSION['FAILED_LOGINS'] = $sFailedLogins;
//translation //translation
@@ -115,16 +127,27 @@
$availableLangArray [] = array ('LANG_ID' => 'char', 'LANG_NAME' => 'char' ); $availableLangArray [] = array ('LANG_ID' => 'char', 'LANG_NAME' => 'char' );
foreach ($translationsTable as $locale) { foreach ($translationsTable as $locale) {
$row['LANG_ID'] = $locale['LOCALE']; $row['LANG_ID'] = $locale['LOCALE'];
if( $locale['COUNTRY'] != '.' )
if ($locale['COUNTRY'] != '.') {
$row['LANG_NAME'] = $locale['LANGUAGE'] . ' (' . (ucwords(strtolower($locale['COUNTRY']))) . ')'; $row['LANG_NAME'] = $locale['LANGUAGE'] . ' (' . (ucwords(strtolower($locale['COUNTRY']))) . ')';
else } else {
$row['LANG_NAME'] = $locale['LANGUAGE']; $row['LANG_NAME'] = $locale['LANGUAGE'];
}
$availableLangArray [] = $row; $availableLangArray [] = $row;
} }
global $_DBArray; global $_DBArray;
$_DBArray ['langOptions'] = $availableLangArray; $_DBArray ['langOptions'] = $availableLangArray;
G::LoadClass('configuration');
$oConf = new Configurations();
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', '');
$aFields['USER_LANG'] = isset($oConf->aConfig['login_defaultLanguage'])
? $oConf->aConfig['login_defaultLanguage']
: 'en';
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/login', '', $aFields, SYS_URI . 'login/authentication.php'); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/login', '', $aFields, SYS_URI . 'login/authentication.php');
G::LoadClass('serverConfiguration'); G::LoadClass('serverConfiguration');
@@ -138,14 +161,15 @@
//get date of next beat //get date of next beat
$nextBeatDate = $oServerConf->getHeartbeatProperty('HB_NEXT_BEAT_DATE', 'HEART_BEAT_CONF'); $nextBeatDate = $oServerConf->getHeartbeatProperty('HB_NEXT_BEAT_DATE', 'HEART_BEAT_CONF');
$sflag = 1; $sflag = 1;
//if flag to send heartbeat is enabled, and it is time to send heartbeat, sent it using asynchronous beat. //if flag to send heartbeat is enabled, and it is time to send heartbeat, sent it using asynchronous beat.
if (($sflag == "1") && ((strtotime("now") > $nextBeatDate) || is_null($nextBeatDate))) { if (($sflag == "1") && ((strtotime("now") > $nextBeatDate) || is_null($nextBeatDate))) {
$oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher =& headPublisher::getSingleton();
//To do: we need to change to ExtJs //To do: we need to change to ExtJs
$oHeadPublisher->addScriptCode('var flagHeartBeat = 1;'); $oHeadPublisher->addScriptCode('var flagHeartBeat = 1;');
} } else {
else
$oHeadPublisher->addScriptCode('var flagHeartBeat = 0;'); $oHeadPublisher->addScriptCode('var flagHeartBeat = 0;');
}
//check if we show the panel with the getting started info //check if we show the panel with the getting started info
@@ -161,15 +185,23 @@
$flagGettingStarted = ConfigurationPeer::doCount($oCriteria); $flagGettingStarted = ConfigurationPeer::doCount($oCriteria);
if ($flagGettingStarted == 0) { if ($flagGettingStarted == 0) {
$oHeadPublisher->addScriptCode('var flagGettingStarted = 1;'); $oHeadPublisher->addScriptCode('var flagGettingStarted = 1;');
} } else {
else
$oHeadPublisher->addScriptCode('var flagGettingStarted = 0;'); $oHeadPublisher->addScriptCode('var flagGettingStarted = 0;');
}
$dummy = '';
G::loadClass('configuration'); G::loadClass('configuration');
$oConf = new Configurations;
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS','');
$flagForgotPassword = isset($oConf->aConfig['login_enableForgotPassword'])? $oConf->aConfig['login_enableForgotPassword']: 'off'; $oConf = new Configurations();
$oConf->loadConfig($dummy, 'ENVIRONMENT_SETTINGS', '');
$flagForgotPassword = isset($oConf->aConfig['login_enableForgotPassword'])
? $oConf->aConfig['login_enableForgotPassword']
: 'off';
$oHeadPublisher->addScriptCode("var flagForgotPassword = '$flagForgotPassword';"); $oHeadPublisher->addScriptCode("var flagForgotPassword = '$flagForgotPassword';");
G::RenderPage ( "publish" ); G::RenderPage('publish');

View File

@@ -18,17 +18,15 @@
<BSUBMIT type="submit"> <BSUBMIT type="submit">
<en>Login</en> <en>Login</en>
</BSUBMIT> </BSUBMIT>
<FORGOT_PASWORD_LINK type="link" link="forgotPassword" onclick="" colAlign="right" colWidth="135" style="display:none;"> <FORGOT_PASWORD_LINK type="link" link="forgotPassword" onclick="" colAlign="right" colWidth="135" style="display:none;">
<en>Forgot Password</en> <en>Forgot Password</en>
</FORGOT_PASWORD_LINK> </FORGOT_PASWORD_LINK>
<JS type="javascript">
<![CDATA[
<JS type="javascript"><![CDATA[
// enable/disable forgot password link // enable/disable forgot password link
if(flagForgotPassword == 'on' || flagForgotPassword == '1') if(flagForgotPassword == 'on' || flagForgotPassword == '1') {
document.getElementById("form[FORGOT_PASWORD_LINK]").style.display = 'block';//hideRowById('FORGOT_PASWORD_LINK'); document.getElementById("form[FORGOT_PASWORD_LINK]").style.display = 'block';//hideRowById('FORGOT_PASWORD_LINK');
}
var panel; var panel;
@@ -78,8 +76,12 @@ var saveConfig = function() {
var dynaformOnload = function() { var dynaformOnload = function() {
setFocus(getField('USR_USERNAME')); setFocus(getField('USR_USERNAME'));
if (flagHeartBeat) processHbInfo(); if (flagHeartBeat) {
if (flagGettingStarted) showGettingStarted(); processHbInfo();
}
if (flagGettingStarted) {
showGettingStarted();
}
}; };
var openInfoPanel = function() { var openInfoPanel = function() {
@@ -114,8 +116,6 @@ var openInfoPanel = function() {
leimnud.event.add(document.getElementById('form[BSUBMIT]'), 'click', function() { leimnud.event.add(document.getElementById('form[BSUBMIT]'), 'click', function() {
setNestedProperty(this, Array('disabled'), 'true'); setNestedProperty(this, Array('disabled'), 'true');
setNestedProperty(this, Array('value'), @@LOGIN_VERIFY_MSG); setNestedProperty(this, Array('value'), @@LOGIN_VERIFY_MSG);
lang = getField('USER_LANG').value;
createCookie('pmos_generik', '{"lang":"'+lang+'"}', 365);
var client = getBrowserClient(); var client = getBrowserClient();
@@ -124,16 +124,7 @@ leimnud.event.add(document.getElementById('form[BSUBMIT]'), 'click', function()
} }
}.extend(document.getElementById('form[BSUBMIT]'))); }.extend(document.getElementById('form[BSUBMIT]')));
try{ ]]>
c = new String(readCookie('pmos_generik')); </JS>
o = eval("("+c+")");
if( o != null){
getField('USER_LANG').value = o.lang;
}
}
catch(e){}
]]></JS>
</dynaForm> </dynaForm>