Merged in release/3.3.3 (pull request #6763)
Release/3.3.3 Approved-by: Paula Quispe <paula.quispe@processmaker.com>
This commit is contained in:
@@ -966,9 +966,10 @@ class DynaForm
|
||||
if ($record['DYN_VERSION'] === 0) {
|
||||
$record['DYN_VERSION'] = 1;
|
||||
}
|
||||
|
||||
//to do, this line should be removed. Related to PMC-196.
|
||||
$record['DYN_CONTENT'] = G::fixStringCorrupted($record['DYN_CONTENT']);
|
||||
$record['DYN_CONTENT'] = preg_replace_callback("/\\\\u([a-f0-9]{4})/", function ($m) {
|
||||
return "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$m[1]')))";
|
||||
return iconv('UCS-4LE', 'UTF-8', pack('V', hexdec('U' . $m[1])));
|
||||
}, $record['DYN_CONTENT']);
|
||||
|
||||
return array(
|
||||
@@ -977,7 +978,7 @@ class DynaForm
|
||||
$this->getFieldNameByFormatFieldName('DYN_DESCRIPTION') => $record['DYN_DESCRIPTION'] . '',
|
||||
$this->getFieldNameByFormatFieldName('DYN_TYPE') => $record['DYN_TYPE'] . '',
|
||||
$this->getFieldNameByFormatFieldName('DYN_CONTENT') => $record['DYN_CONTENT'] . '',
|
||||
$this->getFieldNameByFormatFieldName('DYN_VERSION') => (int)$record['DYN_VERSION'],
|
||||
$this->getFieldNameByFormatFieldName('DYN_VERSION') => (int) $record['DYN_VERSION'],
|
||||
$this->getFieldNameByFormatFieldName('DYN_UPDATE_DATE') => $record['DYN_UPDATE_DATE']
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
@@ -400,6 +400,37 @@ function verifyCsrfToken($request)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference between to multidimensional array
|
||||
*
|
||||
* @param array $array1
|
||||
* @param array $array2
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function arrayDiffRecursive(array $array1, array $array2)
|
||||
{
|
||||
$difference = [];
|
||||
foreach ($array1 as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
if (!isset($array2[$key])) {
|
||||
$difference[$key] = $value;
|
||||
} elseif (!is_array($array2[$key])) {
|
||||
$difference[$key] = $value;
|
||||
} else {
|
||||
$new_diff = arrayDiffRecursive($value, $array2[$key]);
|
||||
if (!empty($new_diff)) {
|
||||
$difference[$key] = $new_diff;
|
||||
}
|
||||
}
|
||||
} elseif (!isset($array2[$key]) || $array2[$key] != $value) {
|
||||
$difference[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return $difference;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current user CSRF token.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user