• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/marketplace/notification.php
  • Класс: BitrixRestMarketplaceNotification
  • Вызов: Notification::checkAgent
static function checkAgent()
{
	if (Loader::includeModule('bitrix24'))
	{
		$code = '';
		if (Access::isActiveRules() && Client::isSubscriptionAccess())
		{
			$dateFinish = Client::getSubscriptionFinalDate();
			$entity = Access::getActiveEntity();
			$maxCount = Access::getAvailableCount();
			$isSubscriptionFinish = $dateFinish
									&& $dateFinish < (new Date())
									&& (time() - static::$timestampNotifyDays) < $dateFinish->getTimestamp();
			if (!Access::isAvailable())
			{
				if (
					$maxCount >= 0
					&& (
						$entity[Access::ENTITY_COUNT] > $maxCount
						|| $entity[Access::ENTITY_TYPE_APP_STATUS][AppTable::STATUS_PAID] > 0
						|| $entity[Access::ENTITY_TYPE_APP_STATUS][AppTable::STATUS_SUBSCRIPTION] > 0
					)
					&& static::getLastCheckTimestamp() > time()
				)
				{
					$code = 'SUBSCRIPTION_MARKET_TARIFF_MARKET';
				}
				elseif ($isSubscriptionFinish)
				{
					$code = 'SUBSCRIPTION_MARKET_DEMO_END';
				}
			}
			elseif (Access::isFeatureEnabled() && $isSubscriptionFinish)
			{
				$code = 'SUBSCRIPTION_MARKET_TRIAL_END';
			}
		}

		if ($code !== '')
		{
			static::set($code);
		}
		else
		{
			$lastCode = Option::get(static::MODULE_ID, static::OPTION_ACCESS_NOTIFICATION, null);
			if (!is_null($lastCode) && in_array($lastCode, static::CODE_CHECK_BY_AGENT))
			{
				static::reset();
			}
		}
	}

	return 'BitrixRestMarketplaceNotification::checkAgent();';
}