Total Complexity | 5 |
Total Lines | 57 |
Duplicated Lines | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 1 |
1 | <?php |
||
15 | class UserSubscriber implements EventSubscriberInterface |
||
16 | { |
||
17 | private $mailer; |
||
18 | |||
19 | private $settingsManager; |
||
20 | |||
21 | private $cacheDir; |
||
22 | |||
23 | public function __construct(MailerInterface $mailer, SettingsManagerInterface $settingsManager, string $cacheDir) |
||
24 | { |
||
25 | $this->mailer = $mailer; |
||
26 | $this->settingsManager = $settingsManager; |
||
27 | $this->cacheDir = $cacheDir; |
||
28 | } |
||
29 | |||
30 | public function onUserCreated(UserCreateEvent $event): void |
||
31 | { |
||
32 | $user = $event->getUser(); |
||
33 | $email = new TemplatedEmail(); |
||
34 | |||
35 | ->from(new NamedAddress( |
||
36 | $this->getSetting('email_from_address', '[email protected]'), |
||
37 | $this->getSetting('email_from_name', 'OwnCourses Team') |
||
38 | )) |
||
39 | ->to($user->getEmail()) |
||
40 | ->subject($this->getSetting('new_user_email_title', 'Welcome in OwnCourses')) |
||
41 | ->html( |
||
42 | $this->renderTemplateFromString($this->getSetting('new_user_email_template', 'CHANGE THIS EMAIL CONTENT IN OwnCourses SETTINGS! '), [ |
||
43 | 'firstName' => $user->getFirstName(), |
||
44 | 'lastName' => $user->getLastName(), |
||
45 | 'email' => $user->getEmail(), |
||
46 | 'temporaryPassword' => $user->getPlainPassword(), |
||
47 | ]) |
||
48 | ) |
||
49 | ; |
||
50 | |||
51 | $this->mailer->send($email); |
||
52 | } |
||
53 | |||
54 | public static function getSubscribedEvents() |
||
55 | { |
||
56 | return [ |
||
57 | UserCreateEvent::class => 'onUserCreated', |
||
58 | ]; |
||
59 | } |
||
60 | |||
61 | private function getSetting(string $name, string $default) |
||
64 | } |
||
65 | |||
66 | private function renderTemplateFromString(string $template, array $context): string |
||
72 | } |
||
73 | } |
||
74 |