- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/utils.php
- Класс: CIntranetUtils
- Вызов: CIntranetUtils::IsUserHonoured
static function IsUserHonoured($USER_ID)
{
global $CACHE_HONOUR, $CACHE_MANAGER;
if (!is_array($CACHE_HONOUR))
{
$cache_ttl = (24-date('G')) * 3600;
$cache_dir = '/'.SITE_ID.'/intranet/honour';
$obCache = new CPHPCache();
if ($obCache->InitCache($cache_ttl, 'intranet_honour', $cache_dir))
{
$CACHE_HONOUR = $obCache->GetVars();
}
else
{
$CACHE_HONOUR = array();
$blockId = intval(COption::GetOptionInt('intranet', 'iblock_honour'));
$arFilter = array(
"IBLOCK_ID" => $blockId,
"ACTIVE_DATE" => 'Y',
);
if ($arFilter['IBLOCK_ID'] <= 0)
{
return false;
}
$dbRes = CIBlockElement::GetList(array('ID' => 'ASC'), $arFilter, array('ID', 'IBLOCK_ID', 'PROPERTY_USER'));
while ($arRes = $dbRes->Fetch())
{
$CACHE_HONOUR[] = $arRes;
}
$obCache->StartDataCache();
$CACHE_MANAGER->StartTagCache($cache_dir);
$CACHE_MANAGER->RegisterTag('iblock_id_' . $blockId);
$CACHE_MANAGER->EndTagCache();
$obCache->EndDataCache($CACHE_HONOUR);
}
}
foreach ($CACHE_HONOUR as $arRes)
{
if (isset($arRes['PROPERTY_USER_VALUE']) && $arRes['PROPERTY_USER_VALUE'] == $USER_ID)
return true;
}
return false;
}