Bitrix-D7
22.6
Загрузка...
Поиск...
Не найдено
highloadblockrightstable.php
1
<?php
2
namespace
Bitrix\Highloadblock
;
3
4
use
Bitrix\Main\Entity
;
5
22
class
HighloadBlockRightsTable
extends
Entity\DataManager
23
{
28
public
static
function
getTableName
()
29
{
30
return
'b_hlblock_entity_rights'
;
31
}
32
37
public
static
function
getMap
()
38
{
39
return
array(
40
'ID'
=>
new
Entity
\
IntegerField
(
'ID'
, array(
41
'primary'
=>
true
42
)),
43
'HL_ID'
=>
new
Entity
\
IntegerField
(
'HL_ID'
, array(
44
'required'
=>
true
,
45
)),
46
'TASK_ID'
=>
new
Entity
\
IntegerField
(
'TASK_ID'
, array(
47
'required'
=>
true
,
48
)),
49
'ACCESS_CODE'
=>
new
Entity
\
StringField
(
'ACCESS_CODE'
, array(
50
'required'
=>
true
,
51
'validation'
=> array(__CLASS__,
'validateAccessCode'
),
52
)),
53
'USER_ACCESS'
=>
new
Entity
\ReferenceField(
54
'USER_ACCESS'
,
55
'\Bitrix\Main\UserAccessTable'
,
56
array(
'=this.ACCESS_CODE'
=>
'ref.ACCESS_CODE'
)
57
),
58
'TASK_OPERATION'
=>
new
Entity
\ReferenceField(
59
'TASK_OPERATION'
,
60
'\Bitrix\Main\TaskOperationTable'
,
61
array(
'=this.TASK_ID'
=>
'ref.TASK_ID'
)
62
),
63
);
64
}
65
71
public
static
function
validateAccessCode
()
72
{
73
return
array(
74
new
Entity
\Validator\Length(
null
, 50),
75
);
76
}
77
83
public
static
function
getOperationsName
($hlId)
84
{
85
$operations = array();
86
$uid = $GLOBALS[
'USER'
]->getId();
//@fixme
87
88
$res = \Bitrix\HighloadBlock\HighloadBlockRightsTable::getList(array(
89
'select'
=> array(
90
'HL_ID'
,
91
'OPNAME'
=>
'TASK_OPERATION.OPERATION.NAME'
92
),
93
'filter'
=> array(
94
'HL_ID'
=> $hlId,
95
'USER_ACCESS.USER_ID'
=> $uid,
96
'!TASK_OPERATION.OPERATION.NAME'
=>
false
97
)
98
));
99
while
($row = $res->fetch())
100
{
101
if
(!isset($operations[$row[
'HL_ID'
]]))
102
{
103
$operations[$row[
'HL_ID'
]] = array();
104
}
105
$operations[$row[
'HL_ID'
]][] = $row[
'OPNAME'
];
106
}
107
108
return
is_array($hlId) ? $operations : $operations[$hlId];
109
}
110
}
Bitrix\Highloadblock\HighloadBlockRightsTable
Definition:
highloadblockrightstable.php:23
Bitrix\Highloadblock\HighloadBlockRightsTable\getMap
static getMap()
Definition:
highloadblockrightstable.php:37
Bitrix\Highloadblock\HighloadBlockRightsTable\validateAccessCode
static validateAccessCode()
Definition:
highloadblockrightstable.php:71
Bitrix\Highloadblock\HighloadBlockRightsTable\getOperationsName
static getOperationsName($hlId)
Definition:
highloadblockrightstable.php:83
Bitrix\Highloadblock\HighloadBlockRightsTable\getTableName
static getTableName()
Definition:
highloadblockrightstable.php:28
Bitrix\Main\ORM\Entity
Definition:
entity.php:26
Bitrix\Main\ORM\Fields\IntegerField
Definition:
integerfield.php:20
Bitrix\Main\ORM\Fields\StringField
Definition:
stringfield.php:20
Bitrix\Highloadblock
Definition:
datamanager.php:9
modules
highloadblock
lib
highloadblockrightstable.php
Создано системой
1.9.6