diff --git a/workflow/engine/methods/login/authentication.php b/workflow/engine/methods/login/authentication.php index 5f18b6fe3..0ba1be763 100755 --- a/workflow/engine/methods/login/authentication.php +++ b/workflow/engine/methods/login/authentication.php @@ -249,6 +249,13 @@ try { $sLocation = $_REQUEST['u']; } else { $sLocation = $oUserProperty->redirectTo($_SESSION['USER_LOGGED'], $lang); + if (isset($_COOKIE['workspaceSkin'])) { + if (substr(SYS_SKIN, 0, 2) == 'ux') { + $sLocation = str_replace(SYS_SKIN."/main", $_COOKIE['workspaceSkin']."/setup/main", $sLocation); + } else { + $sLocation = str_replace(SYS_SKIN, $_COOKIE['workspaceSkin'], $sLocation); + } + } } } diff --git a/workflow/engine/methods/login/login.php b/workflow/engine/methods/login/login.php index 3ba6bbde9..57de98f6d 100755 --- a/workflow/engine/methods/login/login.php +++ b/workflow/engine/methods/login/login.php @@ -69,6 +69,7 @@ if (isset ($_SESSION['USER_LOGGED'])) { $aRow = $oDataset->getRow(); if ($aRow) { + setcookie("workspaceSkin", SYS_SKIN, time() + 24*60*60, "/sys".SYS_SYS); if ($aRow['LOG_STATUS'] != 'CLOSED' && $aRow['LOG_END_DATE'] == null) { $weblog = new LoginLog(); diff --git a/workflow/engine/methods/setup/skinsList.php b/workflow/engine/methods/setup/skinsList.php index 85006b1b2..c527f652e 100755 --- a/workflow/engine/methods/setup/skinsList.php +++ b/workflow/engine/methods/setup/skinsList.php @@ -45,6 +45,7 @@ $oHeadPublisher->addExtJsScript( 'setup/skinList', false ); //adding a javascrip $oHeadPublisher->addContent( 'setup/skinList' ); //adding a html file .html. $oHeadPublisher->assign( 'CONFIG', $Config ); $oHeadPublisher->assign( 'SYS_SKIN', SYS_SKIN ); +$oHeadPublisher->assign( 'SYS_SYS', "sys".SYS_SYS ); $oHeadPublisher->assign( 'FORMATS', $c->getFormats() ); diff --git a/workflow/engine/templates/setup/skinList.js b/workflow/engine/templates/setup/skinList.js index 345bd7ea0..6ef714a26 100755 --- a/workflow/engine/templates/setup/skinList.js +++ b/workflow/engine/templates/setup/skinList.js @@ -777,6 +777,17 @@ deleteSkin = function(){ ); } +function createCookie (name, value, time) { + if (time) { + var date = new Date(); + date.setTime(date.getTime()+(time*24*60*60*1000)); + var expires = "; expires="+date.toGMTString(); + } else { + var expires = ""; + } + document.cookie = name+"="+value+expires+"; path=/"+SYS_SYS; +} + function changeSkin(newSkin,currentSkin){ Ext.Ajax.request({ url: 'clearCompiledAjax', @@ -787,6 +798,7 @@ function changeSkin(newSkin,currentSkin){ var response = Ext.util.JSON.decode(r.responseText); if (response.success) { currentLocation = top.location.href; + createCookie ('workspaceSkin', newSkin, '1'); if (currentSkin.substring(0,2) != 'ux') { if (newSkin.substring(0,2) == 'ux') { newLocation = currentLocation.replace("/" + currentSkin + "/setup/", "/" + newSkin + "/");