diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 2c2a941da..5da912088 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -1007,8 +1007,16 @@ class Cases $fieldsOnBoth = @array_intersect_assoc($FieldsBefore['APP_DATA'], $aApplicationFields); //Add fields that weren't in previous version foreach ($aApplicationFields as $key => $value) { - if (!(isset($fieldsOnBoth[$key]))) { - $FieldsDifference[$key] = $value; + if (is_array($value) && is_array($fieldsOnBoth[$key])){ + $afieldDifference = $this->arrayRecursiveDiff($value,$fieldsOnBoth[$key]); + $dfieldDifference = $this->arrayRecursiveDiff($fieldsOnBoth[$key],$value); + if ($afieldDifference || $dfieldDifference){ + $FieldsDifference[$key] = $value; + } + } else { + if (!(isset($fieldsOnBoth[$key]))) { + $FieldsDifference[$key] = $value; + } } } if ((is_array($FieldsDifference)) && (count($FieldsDifference) > 0)) {