• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/controller/onlyoffice.php
  • Класс: BitrixDiskControllerOnlyOffice
  • Вызов: OnlyOffice::handleTrialFeatureActivationAction
public function handleTrialFeatureActivationAction(): void
{
	$trialFeatureInfo = DiskIntegrationBitrix24Manager::getTrialFeatureInfo('disk_onlyoffice_edit');
	if (!$trialFeatureInfo)
	{
		return;
	}

	['startDate' => $startDate, 'tillDate' => $tillDate] = $trialFeatureInfo;
	$startDateTime = new DateTime($startDate, DateTime::ISO8601);
	$tillDate = new Date($tillDate, DateTime::ISO8601);
	$now = new DateTime();
	$secondsAfterActivation = $now->getTimestamp() - $startDateTime->getTimestamp();
	if ($secondsAfterActivation > 12*3600)
	{
		return;
	}

	$value = Option::get(Driver::INTERNAL_MODULE_ID, 'posted_message_after_onlyoffice_feature_trial', 'N');
	if ($value === 'Y')
	{
		return;
	}

	$imManager = new DiskIntegrationImManager();
	$fromUserId = $this->getCurrentUser()->getId();

	$imManager->sendMessageToGeneralChat(
		$fromUserId,
		[
			'MESSAGE' => $this->generateMessageToChat($fromUserId, $tillDate),
			'SYSTEM' => 'Y',
		]
	);

	Option::set(Driver::INTERNAL_MODULE_ID, 'posted_message_after_onlyoffice_feature_trial', 'Y');
}