- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/entityselector.php
- Класс: BitrixSocialnetworkComponentEntitySelector
- Вызов: EntitySelector::getWorkgroups
protected function getWorkgroups()
{
$result = [];
if (CSocNetUser::isCurrentUserModuleAdmin($this->arParams['SITE_ID']))
{
$filter = [
'=LANDING' => 'Y',
'=ACTIVE' => 'Y'
];
if (!empty($this->arParams['SITE_ID']))
{
$filter["=WorkgroupSite:GROUP.SITE_ID"] = $this->arParams['SITE_ID'];
}
$res = WorkgroupTable::getList([
'filter' => $filter,
'limit' => 100,
'select' => [
'GROUP_ID' => 'ID',
'GROUP_NAME' => 'NAME'
]
]);
}
else
{
$filter = [
'=GROUP.LANDING' => 'Y',
'=GROUP.ACTIVE' => 'Y',
'=USER_ID' => $this->getCurrentUserId(),
'@ROLE' => UserToGroupTable::getRolesMember()
];
if (!empty($this->arParams['SITE_ID']))
{
$filter["=GROUP.WorkgroupSite:GROUP.SITE_ID"] = $this->arParams['SITE_ID'];
}
$res = UserToGroupTable::getList([
'filter' => $filter,
'limit' => 100,
'select' => [
'GROUP_ID' => 'GROUP_ID',
'GROUP_NAME' => 'GROUP.NAME'
]
]);
}
while($workgroupFields = $res->fetch())
{
$result[] = [
'ID' => $workgroupFields['GROUP_ID'],
'CODE' => 'SG'.$workgroupFields['GROUP_ID'],
'NAME' => $workgroupFields['GROUP_NAME'],
];
}
return $result;
}