ltsecurityinc安防产品在线商城代码
This commit is contained in:
+88
@@ -0,0 +1,88 @@
|
||||
<?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\Block\Adminhtml\System\Config;
|
||||
|
||||
use Magento\Backend\Block\Template\Context;
|
||||
use Magento\Framework\Data\Form\Element\AbstractElement;
|
||||
use Plumrocket\GeoIPLookup\Helper\Config;
|
||||
|
||||
class GeoTargetingMultiSelect extends \Magento\Config\Block\System\Config\Form\Field
|
||||
{
|
||||
/**
|
||||
* @var \Plumrocket\GeoIPLookup\Helper\Config
|
||||
*/
|
||||
private $config;
|
||||
|
||||
/**
|
||||
* @param \Magento\Backend\Block\Template\Context $context
|
||||
* @param \Plumrocket\GeoIPLookup\Helper\Config $config
|
||||
* @param array $data
|
||||
*/
|
||||
public function __construct(
|
||||
Context $context,
|
||||
Config $config,
|
||||
array $data = []
|
||||
) {
|
||||
parent::__construct($context, $data);
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \Magento\Framework\Data\Form\Element\AbstractElement $element
|
||||
* @return string
|
||||
*/
|
||||
protected function _getElementHtml(AbstractElement $element)
|
||||
{
|
||||
return $this->getGeoIpRestrictionsNotice() . parent::_getElementHtml($element);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $withContainer
|
||||
* @return \Magento\Framework\Phrase|string
|
||||
*/
|
||||
public function getGeoIpRestrictionsNotice($withContainer = true)
|
||||
{
|
||||
$message = '';
|
||||
|
||||
switch (true) {
|
||||
case ! $this->config->isModuleEnabled():
|
||||
$message = __(
|
||||
'Geo Targeting is disabled. ' .
|
||||
'For more accurate geolocation detection, please enable and configure the IP Geolocation Lookup extension following the <a target="_blank" href="%1">guide</a>.',
|
||||
'https://plumrocket.com/docs/magento-ip-geolocation-lookup/v2/configuration'
|
||||
);
|
||||
break;
|
||||
|
||||
case ! $this->config->getEnableMethodsNumber():
|
||||
$message = __(
|
||||
'Please enable at least one IP Geolocation Lookup database to use Geo Targeting. ' .
|
||||
'Click <a target="_blank" href="%1">here</a> for configuration guide.',
|
||||
'https://plumrocket.com/docs/magento-ip-geolocation-lookup/v2/configuration'
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
return (bool) $withContainer && ! empty($message)
|
||||
? $this->getPreparedNoticeHtml($message)
|
||||
: $message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $message
|
||||
* @return string
|
||||
*/
|
||||
public function getPreparedNoticeHtml($message): string
|
||||
{
|
||||
$style = 'style="margin: 25px 5px;color: #eb5202;background: none;font-size:14px"';
|
||||
|
||||
return "<div $style><div><i>$message</i></div></div>";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user