3namespace Bitrix\Socialnetwork\Internals\EventService\Recepients;
5use Bitrix\Main\UserTable;
6use Bitrix\Socialnetwork\EO_Workgroup;
7use Bitrix\Socialnetwork\UserToGroupTable;
8use Bitrix\Socialnetwork\WorkgroupTable;
17 $this->groupId = $groupId;
23 $memberIds = $this->getMemberIds();
24 if (empty($memberIds))
29 $res = UserTable::query()
30 ->setSelect([
'ID',
'ACTIVE',
'IS_REAL_USER',
'IS_ONLINE'])
31 ->whereIn(
'ID', $memberIds)
32 ->where(
'ACTIVE',
'=',
'Y')
33 ->where(
'REAL_USER',
'expr',
true)
43 $isOnline =
$user[
'IS_ONLINE'] ??
true;
51 private function getMemberIds():
array
53 if (!$this->getGroup())
59 $scrumMasterId = (int)$this->getGroup()->get(
'SCRUM_MASTER_ID');
61 $members = UserToGroupTable::query()
62 ->setSelect([
'USER_ID'])
63 ->where(
'GROUP_ID', $this->groupId)
64 ->where(
'ROLE',
'<=', $initiatePerms)
68 $memberIds = array_map(fn($member):
int => (
int)$member[
'USER_ID'], $members);
69 if ($scrumMasterId > 0)
71 $memberIds = array_unique(array_merge($memberIds, [$scrumMasterId]));
84 $this->group = WorkgroupTable::query()
85 ->setSelect([
'ID',
'CLOSED',
'PROJECT',
'SCRUM_MASTER_ID',
'INITIATE_PERMS'])
86 ->where(
'ID', $this->groupId)
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
__construct(int $groupId)
fetch(int $limit, int $offset)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)