Script::getListContext

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Script
  4. getListContext
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/script.php
  • Класс: Bitrix\Crm\WebForm\Script
  • Вызов: Script::getListContext
static function getListContext($formData, $params, $formPath = null)
{
	static $httpHost;
	if(!$httpHost)
	{
		$httpHost = Context::getCurrent()->getServer()->getHttpHost();
	}

	static $isHttps;
	if(!$isHttps)
	{
		$isHttps = Context::getCurrent()->getRequest()->isHttps();
	}

	$script = new static($httpHost, $isHttps, $formPath);

	if (!$formData['ID'])
	{
		return [];
	}

	$lang = Context::getCurrent()->getLanguage();
	$scriptParams = array(
		'id' => $formData['ID'],
		'lang' => $lang,
		'sec' => $formData['SECURITY_CODE']
	);

	$webpack = Webpack\Form::instance($formData['ID']);
	if (!$webpack->isBuilt())
	{
		$webpack->build();
		$webpack = Webpack\Form::instance($formData['ID']);
	}

	return array(
		'INLINE' => [
			'text' => $webpack
				->configureFormEmbeddedScript(['action' => 'inline', 'sec' => $formData['SECURITY_CODE']])
				->getEmbeddedScript(),
			'old' => $script->getInline($scriptParams)
		],
		'CLICK' => [
			'text' => $webpack
				->configureFormEmbeddedScript(['action' => 'click', 'sec' => $formData['SECURITY_CODE']])
				->getEmbeddedScript(),
			'old' => $script->getButton($scriptParams + ['button_caption' => Loc::getMessage('CRM_WEBFORM_SCRIPT_BUTTON_TEXT')])
		],
		'AUTO' => [
			'text' => $webpack
				->configureFormEmbeddedScript(['action' => 'auto', 'sec' => $formData['SECURITY_CODE']])
				->getEmbeddedScript(),
			'old' => $script->getDelay($scriptParams + ['delay' => 5])
		]
	);
}

Добавить комментарий