• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/commentaux/base.php
  • Класс: BitrixSocialnetworkCommentAuxBase
  • Вызов: Base::findProvider
static function findProvider($fields = array(), $options = array())
{
	static $handlerManager = null;

	$handler = false;
	$needSetParams = true;
	if (
		isset($options['needSetParams'])
		&& $options['needSetParams'] === false
	)
	{
		$needSetParams = false;
	}

	if (
		is_array($fields)
		&& isset($fields['POST_TEXT'])
	)
	{
		if ($handlerManager === null)
		{
			$handlerManager = new HandlerManager();
		}

		/** @var bool|object $handler */
		if ($handler = $handlerManager->getHandlerByPostText($fields['POST_TEXT']))
		{
			$handler->setOptions($options);

			if ($needSetParams)
			{
				$params = $handler->getParamsFromFields($fields);
				if (!empty($params))
				{
					$handler->setParams($params);
				}
				else
				{
					$handler = false;
				}
			}
		}
	}

	return $handler;
}