1
0
mirror of https://github.com/nextcloud/ocsms.git synced 2026-08-22 13:53:00 +00:00

Updated phone formatter (#241)

* Add locale and libphonenumber libraries.

* Update country code information

Updated existing country codes, fixed incorrect NANP codes for member countries (as well as several UK based ones).

Also added in Country Name to ISO country code mapping array for use with libphonenumber.

* Convert phone number formatting to use libphonenumber

libphonenumber parses phone number more consistantly than the old regex's that mismatched number on a regular basis.
This commit is contained in:
Greg Ross
2018-06-26 03:49:22 -04:00
committed by Loïc Blot
parent d29e2b1f7f
commit 6e86c48486
1371 changed files with 636043 additions and 284 deletions
@@ -0,0 +1,88 @@
<?php
namespace libphonenumber;
class PhoneNumberMatch
{
/**
* The start index into the text.
* @var int
*/
private $start;
/**
* The raw substring matched.
* @var string
*/
private $rawString;
/**
* The matched phone number.
* @var PhoneNumber
*/
private $number;
/**
* Creates a new match
*
* @param int $start The start index into the target text
* @param string $rawString The matched substring of the target text
* @param PhoneNumber $number The matched phone number
* @throws \NullPointerException
*/
public function __construct($start, $rawString, PhoneNumber $number)
{
if ($start < 0) {
throw new \InvalidArgumentException("Start index must be >= 0.");
}
if ($rawString === null) {
throw new \NullPointerException;
}
$this->start = $start;
$this->rawString = $rawString;
$this->number = $number;
}
/**
* Returns the phone number matched by the receiver.
* @return PhoneNumber
*/
public function number()
{
return $this->number;
}
/**
* Returns the start index of the matched phone number within the searched text.
* @return int
*/
public function start()
{
return $this->start;
}
/**
* Returns the exclusive end index of the matched phone number within the searched text.
* @return int
*/
public function end()
{
return $this->start + mb_strlen($this->rawString);
}
/**
* Returns the raw string matched as a phone number in the searched text.
* @return string
*/
public function rawString()
{
return $this->rawString;
}
public function __toString()
{
return "PhoneNumberMatch [{$this->start()},{$this->end()}) {$this->rawString}";
}
}