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 / vendor / amasty / base / Controller / Adminhtml / Notification /
Filename/home/dev2.destoffenstraat.com/vendor/amasty/base/Controller/Adminhtml/Notification/Frequency.php
Size3.17 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified16-Aug-2022 09:35
Last accessed23-Aug-2025 03:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* @author Amasty Team
* @copyright Copyright (c) 2022 Amasty (https://www.amasty.com)
* @package Magento 2 Base Package
*/

namespace Amasty\Base\Controller\Adminhtml\Notification;

use Amasty\Base\Model\Config;
use Magento\Backend\App\Action;

class Frequency extends \Magento\Backend\App\Action
{
/**
* @var \Amasty\Base\Model\Config
*/
private $config;

/**
* @var \Amasty\Base\Model\Source\Frequency
*/
private $frequency;

public function __construct(
Action\Context $context,
\Amasty\Base\Model\Config $config,
\Amasty\Base\Model\Source\Frequency $frequency
) {
parent::__construct($context);
$this->config = $config;
$this->frequency = $frequency;
}

/**
* @return \Magento\Framework\App\ResponseInterface|\Magento\Framework\Controller\Result\Redirect|\Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
$action = $this->getRequest()->getParam('action');

switch ($action) {
case 'less':
$this->increaseFrequency();
break;
case 'more':
$this->decreaseFrequency();
break;
default:
$this->messageManager->addErrorMessage(
__(
'An error occurred while changing the frequency.'
)
);
}

$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();

return $resultRedirect;
}

protected function _isAllowed()
{
return $this->_authorization->isAllowed(
'Amasty_Base::config'
);
}

protected function decreaseFrequency()
{
$currentValue = $this->config->getCurrentFrequencyValue();
$allValues = $this->frequency->toOptionArray();
$resultValue = null;
foreach ($allValues as $option) {
if ($option['value'] != $currentValue) {
$resultValue = $option['value'];
} else {
if ($resultValue) {
$this->config->changeFrequency($resultValue);
}

break;
}
}

$this->messageManager->addSuccessMessage(
__(
'You will get more messages of this type. Notification frequency has been updated.'
)
);
}

protected function increaseFrequency()
{
$currentValue = $this->config->getCurrentFrequencyValue();
$allValues = $this->frequency->toOptionArray();
$resultValue = null;
foreach ($allValues as $option) {
if ($option['value'] == $currentValue) {
$resultValue = $option['value'];
}

if ($resultValue && $option['value'] != $resultValue) {
$this->config->changeFrequency($option['value']);//save next option
break;
}
}

$this->messageManager->addSuccessMessage(
__(
'You will get less messages of this type. Notification frequency has been updated.'
)
);
}
}