• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_bucket.php
  • Класс: CCloudStorageBucket
  • Вызов: CCloudStorageBucket::RenewToken
function RenewToken()
{
	if ($this->service->tokenHasExpired)
	{
		$arBucket = $this->failoverBucket? $this->failoverBucket->arBucket: $this->arBucket;
		$newSettings = false;
		foreach(GetModuleEvents("clouds", "OnExpiredToken", true) as $arEvent)
		{
			$newSettings = ExecuteModuleEventEx($arEvent, array($arBucket));
			if ($newSettings)
				break;
		}

		if ($newSettings)
		{
			if ($this->failoverBucket)
			{
				$updateResult = $this->failoverBucket->Update(array("SETTINGS" => $newSettings));
				$this->arBucket = null;
			}
			else
			{
				$updateResult = $this->Update(array("SETTINGS" => $newSettings));
			}

			if ($updateResult)
			{
				$this->service->tokenHasExpired = false;
				return true;
			}
		}
	}

	return false;
}