- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/mysql/group_features_perms.php
- Класс: CSocNetFeaturesPerms
- Вызов: CSocNetFeaturesPerms::GetAvaibleEntity
function GetAvaibleEntity($entityType, $feature, $role, $operation, $active, $visible, $siteID)
{
global $DB;
if($entityType == '' || $role == '' || $operation == '')
return false;
if($entityType == '')
$entityType = "G";
if($active == '')
$active = "Y";
if($visible == '')
$visible = "Y";
if($siteID == '')
$siteID = SITE_ID;
$strSql = "select b.ID as ID,
b.ENTITY_TYPE as ENTITY_TYPE,
b.ENTITY_ID as ENTITY_ID,
b.FEATURE as FEATURE,
b.ACTIVE as FEATURE_ACTIVE,
p.OPERATION_ID as OPERATION_ID,
p.ROLE as ROLE ";
if($entityType == "G")
$strSql .= ", g.SITE_ID as GROUP_SITE_ID,
g.NAME as GROUP_NAME,
g.VISIBLE as GROUP_VISIBLE,
g.OWNER_ID as GROUP_OWNER_ID ";
$strSql .= " from b_sonet_features b ".
"LEFT JOIN b_sonet_features2perms p ON (b.ID = p.FEATURE_ID AND ".
"p.ROLE = '".$DB->ForSQL($role)."' AND p.OPERATION_ID = '".$DB->ForSQL($operation)."') ";
if($entityType == "G")
$strSql .= "INNER JOIN b_sonet_group g ON (g.ID = b.ENTITY_ID) ";
$strSql .= "WHERE ".
"b.FEATURE='".$DB->ForSQL($feature)."' AND ".
"b.ACTIVE = '".$DB->ForSQL($active)."' AND ".
"b.ENTITY_TYPE = '".$DB->ForSQL($entityType)."' ";
if($entityType == "G")
$strSql .= " AND g.ACTIVE = 'Y' AND ".
"g.VISIBLE= 'Y' AND ".
"g.SITE_ID= '".$DB->ForSQL($siteID)."'";
$dbRes = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
return $dbRes;
}