1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
GroupModel.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Permission\Model
;
6
7
use
Bitrix\Main\Access\AccessibleItem
;
8
use
Bitrix\Main\Type\Contract\Arrayable
;
9
use
Bitrix\Socialnetwork\Permission\AccessModelInterface
;
10
use
Bitrix\Socialnetwork\Internals\Registry\GroupRegistry
;
11
use
Bitrix\Socialnetwork\Item\Workgroup
;
12
use
Bitrix\Socialnetwork\Site\Site
;
13
use ReflectionClass;
14
15
class
GroupModel
implements
AccessModelInterface
16
{
17
protected
?
Workgroup
$group
=
null
;
18
19
protected
int
$id
= 0;
20
protected
?
int
$ownerId
=
null
;
21
protected
?
array
$siteIds
=
null
;
22
23
public
static
function
createFromArray
(
array
|
Arrayable
$data
): static
24
{
25
if
(
$data
instanceof
Arrayable
)
26
{
27
$data
=
$data
->toArray();
28
}
29
30
$model =
new
static
();
31
32
$reflection =
new
ReflectionClass($model);
33
34
foreach
(
$data
as
$key
=> $value)
35
{
36
if
($reflection->hasProperty(
$key
))
37
{
38
$model->{
$key
} = $value;
39
}
40
}
41
42
return
$model;
43
}
44
45
public
static
function
createFromId
(
int
$itemId): static
46
{
47
$model =
new
static
();
48
$model->id = $itemId;
49
50
return
$model;
51
}
52
53
public
function
getId
(): int
54
{
55
return
$this->id;
56
}
57
58
public
function
getOwnerId
(): int
59
{
60
$this->ownerId ??= (int)$this->
getDomainObject
()?->getOwnerId();
61
62
return
$this->ownerId;
63
}
64
65
public
function
getSiteIds
():
array
66
{
67
if
($this->siteIds !==
null
)
68
{
69
return
$this->siteIds;
70
}
71
72
if
($this->
id
<= 0)
73
{
74
$this->siteIds = $this->
getDefaultSiteIds
();
75
}
76
else
77
{
78
$this->siteIds = $this->
getDomainObject
()?->getSiteIds();
79
}
80
81
return
$this->siteIds;
82
}
83
84
public
function
getDomainObject
(): ?
Workgroup
85
{
86
if
($this->group ===
null
)
87
{
88
$this->group = $this->
getRegistry
()->get($this->
id
);
89
}
90
91
return
$this->group;
92
}
93
94
protected
function
getRegistry
():
GroupRegistry
95
{
96
return
GroupRegistry::getInstance();
97
}
98
99
protected
function
getDefaultSiteIds
():
array
100
{
101
return
[Site::getInstance()->getMainSiteId()];
102
}
103
}
Bitrix\Socialnetwork\Internals\Registry\GroupRegistry
Определения
groupregistry.php:24
Bitrix\Socialnetwork\Permission\Model\GroupModel
Определения
GroupModel.php:16
Bitrix\Socialnetwork\Permission\Model\GroupModel\getSiteIds
getSiteIds()
Определения
GroupModel.php:65
Bitrix\Socialnetwork\Permission\Model\GroupModel\$group
Workgroup $group
Определения
GroupModel.php:17
Bitrix\Socialnetwork\Permission\Model\GroupModel\getId
getId()
Определения
GroupModel.php:53
Bitrix\Socialnetwork\Permission\Model\GroupModel\$id
int $id
Определения
GroupModel.php:19
Bitrix\Socialnetwork\Permission\Model\GroupModel\getDomainObject
getDomainObject()
Определения
GroupModel.php:84
Bitrix\Socialnetwork\Permission\Model\GroupModel\getDefaultSiteIds
getDefaultSiteIds()
Определения
GroupModel.php:99
Bitrix\Socialnetwork\Permission\Model\GroupModel\$siteIds
array $siteIds
Определения
GroupModel.php:21
Bitrix\Socialnetwork\Permission\Model\GroupModel\createFromArray
static createFromArray(array|Arrayable $data)
Определения
GroupModel.php:23
Bitrix\Socialnetwork\Permission\Model\GroupModel\createFromId
static createFromId(int $itemId)
Определения
GroupModel.php:45
Bitrix\Socialnetwork\Permission\Model\GroupModel\getRegistry
getRegistry()
Определения
GroupModel.php:94
Bitrix\Socialnetwork\Permission\Model\GroupModel\getOwnerId
getOwnerId()
Определения
GroupModel.php:58
Bitrix\Socialnetwork\Permission\Model\GroupModel\$ownerId
int $ownerId
Определения
GroupModel.php:20
Bitrix\Socialnetwork\Site\Site
Определения
Site.php:12
$data
$data['IS_AVAILABLE']
Определения
.description.php:13
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\Access\AccessibleItem
Определения
accessibleitem.php:13
Bitrix\Main\Type\Contract\Arrayable
Определения
arrayable.php:6
Bitrix\Socialnetwork\Permission\AccessModelInterface
Определения
AccessModelInterface.php:11
Bitrix\Socialnetwork\Helper\Workgroup
Определения
access.php:9
Bitrix\Socialnetwork\Item\Workgroup
Определения
accessmanager.php:9
Bitrix\Socialnetwork\Permission\Model
Определения
GroupModel.php:5
$key
if(empty($signedUserToken)) $key
Определения
quickway.php:257
bitrix
modules
socialnetwork
lib
Permission
Model
GroupModel.php
Создано системой
1.14.0