Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SignUp.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Analytics\Cron;
7 
13 
17 class SignUp
18 {
22  private $connector;
23 
27  private $configWriter;
28 
32  private $flagManager;
33 
39  private $reinitableConfig;
40 
47  public function __construct(
48  Connector $connector,
49  WriterInterface $configWriter,
50  FlagManager $flagManager,
51  ReinitableConfigInterface $reinitableConfig
52  ) {
53  $this->connector = $connector;
54  $this->configWriter = $configWriter;
55  $this->flagManager = $flagManager;
56  $this->reinitableConfig = $reinitableConfig;
57  }
58 
65  public function execute()
66  {
67  $attemptsCount = $this->flagManager->getFlagData(SubscriptionHandler::ATTEMPTS_REVERSE_COUNTER_FLAG_CODE);
68 
69  if (($attemptsCount === null) || ($attemptsCount <= 0)) {
70  $this->deleteAnalyticsCronExpr();
71  $this->flagManager->deleteFlag(SubscriptionHandler::ATTEMPTS_REVERSE_COUNTER_FLAG_CODE);
72  return false;
73  }
74 
75  $attemptsCount -= 1;
76  $this->flagManager->saveFlag(SubscriptionHandler::ATTEMPTS_REVERSE_COUNTER_FLAG_CODE, $attemptsCount);
77  $signUpResult = $this->connector->execute('signUp');
78  if ($signUpResult === false) {
79  return false;
80  }
81 
82  $this->deleteAnalyticsCronExpr();
83  $this->flagManager->deleteFlag(SubscriptionHandler::ATTEMPTS_REVERSE_COUNTER_FLAG_CODE);
84  return true;
85  }
86 
95  private function deleteAnalyticsCronExpr()
96  {
97  $this->configWriter->delete(SubscriptionHandler::CRON_STRING_PATH);
98  $this->reinitableConfig->reinit();
99  return true;
100  }
101 }
__construct(Connector $connector, WriterInterface $configWriter, FlagManager $flagManager, ReinitableConfigInterface $reinitableConfig)
Definition: SignUp.php:47