1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
triggerconnector.php
См. документацию.
1
<?php
8
namespace
Bitrix\Sender\Trigger;
9
10
use Bitrix\Sender\Connector;
11
12
abstract
class
TriggerConnector
extends
Base
13
{
15
public
$connector
;
16
18
final
protected
function
getConnectorForm
()
19
{
20
$endpoint = $this->
getConnector
();
21
if
(is_array($endpoint) && !empty($endpoint[
'CODE'
]))
22
{
23
$this->connector =
Connector\Manager::getConnector
($endpoint);
24
}
25
elseif
(is_object($endpoint) && $endpoint instanceof
Connector
\
Base
)
26
{
27
$this->connector = $endpoint;
28
}
29
30
if
($this->connector)
31
{
32
$this->connector->setFieldPrefixExtended($this->
getFieldPrefix
());
33
$this->connector->setFieldFormName($this->
getFieldFormName
());
34
$this->connector->setFieldValues($this->getFields());
35
36
return
$this->connector->getForm();
37
}
38
else
39
return
''
;
40
}
41
43
final
protected
function
filterConnectorData
()
44
{
45
$result
=
true
;
46
47
$endpoint = $this->
getConnector
();
48
if
(is_array($endpoint) && !empty($endpoint[
'CODE'
]))
49
{
50
// do not send mails if connector will not found
51
$result
=
false
;
52
53
// try to find connector
54
$connector
=
Connector\Manager::getConnector
($endpoint);
55
$this->connector =
$connector
;
56
}
57
elseif
(is_object($endpoint) && $endpoint instanceof
Connector
\
Base
)
58
{
59
$this->connector = $endpoint;
60
}
61
62
63
if
($this->connector)
64
{
65
// merge connector filter and proxy fields. proxy fields have priority
66
$connectorFields = $this->
getProxyFieldsFromEventToConnector
();
67
if
(!empty($connectorFields))
68
{
69
$connectorFields = $connectorFields + $this->getFields();
70
}
71
// set fields to connector
72
$this->connector->setFieldValues($connectorFields);
73
74
75
$result
=
false
;
76
// add recipient from data if connector get it
77
$recipientDb = $this->connector->getData();
78
if
($recipient = $recipientDb->Fetch())
79
{
80
$this->recipient = $recipient;
81
$result
=
true
;
82
}
83
}
84
85
return
$result
;
86
}
87
88
90
public
function
getForm
()
91
{
92
$connectorForm = $this->
getConnectorForm
();
93
if
($connectorForm)
94
return
$connectorForm;
95
else
96
return
''
;
97
}
98
100
public
function
filter
()
101
{
102
return
$this->
filterConnectorData
();
103
}
104
106
public
function
getRecipient
()
107
{
108
return
$this->recipient;
109
}
110
112
public
function
getProxyFieldsFromEventToConnector
()
113
{
114
$eventData = $this->getParam(
'EVENT'
);
115
return
array
(
'ID'
=> $eventData[
'ID'
]);
116
}
117
121
public
function
getRecipientResult
()
122
{
123
$result
= parent::getRecipientResult();
124
if
(!$this->connector)
125
{
126
return
$result
;
127
}
128
129
$personalizeList =
array
();
130
$connectorPersonalizeList = $this->connector->getPersonalizeList();
131
foreach
($connectorPersonalizeList as $tag)
132
{
133
if
($tag[
'CODE'
] <>
''
)
134
{
135
$personalizeList[] = $tag[
'CODE'
];
136
}
137
}
138
$result
->setFilterFields(array_merge(
$result
->getFilterFields(), $personalizeList));
139
140
return
$result
;
141
}
142
149
public
function
getConnector
()
150
{
151
return
array
(
152
'MODULE_ID'
=>
''
,
153
'CODE'
=>
''
154
);
155
}
156
}
Bitrix\Sender\Connector\Base
Определения
base.php:13
Bitrix\Sender\Connector\Base\getFieldFormName
getFieldFormName()
Определения
base.php:75
Bitrix\Sender\Connector\Base\getFieldPrefix
getFieldPrefix()
Определения
base.php:89
Bitrix\Sender\Connector\Manager\getConnector
static getConnector(array $endpoint)
Определения
manager.php:191
Bitrix\Sender\Trigger\TriggerConnector
Определения
triggerconnector.php:13
Bitrix\Sender\Trigger\TriggerConnector\getRecipient
getRecipient()
Определения
triggerconnector.php:106
Bitrix\Sender\Trigger\TriggerConnector\getForm
getForm()
Определения
triggerconnector.php:90
Bitrix\Sender\Trigger\TriggerConnector\$connector
$connector
Определения
triggerconnector.php:15
Bitrix\Sender\Trigger\TriggerConnector\filter
filter()
Определения
triggerconnector.php:100
Bitrix\Sender\Trigger\TriggerConnector\getConnector
getConnector()
Определения
triggerconnector.php:149
Bitrix\Sender\Trigger\TriggerConnector\getProxyFieldsFromEventToConnector
getProxyFieldsFromEventToConnector()
Определения
triggerconnector.php:112
Bitrix\Sender\Trigger\TriggerConnector\getRecipientResult
getRecipientResult()
Определения
triggerconnector.php:121
Bitrix\Sender\Trigger\TriggerConnector\filterConnectorData
filterConnectorData()
Определения
triggerconnector.php:43
Bitrix\Sender\Trigger\TriggerConnector\getConnectorForm
getConnectorForm()
Определения
triggerconnector.php:18
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
Bitrix\Sender\Connector
Определения
base.php:8
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
bitrix
modules
sender
lib
trigger
triggerconnector.php
Создано системой
1.14.0