1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
dataprovider.php
См. документацию.
1
<?php
8
namespace
Bitrix\Main\UserConsent;
9
10
use Bitrix\Main\Event;
11
use Bitrix\Main\EventResult;
12
use Bitrix\Main\Localization\Loc;
13
14
Loc::loadLanguageFile(__FILE__);
15
20
class
DataProvider
21
{
22
const
EVENT_NAME_LIST
=
'OnUserConsentDataProviderList'
;
23
25
protected
$code
;
27
protected
$name
;
29
protected
$data
;
31
protected
$editUrl
;
32
39
public
static
function
getByCode
($providerCode)
40
{
41
$list =
self::getList
();
42
foreach
($list as
$provider
)
43
{
44
if
(
$provider
->getCode() != $providerCode)
45
{
46
continue
;
47
}
48
49
return
$provider
;
50
}
51
52
return
null
;
53
}
54
64
public
function
__construct
(
$code
,
$name
,
$data
,
$editUrl
)
65
{
66
$this->code =
$code
;
67
$this->name =
$name
;
68
$this->data =
$data
;
69
$this->editUrl =
$editUrl
;
70
}
71
77
public
function
getCode
()
78
{
79
return
$this->code
;
80
}
81
87
public
function
getName
()
88
{
89
return
$this->name
;
90
}
91
97
public
function
getEditUrl
()
98
{
99
return
$this->editUrl
;
100
}
101
107
public
function
getData
()
108
{
109
if
(is_callable($this->data))
110
{
111
$getDataFunc =
$this->data
;
112
$data
= $getDataFunc();
113
}
114
else
115
{
116
$data
=
$this->data
;
117
}
118
119
$result
=
array
();
120
foreach
(
$data
as
$key
=> $value)
121
{
122
if
(!$value)
123
{
124
continue
;
125
}
126
127
$result
[
$key
] = $value;
128
}
129
130
return
$result
;
131
}
132
138
public
function
toArray
()
139
{
140
return
array
(
141
'CODE'
=> $this->
getCode
(),
142
'NAME'
=> $this->
getName
(),
143
'DATA'
=> $this->
getData
(),
144
'EDIT_URL'
=> $this->
getEditUrl
(),
145
);
146
}
147
153
public
static
function
getList
()
154
{
155
$data
=
array
();
156
$event
=
new
Event
(
'main'
, self::EVENT_NAME_LIST,
array
(
$data
));
157
$event
->send();
158
159
$list =
array
();
160
foreach
(
$event
->getResults() as $eventResult)
161
{
162
if
($eventResult->getType() == EventResult::ERROR)
163
{
164
continue
;
165
}
166
167
$params
= $eventResult->getParameters();
168
if
(!
$params
|| !is_array(
$params
))
169
{
170
continue
;
171
}
172
173
174
foreach
(
$params
as $item)
175
{
176
if
(!self::checkObligatoryFields($item))
177
{
178
continue
;
179
}
180
181
$list[] =
new
static
($item[
'CODE'
], $item[
'NAME'
], $item[
'DATA'
], $item[
'EDIT_URL'
]);
182
}
183
}
184
185
return
$list;
186
}
187
188
protected
static
function
checkObligatoryFields
(
$params
)
189
{
190
if
(!isset(
$params
[
'DATA'
]) || !
$params
[
'DATA'
])
191
{
192
return
false
;
193
}
194
195
if
(!is_array(
$params
[
'DATA'
]) && !is_callable(
$params
[
'DATA'
]))
196
{
197
return
false
;
198
}
199
200
if
(!isset(
$params
[
'NAME'
]) || !
$params
[
'NAME'
] || !is_string(
$params
[
'NAME'
]))
201
{
202
return
false
;
203
}
204
205
if
(!isset(
$params
[
'CODE'
]) || !
$params
[
'CODE'
] || !is_string(
$params
[
'CODE'
]))
206
{
207
return
false
;
208
}
209
210
return
true
;
211
}
212
}
$provider
if(!Loader::includeModule('messageservice')) $provider
Определения
callback_ednaruimhpx.php:21
Bitrix\Main\Event
Определения
event.php:5
Bitrix\Main\UserConsent\DataProvider
Определения
dataprovider.php:21
Bitrix\Main\UserConsent\DataProvider\getEditUrl
getEditUrl()
Определения
dataprovider.php:97
Bitrix\Main\UserConsent\DataProvider\$editUrl
$editUrl
Определения
dataprovider.php:31
Bitrix\Main\UserConsent\DataProvider\getName
getName()
Определения
dataprovider.php:87
Bitrix\Main\UserConsent\DataProvider\getByCode
static getByCode($providerCode)
Определения
dataprovider.php:39
Bitrix\Main\UserConsent\DataProvider\toArray
toArray()
Определения
dataprovider.php:138
Bitrix\Main\UserConsent\DataProvider\$data
$data
Определения
dataprovider.php:29
Bitrix\Main\UserConsent\DataProvider\$code
$code
Определения
dataprovider.php:25
Bitrix\Main\UserConsent\DataProvider\getData
getData()
Определения
dataprovider.php:107
Bitrix\Main\UserConsent\DataProvider\EVENT_NAME_LIST
const EVENT_NAME_LIST
Определения
dataprovider.php:22
Bitrix\Main\UserConsent\DataProvider\$name
$name
Определения
dataprovider.php:27
Bitrix\Main\UserConsent\DataProvider\getCode
getCode()
Определения
dataprovider.php:77
Bitrix\Main\UserConsent\DataProvider\checkObligatoryFields
static checkObligatoryFields($params)
Определения
dataprovider.php:188
Bitrix\Main\UserConsent\DataProvider\__construct
__construct($code, $name, $data, $editUrl)
Определения
dataprovider.php:64
Bitrix\Main\UserConsent\DataProvider\getList
static getList()
Определения
dataprovider.php:153
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$result
$result
Определения
get_property_values.php:14
$event
$event
Определения
prolog_after.php:141
$key
if(empty($signedUserToken)) $key
Определения
quickway.php:257
$params
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения
template.php:799
bitrix
modules
main
lib
userconsent
dataprovider.php
Создано системой
1.14.0