- Модуль: lists
- Путь к файлу: ~/bitrix/modules/lists/classes/general/lists.php
- Класс: CLists
- Вызов: CLists::GetSocnetPermission
static function GetSocnetPermission($iblock_id)
{
global $DB, $CACHE_MANAGER;
$iblock_id = intval($iblock_id);
$arCache = array();
if(!array_key_exists($iblock_id, $arCache))
{
$arCache[$iblock_id] = CLists::GetDefaultSocnetPermission();
if(CACHED_b_lists_permission !== false)
{
$cache_id = "b_lists_perm".$iblock_id;
if($CACHE_MANAGER->Read(CACHED_b_lists_permission, $cache_id))
{
$arCache[$iblock_id] = $CACHE_MANAGER->Get($cache_id);
}
else
{
$res = $DB->Query("
select SOCNET_ROLE, PERMISSION
from b_lists_socnet_group
where IBLOCK_ID=".$iblock_id."
", false, "FILE: ".__FILE__."
LINE: ".__LINE__);
while($ar = $res->Fetch())
$arCache[$iblock_id][$ar["SOCNET_ROLE"]] = $ar["PERMISSION"];
$CACHE_MANAGER->Set($cache_id, $arCache[$iblock_id]);
}
}
else
{
$res = $DB->Query("
select SOCNET_ROLE, PERMISSION
from b_lists_socnet_group
where IBLOCK_ID=".$iblock_id."
", false, "FILE: ".__FILE__."
LINE: ".__LINE__);
while($ar = $res->Fetch())
$arCache[$iblock_id][$ar["SOCNET_ROLE"]] = $ar["PERMISSION"];
}
$arCache[$iblock_id]["A"] = "X"; //Group owner always in charge
$arCache[$iblock_id]["T"] = "D"; //Banned
$arCache[$iblock_id]["Z"] = "D"; //and Request never get to list
}
return $arCache[$iblock_id];
}