![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-analytics/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Analytics\Model; use Magento\Analytics\Model\Config\Backend\Baseurl\SubscriptionUpdateHandler; use Magento\Analytics\Model\Config\Backend\Enabled\SubscriptionHandler; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\FlagManager; /** * Provider of subscription status. */ class SubscriptionStatusProvider { /** * Represents an enabled subscription state. */ const ENABLED = "Enabled"; /** * Represents a failed subscription state. */ const FAILED = "Failed"; /** * Represents a pending subscription state. */ const PENDING = "Pending"; /** * Represents a disabled subscription state. */ const DISABLED = "Disabled"; /** * @var ScopeConfigInterface */ private $scopeConfig; /** * @var AnalyticsToken */ private $analyticsToken; /** * @var FlagManager */ private $flagManager; /** * @param ScopeConfigInterface $scopeConfig * @param AnalyticsToken $analyticsToken * @param FlagManager $flagManager */ public function __construct( ScopeConfigInterface $scopeConfig, AnalyticsToken $analyticsToken, FlagManager $flagManager ) { $this->scopeConfig = $scopeConfig; $this->analyticsToken = $analyticsToken; $this->flagManager = $flagManager; } /** * Retrieve subscription status to Magento BI Advanced Reporting. * * Statuses: * Enabled - if subscription is enabled and MA token was received; * Pending - if subscription is enabled and MA token was not received; * Disabled - if subscription is not enabled. * Failed - if subscription is enabled and token was not received after attempts ended. * * @return string */ public function getStatus() { $isSubscriptionEnabledInConfig = $this->scopeConfig->getValue('analytics/subscription/enabled'); if ($isSubscriptionEnabledInConfig) { return $this->getStatusForEnabledSubscription(); } return $this->getStatusForDisabledSubscription(); } /** * Retrieve status for subscription that enabled in config. * * @return string */ public function getStatusForEnabledSubscription() { $status = static::ENABLED; if ($this->flagManager->getFlagData(SubscriptionUpdateHandler::PREVIOUS_BASE_URL_FLAG_CODE)) { $status = self::PENDING; } if (!$this->analyticsToken->isTokenExist()) { $status = static::PENDING; if ($this->flagManager->getFlagData(SubscriptionHandler::ATTEMPTS_REVERSE_COUNTER_FLAG_CODE) === null) { $status = static::FAILED; } } return $status; } /** * Retrieve status for subscription that disabled in config. * * @return string */ public function getStatusForDisabledSubscription() { return static::DISABLED; } }