ProviderManager::getProviders

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. ProviderManager
  4. getProviders
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/providermanager.php
  • Класс: Bitrix\Crm\Activity\Provider\ProviderManager
  • Вызов: ProviderManager::getProviders
static function getProviders()
{
	if(self::$providers === null)
	{
		self::$providers = [
			ToDo::getId() => ToDo::className(),
			Meeting::getId() => Meeting::className(),
			Task::getId() => Task::className(),
			Call::getId() => Call::className(),
			CallList::getId() => CallList::className(),
			Email::getId() => Email::className(),
			Sms::getId() => Sms::className(),
			Notification::getId() => Notification::className(),
			OpenLine::getId() => OpenLine::className(),
			WebForm::getId() => WebForm::className(),
			Livefeed::getId() => Livefeed::className(),
			ExternalChannel::getId() => ExternalChannel::className(),
			Request::getId() => Request::className(),
			RestApp::getId() => RestApp::className(),
			Delivery::getId() => Delivery::className(),
			CallTracker::getId() => CallTracker::class,
			StoreDocument::getId() => StoreDocument::className(),
			Document::getId() => Document::className(),
			SignDocument::getId() => SignDocument::className(),
			Payment::getId() => Payment::className(),
			ConfigurableRestApp::getId() => ConfigurableRestApp::className(),
			CalendarSharing::getId() => CalendarSharing::className(),
			Tasks\Comment::getId() => Tasks\Comment::class,
			Tasks\Task::getId() => Tasks\Task::class,
		];

		if(Visit::isAvailable())
		{
			self::$providers[Visit::getId()] = Visit::className();
		}

		if (Zoom::isAvailable())
		{
			self::$providers[Zoom::getId()] = Zoom::className();
		}

		foreach(GetModuleEvents('crm', 'OnGetActivityProviders', true) as $event)
		{
			$result = (array)ExecuteModuleEventEx($event);
			foreach ($result as $provider)
			{
				/** @var \Bitrix\Crm\Activity\Provider\Base  $provider */
				$provider = (string)$provider;
				if ($provider
					&& class_exists($provider)
					&& (is_subclass_of($provider, Base::className()) || in_array(Base::className(), class_implements($provider)))
				)
				{
					self::$providers[$provider::getId()] = $provider;
				}
			}
		}
	}
	return self::$providers;
}

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