1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
PromotionConverter.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\Converter
;
6
7
use
Bitrix\Im\V2\Promotion\Entity\Promotion
;
8
use
Bitrix\Main\Loader
;
9
use
Bitrix\Socialnetwork\Collab\Onboarding\Entity\AbstractJob
;
10
use
Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type
;
11
use
Bitrix\Socialnetwork\Helper\SingletonTrait
;
12
13
class
PromotionConverter
14
{
15
use SingletonTrait;
16
17
public
function
convertJob
(
AbstractJob
$job): ?
Promotion
18
{
19
if
(!Loader::includeModule(
'im'
))
20
{
21
return
null
;
22
}
23
24
$chatId = $job->
getChatId
();
25
if
(
null
=== $chatId)
26
{
27
return
null
;
28
}
29
30
$promo = $this->
convertOnboardingType
($job->
getType
());
31
32
return
$promo?->setChatId($chatId);
33
}
34
35
public
function
convertOnboardingType
(
Type
$type
): ?
Promotion
36
{
37
if
(!Loader::includeModule(
'im'
))
38
{
39
return
null
;
40
}
41
42
$promoId =
"socialnetwork:{$type->value}-collab"
;
43
44
return
new
Promotion
($promoId);
45
}
46
47
public
function
convertToOnboardingType
(
string
$promoId): ?
Type
48
{
49
preg_match(
'/^socialnetwork:(\w+)-collab$/'
, $promoId,
$matches
);
50
$type
=
$matches
[1] ??
''
;
51
52
return
Type::tryFrom(
$type
);
53
}
54
}
$type
$type
Определения
options.php:106
Bitrix\Im\V2\Promotion\Entity\Promotion
Определения
Promotion.php:12
Bitrix\Main\Loader
Определения
loader.php:13
Bitrix\Socialnetwork\Collab\Onboarding\Entity\AbstractJob
Определения
AbstractJob.php:15
Bitrix\Socialnetwork\Collab\Onboarding\Entity\AbstractJob\getChatId
getChatId()
Определения
AbstractJob.php:59
Bitrix\Socialnetwork\Collab\Onboarding\Entity\AbstractJob\getType
getType()
Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\Converter\PromotionConverter
Определения
PromotionConverter.php:14
Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\Converter\PromotionConverter\convertToOnboardingType
convertToOnboardingType(string $promoId)
Определения
PromotionConverter.php:47
Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\Converter\PromotionConverter\convertJob
convertJob(AbstractJob $job)
Определения
PromotionConverter.php:17
Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\Converter\PromotionConverter\convertOnboardingType
convertOnboardingType(Type $type)
Определения
PromotionConverter.php:35
Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\Converter
Определения
PromotionConverter.php:5
Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type
Type
Определения
Type.php:12
Bitrix\Socialnetwork\Helper\SingletonTrait
trait SingletonTrait
Определения
singletontrait.php:8
$matches
$matches
Определения
index.php:22
bitrix
modules
socialnetwork
lib
Collab
Onboarding
Integration
Im
Promotion
Converter
PromotionConverter.php
Создано системой
1.14.0