1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
Event.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Im\V2\Chat\ExternalChat;
4
5
use Bitrix\Im\V2\Result;
6
use Bitrix\Main\Engine\Response\Converter;
7
use Bitrix\Main\EventResult;
8
9
abstract
class
Event
extends
\Bitrix\Main\Event
10
{
11
private
const
TYPE_TEMPLATE =
'On#ActionName#ExternalChat#EntityType#'
;
12
13
public
function
__construct
(
string
$entityType,
$parameters
)
14
{
15
parent::__construct(
'im'
, $this->
formatType
($entityType),
$parameters
);
16
}
17
18
public
function
hasResult
(): bool
19
{
20
return
$this->
getFirstResult
() !==
null
;
21
}
22
23
public
function
getFirstResult
(): ?
EventResult
24
{
25
return
$this->
getResults
()[0] ??
null
;
26
}
27
28
public
function
getResult
():
Result
29
{
30
$result
=
new
Result
();
31
$firstResult = $this->
getFirstResult
();
32
if
($firstResult ===
null
)
33
{
34
return
$result
;
35
}
36
37
if
($firstResult->getType() === EventResult::ERROR)
38
{
39
return
$result
->addError(
new
ExternalError
(
ExternalError::FROM_EVENT
));
40
}
41
42
return
$result
->setResult($firstResult->getParameters());
43
}
44
45
protected
function
getParameterFromResult
(
string
$key
): mixed
46
{
47
$parameters
= $this->
getFirstResult
()?->getParameters() ?? [];
48
if
(!is_array(
$parameters
))
49
{
50
return
null
;
51
}
52
53
return
$parameters
[
$key
] ??
null
;
54
}
55
56
abstract
protected
function
getActionName
(): string;
57
58
protected
function
formatType
(
string
$entityType): string
59
{
60
$converter =
new
Converter
(Converter::TO_CAMEL | Converter::UC_FIRST);
61
$entityTypeInCamelCase = $converter->process($entityType);
62
$actionName = $this->
getActionName
();
63
64
return
strtr(self::TYPE_TEMPLATE, [
'#ActionName#'
=> $actionName,
'#EntityType#'
=> $entityTypeInCamelCase]);
65
}
66
}
Bitrix\Im\V2\Chat\ExternalChat\Event\getActionName
getActionName()
Bitrix\Im\V2\Chat\ExternalChat\Event\getFirstResult
getFirstResult()
Определения
Event.php:23
Bitrix\Im\V2\Chat\ExternalChat\Event\__construct
__construct(string $entityType, $parameters)
Определения
Event.php:13
Bitrix\Im\V2\Chat\ExternalChat\Event\getParameterFromResult
getParameterFromResult(string $key)
Определения
Event.php:45
Bitrix\Im\V2\Chat\ExternalChat\Event\formatType
formatType(string $entityType)
Определения
Event.php:58
Bitrix\Im\V2\Chat\ExternalChat\Event\getResult
getResult()
Определения
Event.php:28
Bitrix\Im\V2\Chat\ExternalChat\Event\hasResult
hasResult()
Определения
Event.php:18
Bitrix\Im\V2\Chat\ExternalChat\ExternalError
Определения
ExternalError.php:9
Bitrix\Im\V2\Chat\ExternalChat\ExternalError\FROM_EVENT
const FROM_EVENT
Определения
ExternalError.php:10
Bitrix\Main\DB\Result
Определения
result.php:20
Bitrix\Main\Engine\Response\Converter
Определения
converter.php:8
Bitrix\Main\Event
Определения
event.php:5
Bitrix\Main\Event\getResults
getResults()
Определения
event.php:124
Bitrix\Main\Event\$parameters
$parameters
Определения
event.php:8
Bitrix\Main\EventResult
Определения
eventresult.php:5
$result
$result
Определения
get_property_values.php:14
Bitrix\Im\V2\Chat\ExternalChat\Event
Определения
AfterCreateEvent.php:3
$key
if(empty($signedUserToken)) $key
Определения
quickway.php:257
bitrix
modules
im
lib
V2
Chat
ExternalChat
Event.php
Создано системой
1.14.0