From 1a1c7fcd1c5d6bf81f167533ee87ad89dddb09ac Mon Sep 17 00:00:00 2001 From: Erik Amaru Ortiz Date: Fri, 10 Feb 2012 18:35:05 -0400 Subject: [PATCH] BUG 8134 "0007933: ISSUES Happen when wf_XXX#APPLICATION#APP..." unserialize() problem with utf8 characteres, SOLVED --- workflow/engine/classes/class.case.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 200eefc48..e66ca778d 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -429,7 +429,16 @@ class Cases { $oApp = new Application; $aFields = $oApp->Load($sAppUid); //$aFields = $oApp->toArray(BasePeer::TYPE_FIELDNAME); - $aFields['APP_DATA'] = G::array_merges(G::getSystemConstants(), @unserialize($aFields['APP_DATA'])); + + $appData = @unserialize($aFields['APP_DATA']); + + // BUG 8134, FIX!// for single/double quote troubles // Unserialize with utf8 content get trouble + if ($appData === false) { + $appData = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $aFields['APP_DATA']); + $appData = @unserialize($appData); + } + + $aFields['APP_DATA'] = G::array_merges(G::getSystemConstants(), $appData); switch ($oApp->getAppStatus()) { case 'COMPLETED': $aFields['STATUS'] = G::LoadTranslation('ID_COMPLETED');