- Модуль: meeting
- Путь к файлу: ~/bitrix/modules/meeting/classes/general/meeting.php
- Класс: CAllMeeting
- Вызов: CAllMeeting::GetUserRole
static function GetUserRole($ID, $USER_ID = false, $bCheckHead = true)
{
global $DB, $USER;
$role = false;
$ID = (int)$ID;
$USER_ID = (int)$USER_ID;
if ($ID > 0)
{
if ($USER_ID <= 0)
{
$USER_ID = $USER->GetID();
}
$sqlFilter = "AND USER_ID='".$USER_ID."'";
if ($bCheckHead)
{
$arSubIDs = array($USER_ID);
$dbUsers = CIntranetUtils::GetSubordinateEmployees($USER_ID, true, 'Y', array('ID'));
while ($arUser = $dbUsers->Fetch())
{
$arSubIDs[] = $arUser['ID'];
}
$sqlFilter = "AND USER_ID IN ('".implode("', '", $arSubIDs)."')";
}
$dbRes = $DB->Query("SELECT USER_ID, USER_ROLE FROM b_meeting_users WHERE MEETING_ID='".$ID."' ".$sqlFilter);
if ($bCheckHead)
{
while ($arRes = $dbRes->Fetch())
{
$role = CMeeting::ROLE_HEAD;
if ((int)$arRes['USER_ID'] === (int)$USER_ID)
{
$role = $arRes['USER_ROLE'];
break;
}
}
}
elseif ($arRes = $dbRes->Fetch())
{
$role = $arRes['USER_ROLE'];
}
}
if (!$role && $USER->isAdmin())
{
return CMeeting::ROLE_MEMBER;
}
return $role;
}