![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-admin-adobe-ims/Service/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\AdminAdobeIms\Service; use Magento\AdminAdobeIms\Model\ImsEmailNotification; use Magento\Backend\Model\UrlInterface as BackendUrlInterface; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Exception\MailException; use Magento\Framework\Exception\NoSuchEntityException; use Magento\Store\Model\Store; use Magento\Store\Model\StoreManagerInterface; use Magento\User\Api\Data\UserInterface; class AdminNotificationService { /** * @var ImsConfig */ private ImsConfig $adminImsConfig; /** * @var BackendUrlInterface */ private BackendUrlInterface $backendUrl; /** * @var StoreManagerInterface */ private StoreManagerInterface $storeManager; /** * @var ImsEmailNotification */ private ImsEmailNotification $emailNotification; /** * @param ImsConfig $adminImsConfig * @param BackendUrlInterface $backendUrl * @param StoreManagerInterface $storeManager * @param ImsEmailNotification $emailNotification */ public function __construct( ImsConfig $adminImsConfig, BackendUrlInterface $backendUrl, StoreManagerInterface $storeManager, ImsEmailNotification $emailNotification ) { $this->adminImsConfig = $adminImsConfig; $this->backendUrl = $backendUrl; $this->storeManager = $storeManager; $this->emailNotification = $emailNotification; } /** * Send a welcome mail to created admin user * * @param UserInterface $user * @return void * @throws LocalizedException * @throws MailException * @throws NoSuchEntityException */ public function sendWelcomeMailToAdminUser(UserInterface $user): void { if (!$this->adminImsConfig->enabled()) { return; } $backendUrl = $this->backendUrl->getRouteUrl('adminhtml'); $emailTemplate = $this->adminImsConfig->getEmailTemplateForNewAdminUsers(); $this->emailNotification->sendNotificationEmail( $emailTemplate, [ 'user' => $user, 'store' => $this->storeManager->getStore( Store::DEFAULT_STORE_ID ), 'cta_link' => $backendUrl ], $user->getEmail(), $user->getFirstName() . ' ' . $user->getLastName() ); } }