- Модуль: 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;
}