|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / Bss / AdminEmailNotification / Helper / |
Filename | /home/dev2.destoffenstraat.com/app/code/Bss/AdminEmailNotification/Helper/Email.php |
Size | 4.52 kb |
Permission | rw-rw-r-- |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 15-May-2023 09:51 |
Last accessed | 22-Aug-2025 02:07 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* BSS Commerce Co.
*
* NOTICE OF LICENSE
*
* This source file is subject to the EULA
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://bsscommerce.com/Bss-Commerce-License.txt
*
* @category BSS
* @package Bss_AdminEmailNotification
* @author Extension Team
* @copyright Copyright (c) 2017-2023 BSS Commerce Co. ( http://bsscommerce.com )
* @license http://bsscommerce.com/Bss-Commerce-License.txt
*/
namespace Bss\AdminEmailNotification\Helper;
use Magento\Framework\App\Helper\Context;
use Magento\Framework\Escaper;
use Magento\Framework\Mail\Template\TransportBuilder;
use Magento\Framework\Translate\Inline\StateInterface;
use Magento\Store\Model\ScopeInterface;
use Magento\Framework\App\Helper\AbstractHelper;
/**
* Class Email
*
* @package Bss\AdminEmailNotification\Helper
*/
class Email extends AbstractHelper
{
/**
* @var \Bss\AdminEmailNotification\Helper\Data
*/
protected $helper;
/**
* @var \Magento\Framework\App\Config\ScopeConfigInterface
*/
protected $scopeConfig;
/**
* @var \Magento\Framework\Translate\Inline\StateInterface
*/
protected $inlineTranslation;
/**
* @var \Magento\Framework\Escaper
*/
protected $escaper;
/**
* @var \Psr\Log\LoggerInterface $logger
*/
protected $logger;
/**
* @var TransportBuilder
*/
protected $transportBuilder;
/**
* @var \Magento\Store\Model\StoreManagerInterface
*/
protected $storeManager;
/**
* Email constructor.
*
* @param Context $context
* @param \Bss\AdminEmailNotification\Helper\Data $helper
* @param StateInterface $inlineTranslation
* @param Escaper $escaper
* @param TransportBuilder $transportBuilder
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
*/
public function __construct(
Context $context,
\Bss\AdminEmailNotification\Helper\Data $helper,
StateInterface $inlineTranslation,
Escaper $escaper,
TransportBuilder $transportBuilder,
\Magento\Store\Model\StoreManagerInterface $storeManager
) {
parent::__construct($context);
$this->helper = $helper;
$this->scopeConfig = $context->getScopeConfig();
$this->inlineTranslation = $inlineTranslation;
$this->escaper = $escaper;
$this->transportBuilder = $transportBuilder;
$this->logger = $context->getLogger();
$this->storeManager = $storeManager;
}
/**
* Send email to admin
*
* @param array $receivers
* @param string $emailTemplate
* @param array $templateVar
* @param int $storeId
* @return void
*/
public function sendEmail($receivers, $emailTemplate, $templateVar, $storeId = null)
{
try {
if (!$storeId) {
$storeId = $this->storeManager->getStore()->getStoreId();
}
$email = $this->helper->getAdminEmailSender();
$emailValue = 'trans_email/ident_' . $email . '/email';
$emailNameValue = 'trans_email/ident_' . $email . '/name';
$emailNameSender = $this->scopeConfig->getValue($emailNameValue, ScopeInterface::SCOPE_STORE, $storeId);
$emailSender = $this->scopeConfig->getValue($emailValue, ScopeInterface::SCOPE_STORE, $storeId);
$this->inlineTranslation->suspend();
$sender = [
'name' => $emailNameSender,
'email' => $emailSender,
];
$transport = $this->transportBuilder
->setTemplateIdentifier($emailTemplate)
->setTemplateOptions(
[
'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
'store' => $storeId,
]
)
->setTemplateVars($templateVar)
->setFrom($sender);
if (is_array($receivers) && !empty($receivers)) {
foreach ($receivers as $item) {
$transport->addTo($item);
}
} else {
$transport->addTo($receivers);
}
$transport->getTransport()->sendMessage();
$this->inlineTranslation->resume();
} catch (\Exception $e) {
$this->logger->critical($e);
}
}
}
/**
* BSS Commerce Co.
*
* NOTICE OF LICENSE
*
* This source file is subject to the EULA
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://bsscommerce.com/Bss-Commerce-License.txt
*
* @category BSS
* @package Bss_AdminEmailNotification
* @author Extension Team
* @copyright Copyright (c) 2017-2023 BSS Commerce Co. ( http://bsscommerce.com )
* @license http://bsscommerce.com/Bss-Commerce-License.txt
*/
namespace Bss\AdminEmailNotification\Helper;
use Magento\Framework\App\Helper\Context;
use Magento\Framework\Escaper;
use Magento\Framework\Mail\Template\TransportBuilder;
use Magento\Framework\Translate\Inline\StateInterface;
use Magento\Store\Model\ScopeInterface;
use Magento\Framework\App\Helper\AbstractHelper;
/**
* Class Email
*
* @package Bss\AdminEmailNotification\Helper
*/
class Email extends AbstractHelper
{
/**
* @var \Bss\AdminEmailNotification\Helper\Data
*/
protected $helper;
/**
* @var \Magento\Framework\App\Config\ScopeConfigInterface
*/
protected $scopeConfig;
/**
* @var \Magento\Framework\Translate\Inline\StateInterface
*/
protected $inlineTranslation;
/**
* @var \Magento\Framework\Escaper
*/
protected $escaper;
/**
* @var \Psr\Log\LoggerInterface $logger
*/
protected $logger;
/**
* @var TransportBuilder
*/
protected $transportBuilder;
/**
* @var \Magento\Store\Model\StoreManagerInterface
*/
protected $storeManager;
/**
* Email constructor.
*
* @param Context $context
* @param \Bss\AdminEmailNotification\Helper\Data $helper
* @param StateInterface $inlineTranslation
* @param Escaper $escaper
* @param TransportBuilder $transportBuilder
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
*/
public function __construct(
Context $context,
\Bss\AdminEmailNotification\Helper\Data $helper,
StateInterface $inlineTranslation,
Escaper $escaper,
TransportBuilder $transportBuilder,
\Magento\Store\Model\StoreManagerInterface $storeManager
) {
parent::__construct($context);
$this->helper = $helper;
$this->scopeConfig = $context->getScopeConfig();
$this->inlineTranslation = $inlineTranslation;
$this->escaper = $escaper;
$this->transportBuilder = $transportBuilder;
$this->logger = $context->getLogger();
$this->storeManager = $storeManager;
}
/**
* Send email to admin
*
* @param array $receivers
* @param string $emailTemplate
* @param array $templateVar
* @param int $storeId
* @return void
*/
public function sendEmail($receivers, $emailTemplate, $templateVar, $storeId = null)
{
try {
if (!$storeId) {
$storeId = $this->storeManager->getStore()->getStoreId();
}
$email = $this->helper->getAdminEmailSender();
$emailValue = 'trans_email/ident_' . $email . '/email';
$emailNameValue = 'trans_email/ident_' . $email . '/name';
$emailNameSender = $this->scopeConfig->getValue($emailNameValue, ScopeInterface::SCOPE_STORE, $storeId);
$emailSender = $this->scopeConfig->getValue($emailValue, ScopeInterface::SCOPE_STORE, $storeId);
$this->inlineTranslation->suspend();
$sender = [
'name' => $emailNameSender,
'email' => $emailSender,
];
$transport = $this->transportBuilder
->setTemplateIdentifier($emailTemplate)
->setTemplateOptions(
[
'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
'store' => $storeId,
]
)
->setTemplateVars($templateVar)
->setFrom($sender);
if (is_array($receivers) && !empty($receivers)) {
foreach ($receivers as $item) {
$transport->addTo($item);
}
} else {
$transport->addTo($receivers);
}
$transport->getTransport()->sendMessage();
$this->inlineTranslation->resume();
} catch (\Exception $e) {
$this->logger->critical($e);
}
}
}