...Человеческий поиск в разработке...
- Модуль: 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; }