public static function GetNotifyEntryTitle($arLogFields, $type = "COMMENT") { switch ($arLogFields["EVENT_ID"]) { case "crm_lead_add": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_LEAD_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Lead, $arLogFields["ENTITY_ID"], false))); break; case "crm_lead_message": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_LEAD_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Lead, $arLogFields["ENTITY_ID"], false))); break; case "crm_lead_progress": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_LEAD_PROGRESS", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Lead, $arLogFields["ENTITY_ID"], false))); break; case "crm_company_add": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_COMPANY_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Company, $arLogFields["ENTITY_ID"], false))); break; case "crm_company_message": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_COMPANY_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Company, $arLogFields["ENTITY_ID"], false))); break; case "crm_contact_add": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_CONTACT_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Contact, $arLogFields["ENTITY_ID"], false))); break; case "crm_contact_message": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_CONTACT_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Contact, $arLogFields["ENTITY_ID"], false))); break; case "crm_deal_add": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_DEAL_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Deal, $arLogFields["ENTITY_ID"], false))); break; case "crm_deal_message": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_DEAL_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Deal, $arLogFields["ENTITY_ID"], false))); break; case "crm_deal_progress": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_DEAL_PROGRESS", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Deal, $arLogFields["ENTITY_ID"], false))); break; case "crm_invoice_add": return GetMessage("CRM_LF_IM_" . $type . "_TITLE_INVOICE_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Invoice, $arLogFields["ENTITY_ID"], false))); break; case "crm_activity_add": if ($arActivity = CCrmActivity::GetByID($arLogFields["ENTITY_ID"])) { switch ($arActivity["TYPE_ID"]) { case CCrmActivityType::Meeting: return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_MEETING_ADD", array("#title#" => $arActivity["SUBJECT"])); break; case CCrmActivityType::Call: return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_CALL_ADD", array("#title#" => $arActivity["SUBJECT"])); break; case CCrmActivityType::Email: return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_EMAIL_ADD", array("#title#" => $arActivity["SUBJECT"])); break; case CCrmActivityType::Task: return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_TASK_ADD", array("#title#" => $arActivity["SUBJECT"])); break; } } break; } return ""; }
} $arResult['FIELDS']['tab_event'][] = array('id' => 'section_event', 'name' => GetMessage('CRM_SECTION_EVENT'), 'type' => 'section'); if (!$CCrmCompany->cPerms->HavePerm('QUOTE', BX_CRM_PERM_NONE, 'READ')) { $arResult['FIELDS']['tab_quote'][] = array('id' => 'DEAL_QUOTE', 'name' => GetMessage('CRM_FIELD_COMPANY_QUOTE'), 'colspan' => true, 'type' => 'crm_quote_list', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'params' => array('QUOTE_COUNT' => '20', 'PATH_TO_QUOTE_SHOW' => $arResult['PATH_TO_QUOTE_SHOW'], 'PATH_TO_QUOTE_EDIT' => $arResult['PATH_TO_QUOTE_EDIT'], 'INTERNAL_FILTER' => array('COMPANY_ID' => $arResult['ELEMENT']['ID']), 'INTERNAL_CONTEXT' => array('COMPANY_ID' => $arResult['ELEMENT']['ID']), 'GRID_ID_SUFFIX' => 'COMPANY_SHOW', 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_quote', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'ENABLE_TOOLBAR' => true))); } if (!$CCrmCompany->cPerms->HavePerm('INVOICE', BX_CRM_PERM_NONE, 'READ')) { $arResult['FIELDS']['tab_invoice'][] = array('id' => 'COMPANY_INVOICE', 'name' => GetMessage('CRM_FIELD_COMPANY_INVOICE'), 'colspan' => true, 'type' => 'crm_invoice_list', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'params' => array('INVOICE_COUNT' => '20', 'PATH_TO_INVOICE_SHOW' => $arParams['PATH_TO_INVOICE_SHOW'], 'PATH_TO_INVOICE_EDIT' => $arParams['PATH_TO_INVOICE_EDIT'], 'PATH_TO_INVOICE_PAYMENT' => $arParams['PATH_TO_INVOICE_PAYMENT'], 'INTERNAL_FILTER' => array('UF_COMPANY_ID' => $arResult['ELEMENT']['ID']), 'SUM_PAID_CURRENCY' => isset($arResult['ELEMENT']['CURRENCY_ID']) ? $arResult['ELEMENT']['CURRENCY_ID'] : '', 'GRID_ID_SUFFIX' => 'COMPANY_SHOW', 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_invoice', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'ENABLE_TOOLBAR' => 'Y', 'INTERNAL_ADD_BTN_TITLE' => GetMessage('CRM_COMPANY_ADD_INVOICE_TITLE')))); } $arResult['FIELDS']['tab_event'][] = array('id' => 'COMPANY_EVENT', 'name' => GetMessage('CRM_FIELD_COMPANY_EVENT'), 'colspan' => true, 'type' => 'crm_event_view', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'contextId' => "COMPANY_{$arResult['ELEMENT']['ID']}_EVENT", 'params' => array('AJAX_OPTION_ADDITIONAL' => "COMPANY_{$arResult['ELEMENT']['ID']}_EVENT", 'ENTITY_TYPE' => 'COMPANY', 'ENTITY_ID' => $arResult['ELEMENT']['ID'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_event', 'INTERNAL' => 'Y', 'SHOW_INTERNAL_FILTER' => 'Y', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE']))); $arResult['FIELDS']['tab_event'][] = array('id' => 'section_event_contact', 'name' => GetMessage('CRM_SECTION_EVENT_CONTACT'), 'type' => 'section'); $arResult['FIELDS']['tab_event'][] = array('id' => 'COMPANY_CONTACT_EVENT', 'name' => GetMessage('CRM_FIELD_COMPANY_EVENT_CONTACT'), 'colspan' => true, 'type' => 'crm_event_view', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'contextId' => "COMPANY_{$arResult['ELEMENT']['ID']}_CONTACT_EVENT", 'params' => array('AJAX_OPTION_ADDITIONAL' => "COMPANY_{$arResult['ELEMENT']['ID']}_CONTACT_EVENT", 'OWNER_TYPE' => 'COMPANY', 'OWNER_ID' => $arResult['ELEMENT']['ID'], 'ENTITY_TYPE' => 'CONTACT', 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_event', 'VIEW_ID' => 'contact', 'INTERNAL' => 'Y', 'SHOW_INTERNAL_FILTER' => 'Y', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE']))); // LIVE FEED SECTION --> $arResult['FIELDS']['tab_live_feed'][] = array('id' => 'section_live_feed', 'name' => GetMessage('CRM_SECTION_LIVE_FEED'), 'type' => 'section'); $liveFeedHtml = ''; if ($arParams['ELEMENT_ID'] > 0) { if (CCrmLiveFeedComponent::needToProcessRequest($_SERVER['REQUEST_METHOD'], $_REQUEST)) { ob_start(); $APPLICATION->IncludeComponent('bitrix:crm.entity.livefeed', '', array('DATE_TIME_FORMAT' => LANGUAGE_ID == 'en' ? "j F Y g:i a" : (LANGUAGE_ID == 'de' ? "j. F Y, G:i" : "j F Y G:i"), 'CAN_EDIT' => $arResult['CAN_EDIT'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $arParams['ELEMENT_ID'], 'FORM_ID' => $arResult['FORM_ID'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE']), null, array('HIDE_ICONS' => 'Y')); $liveFeedHtml = ob_get_contents(); ob_end_clean(); $arResult['ENABLE_LIVE_FEED_LAZY_LOAD'] = false; } else { $liveFeedContainerID = $arResult['LIVE_FEED_CONTAINER_ID'] = $arResult['FORM_ID'] . '_live_feed_wrapper'; $liveFeedHtml = '<div id="' . htmlspecialcharsbx($liveFeedContainerID) . '"></div>'; $arResult['ENABLE_LIVE_FEED_LAZY_LOAD'] = true; } } $arResult['FIELDS']['tab_live_feed'][] = array('id' => 'LIVE_FEED', 'name' => GetMessage('CRM_FIELD_LIVE_FEED'), 'colspan' => true, 'type' => 'custom', 'value' => $liveFeedHtml); // <-- LIVE FEED SECTION $arResult['FIELDS']['tab_activity'][] = array('id' => 'section_activity_grid', 'name' => GetMessage('CRM_SECTION_ACTIVITY_GRID'), 'type' => 'section'); $arResult['FIELDS']['tab_activity'][] = array('id' => 'COMPANY_ACTIVITY_GRID', 'name' => GetMessage('CRM_FIELD_COMPANY_ACTIVITY'), 'colspan' => true, 'type' => 'crm_activity_list', 'componentData' => array('template' => 'grid', 'enableLazyLoad' => true, 'params' => array('BINDINGS' => array(array('TYPE_NAME' => 'COMPANY', 'ID' => $arParams['ELEMENT_ID'])), 'PREFIX' => 'COMPANY_ACTIONS_GRID', 'PERMISSION_TYPE' => 'WRITE', 'ENABLE_NAVIGATION' => 'Y', 'FORM_TYPE' => 'show', 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_activity', 'USE_QUICK_FILTER' => 'Y')));
$html_message = ob_get_contents(); ob_end_clean(); echo htmlspecialcharsBack($html_message); } } return; } else { switch ($arParams["~ACTIVITY"]["TYPE_ID"]) { case CCrmActivityType::Call: case CCrmActivityType::Meeting: case CCrmActivityType::Email: $arParams["~ACTIVITY"]["START_END_TIME"] = $arParams["~ACTIVITY"]["START_TIME"]; break; } try { $oFormat = new CCrmLiveFeedComponent(array("FIELDS" => $arParams["~FIELDS"], "PARAMS" => $arParams["~PARAMS"], "ACTIVITY" => $arParams["~ACTIVITY"])); } catch (Exception $e) { return false; } $aFields = $oFormat->formatFields(); $arResult["FORMAT"] = "table"; $arResult["FIELDS_FORMATTED"] = array(); if (!empty($aFields)) { foreach ($aFields as $key => $arField) { $arResult["FIELDS_FORMATTED"][$key] = $oFormat->showField($arField); } } $arResult["DATE_WEEK_DAY"] = FormatDate("D", MakeTimeStamp($arParams["~ACTIVITY"]["START_END_TIME"])); $arResult["DATE_MONTH_DAY"] = FormatDate("j", MakeTimeStamp($arParams["~ACTIVITY"]["START_END_TIME"])); $arResult["IS_COMPLETED"] = $arParams["~ACTIVITY"]["COMPLETED"] == "Y"; if (!empty($arParams["ACTIVITY"]["DESCRIPTION"])) {
$arResult['MESSAGE_TITLE_FIELD_NAME'] = $arParams['UID'] = $uid; $cacheManager = $GLOBALS['CACHE_MANAGER']; $allowLiveFeedToAll = $defaultLiveFeedToAll = false; $arParams['USE_CUT'] = isset($arParams['USE_CUT']) && $arParams['USE_CUT'] === 'Y' ? 'Y' : 'N'; global $USER_FIELD_MANAGER; $sonetFields = $USER_FIELD_MANAGER->GetUserFields('SONET_LOG', 0); $arResult['WEB_DAV_FILE_FIELD_NAME'] = 'UF_SONET_LOG_DOC'; $arResult['WEB_DAV_FILE_FIELD'] = isset($sonetFields['UF_SONET_LOG_DOC']) ? $sonetFields['UF_SONET_LOG_DOC'] : null; $arResult['EVENT'] = array('MESSAGE' => '', 'TITLE' => ''); $arResult['ENTITY_DATA'] = array(); $arResult['ENABLE_TITLE'] = false; $arResult['FEED_DESTINATION'] = array('LAST' => array('CONTACTS' => array(), 'COMPANIES' => array(), 'LEADS' => array(), 'DEALS' => array()), 'SELECTED' => array()); $arResult['ERROR_MESSAGES'] = array(); if ($_SERVER['REQUEST_METHOD'] == 'POST' && check_bitrix_sessid()) { if (isset($_POST['save']) && $_POST['save'] === 'Y') { $res = CCrmLiveFeedComponent::ProcessLogEventEditPOST($_POST, $entityTypeID, $entityID, $arResult); if (!is_array($res) && intval($res) > 0) { LocalRedirect($GLOBALS['APPLICATION']->GetCurPage()); } else { foreach ($res as $error) { $arResult['ERROR_MESSAGES'][] = $error; } } } } //$arResult['FEED_DESTINATION']['LAST']['SONETGROUPS'] = CSocNetLogDestination::GetLastSocnetGroup(); // ALLOWED SONET GROUPS --> $isManagedCacheEnabled = defined('BX_COMP_MANAGED_CACHE'); $cacheTtl = $isManagedCacheEnabled ? 3153600 : 3600 * 4; $eventDestCacheID = 'crm_sl_event_dest_' . SITE_ID . '_' . $userID; $eventDestCacheDir = '/crm/sl_event/dest/' . SITE_ID . '/' . $userID;
public function processMethodRequest($name, $nameDetails, $arParams, $nav, $server) { $name = strtoupper($name); if ($name === 'ADD') { $fields = $this->resolveArrayParam($arParams, 'fields'); $arComponentResult = array('USER_ID' => $this->getCurrentUserID()); $arPOST = array('ENABLE_POST_TITLE' => 'Y', 'MESSAGE' => $fields['MESSAGE'], 'SPERM' => $fields['SPERM']); if (isset($fields['POST_TITLE']) && strlen($fields['POST_TITLE']) > 0) { $arPOST['POST_TITLE'] = $fields['POST_TITLE']; } $entityTypeID = $fields['ENTITYTYPEID']; $entityID = $fields['ENTITYID']; $entityTypeName = CCrmOwnerType::ResolveName($entityTypeID); $userPerms = CCrmPerms::GetCurrentUserPermissions(); if ($entityTypeName !== '' && !CCrmAuthorizationHelper::CheckUpdatePermission($entityTypeName, $entityID, $userPerms)) { throw new RestException('Access denied.'); } $res = CCrmLiveFeedComponent::ProcessLogEventEditPOST($arPOST, $entityTypeID, $entityID, $arComponentResult); if (is_array($res)) { throw new RestException(implode(", ", $res)); } return $res; } throw new RestException('Method not found!', RestException::ERROR_METHOD_NOT_FOUND, CRestServer::STATUS_NOT_FOUND); }
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule('crm')) { return; } $arEventParams = array(); if (is_array($arParams["~FIELDS"]) && !empty($arParams["~FIELDS"]["~PARAMS"])) { $arEventParams = unserialize($arParams["~FIELDS"]["~PARAMS"]); if (!is_array($arEventParams)) { $arEventParams = array(); } } try { $oFormat = new CCrmLiveFeedComponent(array("FIELDS" => $arParams["~FIELDS"], "PARAMS" => $arParams["~PARAMS"], "EVENT_PARAMS" => $arEventParams)); } catch (Exception $e) { return false; } $aFields = $oFormat->formatFields(); if (in_array($arParams["FIELDS"]["EVENT_ID"], array("crm_company_message", "crm_contact_message", "crm_lead_message", "crm_deal_message"))) { $arResult["FORMAT"] = "div"; } else { $arResult["FORMAT"] = "table"; } $arResult["FIELDS_FORMATTED"] = array(); $arUF = !empty($arParams["~FIELDS"]["UF"]) ? $arParams["~FIELDS"]["UF"] : array(); if (!empty($aFields)) { foreach ($aFields as $arField) { $arResult["FIELDS_FORMATTED"][] = $oFormat->showField($arField, $arUF); }