1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
ImVoteEventHandler.php
См. документацию.
1<?php
2
3namespace Bitrix\Vote\Integration\Im;
4
5use Bitrix\Main\Loader;
6use Bitrix\Main\Type\DateTime;
7use Bitrix\Vote\Attach;
8use Bitrix\Vote\Attachment\ImMessageConnector;
9use Bitrix\Vote\Attachment\Manager;
10use Bitrix\Vote\EO_Attach;
11
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
Определения callback_ednaru.php:22
if(! $messageFields||!isset($messageFields['message_id'])||!isset($messageFields['status'])||!CModule::IncludeModule("messageservice")) $messageId
Определения callback_ismscenter.php:26
static includeModule($moduleName)
Определения loader.php:67
static generateUid()
Определения attach.php:998
static className()
Определения connector.php:52
Определения orm.php:1470
static onDeleteByEntityId(?int $messageId, array $messageFields)
Определения ImVoteEventHandler.php:14
static onImMessageAdd(int $messageId, array $messageFields)
Определения ImVoteEventHandler.php:38
const MESSAGE_COMPONENT_PARAM_VOTE_ID
Определения ImVote.php:21
const MESSAGE_COMPONENT_ID
Определения ImVote.php:20
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14