1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
CanInviteTrait.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\SocialNetwork\Collab\Access\Rule\Trait
;
4
5
use
Bitrix\Main\Access\AccessCode
;
6
use
Bitrix\Socialnetwork\Permission\User\UserModel
;
7
use
Bitrix\SocialNetwork\Collab\Access\Model\CollabModel
;
8
use
Bitrix\Socialnetwork\Helper\Workgroup
;
9
10
trait
CanInviteTrait
11
{
12
protected
static
array
$commonGroups = [];
13
14
protected
function
canInvite
(
UserModel
$user
,
CollabModel
$item): bool
15
{
16
if
(
$user
->isIntranet())
17
{
18
return
true
;
19
}
20
21
$addMembers = $item->
getAddMembers
();
22
foreach
($addMembers as $accessCode)
23
{
24
$userId
= (
new
AccessCode
($accessCode))->getEntityId();
25
if
(!$this->
isUsersHaveCommonGroups
($user->
getUserId
(),
$userId
))
26
{
27
return
false
;
28
}
29
}
30
31
return
true
;
32
}
33
34
protected
function
isUsersHaveCommonGroups
(
int
$userId
,
int
$targetUserId): bool
35
{
36
if
(
$userId
<= $targetUserId)
37
{
38
$key
=
"{$userId}_{$targetUserId}"
;
39
}
40
else
41
{
42
$key
=
"{$targetUserId}_{$userId}"
;
43
}
44
45
if
(!isset(static::$commonGroups[
$key
]))
46
{
47
static::$commonGroups[
$key
] = Workgroup::isUsersHaveCommonGroups(
$userId
, $targetUserId,
true
);
48
}
49
50
return
static::$commonGroups[
$key
];
51
}
52
}
$userId
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения
check_mail.php:18
Bitrix\Main\Access\AccessCode
Определения
accesscode.php:13
Bitrix\Main\Access\User\UserModel\getUserId
getUserId()
Определения
usermodel.php:48
Bitrix\SocialNetwork\Collab\Access\Model\CollabModel
Определения
CollabModel.php:13
Bitrix\SocialNetwork\Collab\Access\Model\CollabModel\getAddMembers
getAddMembers()
Определения
CollabModel.php:79
Bitrix\Socialnetwork\Permission\User\UserModel
Определения
UserModel.php:9
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\Main\$user
$user
Определения
mysql_to_pgsql.php:33
Bitrix\SocialNetwork\Collab\Access\Rule\Trait
Определения
CanInviteTrait.php:3
Bitrix\SocialNetwork\Collab\Access\Rule\Trait\canInvite
canInvite(UserModel $user, CollabModel $item)
Определения
CanInviteTrait.php:14
Bitrix\SocialNetwork\Collab\Access\Rule\Trait\CanInviteTrait
trait CanInviteTrait
Определения
CanInviteTrait.php:11
Bitrix\SocialNetwork\Collab\Access\Rule\Trait\isUsersHaveCommonGroups
isUsersHaveCommonGroups(int $userId, int $targetUserId)
Определения
CanInviteTrait.php:34
Bitrix\Socialnetwork\Helper\Workgroup
Определения
access.php:9
$key
if(empty($signedUserToken)) $key
Определения
quickway.php:257
bitrix
modules
socialnetwork
lib
Collab
Access
Rule
Trait
CanInviteTrait.php
Создано системой
1.14.0