b374k
m1n1 1.01
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
Size3.02 kb
Permissionrwxrwxrwx
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified02-Nov-2021 12:45
Last accessed22-Aug-2025 21:49
Actionsedit | rename | delete | download (gzip)
Viewtext | 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));
}
}