CodeCommitsIssuesPull requestsActionsInsightsSecurity
thellimist/PI-950-1

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Backend/MagentoAPI.php

166lines · modecode

1<?php
2namespace CloudFlare\Plugin\Backend;
3
4use \CF\Integration\IntegrationAPIInterface;
5use \CF\DNSRecord;
6use \CloudFlare\Plugin\Model\KeyValueFactory;
7use \Psr\Log\LoggerInterface;
8use \CloudFlare\Plugin\Setup\InstallSchema;
9use \Magento\Store\Model\StoreManagerInterface;
10use \Magento\Framework\App\DeploymentConfig\Reader;
11
12class MagentoAPI implements IntegrationAPIInterface
13{
14 protected $configReader;
15 protected $keyValueFactory;
16 protected $logger;
17 protected $magentoConfig;
18 protected $storeManager;
19
20 /**
21 * @param KeyValueFactory $keyValueFactory
22 * @param StoreManagerInterface $storeManager
23 * @param LoggerInterface $logger
24 */
25 public function __construct(Reader $configReader, KeyValueFactory $keyValueFactory, StoreManagerInterface $storeManager, LoggerInterface $logger)
26 {
27 $this->configReader = $configReader;
28 $this->keyValueFactory = $keyValueFactory;
29 $this->logger = $logger;
30 $this->storeManager = $storeManager;
31
32 $this->magentoConfig = $this->configReader->load();
33 }
34
35 public function getMagentoDomainName()
36 {
37
38 //getBaseUrl() has format (http | https)://(www)[DOMAIN NAME]/
39 //need [DOMAIN NAME]
40 $domainName = $this->storeManager->getStore()->getBaseUrl();
41 $domainName = str_replace("http://", "", $domainName);
42 $domainName = str_replace("https://", "", $domainName);
43 $domainName = str_replace("www.", "", $domainName);
44 $domainName = rtrim($domainName, "/");
45
46 return $domainName;
47 }
48
49 public function getMagentoAdminPath()
50 {
51 return $this->magentoConfig['backend']['frontName'];
52 }
53
54 /**
55 * @param $key
56 * @return null
57 */
58 public function getValue($key)
59 {
60 try {
61 $keyValueModel = $this->keyValueFactory->create();
62 $keyValueModel->load($key, InstallSchema::CLOUDFLARE_DATA_TABLE_KEY_COLUMN);
63 $result = $keyValueModel->getData();
64
65 if (array_key_exists(InstallSchema::CLOUDFLARE_DATA_TABLE_VALUE_COLUMN, $result)) {
66 return $result[InstallSchema::CLOUDFLARE_DATA_TABLE_VALUE_COLUMN];
67 }
68 } catch (\Zend_Db_Statement_Exception $e) {
69 $this->logger->error($e->getMessage() . $e->getTraceAsString());
70 }
71
72 return null;
73 }
74
75 /**
76 * @param $key
77 * @param $value
78 * @return bool
79 */
80 public function setValue($key, $value)
81 {
82 try {
83 $keyValueModel = $this->keyValueFactory->create();
84 $keyValueModel->load($key, InstallSchema::CLOUDFLARE_DATA_TABLE_KEY_COLUMN);
85 if (empty($keyValueModel->getData())) {
86 //key doesn't exist yet, create new
87 $keyValueModel = $this->keyValueFactory->create();
88 $keyValueModel->setData(InstallSchema::CLOUDFLARE_DATA_TABLE_KEY_COLUMN, $key);
89 $keyValueModel->setData(InstallSchema::CLOUDFLARE_DATA_TABLE_VALUE_COLUMN, $value);
90 $keyValueModel->save();
91 } else {
92 //update existing key
93 $keyValueModel->setData(InstallSchema::CLOUDFLARE_DATA_TABLE_VALUE_COLUMN, $value);
94 $keyValueModel->save();
95 }
96 return true;
97 } catch (\Zend_Db_Statement_Exception $e) {
98 $this->logger->error($e->getMessage() . $e->getTraceAsString());
99 }
100 return false;
101 }
102
103 /**
104 * @param $domainName
105 * @return mixed
106 */
107 public function getDNSRecords($domainName)
108 {
109 return null;
110 }
111
112 /**
113 * @param $domainName
114 * @param DNSRecord $DNSRecord
115 * @return mixed
116 */
117 public function addDNSRecord($domainName, DNSRecord $DNSRecord)
118 {
119 return null;
120 }
121
122 /**
123 * @param $domain_name
124 * @param DNSRecord $DNSRecord
125 * @return mixed
126 */
127 public function editDNSRecord($domain_name, DNSRecord $DNSRecord)
128 {
129 return null;
130 }
131
132 /**
133 * @param $domain_name
134 * @param DNSRecord $DNSRecord
135 * @return mixed
136 */
137 public function removeDNSRecord($domain_name, DNSRecord $DNSRecord)
138 {
139 return null;
140 }
141
142 /**
143 * @return mixed
144 */
145 public function getHostAPIKey()
146 {
147 return null;
148 }
149
150 /**
151 * @param null $userId
152 * @return mixed
153 */
154 public function getDomainList($userId = null)
155 {
156 return null;
157 }
158
159 /**
160 * @return mixed
161 */
162 public function getUserId()
163 {
164 return null;
165 }
166}