- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/authmanager.php
- Класс: CSocServAuth
- Вызов: CSocServAuth::GetUserArray
static function GetUserArray($authId)
{
$ttl = 10000;
$cache_id = 'socserv_ar_user';
$obCache = new CPHPCache;
$cache_dir = '/bx/socserv_ar_user';
if($obCache->InitCache($ttl, $cache_id, $cache_dir))
{
$arResult = $obCache->GetVars();
}
else
{
$arUserXmlId = $arOaToken = $arOaSecret = $arSiteId = array();
$dbSocUser = UserTable::getList([
'filter' => [
'=EXTERNAL_AUTH_ID' => $authId,
"=USER.ACTIVE" => 'Y'
],
'select' => ["XML_ID", "USER_ID", "OATOKEN", "OASECRET", "SITE_ID"]
]);
while($arSocUser = $dbSocUser->fetch())
{
$arUserXmlId[$arSocUser["USER_ID"]] = $arSocUser["XML_ID"];
$arOaToken[$arSocUser["USER_ID"]] = $arSocUser["OATOKEN"];
$arOaSecret[$arSocUser["USER_ID"]] = $arSocUser["OASECRET"];
$arSiteId[$arSocUser["USER_ID"]] = $arSocUser["SITE_ID"];
}
$arResult = array($arUserXmlId, $arOaToken, $arOaSecret, $arSiteId);
if($obCache->StartDataCache())
$obCache->EndDataCache($arResult);
}
return $arResult;
}