Ejemplo n.º 1
0
 public static function NormalizeUserFields(&$arFields, $entityID, $manager = null, $arOptions = null)
 {
     $entityID = strval($entityID);
     if (!$manager) {
         $manager = $GLOBALS['USER_FIELD_MANAGER'];
     }
     $userType = new CCrmUserType($manager, $entityID);
     $userType->PrepareUpdate($arFields, $arOptions);
 }
Ejemplo n.º 2
0
global $USER_FIELD_MANAGER;
$CCrmUserType = new CCrmUserType($USER_FIELD_MANAGER, CCrmLead::$sUFEntityID);
$arParams['ELEMENT_ID'] = (int) $arParams['ELEMENT_ID'];
$obFields = CCrmLead::GetListEx(array(), array('=ID' => $arParams['ELEMENT_ID'], 'CHECK_PERMISSIONS' => 'N'), false, false, array('*', 'UF_*'));
$arLead = $arFields = is_object($obFields) ? $obFields->GetNext() : false;
if ($arLead === false) {
    LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_LIST'], array()));
}
foreach ($arFields as $key => $value) {
    if (isset($arFields['~' . $key])) {
        $arFields[$key] = $arFields['~' . $key];
    }
}
$arFieldsReplace = array();
$CCrmUserType->ListAddEnumFieldsValue($arFields, $arFieldsReplace, $arFields['ID']);
$CCrmUserType->PrepareUpdate($arFields);
$arResult['ELEMENT']['ID'] = $arFields['ID'];
$arResult['ELEMENT']['TITLE'] = $arFields['TITLE'];
unset($arFields['ID']);
if ($arFields['STATUS_ID'] == 'CONVERTED') {
    LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_LIST'], array()));
}
$arResult['ELEMENT']['CONTACT'] = $arFields;
// associate custom fields leads and contacts
$arUFLead = $GLOBALS['USER_FIELD_MANAGER']->GetUserFields('CRM_LEAD', 0, LANGUAGE_ID);
$arUFContact = $GLOBALS['USER_FIELD_MANAGER']->GetUserFields('CRM_CONTACT', 0, LANGUAGE_ID);
foreach ($arUFLead as $_arUfLead) {
    foreach ($arUFContact as $_arUFContact) {
        if ($_arUfLead['USER_TYPE_ID'] == $_arUFContact['USER_TYPE_ID'] && strtolower(trim($_arUfLead['EDIT_FORM_LABEL'])) == strtolower(trim($_arUFContact['EDIT_FORM_LABEL']))) {
            $arResult['ELEMENT']['CONTACT'][$_arUFContact['FIELD_NAME']] = $arFields[$_arUfLead['FIELD_NAME']];
            break;