JEMBOT MAWOT Bypass Shell
<?php
/**
* Mollie https://www.mollie.nl
*
* @author Mollie B.V. <info@mollie.nl>
* @copyright Mollie B.V.
* @license https://github.com/mollie/PrestaShop/blob/master/LICENSE.md
*
* @see https://github.com/mollie/PrestaShop
* @codingStandardsIgnoreStart
*/
declare(strict_types=1);
namespace Mollie\Subscription\Install;
use Mollie;
use Mollie\Adapter\ConfigurationAdapter;
use Mollie\Adapter\ProductAttributeAdapter;
use Mollie\Logger\PrestaLoggerInterface;
use Mollie\Subscription\Config\Config;
use PrestaShopException;
use Psr\Log\LogLevel;
if (!defined('_PS_VERSION_')) {
exit;
}
class AttributeUninstaller extends AbstractUninstaller
{
private const FILE_NAME = 'AttributeUninstaller';
/** @var ConfigurationAdapter */
private $configuration;
/** @var Mollie */
private $module;
/** @var PrestaLoggerInterface */
private $logger;
/** @var ProductAttributeAdapter */
private $productAttributeAdapter;
public function __construct(
PrestaLoggerInterface $logger,
ConfigurationAdapter $configuration,
Mollie $module,
ProductAttributeAdapter $productAttributeAdapter
) {
$this->configuration = $configuration;
$this->module = $module;
$this->logger = $logger;
$this->productAttributeAdapter = $productAttributeAdapter;
}
public function uninstall(): bool
{
try {
foreach (Config::getSubscriptionAttributeOptions() as $attributeName => $attributeConfigKey) {
$attribute = $this->productAttributeAdapter->getProductAttribute((int) $this->configuration->get($attributeConfigKey));
$attribute->delete();
}
$attributeGroup = new \AttributeGroup((int) $this->configuration->get(Config::SUBSCRIPTION_ATTRIBUTE_GROUP));
$attributeGroup->delete();
} catch (PrestaShopException $e) {
$this->errors[] = $this->module->l('Failed to delete attributes', self::FILE_NAME);
$this->logger->log(LogLevel::ERROR, $e->getMessage());
return false;
}
return true;
}
}
xxxxx1.0, XXX xxxx