|
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 / Mageplaza / Smtp / Controller / Adminhtml / Smtp / |
Filename | /home/dev2.destoffenstraat.com/app/code/Mageplaza/Smtp/Controller/Adminhtml/Smtp/TestConnection.php |
Size | 3.02 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 02-Nov-2021 12:45 |
Last accessed | 22-Aug-2025 21:49 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Mageplaza
*
* NOTICE OF LICENSE
*
* This source file is subject to the Mageplaza.com license that is
* available through the world-wide-web at this URL:
* https://www.mageplaza.com/LICENSE.txt
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this extension to newer
* version in the future.
*
* @category Mageplaza
* @package Mageplaza_Smtp
* @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/)
* @license https://www.mageplaza.com/LICENSE.txt
*/
namespace Mageplaza\Smtp\Controller\Adminhtml\Smtp;
use Exception;
use Magento\Backend\App\Action;
use Magento\Backend\App\Action\Context;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\ResultInterface;
use Mageplaza\Smtp\Helper\EmailMarketing;
use Magento\Config\Model\ResourceModel\Config as ModelConfig;
use Mageplaza\Smtp\Helper\Data;
use Magento\Framework\Encryption\EncryptorInterface;
/**
* Class TestConnection
* @package Mageplaza\Smtp\Controller\Adminhtml\Smtp
*/
class TestConnection extends Action
{
/**
* Authorization level of a basic admin session
*
* @see _isAllowed()
*/
const ADMIN_RESOURCE = 'Mageplaza_Smtp::smtp';
/**
* @var EmailMarketing
*/
protected $helperEmailMarketing;
/**
* @var ModelConfig
*/
protected $modelConfig;
/**
* @var EncryptorInterface
*/
protected $encryptor;
/**
* TestConnection constructor.
*
* @param Context $context
* @param EmailMarketing $helperEmailMarketing
* @param ModelConfig $modelConfig
* @param EncryptorInterface $encryptor
*/
public function __construct(
Context $context,
EmailMarketing $helperEmailMarketing,
ModelConfig $modelConfig,
EncryptorInterface $encryptor
) {
$this->helperEmailMarketing = $helperEmailMarketing;
$this->modelConfig = $modelConfig;
$this->encryptor = $encryptor;
parent::__construct($context);
}
/**
* @return ResponseInterface|ResultInterface
*/
public function execute()
{
try {
$result = [
'status' => true,
'content' => __('Email marketing connection is working properly.')
];
$appID = trim($this->getRequest()->getParam('appID'));
$secretKey = $this->getRequest()->getParam('secretKey');
$request = $this->helperEmailMarketing->testConnection($appID, $secretKey);
$this->modelConfig->saveConfig(
Data::EMAIL_MARKETING . '/general/connectToken',
$this->encryptor->encrypt($request['data']['connectToken'])
);
} catch (Exception $e) {
$result = [
'status' => false,
'content' => __('Can\'t connect to the email marketing app. %1', $e->getMessage())
];
}
return $this->getResponse()->representJson(EmailMarketing::jsonEncode($result));
}
}
/**
* Mageplaza
*
* NOTICE OF LICENSE
*
* This source file is subject to the Mageplaza.com license that is
* available through the world-wide-web at this URL:
* https://www.mageplaza.com/LICENSE.txt
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this extension to newer
* version in the future.
*
* @category Mageplaza
* @package Mageplaza_Smtp
* @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/)
* @license https://www.mageplaza.com/LICENSE.txt
*/
namespace Mageplaza\Smtp\Controller\Adminhtml\Smtp;
use Exception;
use Magento\Backend\App\Action;
use Magento\Backend\App\Action\Context;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\ResultInterface;
use Mageplaza\Smtp\Helper\EmailMarketing;
use Magento\Config\Model\ResourceModel\Config as ModelConfig;
use Mageplaza\Smtp\Helper\Data;
use Magento\Framework\Encryption\EncryptorInterface;
/**
* Class TestConnection
* @package Mageplaza\Smtp\Controller\Adminhtml\Smtp
*/
class TestConnection extends Action
{
/**
* Authorization level of a basic admin session
*
* @see _isAllowed()
*/
const ADMIN_RESOURCE = 'Mageplaza_Smtp::smtp';
/**
* @var EmailMarketing
*/
protected $helperEmailMarketing;
/**
* @var ModelConfig
*/
protected $modelConfig;
/**
* @var EncryptorInterface
*/
protected $encryptor;
/**
* TestConnection constructor.
*
* @param Context $context
* @param EmailMarketing $helperEmailMarketing
* @param ModelConfig $modelConfig
* @param EncryptorInterface $encryptor
*/
public function __construct(
Context $context,
EmailMarketing $helperEmailMarketing,
ModelConfig $modelConfig,
EncryptorInterface $encryptor
) {
$this->helperEmailMarketing = $helperEmailMarketing;
$this->modelConfig = $modelConfig;
$this->encryptor = $encryptor;
parent::__construct($context);
}
/**
* @return ResponseInterface|ResultInterface
*/
public function execute()
{
try {
$result = [
'status' => true,
'content' => __('Email marketing connection is working properly.')
];
$appID = trim($this->getRequest()->getParam('appID'));
$secretKey = $this->getRequest()->getParam('secretKey');
$request = $this->helperEmailMarketing->testConnection($appID, $secretKey);
$this->modelConfig->saveConfig(
Data::EMAIL_MARKETING . '/general/connectToken',
$this->encryptor->encrypt($request['data']['connectToken'])
);
} catch (Exception $e) {
$result = [
'status' => false,
'content' => __('Can\'t connect to the email marketing app. %1', $e->getMessage())
];
}
return $this->getResponse()->representJson(EmailMarketing::jsonEncode($result));
}
}