From 68a64aa67f2c5276d16eaa3eb7f4778423668301 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 22 Feb 2022 12:01:29 +0100 Subject: [PATCH] fixup PhoneNumberHelper --- .../Phonenumber/PhonenumberHelper.php | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Phonenumber/PhonenumberHelper.php b/src/Bundle/ChillMainBundle/Phonenumber/PhonenumberHelper.php index 0018e979b..8edad2cc6 100644 --- a/src/Bundle/ChillMainBundle/Phonenumber/PhonenumberHelper.php +++ b/src/Bundle/ChillMainBundle/Phonenumber/PhonenumberHelper.php @@ -15,6 +15,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Exception\ClientException; use GuzzleHttp\Exception\ConnectException; use GuzzleHttp\Exception\ServerException; +use libphonenumber\NumberParseException; use libphonenumber\PhoneNumber; use libphonenumber\PhoneNumberFormat; use libphonenumber\PhoneNumberUtil; @@ -71,14 +72,28 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface public function denormalize(string $phoneNumber): string { $phoneUtil = PhoneNumberUtil::getInstance(); - $phoneNumber = $phoneUtil->parse($phoneNumber); - return $phoneUtil->format($phoneNumber, PhoneNumberFormat::NATIONAL); + return $phoneUtil + ->format( + $phoneUtil->parse($phoneNumber), + PhoneNumberFormat::E164 + ); } - public function format(string $phonenumber): string + /** + * @param string $phoneNumber A national phone number starting with + + * @return string + * @throws NumberParseException + */ + public function format(string $phoneNumber): string { - return $this->normalize($phonenumber); + $phoneUtil = PhoneNumberUtil::getInstance(); + + return $phoneUtil + ->format( + $phoneUtil->parse($phoneNumber, $this->config['default_carrier_code']), + PhoneNumberFormat::NATIONAL + ); } /** @@ -162,9 +177,12 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface public function normalize(string $phoneNumber): string { $phoneUtil = PhoneNumberUtil::getInstance(); - $phoneNumber = $phoneUtil->parse($phoneNumber, $this->config['default_carrier_code']); - return $phoneUtil->formatNationalNumberWithPreferredCarrierCode($phoneNumber, $this->config['default_carrier_code']); + return $phoneUtil + ->format( + $phoneUtil->parse($phoneNumber, $this->config['default_carrier_code']), + PhoneNumberFormat::E164 + ); } private function performTwilioFormat($phonenumber)