diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index bf2cef3c7..1e7b78f56 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -446,7 +446,11 @@ class Bootstrap } define ( "SYS_LANG", $args ['SYS_LANG'] ); - define ( "SYS_SKIN", $args ['SYS_SKIN'] ); + if (isset($_COOKIE['workspaceSkin'])) { + define('SYS_SKIN', $_COOKIE['workspaceSkin']); + } else { + define('SYS_SKIN', $args ['SYS_SKIN']); + } define ( 'SYS_COLLECTION', $args ['SYS_COLLECTION'] ); define ( 'SYS_TARGET', $args ['SYS_TARGET'] ); 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 + "/");