1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
ImVoteEventHandler.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Vote\Integration\Im;
4
5
use Bitrix\Main\Loader;
6
use Bitrix\Main\Type\DateTime;
7
use Bitrix\Vote\Attach;
8
use Bitrix\Vote\Attachment\ImMessageConnector;
9
use Bitrix\Vote\Attachment\Manager;
10
use Bitrix\Vote\EO_Attach;
11
12
class
ImVoteEventHandler
13
{
14
public
static
function
onDeleteByEntityId
(?
int
$messageId
,
array
$messageFields
): void
15
{
16
if
(
17
$messageId
<= 0
18
|| empty(
$messageFields
[
'PARAMS'
][
'COMPONENT_ID'
])
19
|| !
Loader::includeModule
(
'im'
)
20
||
$messageFields
[
'PARAMS'
][
'COMPONENT_ID'
] !==
ImVote::MESSAGE_COMPONENT_ID
21
)
22
{
23
return
;
24
}
25
26
$attaches = Manager::loadFromEntity([
27
'=MODULE_ID'
=>
'im'
,
28
'=ENTITY_TYPE'
=>
ImMessageConnector::className
(),
29
'=ENTITY_ID'
=>
$messageId
,
30
]);
31
32
foreach
($attaches as $attach)
33
{
34
$attach->delete();
35
}
36
}
37
38
public
static
function
onImMessageAdd
(
int
$messageId
,
array
$messageFields
): void
39
{
40
if
(
41
$messageId
<= 0
42
|| empty(
$messageFields
[
'PARAMS'
][
'COMPONENT_ID'
])
43
||
$messageFields
[
'PARAMS'
][
'COMPONENT_ID'
] !==
ImVote::MESSAGE_COMPONENT_ID
44
|| empty(
$messageFields
[
'PARAMS'
][
'COMPONENT_PARAMS'
][
ImVote::MESSAGE_COMPONENT_PARAM_VOTE_ID
])
45
)
46
{
47
return
;
48
}
49
50
for
($try = 1; $try <= 2; $try++)
51
{
52
$result
= (
new
EO_Attach
())
53
->setModuleId(
'im'
)
54
->setObjectId(
$messageFields
[
'PARAMS'
][
'COMPONENT_PARAMS'
][
ImVote::MESSAGE_COMPONENT_PARAM_VOTE_ID
])
55
->setEntityId(
$messageId
)
56
->setEntityType(
ImMessageConnector::className
())
57
->setCreatedBy(
$messageFields
[
'AUTHOR_ID'
] ??
null
)
58
->setCreateTime(
new
DateTime
())
59
->setUid(
Attach::generateUid
())
60
->save()
61
;
62
if
(
$result
->isSuccess())
63
{
64
break
;
65
}
66
}
67
}
68
}
$messageFields
$messageFields
Определения
callback_ednaru.php:22
$messageId
if(! $messageFields||!isset($messageFields['message_id'])||!isset($messageFields['status'])||!CModule::IncludeModule("messageservice")) $messageId
Определения
callback_ismscenter.php:26
Bitrix\Main\Loader\includeModule
static includeModule($moduleName)
Определения
loader.php:67
Bitrix\Main\Type\DateTime
Определения
datetime.php:9
Bitrix\Vote\Attach\generateUid
static generateUid()
Определения
attach.php:998
Bitrix\Vote\Attachment\Connector\className
static className()
Определения
connector.php:52
Bitrix\Vote\EO_Attach
Определения
orm.php:1470
Bitrix\Vote\Integration\Im\ImVoteEventHandler
Определения
ImVoteEventHandler.php:13
Bitrix\Vote\Integration\Im\ImVoteEventHandler\onDeleteByEntityId
static onDeleteByEntityId(?int $messageId, array $messageFields)
Определения
ImVoteEventHandler.php:14
Bitrix\Vote\Integration\Im\ImVoteEventHandler\onImMessageAdd
static onImMessageAdd(int $messageId, array $messageFields)
Определения
ImVoteEventHandler.php:38
Bitrix\Vote\Integration\Im\ImVote\MESSAGE_COMPONENT_PARAM_VOTE_ID
const MESSAGE_COMPONENT_PARAM_VOTE_ID
Определения
ImVote.php:21
Bitrix\Vote\Integration\Im\ImVote\MESSAGE_COMPONENT_ID
const MESSAGE_COMPONENT_ID
Определения
ImVote.php:20
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
modules
vote
lib
Integration
Im
ImVoteEventHandler.php
Создано системой
1.14.0