• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sharing/helper.php
  • Класс: BitrixCalendarSharingHelper
  • Вызов: Helper::payAttentionToNewSharingFeature
static function payAttentionToNewSharingFeature(): ?string
{
	$defaultValue = 'unset';
	$optionValue = CUserOptions::getOption(
		"calendar",
		self::PAY_ATTENTION_TO_NEW_SHARING_FEATURE_OPTION_NAME,
		$defaultValue
	);

	if ($optionValue === $defaultValue && (new SharingSharing(CCalendar::GetUserId()))->isEnabled())
	{
		CUserOptions::setOption(
			"calendar",
			self::PAY_ATTENTION_TO_NEW_SHARING_FEATURE_OPTION_NAME,
			'Y'
		);
		$optionValue = 'Y';
	}

	if ($optionValue === $defaultValue)
	{
		return self::PAY_ATTENTION_TO_NEW_FEATURE_FIRST;
	}

	if ($optionValue === 'Y')
	{
		return self::PAY_ATTENTION_TO_NEW_FEATURE_NEW;
	}

	if (!is_string($optionValue) || $optionValue === 'N')
	{
		return null;
	}

	$values = explode(',', $optionValue);
	$valuesCount = count($values);
	if ($valuesCount >= 4)
	{
		return null;
	}

	$now = time();
	$lastValue = (int)$values[$valuesCount - 1];
	if ($lastValue && $now > $lastValue + self::WEEK_TIMESTAMP)
	{
		if (self::hasSharingEvent())
		{
			return self::PAY_ATTENTION_TO_NEW_FEATURE_REMIND;
		}

		return self::PAY_ATTENTION_TO_NEW_FEATURE_NEW;
	}

	return null;
}