1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
BeforeSendMessageFromQueueEvent.php
См. документацию.
1<?php
2
3namespace Bitrix\MessageService\Queue\Event;
4
5use Bitrix\Main\Error;
6use Bitrix\Main\Event;
7use Bitrix\Main\EventResult;
8use Bitrix\MessageService\Queue\Event\Result\BeforeSendMessageFromQueueEventResult;
9use Bitrix\MessageService\Sender\Result\SendMessage;
10
12{
13 public const TYPE = 'OnBeforeSendMessageFromQueue';
14
16 {
17 parent::__construct(
18 'messageservice',
19 self::TYPE,
20 [
21 'message' => $messageFields,
22 ]
23 );
24 }
25
31 public function processResults(): ?SendMessage
32 {
33 $errors = [];
34
35 foreach ($this->getResults() as $eventResult)
36 {
37 if ($eventResult->getType() === EventResult::ERROR)
38 {
39 if ($eventResult instanceof BeforeSendMessageFromQueueEventResult)
40 {
41 if (isset($eventResult->sendMessage))
42 {
43 return $eventResult->sendMessage;
44 }
45 elseif (isset($eventResult->errors))
46 {
47 foreach ($eventResult->errors as $item)
48 {
49 $errors[] = $item;
50 }
51 }
52 else
53 {
54 $errors[] = new Error('Unknown error');
55 }
56 }
57 else
58 {
59 $errors[] = new Error('Unknown error');
60 }
61 }
62 }
63
64 if (empty($errors))
65 {
66 return null;
67 }
68
69 $result = new SendMessage();
70 $result->addErrors($errors);
71
72 return $result;
73 }
74}
$messageFields
Определения callback_ednaru.php:22
Определения error.php:15
Определения event.php:5
getResults()
Определения event.php:124
</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
$errors
Определения iblock_catalog_edit.php:74
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393