1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
DeleteMemberLogTrait.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Collab\Control\Handler\Trait;
6
7
use Bitrix\Main\DI\ServiceLocator;
8
use Bitrix\Socialnetwork\Collab\Log\CollabLogEntryCollection;
9
use Bitrix\Socialnetwork\Collab\Log\Entry\RemoveUserFromCollabLogEntry;
10
use Bitrix\Socialnetwork\Control\Handler\HandlerResult;
11
use Bitrix\Socialnetwork\Item\Workgroup;
12
use Bitrix\Socialnetwork\UserToGroupTable;
13
14
trait DeleteMemberLogTrait
15
{
16
private
function
writeDeleteMemberLog(
array
$deletedMembers,
Workgroup
$entityAfter,
int
$initiatorId
):
HandlerResult
17
{
18
$handlerResult =
new
HandlerResult
();
19
20
if
(empty($deletedMembers))
21
{
22
return
$handlerResult;
23
}
24
25
if
(!$entityAfter->isCollab())
26
{
27
return
$handlerResult;
28
}
29
30
$ownerId
= $entityAfter->getOwnerId();
31
$moderators = $entityAfter->getModeratorMemberIds();
32
33
$collection =
new
CollabLogEntryCollection
();
34
35
foreach
($deletedMembers as $deletedMember)
36
{
37
$role =
UserToGroupTable::ROLE_USER
;
38
39
if
($deletedMember ===
$ownerId
)
40
{
41
$role =
UserToGroupTable::ROLE_OWNER
;
42
}
43
elseif
(in_array($deletedMember, $moderators,
true
))
44
{
45
$role =
UserToGroupTable::ROLE_MODERATOR
;
46
}
47
48
$logEntry =
new
RemoveUserFromCollabLogEntry
(userId: $deletedMember, collabId: $entityAfter->getId());
49
$logEntry->setRole($role);
50
$logEntry->setInitiator(
$initiatorId
);
51
$collection->add($logEntry);
52
}
53
54
$service
= ServiceLocator::getInstance()->get(
'socialnetwork.collab.log.service'
);
55
$service
->saveCollection($collection);
56
57
return
$handlerResult;
58
}
59
}
Bitrix\Socialnetwork\Collab\Log\CollabLogEntryCollection
Определения
CollabLogEntryCollection.php:9
Bitrix\Socialnetwork\Collab\Log\Entry\RemoveUserFromCollabLogEntry
Определения
RemoveUserFromCollabLogEntry.php:8
Bitrix\Socialnetwork\Control\Command\AddCommand\$ownerId
int $ownerId
Определения
AddCommand.php:63
Bitrix\Socialnetwork\Control\Command\InitiatedCommand\$initiatorId
int $initiatorId
Определения
InitiatedCommand.php:19
Bitrix\Socialnetwork\Control\Handler\HandlerResult
Определения
HandlerResult.php:10
Bitrix\Socialnetwork\UserToGroupTable\ROLE_USER
const ROLE_USER
Определения
usertogroup.php:48
Bitrix\Socialnetwork\UserToGroupTable\ROLE_MODERATOR
const ROLE_MODERATOR
Определения
usertogroup.php:45
Bitrix\Socialnetwork\UserToGroupTable\ROLE_OWNER
const ROLE_OWNER
Определения
usertogroup.php:42
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
Bitrix\Socialnetwork\Helper\Workgroup
Определения
access.php:9
$service
$service
Определения
payment.php:18
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
bitrix
modules
socialnetwork
lib
Collab
Control
Handler
Trait
DeleteMemberLogTrait.php
Создано системой
1.14.0