- Модуль: extranet
- Путь к файлу: ~/bitrix/modules/extranet/classes/general/extranet.php
- Класс: CExtranet
- Вызов: CExtranet::GetIntranetUsers
static function GetIntranetUsers()
{
static $CACHE = false;
if (!$CACHE)
{
$arIntranetUsers = array();
$ttl = (defined("BX_COMP_MANAGED_CACHE") ? 2592000 : 600);
$cache_id = 'users';
$obCache = new CPHPCache;
$cache_dir = '/bitrix/extranet/';
if($obCache->InitCache($ttl, $cache_id, $cache_dir))
{
$tmpVal = $obCache->GetVars();
$arIntranetUsers = $tmpVal['USERS'];
unset($tmpVal);
}
else
{
global $CACHE_MANAGER;
if (defined("BX_COMP_MANAGED_CACHE"))
{
$CACHE_MANAGER->StartTagCache($cache_dir);
$CACHE_MANAGER->RegisterTag('intranet_users');
}
$rsUsers = CUser::GetList(
'ID',
'ASC',
Array(
"!UF_DEPARTMENT" => false
),
array(
"FIELDS" => array("ID"),
"SELECT" => array("UF_DEPARTMENT"),
)
);
while($arUser = $rsUsers->Fetch())
{
$arIntranetUsers[] = $arUser["ID"];
}
if (defined("BX_COMP_MANAGED_CACHE"))
{
$CACHE_MANAGER->EndTagCache();
}
if($obCache->StartDataCache())
{
$obCache->EndDataCache(array(
'USERS' => $arIntranetUsers,
));
}
}
$CACHE = $arIntranetUsers;
}
else
{
$arIntranetUsers = $CACHE;
}
return $arIntranetUsers;
}