if ($responsibleID <= 0) { $activityFields['RESPONSIBLE_FULL_NAME'] = ''; $activityFields['PATH_TO_RESPONSIBLE'] = ''; } elseif (!in_array($responsibleID, $responsibleIDs, true)) { $responsibleIDs[] = $responsibleID; } $activityFields['REFERENCE_TITLE'] = $ownerTypeID > 0 && $ownerID > 0 && ($ownerTypeID === CCrmOwnerType::Lead || $ownerTypeID === CCrmOwnerType::Deal) ? CCrmOwnerType::GetCaption($ownerTypeID, $ownerID, false) : ''; $activityFields['CLIENT_TITLE'] = ''; if (isset($activityFields['~DEADLINE']) && CCrmDateTimeHelper::IsMaxDatabaseDate($activityFields['~DEADLINE'])) { $activityFields['~DEADLINE'] = $activityFields['DEADLINE'] = ''; } $activities[$itemID] =& $activityFields; unset($activityFields); } if (!empty($activities)) { $clientInfos = CCrmActivity::PrepareClientInfos(array_keys($activities)); foreach ($clientInfos as $itemID => &$clientInfo) { $ttl = isset($clientInfo['TITLE']) ? $clientInfo['TITLE'] : ''; if ($ttl === '') { $ttl = CCrmOwnerType::GetCaption($clientInfo['ENTITY_TYPE_ID'], $clientInfo['ENTITY_ID']); } $activities[$itemID]['CLIENT_TITLE'] = $ttl; } unset($clientInfo); } $arResult['ACTIVITIES'] = array_values($activities); $responsibleInfos = array(); if (!empty($responsibleIDs)) { $dbUsers = CUser::GetList($by = 'ID', $order = 'ASC', array('ID' => implode('||', $responsibleIDs)), array('FIELDS' => array('ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN'))); while ($arUser = $dbUsers->Fetch()) { $userID = intval($arUser['ID']);
//Already sanitaized $arRes['DESCRIPTION_HTML'] = $description; $arRes['DESCRIPTION_RAW'] = html_entity_decode(strip_tags(preg_replace('/(<br[^>]*>)+/is' . BX_UTF_PCRE_MODIFIER, "\n", $description))); $arRes['ENABLE_DESCRIPTION_CUT'] = false; } else { $arRes['DESCRIPTION_HTML'] = preg_replace("/[\r\n]+/" . BX_UTF_PCRE_MODIFIER, "<br/>", htmlspecialcharsbx($description)); $arRes['DESCRIPTION_RAW'] = $description; $arRes['ENABLE_DESCRIPTION_CUT'] = true; } if (isset($arRes['~DEADLINE']) && CCrmDateTimeHelper::IsMaxDatabaseDate($arRes['~DEADLINE'])) { $arRes['~DEADLINE'] = $arRes['DEADLINE'] = ''; } $items[$itemID] = $arRes; } if ($displayClient && !empty($items)) { $clientInfos = CCrmActivity::PrepareClientInfos(array_keys($items)); foreach ($clientInfos as $itemID => &$clientInfo) { $items[$itemID]['CLIENT_INFO'] = $clientInfo; } unset($clientInfo); } $arResult['ITEMS'] = array_values($items); $responsibleInfos = array(); if (!empty($responsibleIDs)) { $dbUsers = CUser::GetList($by = 'ID', $order = 'ASC', array('ID' => implode('||', $responsibleIDs)), array('FIELDS' => array('ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN'))); $userNameFormat = CSite::GetNameFormat(false); while ($arUser = $dbUsers->Fetch()) { $userID = intval($arUser['ID']); $responsibleInfo = array('USER' => $arUser); $responsibleInfo['FULL_NAME'] = CUser::FormatName($userNameFormat, $arUser, true, false); $responsibleInfo['HTML_FULL_NAME'] = htmlspecialcharsbx($responsibleInfo['FULL_NAME']);