die; } $arResult['ENTITY_ID'] = $arParams['ENTITY_ID']; $arResult['ELEMENT_ID'] = IntVal($arParams['ELEMENT_ID']); $arResult['TYPE_ID'] = $arParams['TYPE_ID']; $arResult['READ_ONLY'] = isset($arParams['READ_ONLY']) ? $arParams['READ_ONLY'] : false; $arResult['VALUES'] = array(); if (isset($arParams['VALUES'][$arParams['TYPE_ID']]) && !empty($arParams['VALUES'][$arParams['TYPE_ID']])) { foreach ($arParams['VALUES'][$arParams['TYPE_ID']] as $ID => $arValue) { if (substr($ID, 0, 1) == 'n' && $arValue['VALUE'] == '') { continue; } $arResult['VALUES'][$ID]['ID'] = $ID; $arResult['VALUES'][$ID]['VALUE'] = $arValue['VALUE']; $arResult['VALUES'][$ID]['VALUE_TYPE'] = $arValue['VALUE_TYPE']; $arResult['VALUES'][$ID]['COMPLEX_ID'] = $arParams['TYPE_ID'] . '_' . $arValue['VALUE_TYPE']; $arResult['VALUES'][$ID]['COMPLEX_NAME'] = CCrmFieldMulti::GetEntityNameByComplex($arParams['TYPE_ID'] . '_' . $arValue['VALUE_TYPE']); $arResult['VALUES'][$ID]['TEMPLATE'] = CCrmFieldMulti::GetTemplateByComplex($arParams['TYPE_ID'] . '_' . $arValue['VALUE_TYPE'], $arValue['VALUE']); } } elseif ($arResult['ELEMENT_ID'] > 0) { $res = CCrmFieldMulti::GetList(array('ID' => 'asc'), array('ENTITY_ID' => $arResult['ENTITY_ID'], 'ELEMENT_ID' => $arResult['ELEMENT_ID'], 'TYPE_ID' => $arResult['TYPE_ID'])); while ($ar = $res->Fetch()) { $arResult['VALUES'][$ar['ID']]['ID'] = $ar['ID']; $arResult['VALUES'][$ar['ID']]['VALUE'] = $ar['VALUE']; $arResult['VALUES'][$ar['ID']]['VALUE_TYPE'] = $ar['VALUE_TYPE']; $arResult['VALUES'][$ar['ID']]['COMPLEX_ID'] = $ar['COMPLEX_ID']; $arResult['VALUES'][$ar['ID']]['COMPLEX_NAME'] = CCrmFieldMulti::GetEntityNameByComplex($ar['COMPLEX_ID']); $arResult['VALUES'][$ar['ID']]['TEMPLATE'] = CCrmFieldMulti::GetTemplateByComplex($ar['COMPLEX_ID'], $ar['VALUE']); } } $this->IncludeComponentTemplate();
protected static function PreparePrintableValue($arDocumentID, $fieldName, $arFieldType, $fieldValue) { global $USER_FIELD_MANAGER, $APPLICATION; if (empty($arDocumentID)) { throw new CBPArgumentNullException('documentId'); } $result = $fieldValue; switch ($arFieldType['Type']) { case 'date': case 'datetime': if (is_array($fieldValue)) { $result = array(); foreach ($fieldValue as $_fieldValue) { $result[] = empty($_fieldValue) ? FormatDate('x', MakeTimeStamp($_fieldValue)) : ''; } } else { $result = !empty($fieldValue) ? FormatDate('x', MakeTimeStamp($fieldValue)) : ''; } break; case 'user': if (!is_array($fieldValue)) { $fieldValue = array($fieldValue); } $result = CBPHelper::UsersArrayToString($fieldValue, null, $arDocumentID["DOCUMENT_TYPE"]); break; case 'bool': if (is_array($fieldValue)) { $result = array(); foreach ($fieldValue as $r) { $result[] = strtoupper($r) != "N" && !empty($r) ? GetMessage('BPVDX_YES') : GetMessage('BPVDX_NO'); } } else { $result = strtoupper($fieldValue) != "N" && !empty($fieldValue) ? GetMessage('BPVDX_YES') : GetMessage('BPVDX_NO'); } break; case 'file': if (is_array($fieldValue)) { $result = array(); foreach ($fieldValue as $r) { $r = intval($r); $dbImg = CFile::GetByID($r); if ($arImg = $dbImg->Fetch()) { $result[] = "[url=/bitrix/tools/bizproc_show_file.php?f=" . htmlspecialcharsbx($arImg["FILE_NAME"]) . "&i=" . $r . "]" . htmlspecialcharsbx($arImg["ORIGINAL_NAME"]) . "[/url]"; } } } else { $fieldValue = intval($fieldValue); $dbImg = CFile::GetByID($fieldValue); if ($arImg = $dbImg->Fetch()) { $result = "[url=/bitrix/tools/bizproc_show_file.php?f=" . htmlspecialcharsbx($arImg["FILE_NAME"]) . "&i=" . $fieldValue . "]" . htmlspecialcharsbx($arImg["ORIGINAL_NAME"]) . "[/url]"; } } break; case 'select': if (is_array($arFieldType["Options"])) { if (is_array($fieldValue)) { $result = array(); foreach ($fieldValue as $r) { if (array_key_exists($r, $arFieldType["Options"])) { $result[] = $arFieldType["Options"][$r]; } } } else { if (array_key_exists($fieldValue, $arFieldType["Options"])) { $result = $arFieldType["Options"][$fieldValue]; } } } break; case 'web': case 'im': case 'email': case 'phone': $result = array(); if (is_array($fieldValue) && !CBPHelper::IsAssociativeArray($fieldValue)) { $fieldValue = $fieldValue[0]; } if (is_array($fieldValue) && is_array($fieldValue[strtoupper($arFieldType['Type'])])) { foreach ($fieldValue[strtoupper($arFieldType['Type'])] as $val) { if (!empty($val)) { $result[] = CCrmFieldMulti::GetEntityNameByComplex(strtoupper($arFieldType['Type']) . '_' . $val['VALUE_TYPE'], false) . ': ' . $val['VALUE']; } } } break; } if (strpos($arFieldType['Type'], 'UF:') === 0) { $sType = str_replace('UF:', '', $arFieldType['Type']); if ($sType === 'crm') { $options = isset($arFieldType['Options']) && is_array($arFieldType['Options']) ? $arFieldType['Options'] : array(); $defaultTypeName = ''; foreach ($options as $typeName => $flag) { if ($flag === 'Y') { $defaultTypeName = $typeName; break; } } if ($defaultTypeName === '') { $defaultTypeName = 'LEAD'; } if (isset($arFieldType['Multiple']) && $arFieldType['Multiple'] > 0 && is_array($fieldValue)) { $result = array(); foreach ($fieldValue as $value) { $result[] = self::PrepareCrmUserTypeValueView($value, $defaultTypeName); } } else { $result = self::PrepareCrmUserTypeValueView($fieldValue, $defaultTypeName); } } else { $arUserFieldType = $USER_FIELD_MANAGER->GetUserType($sType); $arUserField = array('ENTITY_ID' => 'CRM_LEAD', 'FIELD_NAME' => 'UF_XXXXXXX', 'USER_TYPE_ID' => $sType, 'SORT' => 100, 'MULTIPLE' => $arFieldType['Multiple'] ? 'Y' : 'N', 'MANDATORY' => $arFieldType['Required'] ? 'Y' : 'N', 'EDIT_FORM_LABEL' => $arUserFieldType['DESCRIPTION'], 'VALUE' => $fieldValue, 'USER_TYPE' => $arUserFieldType); if ($arFieldType['Type'] == 'UF:iblock_element' || $arFieldType['Type'] == 'UF:iblock_section') { $arUserField['SETTINGS']['IBLOCK_ID'] = $arFieldType['Options']; } elseif ($arFieldType['Type'] == 'UF:crm_status') { $arUserField['SETTINGS']['ENTITY_TYPE'] = $arFieldType['Options']; } ob_start(); $APPLICATION->IncludeComponent('bitrix:system.field.view', $sType, array('arUserField' => $arUserField, 'bVarsFromForm' => false, 'form_name' => "", 'FILE_MAX_HEIGHT' => 400, 'FILE_MAX_WIDTH' => 400, 'FILE_SHOW_POPUP' => true), false, array('HIDE_ICONS' => 'Y')); $result = ob_get_contents(); $result = HTMLToTxt($result); ob_end_clean(); } } return $result; }
$sBodyEvent .= GetMessage('CRM_SUBSCRIBE_FROM') . ': ' . $arFields['FROM_FIELD'] . "\n\r"; $sBodyEvent .= GetMessage('CRM_SUBSCRIBE_TO') . ': ' . $arFields['BCC_FIELD'] . "\n\r\n\r"; $sBodyEvent .= $_POST['COMMENTS']; if (!empty($arEntity)) { $CCrmEvent->Add(array('ENTITY' => $arEntity, 'EVENT_ID' => 'MESSAGE', 'EVENT_TEXT_1' => $sBodyEvent, 'FILES' => !empty($_FILES['ATTACH']) ? $_FILES['ATTACH'] : array())); } // Try add event to entity of context if ($arResult['FORM_ENTITY_TYPE'] !== $arResult['ENTITY_TYPE'] && $arResult['FORM_ENTITY_ID'] !== $arResult['ENTITY_ID']) { $CCrmEvent->Add(array('ENTITY' => array($arResult['FORM_ENTITY_ID'] => array('ENTITY_TYPE' => $arResult['FORM_ENTITY_TYPE'], 'ENTITY_ID' => $arResult['FORM_ENTITY_ID'])), 'EVENT_ID' => 'MESSAGE', 'EVENT_TEXT_1' => $sBodyEvent, 'FILES' => !empty($_FILES['ATTACH']) ? $_FILES['ATTACH'] : array())); } } $arResult['EVENT_PAGE'] = CHTTP::urlAddParams($_POST['EVENT_PAGE'], array('CRM_' . trim($arResult['FORM_ENTITY_TYPE']) . '_' . trim($arParams['FORM_TYPE']) . '_active_tab' => !empty($_REQUEST['TAB_ID']) ? $_REQUEST['TAB_ID'] : 'tab_event')); } // check if only one is selected form the entity of a choice on which mailbox to send $arResult['EMAIL'] = array(); if (count($arResult['ENTITY_ID']) == 1 && $arResult['ENTITY_ID'][0] > 0) { $arFilter = array('ENTITY_ID' => $arResult['ENTITY_TYPE'], 'TYPE_ID' => 'EMAIL', 'ELEMENT_ID' => $arResult['ENTITY_ID']); $obRes = CCrmFieldMulti::GetList(array('COMPLEX_ID' => 'desc', 'ID' => 'asc'), $arFilter); while ($arRow = $obRes->Fetch()) { $arResult['EMAIL']['REFERENCE'][] = CCrmFieldMulti::GetEntityNameByComplex($arRow['COMPLEX_ID']) . ': ' . $arRow['VALUE']; $arResult['EMAIL']['REFERENCE_ID'][] = $arRow['VALUE']; } if (isset($arResult['EMAIL']['REFERENCE'])) { if (count($arResult['EMAIL']['REFERENCE']) == 0) { $arResult['ERROR_MESSAGE'] = GetMessage('CRM_SUBSCRIBE_EMPTY_EMAIL'); } } else { $arResult['ERROR_MESSAGE'] = GetMessage('CRM_SUBSCRIBE_EMPTY_EMAIL'); } } $this->IncludeComponentTemplate();