/** * Execute method. */ public function execute() { $result = ['errors' => false, 'message' => '']; $website = $this->getRequest()->getParam('website', 0); $client = false; if ($this->data->isEnabled()) { $client = $this->data->getWebsiteApiClient($website); } $redirectUrl = $this->getUrl('adminhtml/system_config/edit', ['section' => 'connector_developer_settings']); if (!$client) { $this->messageManager->addNoticeMessage('Please enable api first.'); } else { // get all possible datatifileds $datafields = $this->datafield->getContactDatafields(); foreach ($datafields as $key => $datafield) { $response = $client->postDataFields($datafield); //ignore existing datafields message if (isset($response->message) && $response->message != \Dotdigitalgroup\Email\Model\Apiconnector\Client::API_ERROR_DATAFIELD_EXISTS) { $result['errors'] = true; $result['message'] .= ' Datafield ' . $datafield['name'] . ' - ' . $response->message . '</br>'; } else { if ($website) { $scope = 'websites'; $scopeId = $website; } else { $scope = 'default'; $scopeId = '0'; } /* * map the succesful created datafield */ $this->data->saveConfigData('connector_data_mapping/customer_data/' . $key, strtoupper($datafield['name']), $scope, $scopeId); $this->data->log('successfully connected : ' . $datafield['name']); } } if ($result['errors']) { $this->messageManager->addNoticeMessage($result['message']); } else { $this->messageManager->addSuccessMessage('All Datafields Created And Mapped.'); } } $this->_redirect($redirectUrl); }
/** * Save api endpoint. * * @param $value */ public function saveApiEndPoint($value) { $this->helper->saveConfigData(Config::PATH_FOR_API_ENDPOINT, $value, 'default', 0); }