From 3da09ae4c89a95a1b60a3c6c37cc1cabda2bb068 Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 16 Mar 2022 15:06:31 +1100 Subject: [PATCH 01/15] fix: log response as either string or array --- .../synergywholesaledomains/synergywholesaledomains.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index 936295e..564d082 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -107,7 +107,8 @@ function synergywholesaledomains_apiRequest($command, array $params = [], array try { $response = $client->{$command}($request); - logModuleCall(SW_MODULE_NAME, $command, $request, $response, $response, $auth); + $logResponse = is_string($response) ? $response : (array) $response; + logModuleCall(SW_MODULE_NAME, $command, $request, $logResponse, $logResponse, $auth); } catch (SoapFault $e) { logModuleCall(SW_MODULE_NAME, $command, $request, $e->getMessage(), $e->getMessage(), $auth); From 4d6e4df311a32ee1e4755b855bfba28deff42e6d Mon Sep 17 00:00:00 2001 From: Sn0wCrack <442287+Sn0wCrack@users.noreply.github.com> Date: Fri, 29 Apr 2022 10:34:50 +1000 Subject: [PATCH 02/15] fix: parse dns type value to int before switch --- modules/registrars/synergywholesaledomains/js/functions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/registrars/synergywholesaledomains/js/functions.js b/modules/registrars/synergywholesaledomains/js/functions.js index 49761b6..edb669f 100644 --- a/modules/registrars/synergywholesaledomains/js/functions.js +++ b/modules/registrars/synergywholesaledomains/js/functions.js @@ -36,7 +36,7 @@ function Toast(type, css, msg) { } function formSubmitDNS() { - let type = determineDNSType(document.getElementById('option').value); + let type = determineDNSType(parseInt(document.getElementById('option').value)); let text = `Are you sure you want to change the DNS Type to ${type} ?`; if (confirm(text)) { this.form.submit() @@ -733,4 +733,4 @@ function DnsUrlPageReady(domain_id) { break; } }); -} \ No newline at end of file +} From 1252f4df59bfcc4b7f73b58df69a43b8ad9207af Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Mon, 9 May 2022 13:39:39 +1000 Subject: [PATCH 03/15] feat: add organisation field to domain contacts form --- .../synergywholesaledomains/synergywholesaledomains.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index f5f8534..6fc10f0 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1122,6 +1122,7 @@ function synergywholesaledomains_SaveContactDetails(array $params) $request["{$contactType}_email"] = $params['contactdetails'][$whmcs_contact]['Email']; $request["{$contactType}_suburb"] = $params['contactdetails'][$whmcs_contact]['City']; $request["{$contactType}_postcode"] = $params['contactdetails'][$whmcs_contact]['Postcode']; + $request["{$contactType}_organisation"] = $params['contactdetails'][$whmcs_contact]['Organisation']; // Validate the country being specified if (!synergywholesaledomains_validateCountry($params['contactdetails'][$whmcs_contact]['Country'])) { @@ -1196,6 +1197,7 @@ function synergywholesaledomains_GetContactDetails(array $params) 'address1' => 'Address 1', 'address2' => 'Address 2', 'address3' => 'Address 3', + 'organisation' => 'Organisation', 'suburb' => 'City', 'state' => 'State', 'country' => 'Country', From 952fb8c921f4a1cd6a024d1ef9f8c18eacba2117 Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Mon, 9 May 2022 13:48:58 +1000 Subject: [PATCH 04/15] feat: add dns management option to side bar --- .../registrars/synergywholesaledomains/hooks.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/registrars/synergywholesaledomains/hooks.php b/modules/registrars/synergywholesaledomains/hooks.php index 8d642cb..419d117 100644 --- a/modules/registrars/synergywholesaledomains/hooks.php +++ b/modules/registrars/synergywholesaledomains/hooks.php @@ -31,13 +31,14 @@ $menu->removeChild('Manage Private Nameservers'); } - if ($context->hasDnsManagement && !is_null($menu->getChild('Manage DNS Host Records'))) { - $menu->removeChild('Manage DNS Host Records'); - } - - if ($context->hasEmailForwarding && !is_null($menu->getChild('Manage Email Forwarding'))) { - $menu->removeChild('Manage Email Forwarding'); - } +// These options have been requested to add back on side bar +// if ($context->hasDnsManagement && !is_null($menu->getChild('Manage DNS Host Records'))) { +// $menu->removeChild('Manage DNS Host Records'); +// } +// +// if ($context->hasEmailForwarding && !is_null($menu->getChild('Manage Email Forwarding'))) { +// $menu->removeChild('Manage Email Forwarding'); +// } if (preg_match('/\.au$/', $context->domain) && !is_null($menu->getChild('Registrar Lock Status'))) { $menu->removeChild('Registrar Lock Status'); From effb28b0d972ae59f5793e49bed9893b1b48c450 Mon Sep 17 00:00:00 2001 From: Nicholas Ciechanowski Date: Wed, 18 May 2022 15:19:02 +1000 Subject: [PATCH 05/15] feat: add support for sync using domain transfer_status --- CHANGELOG.md | 6 +++++- .../synergywholesaledomains.php | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fd767a..28c0dac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,11 @@ Synergy Wholesale WHMCS Domains Module ### Removed - -## 2.3.1 [Updated 30/032022] +## 2.3.1 [Updated 18/05/2022] +### Fixed +- Syncing domain using transfer_status + +## 2.3.1 [Updated 30/03/2022] ### Fixed - Syncing .au domains that are currently pending application or pending identity verification diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index f5f8534..b92f50a 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1054,6 +1054,16 @@ function synergywholesaledomains_TransferSync(array $params) } if (!isset($response['domain_status'])) { + if (isset($response['transfer_status']) + && isset($response['status']) + && in_array($response['status'], ['OK_TRANSFER_TIMEOUT', 'OK_TRANSFER_REJECTED', 'OK_TRANSFER_CANCELLED'])) { + // It has timed out, was cancelled, or was rejected + return [ + 'completed' => false, + 'failed' => true, + 'reason' => 'Transfer was either rejected, cancelled or timed out' + ]; + } return [ 'completed' => false, ]; From d760524a373b5f6c646f3db45ebf78f20035cfd3 Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Thu, 26 May 2022 15:51:42 +1000 Subject: [PATCH 06/15] refactor: hide organisation field for .uk domains --- .../synergywholesaledomains/synergywholesaledomains.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index 6fc10f0..3e8c5db 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1122,8 +1122,10 @@ function synergywholesaledomains_SaveContactDetails(array $params) $request["{$contactType}_email"] = $params['contactdetails'][$whmcs_contact]['Email']; $request["{$contactType}_suburb"] = $params['contactdetails'][$whmcs_contact]['City']; $request["{$contactType}_postcode"] = $params['contactdetails'][$whmcs_contact]['Postcode']; - $request["{$contactType}_organisation"] = $params['contactdetails'][$whmcs_contact]['Organisation']; + if (substr($params['tld'], -3) != '.uk') { + $request["{$contactType}_organisation"] = $params['contactdetails'][$whmcs_contact]['Organisation']; + } // Validate the country being specified if (!synergywholesaledomains_validateCountry($params['contactdetails'][$whmcs_contact]['Country'])) { return [ @@ -1206,6 +1208,11 @@ function synergywholesaledomains_GetContactDetails(array $params) 'email' => 'Email', ]; + if (substr($params['tld'], -3) == '.uk') { + unset($map['organisation']); + } + + $contactTypes = ['registrant']; foreach (['admin', 'billing', 'tech'] as $otherTypes) { if (isset($contacts[$otherTypes])) { From 71e6871bf651cee44c1259c82e9e6635b6969638 Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Thu, 26 May 2022 17:07:59 +1000 Subject: [PATCH 07/15] fix: refactor code --- .../synergywholesaledomains/synergywholesaledomains.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index 3e8c5db..6f1f156 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1122,8 +1122,8 @@ function synergywholesaledomains_SaveContactDetails(array $params) $request["{$contactType}_email"] = $params['contactdetails'][$whmcs_contact]['Email']; $request["{$contactType}_suburb"] = $params['contactdetails'][$whmcs_contact]['City']; $request["{$contactType}_postcode"] = $params['contactdetails'][$whmcs_contact]['Postcode']; - - if (substr($params['tld'], -3) != '.uk') { + + if (substr($params['tld'], -2) != 'uk') { $request["{$contactType}_organisation"] = $params['contactdetails'][$whmcs_contact]['Organisation']; } // Validate the country being specified @@ -1208,7 +1208,8 @@ function synergywholesaledomains_GetContactDetails(array $params) 'email' => 'Email', ]; - if (substr($params['tld'], -3) == '.uk') { + + if (substr($params['tld'], -2) != 'uk') { unset($map['organisation']); } From 838fe755eb477751e0640486d6ddc2dced3873ef Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Fri, 27 May 2022 09:37:04 +1000 Subject: [PATCH 08/15] refactor: refactor condition to check .uk TLd --- .../synergywholesaledomains/synergywholesaledomains.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index 6f1f156..aee0425 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1122,8 +1122,8 @@ function synergywholesaledomains_SaveContactDetails(array $params) $request["{$contactType}_email"] = $params['contactdetails'][$whmcs_contact]['Email']; $request["{$contactType}_suburb"] = $params['contactdetails'][$whmcs_contact]['City']; $request["{$contactType}_postcode"] = $params['contactdetails'][$whmcs_contact]['Postcode']; - - if (substr($params['tld'], -2) != 'uk') { + + if (!preg_match('/\.?uk$/', $params['tld'])) { $request["{$contactType}_organisation"] = $params['contactdetails'][$whmcs_contact]['Organisation']; } // Validate the country being specified @@ -1209,7 +1209,7 @@ function synergywholesaledomains_GetContactDetails(array $params) ]; - if (substr($params['tld'], -2) != 'uk') { + if (preg_match('/\.?uk$/', $params['tld'])) { unset($map['organisation']); } From c5eb7b253dbf299ff1d48dd09251c89ad91b3e17 Mon Sep 17 00:00:00 2001 From: Nicholas Ciechanowski Date: Fri, 27 May 2022 17:00:17 +1000 Subject: [PATCH 09/15] fix: if the domain can't be found cancel it --- .../synergywholesaledomains/synergywholesaledomains.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index b92f50a..df4b788 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1048,6 +1048,14 @@ function synergywholesaledomains_TransferSync(array $params) try { $response = synergywholesaledomains_apiRequest('domainInfo', $params); } catch (\Exception $e) { + if ($e->getMessage() == 'Domain Info Failed - Unable to retrieve domain id') { + return [ + 'completed' => false, + 'failed' => true, + 'reason' => 'Domain has been marked as cancelled due to not being in your account' + ]; + } + return [ 'error' => $e->getMessage(), ]; From dd30326408b242236663d62700236fb778333240 Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Mon, 30 May 2022 16:53:20 +1000 Subject: [PATCH 10/15] fix: hide url email forwarding when dns type is disabled --- .../registrars/synergywholesaledomains/hooks.php | 16 +++++++++++++--- .../synergywholesaledomains.php | 3 ++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/modules/registrars/synergywholesaledomains/hooks.php b/modules/registrars/synergywholesaledomains/hooks.php index 8d642cb..91ba949 100644 --- a/modules/registrars/synergywholesaledomains/hooks.php +++ b/modules/registrars/synergywholesaledomains/hooks.php @@ -31,14 +31,24 @@ $menu->removeChild('Manage Private Nameservers'); } - if ($context->hasDnsManagement && !is_null($menu->getChild('Manage DNS Host Records'))) { + $settings = $context->getRegistrarInterface()->getSettings(); + + $vars = [ + 'resellerID' => $settings['resellerID'], + 'apiKey' => $settings['apiKey'], + 'domainName' => $context->domain + ]; + + $info = synergywholesaledomains_apiRequest('domainInfo', [],$vars); + + if ($context->hasDnsManagement && !in_array($info['dnsConfig'], [2, 4]) && !is_null($menu->getChild('Manage DNS Host Records'))) { $menu->removeChild('Manage DNS Host Records'); } - if ($context->hasEmailForwarding && !is_null($menu->getChild('Manage Email Forwarding'))) { + if ($context->hasEmailForwarding && !in_array($info['dnsConfig'], [2]) && !is_null($menu->getChild('Manage Email Forwarding'))) { $menu->removeChild('Manage Email Forwarding'); } - + if (preg_match('/\.au$/', $context->domain) && !is_null($menu->getChild('Registrar Lock Status'))) { $menu->removeChild('Registrar Lock Status'); } diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index f5f8534..69f8ab1 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1286,6 +1286,7 @@ function synergywholesaledomains_domainOptions(array $params) $request['nameServers'] = [ 'ns1.nameserver.net.au', 'ns2.nameserver.net.au', + 'ns3.nameserver.net.au', ]; } @@ -1312,7 +1313,7 @@ function synergywholesaledomains_domainOptions(array $params) case 'resendwhoisverif': try { $response = synergywholesaledomains_apiRequest('resendVerificationEmail', $params, $request); - $vars['info'] = 'Resend WHOIS Verification Email successfull'; + $vars['info'] = 'Resend WHOIS Verification Email successful'; } catch (\Exception $e) { $errors[] = 'Resend WHOIS Verification Email failed: ' . $e->getMessage(); } From 53b3c4c6c74d1a79d18569cdcfee78643397e023 Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Tue, 31 May 2022 15:39:21 +1000 Subject: [PATCH 11/15] chore: update changes log --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fd767a..65955d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,11 @@ Synergy Wholesale WHMCS Domains Module ### Removed - -## 2.3.1 [Updated 30/032022] +## 2.3.2 [Updated 09/05/2022] +### Fixed +- Add DNS Management or URL and Email forwarding Links to side menu + +## 2.3.1 [Updated 30/03/2022] ### Fixed - Syncing .au domains that are currently pending application or pending identity verification From 85f065233f3a2f57cb91978c61bd477d36384589 Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Tue, 31 May 2022 15:49:22 +1000 Subject: [PATCH 12/15] chore: update change log for this task --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fd767a..cf33073 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,11 @@ Synergy Wholesale WHMCS Domains Module ### Removed - -## 2.3.1 [Updated 30/032022] +## 2.3.3 [Updated 30/05/2022] +### Fixed +- Fixed DNS management and URL and Email forwarding options to show on UI when enabled + +## 2.3.1 [Updated 30/03/2022] ### Fixed - Syncing .au domains that are currently pending application or pending identity verification From ef8fd7040230896acac859e4b3ae872a080ed4de Mon Sep 17 00:00:00 2001 From: Sumeeti Sharma Date: Tue, 31 May 2022 15:51:57 +1000 Subject: [PATCH 13/15] chore: update change log --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fd767a..e0cc8f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ Synergy Wholesale WHMCS Domains Module ### Removed - +## 2.3.4 [Updated 31/05/2022] +### Added +- Added organisation field to Domain Contact form + ## 2.3.1 [Updated 30/032022] ### Fixed - Syncing .au domains that are currently pending application or pending identity verification From 2ea85014ba1756fedf1d4b2324f2b9c6ba2654c5 Mon Sep 17 00:00:00 2001 From: Sn0wCrack <442287+Sn0wCrack@users.noreply.github.com> Date: Thu, 9 Jun 2022 14:43:43 +1000 Subject: [PATCH 14/15] fix: make things a little more error resilient --- .../synergywholesaledomains/hooks.php | 41 ++++++++++++------- .../synergywholesaledomains.php | 5 +-- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/modules/registrars/synergywholesaledomains/hooks.php b/modules/registrars/synergywholesaledomains/hooks.php index 91ba949..3627669 100644 --- a/modules/registrars/synergywholesaledomains/hooks.php +++ b/modules/registrars/synergywholesaledomains/hooks.php @@ -31,23 +31,36 @@ $menu->removeChild('Manage Private Nameservers'); } - $settings = $context->getRegistrarInterface()->getSettings(); + if ($context->status === 'Active') { + $settings = $context->getRegistrarInterface()->getSettings(); - $vars = [ - 'resellerID' => $settings['resellerID'], - 'apiKey' => $settings['apiKey'], - 'domainName' => $context->domain - ]; - - $info = synergywholesaledomains_apiRequest('domainInfo', [],$vars); - - if ($context->hasDnsManagement && !in_array($info['dnsConfig'], [2, 4]) && !is_null($menu->getChild('Manage DNS Host Records'))) { - $menu->removeChild('Manage DNS Host Records'); - } + $vars = [ + 'resellerID' => $settings['resellerID'], + 'apiKey' => $settings['apiKey'], + 'domainName' => $context->domain + ]; + + try { + $info = synergywholesaledomains_apiRequest('domainInfo', [], $vars); + + if ($context->hasDnsManagement && !in_array($info['dnsConfig'], [2, 4]) && !is_null($menu->getChild('Manage DNS Host Records'))) { + $menu->removeChild('Manage DNS Host Records'); + } + + if ($context->hasEmailForwarding && !in_array($info['dnsConfig'], [2]) && !is_null($menu->getChild('Manage Email Forwarding'))) { + $menu->removeChild('Manage Email Forwarding'); + } + } catch (\Exception $e) { + if (!is_null($menu->getChild('Manage DNS Host Records'))) { + $menu->removeChild('Manage DNS Host Records'); + } - if ($context->hasEmailForwarding && !in_array($info['dnsConfig'], [2]) && !is_null($menu->getChild('Manage Email Forwarding'))) { - $menu->removeChild('Manage Email Forwarding'); + if (!is_null($menu->getChild('Manage Email Forwarding'))) { + $menu->removeChild('Manage Email Forwarding'); + } + } } + if (preg_match('/\.au$/', $context->domain) && !is_null($menu->getChild('Registrar Lock Status'))) { $menu->removeChild('Registrar Lock Status'); diff --git a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php index ece8507..7d3c9c4 100644 --- a/modules/registrars/synergywholesaledomains/synergywholesaledomains.php +++ b/modules/registrars/synergywholesaledomains/synergywholesaledomains.php @@ -1306,16 +1306,15 @@ function synergywholesaledomains_domainOptions(array $params) $errors[] = 'An error occured retrieving the domain information: ' . $e->getMessage(); } - if (isset($_REQUEST['sub']) && 'save' === $_REQUEST['sub'] && isset($_REQUEST['opt'])) { + if (isset($_REQUEST['sub']) && $_REQUEST['sub'] === 'save' && isset($_REQUEST['opt']) && empty($errors)) { switch ($_REQUEST['opt']) { case 'dnstype': $request['nameServers'] = synergywholesaledomains_helper_getNameservers($info['nameServers']); // Set nameservers to DNS hosting if selected. - if (1 == $_REQUEST['option']) { + if ($_REQUEST['option'] == 1) { $request['nameServers'] = [ 'ns1.nameserver.net.au', 'ns2.nameserver.net.au', - 'ns3.nameserver.net.au', ]; } From 74636c1b5d6d249fddb2148f0deb1458d76ff8a3 Mon Sep 17 00:00:00 2001 From: Sn0wCrack <442287+Sn0wCrack@users.noreply.github.com> Date: Mon, 20 Jun 2022 09:35:37 +1000 Subject: [PATCH 15/15] chore: cleanup changelog --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a17da5..7410012 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,10 +17,9 @@ Synergy Wholesale WHMCS Domains Module ## 2.4.0 [Updated 09/05/2022] ### Fixed -- Organisation field not displying on Domain Contact form +- Organisation field not displaying on Domain Contact form - Domains not syncing their correct status when in a transfer state -- Add DNS Management or URL and Email forwarding Links to side menu -- Fixed DNS management and URL and Email forwarding options to show on UI when enabled +- Issue where DNS and URL Forwarding would display on side menu despite not being enabled on Domain Name - Changing DNS configuration type would display "undefined" instead of the correct name - Fix potential issue with logging API requests