|
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 / a / home / dev2.destoffenstraat.com / app / code / Makarovsoft / Email / Helper / |
Filename | /home/a/home/dev2.destoffenstraat.com/app/code/Makarovsoft/Email/Helper/Provider.php |
Size | 3.79 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 14-May-2021 15:19 |
Last accessed | 23-Aug-2025 03:15 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
namespace Makarovsoft\Email\Helper;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\App\TemplateTypesInterface;
use Magento\Sales\Api\OrderStatusHistoryRepositoryInterface;
use Magento\Sales\Model\Order\Status\HistoryFactory;
use Makarovsoft\Email\Model\Message;
class Provider {
protected $scopeConfig;
protected $logger;
protected $transportBuilder;
protected $inlineTranslation;
protected $storeManager;
/**
* @var Message
*/
protected $message;
/**
* @var HistoryFactory
*/
private $historyFactory;
/**
* @var OrderStatusHistoryRepositoryInterface
*/
private $historyRepository;
public function __construct(
ScopeConfigInterface $scopeConfig,
\Psr\Log\LoggerInterface $logger,
\Magento\Framework\Mail\Template\TransportBuilder $transportBuilder,
\Magento\Framework\Translate\Inline\StateInterface $inlineTranslation,
\Magento\Store\Model\StoreManagerInterface $storeManager,
HistoryFactory $historyFactory,
OrderStatusHistoryRepositoryInterface $historyRepository
) {
$this->scopeConfig = $scopeConfig;
$this->logger = $logger;
$this->inlineTranslation = $inlineTranslation;
$this->transportBuilder = $transportBuilder;
$this->storeManager = $storeManager;
$this->historyFactory = $historyFactory;
$this->historyRepository = $historyRepository;
}
/**
* @param Message $message
* @return $this
*/
public function setMessage(Message $message) {
$this->message = $message;
return $this;
}
/**
* @return $this
*/
public function send() {
/* Send email to store owner */
/*$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/afterSave.log');
$logger = new \Zend\Log\Logger();
$logger->addWriter($writer);
$logger->log(1, "==========Send=============");
$logger->log(1, $this->message->getSubject());
$logger->log(1, $this->message->getBody());*/
$storeScope = \Magento\Store\Model\ScopeInterface::SCOPE_STORE;
$from = $this->scopeConfig->getValue('makarovsoft_email/general/from', $storeScope);
if ($from == '') {
$from = $this->storeManager->getStore()->getName();
}
$email = $this->scopeConfig->getValue('makarovsoft_email/general/email', $storeScope);
if ($email == '') {
$email = $this->scopeConfig->getValue('trans_email/ident_general/email', $storeScope);
}
$transport = $this->transportBuilder
->setTemplateIdentifier($this->scopeConfig->getValue('makarovsoft_email/general/template', $storeScope))
->setTemplateOptions(
[
'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
'store' => $this->storeManager->getStore()->getId(),
'type' => TemplateTypesInterface::TYPE_HTML,
]
)
->setTemplateVars(['message' => $this->message])
->setFrom([
'name' => $from,
'email' => $email,
]);
$transport->addTo($this->message->getTo());
$transport = $transport->getTransport();
$transport->sendMessage();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$status = $objectManager->create("Magento\Sales\Model\Order")->load($this->message->getOrderId())->getStatus();
// $history = $objectManager->create("Magento\Sales\Model\Order\Status\HistoryFactory")->create();
$history = $this->historyFactory->create();
$message = $this->message->getBody();
// $status = 'pending';
$history->setParentId($this->message->getOrderId())
->setComment($message)
->setIsCustomerNotified(1)
->setEntityName('order')
->setStatus($status);
try {
// $objectManager->create("Magento\Sales\Api\OrderStatusHistoryRepositoryInterface")->save($history);
$this->historyRepository->save($history);
} catch (Exception $exception) {
$this->logger->critical($exception->getMessage());
}
return true;
}
}
namespace Makarovsoft\Email\Helper;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\App\TemplateTypesInterface;
use Magento\Sales\Api\OrderStatusHistoryRepositoryInterface;
use Magento\Sales\Model\Order\Status\HistoryFactory;
use Makarovsoft\Email\Model\Message;
class Provider {
protected $scopeConfig;
protected $logger;
protected $transportBuilder;
protected $inlineTranslation;
protected $storeManager;
/**
* @var Message
*/
protected $message;
/**
* @var HistoryFactory
*/
private $historyFactory;
/**
* @var OrderStatusHistoryRepositoryInterface
*/
private $historyRepository;
public function __construct(
ScopeConfigInterface $scopeConfig,
\Psr\Log\LoggerInterface $logger,
\Magento\Framework\Mail\Template\TransportBuilder $transportBuilder,
\Magento\Framework\Translate\Inline\StateInterface $inlineTranslation,
\Magento\Store\Model\StoreManagerInterface $storeManager,
HistoryFactory $historyFactory,
OrderStatusHistoryRepositoryInterface $historyRepository
) {
$this->scopeConfig = $scopeConfig;
$this->logger = $logger;
$this->inlineTranslation = $inlineTranslation;
$this->transportBuilder = $transportBuilder;
$this->storeManager = $storeManager;
$this->historyFactory = $historyFactory;
$this->historyRepository = $historyRepository;
}
/**
* @param Message $message
* @return $this
*/
public function setMessage(Message $message) {
$this->message = $message;
return $this;
}
/**
* @return $this
*/
public function send() {
/* Send email to store owner */
/*$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/afterSave.log');
$logger = new \Zend\Log\Logger();
$logger->addWriter($writer);
$logger->log(1, "==========Send=============");
$logger->log(1, $this->message->getSubject());
$logger->log(1, $this->message->getBody());*/
$storeScope = \Magento\Store\Model\ScopeInterface::SCOPE_STORE;
$from = $this->scopeConfig->getValue('makarovsoft_email/general/from', $storeScope);
if ($from == '') {
$from = $this->storeManager->getStore()->getName();
}
$email = $this->scopeConfig->getValue('makarovsoft_email/general/email', $storeScope);
if ($email == '') {
$email = $this->scopeConfig->getValue('trans_email/ident_general/email', $storeScope);
}
$transport = $this->transportBuilder
->setTemplateIdentifier($this->scopeConfig->getValue('makarovsoft_email/general/template', $storeScope))
->setTemplateOptions(
[
'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
'store' => $this->storeManager->getStore()->getId(),
'type' => TemplateTypesInterface::TYPE_HTML,
]
)
->setTemplateVars(['message' => $this->message])
->setFrom([
'name' => $from,
'email' => $email,
]);
$transport->addTo($this->message->getTo());
$transport = $transport->getTransport();
$transport->sendMessage();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$status = $objectManager->create("Magento\Sales\Model\Order")->load($this->message->getOrderId())->getStatus();
// $history = $objectManager->create("Magento\Sales\Model\Order\Status\HistoryFactory")->create();
$history = $this->historyFactory->create();
$message = $this->message->getBody();
// $status = 'pending';
$history->setParentId($this->message->getOrderId())
->setComment($message)
->setIsCustomerNotified(1)
->setEntityName('order')
->setStatus($status);
try {
// $objectManager->create("Magento\Sales\Api\OrderStatusHistoryRepositoryInterface")->save($history);
$this->historyRepository->save($history);
} catch (Exception $exception) {
$this->logger->critical($exception->getMessage());
}
return true;
}
}