diff --git a/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php b/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php index 675c3b29b..d9c9125d9 100644 --- a/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php +++ b/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php @@ -502,9 +502,17 @@ public function getCustomer(string $handle, bool $formattedForWhmcs = true): arr $customerInfo['Last Name'] = $customerOp['name']['lastName']; $customerInfo['Company Name'] = $customerOp['companyName']; $customerInfo['Email Address'] = $customerOp['email']; - $customerInfo['Address'] = $customerOp['address']['street'] . ' ' . - $customerOp['address']['number'] . ' ' . - $customerOp['address']['suffix']; + if ($customerOp['address']['country'] === 'US') { + $customerInfo['Address'] = + $customerOp['address']['number'] . ' ' . + $customerOp['address']['street'] . ' ' . + $customerOp['address']['suffix']; + } else { + $customerInfo['Address'] = + $customerOp['address']['street'] . ' ' . + $customerOp['address']['number'] . ' ' . + $customerOp['address']['suffix']; + } $customerInfo['City'] = $customerOp['address']['city']; $customerInfo['State'] = $customerOp['address']['state']; $customerInfo['Zip Code'] = $customerOp['address']['zipcode']; diff --git a/modules/registrars/openprovider/OpenProvider/API/Customer.php b/modules/registrars/openprovider/OpenProvider/API/Customer.php index a89768871..25e30fea4 100644 --- a/modules/registrars/openprovider/OpenProvider/API/Customer.php +++ b/modules/registrars/openprovider/OpenProvider/API/Customer.php @@ -106,6 +106,8 @@ public function __construct($params, $prefix = '') 'lastname' => 'last name', 'gender' => 'gender', 'address' => 'address', + 'address1' => 'address 1', + 'address2' => 'address 2', 'postcode' => 'zip code', 'city' => 'city', 'state' => 'fullstate', @@ -164,18 +166,27 @@ public function __construct($params, $prefix = '') //Customer Address $fullAddress = ''; + $address1 = $params[$indexes['address1']] ?? ''; + $address2 = $params[$indexes['address2']] ?? ''; if ($getFromContactDetails) { - if (isset($params[$indexes['address']]) && !empty($params[$indexes['address']])) { - $fullAddress = $params[$indexes['address']]; - } else if (!empty(trim($params[$indexes['address1']] . ' ' . $params[$indexes['address2']]))) { - $fullAddress = $params[$indexes['address1']] . ' ' . $params[$indexes['address2']]; - } + $address = $params[$indexes['address']] ?? ''; + if (!empty(trim($address1 . ' ' . $address2))) { + $fullAddress = trim($address1 . ' ' . $address2); + } elseif (!empty(trim($address))) { + $fullAddress = $address; + } } else { - if (!empty(trim($params[$indexes['address1']] . ' ' . $params[$indexes['address2']]))) { - $fullAddress = $params[$indexes['address1']] . ' ' . $params[$indexes['address2']]; - } + $fullAddress = trim($address1 . ' ' . $address2); } - + + logModuleCall('openprovider', 'composed_fullAddress', [ + 'address1' => $address1 ?? '', + 'address2' => $address2 ?? '', + 'address' => $address ?? '', + 'final' => $fullAddress, + ], '', ''); + + $address = new \OpenProvider\API\CustomerAddress(array( 'fulladdress' => $fullAddress ?: null, 'zipcode' => $params[$indexes['postcode']], diff --git a/modules/registrars/openprovider/OpenProvider/API/CustomerAddress.php b/modules/registrars/openprovider/OpenProvider/API/CustomerAddress.php index a1062df38..9e15aef16 100644 --- a/modules/registrars/openprovider/OpenProvider/API/CustomerAddress.php +++ b/modules/registrars/openprovider/OpenProvider/API/CustomerAddress.php @@ -23,7 +23,7 @@ public function __construct($fields = array()) parent::__construct($fields); if (isset($fields['fulladdress']) && !is_null($fields['fulladdress'])) { - $this->setAddress($fields['fulladdress']); + $this->setAddress($fields['fulladdress'], $fields['country'] ?? ''); } } @@ -40,12 +40,13 @@ protected function setAddress($fullAddress) $this->street = $convertedAddress; $this->number = $housenumber; - } catch (\Exception $e) - { - if (strpos($e->getMessage(), ' could not be splitted into street name and house number.') !== false) + $this->suffix = $splitAddress['additionToAddress1']; + } catch (\Exception $e){ + if (strpos($e->getMessage(), ' could not be splitted into street name and house number.') !== false) { $this->street = $fullAddress; - else + } else { throw $e; + } } } }