1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
PromotionConverter.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
6
12
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
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
Определения options.php:106
Определения loader.php:13
trait SingletonTrait
Определения singletontrait.php:8
$matches
Определения index.php:22