Example #1
0
     }
     if (!isset($item['FM'][$type])) {
         $item['FM'][$type] = array();
     }
     for ($i = 0; $i < $valueCount; $i++) {
         $item['FM'][$type]['n' . strval($i + 1)] = array('VALUE_TYPE' => $valueType, 'VALUE' => $values[$i]['VALUE']);
     }
 } else {
     if (isset($item['FM'][$type]) && !empty($item['FM'][$type])) {
         $valuesToAdd = array();
         foreach ($values as &$value) {
             $code = $value['CODE'];
             $isFound = false;
             foreach ($item['FM'][$type] as $k => &$v) {
                 if ($v['VALUE_TYPE'] === $valueType) {
                     if ($code === \Bitrix\Crm\Integrity\DuplicateCommunicationCriterion::prepareCode($type, $v['VALUE'])) {
                         $isFound = true;
                         break;
                     }
                 }
             }
             unset($v);
             if (!$isFound) {
                 $valuesToAdd[] = $value['VALUE'];
             }
         }
         unset($value);
         $valueToAddCount = count($valuesToAdd);
         if ($valueToAddCount > 0) {
             for ($i = 0; $i < $valueToAddCount; $i++) {
                 $item['FM'][$type]['n' . strval($i + 1)] = array('VALUE_TYPE' => $valueType, 'VALUE' => $valuesToAdd[$i]);