• Модуль: 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; }