Skip to content

Commit

Permalink
Update Address.php
Browse files Browse the repository at this point in the history
  • Loading branch information
candemiralp authored Oct 24, 2024
1 parent b36fa74 commit 62199e5
Showing 1 changed file with 41 additions and 2 deletions.
43 changes: 41 additions & 2 deletions Helper/Address.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,47 @@ public function getStreetAndHouseNumberFromAddress(
$address,
$houseNumberStreetLine,
$customerStreetLinesEnabled
): bool {
return false:
): array {
if ($address instanceof AddressAdapterInterface) {
$addressArray = [
$address->getStreetLine1(),
$address->getStreetLine2(),
$address->getStreetLine3(),
$address->getStreetLine4()
];
} elseif ($address instanceof CoreAddressAdapterInterface) {
$addressArray = [
$address->getStreetLine1(),
$address->getStreetLine2()
];
} elseif ($address instanceof OrderAddressInterface) {
$addressArray = $address->getStreet();
} else {
$this->logger->warning(sprintf(
'Unknown address type %s passed to the getStreetAndHouseNumberFromAddress function',
get_class($address)
));

$addressArray = [];
}

// Update this text for testing -- Cap the full street to the enabled street lines
$street = array_slice($addressArray, 0, $customerStreetLinesEnabled);

$drawHouseNumberWithRegex =
$houseNumberStreetLine == 0 || // Config is disabled
$houseNumberStreetLine > $customerStreetLinesEnabled || // Not enough street lines enabled
empty($street[$houseNumberStreetLine - 1]); // House number field is empty

if ($drawHouseNumberWithRegex) {
// Use the regex to get the house number
return $this->getStreetAndHouseNumberFromArray($street);
} else {
// Extract and remove the house number from the street name array
$houseNumber = $street[$houseNumberStreetLine - 1];
unset($street[$houseNumberStreetLine - 1]);
return $this->formatAddressArray(implode(' ', $street), $houseNumber);
}
}

/**
Expand Down

0 comments on commit 62199e5

Please sign in to comment.