Also check the default phone region when the number has no country code
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
b67ac4ec9b
commit
2f99ae1120
|
@ -234,6 +234,7 @@ class UsersController extends AUserData {
|
||||||
/** @var IUser $user */
|
/** @var IUser $user */
|
||||||
$user = $this->userSession->getUser();
|
$user = $this->userSession->getUser();
|
||||||
$knownTo = $user->getUID();
|
$knownTo = $user->getUID();
|
||||||
|
$defaultPhoneRegion = $this->config->getSystemValueString('default_phone_region');
|
||||||
|
|
||||||
$normalizedNumberToKey = [];
|
$normalizedNumberToKey = [];
|
||||||
foreach ($search as $key => $phoneNumbers) {
|
foreach ($search as $key => $phoneNumbers) {
|
||||||
|
@ -246,6 +247,20 @@ class UsersController extends AUserData {
|
||||||
}
|
}
|
||||||
} catch (NumberParseException $e) {
|
} catch (NumberParseException $e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($defaultPhoneRegion !== '' && $defaultPhoneRegion !== $location && strpos($phone, '0') === 0) {
|
||||||
|
// If the number has a leading zero (no country code),
|
||||||
|
// we also check the default phone region of the instance,
|
||||||
|
// when it's different to the user's given region.
|
||||||
|
try {
|
||||||
|
$phoneNumber = $phoneUtil->parse($phone, $defaultPhoneRegion);
|
||||||
|
if ($phoneNumber instanceof PhoneNumber && $phoneUtil->isValidNumber($phoneNumber)) {
|
||||||
|
$normalizedNumber = $phoneUtil->format($phoneNumber, PhoneNumberFormat::E164);
|
||||||
|
$normalizedNumberToKey[$normalizedNumber] = (string) $key;
|
||||||
|
}
|
||||||
|
} catch (NumberParseException $e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue