95 $result =
new Entity\AddResult();
100 $mergeFields = static::getMergeFields();
102 foreach ($mergeFields as $field)
104 unset($updateData[$field]);
107 if (isset($updateData[
'SEARCH_USER_CONTENT']))
109 $value =
$DB->forSql($updateData[
'SEARCH_USER_CONTENT']);
110 $encryptedValue = sha1($updateData[
'SEARCH_USER_CONTENT']);
111 $updateData[
'SEARCH_USER_CONTENT'] = new \Bitrix\Main\DB\SqlExpression(
"case when " . $helper->getSha1Function(static::getTableName().
".SEARCH_USER_CONTENT") .
" = '{$encryptedValue}' then ".static::getTableName().
".SEARCH_USER_CONTENT else '{$value}' end");
114 if (isset($updateData[
'SEARCH_DEPARTMENT_CONTENT']))
116 $value =
$DB->forSql($updateData[
'SEARCH_DEPARTMENT_CONTENT']);
117 $encryptedValue = sha1($updateData[
'SEARCH_DEPARTMENT_CONTENT']);
118 $updateData[
'SEARCH_DEPARTMENT_CONTENT'] = new \Bitrix\Main\DB\SqlExpression(
"case when " . $helper->getSha1Function(static::getTableName().
".SEARCH_DEPARTMENT_CONTENT") .
" = '{$encryptedValue}' then ".static::getTableName().
".SEARCH_DEPARTMENT_CONTENT else '{$value}' end");
121 if (isset($updateData[
'SEARCH_ADMIN_CONTENT']))
123 $value =
$DB->forSql($updateData[
'SEARCH_ADMIN_CONTENT']);
124 $encryptedValue = sha1($updateData[
'SEARCH_ADMIN_CONTENT']);
125 $updateData[
'SEARCH_ADMIN_CONTENT'] = new \Bitrix\Main\DB\SqlExpression(
"case when " . $helper->getSha1Function(static::getTableName().
".SEARCH_ADMIN_CONTENT") .
" = '{$encryptedValue}' then ".static::getTableName().
".SEARCH_ADMIN_CONTENT else '{$value}' end");
128 $merge = $helper->prepareMerge(
129 static::getTableName(),
130 static::getMergeFields(),
144 $result->addError(
new Error(
'Error constructing query'));