ltsecurityinc安防产品在线商城代码
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Plumrocket_GlobalPrivacyControl
|
||||
* @copyright Copyright (c) 2025 Plumrocket Inc.
|
||||
* @license https://plumrocket.com/license End-user License Agreement
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Plumrocket\GlobalPrivacyControl\Observer;
|
||||
|
||||
use Magento\Framework\Event\Observer;
|
||||
use Magento\Framework\Event\ObserverInterface;
|
||||
use Plumrocket\GlobalPrivacyControl\Helper\Config;
|
||||
use Plumrocket\GlobalPrivacyControl\Service\WellKnownFileManager;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Magento\Framework\Message\ManagerInterface;
|
||||
|
||||
class GenerateWellKnownFile implements ObserverInterface
|
||||
{
|
||||
/**
|
||||
* @var \Plumrocket\GlobalPrivacyControl\Service\WellKnownFileManager
|
||||
*/
|
||||
private $wellKnownFileManager;
|
||||
|
||||
/**
|
||||
* @var \Psr\Log\LoggerInterface
|
||||
*/
|
||||
private $logger;
|
||||
|
||||
/**
|
||||
* @var \Magento\Framework\Message\ManagerInterface
|
||||
*/
|
||||
private $messageManager;
|
||||
|
||||
/**
|
||||
* @param \Plumrocket\GlobalPrivacyControl\Service\WellKnownFileManager $wellKnownFileManager
|
||||
* @param \Psr\Log\LoggerInterface $logger
|
||||
* @param \Magento\Framework\Message\ManagerInterface $messageManager
|
||||
*/
|
||||
public function __construct(
|
||||
WellKnownFileManager $wellKnownFileManager,
|
||||
LoggerInterface $logger,
|
||||
ManagerInterface $messageManager
|
||||
) {
|
||||
$this->wellKnownFileManager = $wellKnownFileManager;
|
||||
$this->logger = $logger;
|
||||
$this->messageManager = $messageManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \Magento\Framework\Event\Observer $observer
|
||||
* @return void
|
||||
*/
|
||||
public function execute(Observer $observer): void
|
||||
{
|
||||
$changedPaths = $observer->getData('changed_paths');
|
||||
$triggerPaths = [
|
||||
Config::XML_PATH_WELL_KNOWN_LAST_UPDATE_DATE,
|
||||
Config::XML_PATH_IS_MODULE_ENABLED,
|
||||
];
|
||||
|
||||
if (! array_intersect($triggerPaths, $changedPaths)) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$this->wellKnownFileManager->create();
|
||||
} catch (\Throwable $e) {
|
||||
$this->logger->error('[Plumrocket_GlobalPrivacyControl] Failed to update .well-known file: ' . $e->getMessage(), ['exception' => $e]);
|
||||
$this->messageManager->addErrorMessage(
|
||||
__('Something went wrong while updating the .well-known file: %1', $e->getMessage())
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user