• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/bot/token.php
  • Класс: BitrixImBotToken
  • Вызов: Token::getFromCache
static function getFromCache($botId)
{
	$cache = BitrixMainDataCache::createInstance();
	if($cache->initCache(self::CACHE_TOKEN_TTL, 'token_'.$botId, self::CACHE_TOKEN_PATH))
	{
		$result = $cache->getVars();
	}
	else
	{
		$result = Array();
		$orm = BitrixImModelBotTokenTable::getList(Array(
			'filter' => array(
				'>DATE_EXPIRE' => new BitrixMainTypeDateTime(),
				'=BOT_ID' => $botId
			),
		));
		while ($token = $orm->fetch())
		{
			$result[$token['DIALOG_ID']] = Array(
				'ID' => $token['ID'],
				'TOKEN' => $token['TOKEN'],
				'DIALOG_ID' => $token['DIALOG_ID'],
				'DATE_EXPIRE' => is_object($token['DATE_EXPIRE'])? $token['DATE_EXPIRE']->getTimestamp(): 0
			);
			if ($token['TOKEN'])
			{
				$result[$token['TOKEN']] = Array(
					'ID' => $token['ID'],
					'TOKEN' => $token['TOKEN'],
					'DIALOG_ID' => $token['DIALOG_ID'],
					'DATE_EXPIRE' => is_object($token['DATE_EXPIRE'])? $token['DATE_EXPIRE']->getTimestamp(): 0
				);
			}
		}

		$cache->startDataCache();
		$cache->endDataCache($result);
	}

	return $result;
}