From 58acf784b8a94d19bcb930f59cccdc5827c8b166 Mon Sep 17 00:00:00 2001 From: Hector Cortez Date: Mon, 3 Jun 2013 16:25:54 -0400 Subject: [PATCH] BUG 0000 Rad Map Perdida de sesion cuando se ejecuta casos SOLVED - Error javascript in the variable dynaformSVal when the session is losing. - Reduction and encoded of the dynaformSVal variable. --- workflow/engine/methods/cases/cases_Step.php | 8 ++--- .../methods/services/sessionPersists.php | 35 ++++++++++--------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index 92749eb65..a2d42a56e 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -178,14 +178,10 @@ try { //Obtain previous and next step - End $aRequiredFields = array( - 'APPLICATION' => $Fields['APP_DATA']['APPLICATION'], - 'PROCESS' => $Fields['APP_DATA']['PROCESS'], - 'TASK' => $Fields['APP_DATA']['TASK'], - 'INDEX' => $Fields['APP_DATA']['INDEX'], - 'APP_DATA' => $Fields['APP_DATA'] + 'APP_DATA' => $Fields['APP_DATA'] ); -$oHeadPublisher->addScriptCode('var __dynaformSVal__ = \'' . serialize($aRequiredFields) . '\';'); +$oHeadPublisher->addScriptCode('var __dynaformSVal__ = \'' . base64_encode(serialize($aRequiredFields)) . '\'; '); try { //Add content content step - Start $oApp = ApplicationPeer::retrieveByPK( $_SESSION['APPLICATION'] ); diff --git a/workflow/engine/methods/services/sessionPersists.php b/workflow/engine/methods/services/sessionPersists.php index 10c5f3911..d13aa2764 100755 --- a/workflow/engine/methods/services/sessionPersists.php +++ b/workflow/engine/methods/services/sessionPersists.php @@ -32,24 +32,27 @@ if (isset($_REQUEST['dynaformEditorParams'])) { } } if (isset($_REQUEST['dynaformRestoreValues'])) { - $aRetValues = unserialize(stripslashes($_REQUEST['dynaformRestoreValues'])); - if (isset($aRetValues['APPLICATION'])) { - $_SESSION['APPLICATION'] = $aRetValues['APPLICATION']; - } - if (isset($aRetValues['PROCESS'])) { - $_SESSION['PROCESS'] = $aRetValues['PROCESS']; - } - if (isset($aRetValues['TASK'])) { - $_SESSION['TASK'] = $aRetValues['TASK']; - } - if (isset($aRetValues['INDEX'])) { - $_SESSION['INDEX'] = $aRetValues['INDEX']; - } - if (isset($aRetValues['TRIGGER_DEBUG'])) { - $_SESSION['TRIGGER_DEBUG'] = $aRetValues['TRIGGER_DEBUG']; - } + + $aRetValues = unserialize(stripslashes(base64_decode($_REQUEST['dynaformRestoreValues']))); + if (isset($aRetValues['APP_DATA'])) { $_SESSION['APP_DATA'] = $aRetValues['APP_DATA']; + + if (isset($aRetValues['APP_DATA']['APPLICATION'])) { + $_SESSION['APPLICATION'] = $aRetValues['APP_DATA']['APPLICATION']; + } + if (isset($aRetValues['APP_DATA']['PROCESS'])) { + $_SESSION['PROCESS'] = $aRetValues['APP_DATA']['PROCESS']; + } + if (isset($aRetValues['APP_DATA']['TASK'])) { + $_SESSION['TASK'] = $aRetValues['APP_DATA']['TASK']; + } + if (isset($aRetValues['APP_DATA']['INDEX'])) { + $_SESSION['INDEX'] = $aRetValues['APP_DATA']['INDEX']; + } + if (isset($aRetValues['APP_DATA']['TRIGGER_DEBUG'])) { + $_SESSION['TRIGGER_DEBUG'] = $aRetValues['APP_DATA']['TRIGGER_DEBUG']; + } } } die(G::json_encode($response)); \ No newline at end of file