- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/group_features.php
- Класс: CAllSocNetFeatures
- Вызов: CAllSocNetFeatures::getActiveFeaturesList
static function getActiveFeaturesList($type, $id)
{
global $CACHE_MANAGER;
$arFeatures = array();
$cache = new CPHPCache;
$cache_time = 31536000;
$cache_id = $type."_".$id;
$cache_path = "/sonet/features/".$type."/".intval($id / 1000)."/".$id."/";
if ($cache->InitCache($cache_time, $cache_id, $cache_path))
{
$arCacheVars = $cache->GetVars();
$arFeatures = $arCacheVars["FEATURES"];
}
else
{
$cache->StartDataCache($cache_time, $cache_id, $cache_path);
if (defined("BX_COMP_MANAGED_CACHE"))
{
$CACHE_MANAGER->StartTagCache($cache_path);
$CACHE_MANAGER->RegisterTag("sonet_features_".$type."_".$id);
}
$dbResult = CSocNetFeatures::GetList(Array(), Array("ENTITY_ID" => $id, "ENTITY_TYPE" => $type));
while ($arResult = $dbResult->GetNext())
{
$arFeatures[$arResult["FEATURE"]] = array("ACTIVE" => $arResult["ACTIVE"], "FEATURE_NAME" => $arResult["FEATURE_NAME"]);
if (defined("BX_COMP_MANAGED_CACHE"))
{
$CACHE_MANAGER->RegisterTag("sonet_feature_".$arResult["ID"]);
}
}
$arCacheData = Array(
"FEATURES" => $arFeatures
);
if(defined("BX_COMP_MANAGED_CACHE"))
{
$CACHE_MANAGER->EndTagCache();
}
$cache->EndDataCache($arCacheData);
}
return $arFeatures;
}