• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/contactcenter.php
  • Класс: BitrixIntranetContactCenter
  • Вызов: ContactCenter::crmGetItems
public function crmGetItems($filter = array())
{
	$result = new Result();
	$module = "crm";
	$itemsList = array();

	if (!Loader::includeModule($module))
	{
		return $result->addError(new Error(Loc::getMessage("CONTACT_CENTER_ERROR_MODULE_NOT_LOADED", array("#MODULE_ID" => $module)), self::CC_MODULE_NOT_LOADED));
	}

	if (BitrixCrmTrackingManager::isAccessible())
	{
		$itemsList["calltracking"] = $this->getCallTrackingFormListItem();
	}

	$itemsList = array_merge($itemsList, $this->getCrmShopListItems());

	$itemsList["widget"] = $this->getButtonListItem($filter);
	$itemsList["form"] = $this->getFormListItem($filter);

	if (!empty(WebFormCallback::getPhoneNumbers()))
	{
		$itemsList["call"] = $this->getCallFormListItem($filter);
	}
	if (WebFormWhatsApp::canUse())
	{
		$itemsList["formWhatsapp"] = $this->getWhatsAppFormListItem($filter);
	}

	if (BitrixCrmAdsAdsForm::canUse())
	{
		foreach ($this->getAdsFormListItems($filter) as $key => $item)
		{
			$itemsList[$key] = $item;
		}
	}

	if (isset($filter["ACTIVE"]))
	{
		foreach ($itemsList as $key => $item)
		{
			$isAddItemToList = $this->isAddItemToList($filter["ACTIVE"], $item["SELECTED"]);

			if (!$isAddItemToList)
			{
				unset($itemsList[$key]);
			}
		}
	}

	$result->setData($itemsList);

	return $result;
}