- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/provider.php
- Класс: BitrixImConnectorProvider
- Вызов: Provider::getProviderForAll
static function getProviderForAll($idProvider, string $direction): Result
{
$result = new Result();
$direction = self::validateDirection($direction);
if(!empty($direction))
{
if (empty(self::getAllIdsProvider()[$idProvider]))
{
$result->addError(new Error(
Loc::getMessage('IMCONNECTOR_ERROR_NO_CORRECT_PROVIDER'),
Library::ERROR_IMCONNECTOR_NO_CORRECT_PROVIDER,
__METHOD__,
$idProvider
));
}
else
{
$nameClassProvider = 'Bitrix\ImConnector\Provider\' . $idProvider . '\' . $direction;
if (class_exists($nameClassProvider))
{
/** @var ProviderBaseInput|ProviderBaseOutput $provider */
$provider = new $nameClassProvider('all');
$result->setResult($provider);
}
else
{
$result->addError(new Error(
Loc::getMessage('IMCONNECTOR_ERROR_COULD_NOT_GET_PROVIDER_OBJECT'),
Library::ERROR_IMCONNECTOR_COULD_NOT_GET_PROVIDER_OBJECT,
__METHOD__,
$nameClassProvider
));
}
}
}
return $result;
}