1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
AddInviteHandler.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
6
10use Bitrix\Socialnetwork\Control\Member\Trait\AddMemberTrait;
18
20{
21 use AddMemberTrait;
22
23 public function add(AddCommand $command, Workgroup $entity): HandlerResult
24 {
25 $handlerResult = new HandlerResult();
26
27 $invitedMembers = $command->getInvitedMembers();
28 if (empty($invitedMembers))
29 {
30 return $handlerResult;
31 }
32
33 $membersByCommand = (new AccessCodeConverter(...$invitedMembers))
34 ->getUsers()
35 ->getUserIds();
36
37 [$employeeIds, $guestIds] = EmployeeProvider::getInstance()->splitIntoEmployeesAndGuests($membersByCommand);
38
39 $guestResult = $this->addMembers(
40 $entity->getId(),
41 $command->getInitiatorId(),
44 ...$guestIds,
45 );
46
47 $handlerResult->merge($guestResult);
48
49 $employeeResult = $this->inviteMembers(
50 $entity->getId(),
51 $command->getInitiatorId(),
52 ...$employeeIds,
53 );
54
55 $handlerResult->merge($employeeResult);
56
57 if (!$handlerResult->isSuccess())
58 {
59 return $handlerResult;
60 }
61
62 foreach ($membersByCommand as $userId)
63 {
65 }
66
67 $parameters = [
68 'skipChat' => !$command->getInitiator()->isIntranet(),
69 ];
70
71 ActionMessageBuffer::getInstance()
72 ->put(ActionType::InviteGuest, $entity->getId(), $command->getInitiatorId(), $guestIds)
73 ->put(ActionType::InviteUser, $entity->getId(), $command->getInitiatorId(), $employeeIds, $parameters);
74
75 return $handlerResult;
76 }
77}
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения check_mail.php:18
static execute(int $userId, int $collabId)
Определения LastActivityTrigger.php:15
add(AddCommand $command, Workgroup $entity)
Определения AddInviteHandler.php:23
$entity