CCrmLiveFeedComponent::__construct

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmLiveFeedComponent
  4. __construct
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/livefeed.php
  • Класс: \CCrmLiveFeedComponent
  • Вызов: CCrmLiveFeedComponent::__construct
public function __construct($params)
{
	if(!is_array($params))
	{
		$params = array();
	}

	$this->fields = isset($params["FIELDS"]) && !empty($params["FIELDS"]) ? $params["FIELDS"] : false;
	$this->eventParams = isset($params["EVENT_PARAMS"]) ? $params["EVENT_PARAMS"] : array();
	$this->params = isset($params["PARAMS"]) ? $params["PARAMS"] : array();

	$this->arSipServiceUrl = array(
		CCrmOwnerType::Lead => SITE_DIR.'bitrix/components/bitrix/crm.lead.show/ajax.php?'.bitrix_sessid_get(),
		CCrmOwnerType::Company => SITE_DIR.'bitrix/components/bitrix/crm.company.show/ajax.php?'.bitrix_sessid_get(),
		CCrmOwnerType::Contact => SITE_DIR.'bitrix/components/bitrix/crm.contact.show/ajax.php?'.bitrix_sessid_get()
	);

	if (!$this->fields)
	{
		throw new Exception("Empty fields");
	}

	$this->entityTypeID = CCrmLiveFeedEntity::ResolveEntityTypeID($this->fields["ENTITY_TYPE"]);

	if ($this->entityTypeID == CCrmOwnerType::Activity)
	{
		$this->activity = isset($params["ACTIVITY"]) ? $params["ACTIVITY"] : array();
		$this->eventMeta = array(
			CCrmActivityType::Meeting => array(
				"SUBJECT" => array(
					"CODE" => "COMBI_ACTIVITY_SUBJECT/ACTIVITY_ONCLICK",
					"FORMAT" => "COMBI_TITLE"
				),
				"LOCATION" => array(
					"CODE" => "ACTIVITY_LOCATION",
					"FORMAT" => "TEXT"
				),
				"DATE" => array(
					"CODE" => "ACTIVITY_START_END_TIME",
					"FORMAT" => "DATETIME"
				),
				"CLIENT_ID" => array(
					"CODE" => "ACTIVITY_COMMUNICATIONS",
					"FORMAT" => "COMMUNICATIONS"
				),
				"RESPONSIBLE" => array(
					"CODE" => "ACTIVITY_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			CCrmActivityType::Call => array(
				"SUBJECT" => array(
					"CODE" => "COMBI_ACTIVITY_SUBJECT/ACTIVITY_ONCLICK",
					"FORMAT" => "COMBI_TITLE"
				),
				"DATE" => array(
					"CODE" => "ACTIVITY_START_END_TIME",
					"FORMAT" => "DATETIME"
				),
				"CLIENT_ID" => array(
					"CODE" => "ACTIVITY_COMMUNICATIONS",
					"FORMAT" => "COMMUNICATIONS"
				),
				"RESPONSIBLE" => array(
					"CODE" => "ACTIVITY_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			CCrmActivityType::Email => array(
				"SUBJECT" => array(
					"CODE" => "COMBI_ACTIVITY_SUBJECT/ACTIVITY_ONCLICK",
					"FORMAT" => "COMBI_TITLE"
				),
				"DATE" => array(
					"CODE" => "ACTIVITY_START_END_TIME",
					"FORMAT" => "DATETIME"
				),
				"CLIENT_ID" => array(
					"CODE" => "ACTIVITY_COMMUNICATIONS",
					"FORMAT" => "COMMUNICATIONS"
				),
				"RESPONSIBLE" => array(
					"CODE" => "ACTIVITY_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			)
		);
	}
	elseif ($this->entityTypeID == CCrmOwnerType::Invoice)
	{
		$this->invoice = isset($params["INVOICE"]) ? $params["INVOICE"] : array();
		$this->eventMeta = array(
			"crm_invoice_add" => array(
				"INVOICE_ADD_TITLE" => array(
					"CODE" => "COMBI_INVOICE_ACCOUNT_NUMBER/INVOICE_ORDER_TOPIC/INVOICE_URL",
					"FORMAT" => "COMBI_TITLE_ID"
				),
				"PRICE" => array(
					"CODE" => array(
						"VALUE" => "INVOICE_PRICE",
						"CURRENCY" => "INVOICE_CURRENCY"
					),
					"FORMAT" => "SUM"
				),
				"STATUS" => array(
					"CODE" => "INVOICE_STATUS_ID",
					"FORMAT" => "INVOICE_PROGRESS",
				),
				"CLIENT_ID" => array(
					"CODE" => "COMBI_INVOICE_UF_CONTACT_ID/INVOICE_UF_COMPANY_ID",
					"FORMAT" => "COMBI_CLIENT",
				),
				"DEAL" => array(
					"CODE" => "INVOICE_UF_DEAL_ID",
					"FORMAT" => "DEAL_ID",
				),
				"RESPONSIBLE" => array(
					"CODE" => "INVOICE_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			)
		);
	}
	else
	{
		$this->eventMeta = array(
			"crm_lead_add" => array(
				"ADD_TITLE" => array(
					"CODE" => "EVENT_PARAMS_TITLE",
					"FORMAT" => "TEXT_ADD"
				),
				"STATUS" => array(
					"CODE" => "EVENT_PARAMS_STATUS_ID",
					"FORMAT" => "LEAD_PROGRESS",
				),
				"CLIENT_NAME" => array(
					"CODE" => "COMBI_EVENT_PARAMS_NAME/EVENT_PARAMS_LAST_NAME/EVENT_PARAMS_SECOND_NAME/EVENT_PARAMS_COMPANY_TITLE/EVENT_PARAMS_HONORIFIC",
					"FORMAT" => "COMBI_CLIENT_NAME",
				),
				"OPPORTUNITY" => array(
					"CODE" => array(
						"VALUE" => "EVENT_PARAMS_OPPORTUNITY",
						"CURRENCY" => "EVENT_PARAMS_CURRENCY_ID"
					),
					"FORMAT" => "SUM"
				),
				"RESPONSIBLE" => array(
					"CODE" => "EVENT_PARAMS_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_lead_progress" => array(
				"FINAL_STATUS_ID" => array(
					"CODE" => "EVENT_PARAMS_FINAL_STATUS_ID",
					"FORMAT" => "LEAD_PROGRESS",
				),
				"START_STATUS_ID" => array(
					"CODE" => "EVENT_PARAMS_START_STATUS_ID",
					"FORMAT" => "LEAD_PROGRESS"
				)
			),
			"crm_lead_responsible" => array(
				"FINAL_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_FINAL_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID",
				),
				"START_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_START_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_lead_denomination" => array(
				"FINAL_TITLE" => array(
					"CODE" => "EVENT_PARAMS_FINAL_TITLE",
					"FORMAT" => "TEXT",
				),
				"START_TITLE" => array(
					"CODE" => "EVENT_PARAMS_START_TITLE",
					"FORMAT" => "TEXT"
				)
			),
			"crm_lead_message" => array(
				"MESSAGE_TITLE" => array(
					"CODE" => "TITLE",
					"FORMAT" => "TEXT_FORMATTED_BOLD",
				),
				"MESSAGE" => array(
					"CODE" => "MESSAGE",
					"FORMAT" => "TEXT_FORMATTED",
				),
			),
			"crm_contact_add" => array(
				"ADD_TITLE" => array(
					"CODE" => "COMBI_EVENT_PARAMS_NAME/EVENT_PARAMS_LAST_NAME/EVENT_PARAMS_SECOND_NAME/EVENT_PARAMS_PHOTO_ID/EVENT_PARAMS_COMPANY_ID/EVENT_PARAMS_HONORIFIC/ENTITY_ID",
					"FORMAT" => "COMBI_CLIENT",
				),
				"PHONES" => array(
					"CODE" => "EVENT_PARAMS_PHONES",
					"FORMAT" => "PHONE",
				),
				"EMAILS" => array(
					"CODE" => "EVENT_PARAMS_EMAILS",
					"FORMAT" => "EMAIL",
				),
				"RESPONSIBLE" => array(
					"CODE" => "EVENT_PARAMS_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_contact_owner" => array(
				"FINAL_OWNER_COMPANY_ID" => array(
					"CODE" => "EVENT_PARAMS_FINAL_OWNER_COMPANY_ID",
					"FORMAT" => "COMPANY_ID"
				),
				"START_OWNER_COMPANY_ID" => array(
					"CODE" => "EVENT_PARAMS_START_OWNER_COMPANY_ID",
					"FORMAT" => "COMPANY_ID",
				),
			),
			"crm_contact_responsible" => array(
				"FINAL_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_FINAL_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID",
				),
				"START_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_START_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_contact_message" => array(
				"MESSAGE_TITLE" => array(
					"CODE" => "TITLE",
					"FORMAT" => "TEXT_FORMATTED_BOLD",
				),
				"MESSAGE" => array(
					"CODE" => "MESSAGE",
					"FORMAT" => "TEXT_FORMATTED",
				),
			),
			"crm_company_add" => array(
				"ADD_TITLE" => array(
					"CODE" => "COMBI_EVENT_PARAMS_TITLE/EVENT_PARAMS_LOGO_ID/ENTITY_ID",
					"FORMAT" => "COMBI_COMPANY",
				),
				"COMPANY_TYPE" => array(
					"CODE" => "EVENT_PARAMS_TYPE",
					"FORMAT" => "COMPANY_TYPE",
				),
				"REVENUE" => array(
					"CODE" => array(
						"VALUE" => "EVENT_PARAMS_REVENUE",
						"CURRENCY" => "EVENT_PARAMS_CURRENCY_ID"
					),
					"FORMAT" => "SUM"
				),
				"PHONES" => array(
					"CODE" => "EVENT_PARAMS_PHONES",
					"FORMAT" => "PHONE",
				),
				"EMAILS" => array(
					"CODE" => "EVENT_PARAMS_EMAILS",
					"FORMAT" => "EMAIL",
				),
				"RESPONSIBLE" => array(
					"CODE" => "EVENT_PARAMS_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_company_responsible" => array(
				"FINAL_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_FINAL_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID",
				),
				"START_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_START_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_company_denomination" => array(
				"FINAL_TITLE" => array(
					"CODE" => "EVENT_PARAMS_FINAL_TITLE",
					"FORMAT" => "TEXT",
				),
				"START_TITLE" => array(
					"CODE" => "EVENT_PARAMS_START_TITLE",
					"FORMAT" => "TEXT"
				)
			),
			"crm_company_message" => array(
				"MESSAGE_TITLE" => array(
					"CODE" => "TITLE",
					"FORMAT" => "TEXT_FORMATTED_BOLD",
				),
				"MESSAGE" => array(
					"CODE" => "MESSAGE",
					"FORMAT" => "TEXT_FORMATTED",
				),
			),
			"crm_deal_add" => array(
				"ADD_TITLE" => array(
					"CODE" => "EVENT_PARAMS_TITLE",
					"FORMAT" => "TEXT_ADD"
				),
				"STATUS" => array(
					"CODE" => "COMBI_EVENT_PARAMS_STAGE_ID/EVENT_PARAMS_CATEGORY_ID",
					"FORMAT" => "DEAL_PROGRESS",
				),
				"OPPORTUNITY" => array(
					"CODE" => array(
						"VALUE" => "EVENT_PARAMS_OPPORTUNITY",
						"CURRENCY" => "EVENT_PARAMS_CURRENCY_ID"
					),
					"FORMAT" => "SUM"
				),
				"CLIENT_ID" => array(
					"CODE" => "COMBI_EVENT_PARAMS_CONTACT_ID/EVENT_PARAMS_COMPANY_ID",
					"FORMAT" => "COMBI_CLIENT",
				),
				"RESPONSIBLE" => array(
					"CODE" => "EVENT_PARAMS_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_deal_progress" => array(
				"FINAL_STATUS_ID" => array(
					"CODE" => "COMBI_EVENT_PARAMS_FINAL_STATUS_ID/EVENT_PARAMS_CATEGORY_ID",
					"FORMAT" => "DEAL_PROGRESS",
				),
				"START_STATUS_ID" => array(
					"CODE" => "COMBI_EVENT_PARAMS_START_STATUS_ID/EVENT_PARAMS_CATEGORY_ID",
					"FORMAT" => "DEAL_PROGRESS"
				)
			),
			"crm_deal_responsible" => array(
				"FINAL_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_FINAL_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID",
				),
				"START_RESPONSIBLE_ID" => array(
					"CODE" => "EVENT_PARAMS_START_RESPONSIBLE_ID",
					"FORMAT" => "PERSON_ID"
				)
			),
			"crm_deal_denomination" => array(
				"FINAL_TITLE" => array(
					"CODE" => "EVENT_PARAMS_FINAL_TITLE",
					"FORMAT" => "TEXT",
				),
				"START_TITLE" => array(
					"CODE" => "EVENT_PARAMS_START_TITLE",
					"FORMAT" => "TEXT"
				)
			),
			"crm_deal_message" => array(
				"MESSAGE_TITLE" => array(
					"CODE" => "TITLE",
					"FORMAT" => "TEXT_FORMATTED_BOLD",
				),
				"MESSAGE" => array(
					"CODE" => "MESSAGE",
					"FORMAT" => "TEXT_FORMATTED",
				),
			),
			"crm_deal_client" => array(
				"FINAL_CLIENT_ID" => array(
					"CODE" => "COMBI_EVENT_PARAMS_FINAL_CLIENT_CONTACT_ID/EVENT_PARAMS_FINAL_CLIENT_COMPANY_ID",
					"FORMAT" => "COMBI_CLIENT",
				),
				"START_CLIENT_ID" => array(
					"CODE" => "COMBI_EVENT_PARAMS_START_CLIENT_CONTACT_ID/EVENT_PARAMS_START_CLIENT_COMPANY_ID",
					"FORMAT" => "COMBI_CLIENT",
				),
			)
		);
	}

	if (!array_key_exists($this->fields["EVENT_ID"], $this->eventMeta))
	{
		return false;
	}

	return true;
}

Добавить комментарий