• Модуль: 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;
}