• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/promotion.php
  • Класс: BitrixImPromotion
  • Вызов: Promotion::getTour
static function getTour($config, $type = self::DEVICE_TYPE_ALL)
{
	if (!BitrixMainLoader::includeModule('ui'))
	{
		return null;
	}

	if ($type === self::DEVICE_TYPE_WEB)
	{
		if (!(
			$config['DEVICE_TYPE'] === self::DEVICE_TYPE_ALL
			|| $config['DEVICE_TYPE'] === self::DEVICE_TYPE_BROWSER
			|| $config['DEVICE_TYPE'] === self::DEVICE_TYPE_DESKTOP
		))
		{
			return false;
		}
	}
	else if ($type === self::DEVICE_TYPE_MOBILE)
	{
		if (
			$config['DEVICE_TYPE'] !== self::DEVICE_TYPE_MOBILE
			&& $config['DEVICE_TYPE'] !== self::DEVICE_TYPE_ALL
		)
		{
			return false;
		}
	}
	else if ($type !== self::DEVICE_TYPE_ALL)
	{
		if (
			$config['DEVICE_TYPE'] !== self::DEVICE_TYPE_ALL
			&& $config['DEVICE_TYPE'] !== self::DEVICE_TYPE_WEB
			&& $config['DEVICE_TYPE'] !== $type
		)
		{
			return false;
		}
	}

	$tour = new BitrixMainUITour($config["ID"]);

	$params = array(
		"USER_TYPE" => "setUserType",
		"USER_TIMESPAN" => "setUserTimeSpan",
		"LIFETIME" => "setLifetime",
		"START_DATE" => "setStartDate",
		"END_DATE" => "setEndDate",
	);

	foreach ($params as $param => $setter)
	{
		if (isset($config[$param]))
		{
			$tour->$setter($config[$param]);
		}
	}

	return $tour;
}