- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/provider.php
- Класс: BitrixImConnectorProvider
- Вызов: Provider::getProviderForConnector
static function getProviderForConnector($connector, $arguments, string $direction): Result
{
$result = new Result();
$direction = self::validateDirection($direction);
$idProvider = self::getIdProvider(Connector::getConnectorRealId($connector));
if (empty($idProvider))
{
return $result->addError(new Error(
Loc::getMessage('IMCONNECTOR_ERROR_NO_CORRECT_PROVIDER'),
Library::ERROR_IMCONNECTOR_NO_CORRECT_PROVIDER,
__METHOD__,
$connector
));
}
$nameClassProvider = 'Bitrix\ImConnector\Provider\' . $idProvider . '\' . $direction;
if (class_exists($nameClassProvider))
{
/** @var ProviderBaseInput|ProviderBaseOutput $provider */
$provider = new $nameClassProvider(...$arguments);
$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__,
$connector
));
}
return $result;
}