update v1.0.6

This commit is contained in:
sujitprasad
2016-02-16 22:42:08 +05:30
parent e6b579d67b
commit 073a49a8af
587 changed files with 21487 additions and 22766 deletions

2
vendor/autoload.php vendored
View File

@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit7157e8cc863b79dcda33b8f735f4c92d::getLoader();
return ComposerAutoloaderInit1bacc9bd2a82216bf11bc15e6aee6c79::getLoader();

8
vendor/bin/phpspec vendored
View File

@@ -1 +1,7 @@
../phpspec/phpspec/bin/phpspec
#!/usr/bin/env sh
SRC_DIR="`pwd`"
cd "`dirname "$0"`"
cd "../phpspec/phpspec/bin"
BIN_TARGET="`pwd`/phpspec"
cd "$SRC_DIR"
"$BIN_TARGET" "$@"

8
vendor/bin/phpunit vendored
View File

@@ -1 +1,7 @@
../phpunit/phpunit/phpunit
#!/usr/bin/env sh
SRC_DIR="`pwd`"
cd "`dirname "$0"`"
cd "../phpunit/phpunit"
BIN_TARGET="`pwd`/phpunit"
cd "$SRC_DIR"
"$BIN_TARGET" "$@"

View File

@@ -1,6 +1,15 @@
Changelog
=========
1.6.3
-----
### Bug Fixes
- Avoid initializing Bugsnag when no API key is set
| [Dries Vints](https://github.com/driesvints)
| [#72](https://github.com/bugsnag/bugsnag-laravel/pull/72)
1.6.2
-----

View File

@@ -2,14 +2,17 @@ Bugsnag Notifier for Laravel and Lumen
=====================================
The Bugsnag Notifier for Laravel gives you instant notification of errors and
exceptions in your Laravel PHP applications. We support Laravel 5, Laravel 4, Laravel 3, and Lumen.
exceptions in your Laravel PHP applications. We support Laravel 5, Laravel 4,
Laravel 3, and Lumen.
[Bugsnag](https://bugsnag.com) captures errors in real-time from your web,
mobile and desktop applications, helping you to understand and resolve them
as fast as possible. [Create a free account](https://bugsnag.com) to start
capturing errors from your applications.
Check out this excellent [Laracasts screencast](https://laracasts.com/lessons/better-error-tracking-with-bugsnag) for a quick overview of how to use Bugsnag with your Laravel apps.
Check out this excellent [Laracasts
screencast](https://laracasts.com/lessons/better-error-tracking-with-bugsnag)
for a quick overview of how to use Bugsnag with your Laravel apps.
Contents
--------
@@ -99,8 +102,9 @@ Getting Started
BUGSNAG_API_KEY=YOUR-API-KEY-HERE
```
1. Optionally, you can add the `notify_release_stages` key to the `config/bugsnag.php` file
to define which Laravel environments will send Exceptions to Bugsnag.
1. Optionally, you can add the `notify_release_stages` key to the
`config/bugsnag.php` file to define which Laravel environments will send
Exceptions to Bugsnag.
```php
return array(
@@ -175,7 +179,8 @@ For versions of Laravel before 5.0:
require __DIR__ . '/../app/Http/routes.php';
```
2. Change the function `report` in `app/Exceptions/Handler.php` to look like this:
2. Change the function `report` in `app/Exceptions/Handler.php` to look like
this:
```php
public function report(Exception $e) {
@@ -249,14 +254,12 @@ $metaData = array(
);
```
Additional data can be sent with exceptions as an options hash as detailed in the [Notification Options](docs/Notification Options.md) documentation, including some [options specific to non-fatal exceptions](docs/Notification Options.md#handled-notification-options).
### Configuration Options
The [Bugsnag PHP Client](https://bugsnag.com/docs/notifiers/php)
is available as `Bugsnag`, which allows you to set various
configuration options. These options are listed in the [documentation for Bugsnag PHP](https://bugsnag.com/docs/notifiers/php#additional-options).
configuration options. These options are listed in the
[documentation for Bugsnag PHP](https://bugsnag.com/docs/notifiers/php#additional-options).
#### Error Reporting Levels
@@ -295,21 +298,26 @@ function before_bugsnag_notify($error) {
}
```
This example snippet adds a "user" tab to the Bugsnag error report. See the [setBeforeNotifyFunction](https://bugsnag.com/docs/notifiers/php#setbeforenotifyfunction)
This example snippet adds a "user" tab to the Bugsnag error report. See the
[setBeforeNotifyFunction](https://bugsnag.com/docs/notifiers/php#setbeforenotifyfunction)
documentation on the `bugsnag-php` library for more information.
Demo Applications
-----------------
The [Bugsnag Laravel source repository](https://github.com/bugsnag/bugsnag-laravel) includes example applications for [Laravel 4, Laravel 5, and Lumen](https://github.com/bugsnag/bugsnag-laravel/tree/master/example).
The [Bugsnag Laravel source
repository](https://github.com/bugsnag/bugsnag-laravel) includes example
applications for [Laravel 4, Laravel 5, and
Lumen](https://github.com/bugsnag/bugsnag-laravel/tree/master/example).
Before running one of the example applications, install the prerequisites:
brew tap josegonzalez/homebrew-php
brew install php56 php56-mcrypt composer
Then open the example directory (such as `example/laravel-5.1`) in a terminal and start the server:
Then open the example directory (such as `example/laravel-5.1`) in a terminal
and start the server:
composer install
php56 artisan serve --port 8004
@@ -326,7 +334,12 @@ Support
Contributing
------------
We'd love you to file issues and send pull requests. The [contributing guidelines](https://github.com/bugsnag/bugsnag-laravel/CONTRIBUTING.md) details the process of building and testing `bugsnag-laravel`, as well as the pull request process. Feel free to comment on [existing issues](https://github.com/bugsnag/bugsnag-laravel/issues) for clarification or starting points.
We'd love you to file issues and send pull requests. The [contributing
guidelines](https://github.com/bugsnag/bugsnag-laravel/CONTRIBUTING.md) details
the process of building and testing `bugsnag-laravel`, as well as the pull
request process. Feel free to comment on [existing
issues](https://github.com/bugsnag/bugsnag-laravel/issues) for clarification or
starting points.
License

View File

@@ -20,10 +20,8 @@ class BugsnagExceptionHandler extends ExceptionHandler {
}
}
$bugsnag = app('bugsnag');
if ($bugsnag) {
$bugsnag->notifyException($e, null, "error");
if (app()->bound('bugsnag')) {
app('bugsnag')->notifyException($e, null, "error");
}
return parent::report($e);

View File

@@ -66,7 +66,7 @@ class BugsnagLaravelServiceProvider extends ServiceProvider
$client->setReleaseStage($app->environment());
$client->setNotifier(array(
'name' => 'Bugsnag Laravel',
'version' => '1.6.2',
'version' => '1.6.3',
'url' => 'https://github.com/bugsnag/bugsnag-laravel'
));

View File

@@ -42,7 +42,7 @@ class BugsnagLumenServiceProvider extends ServiceProvider
$client->setReleaseStage($app->environment());
$client->setNotifier(array(
'name' => 'Bugsnag Lumen',
'version' => '1.6.1',
'version' => '1.6.3',
'url' => 'https://github.com/bugsnag/bugsnag-laravel'
));

View File

@@ -1,6 +1,7 @@
sudo: false
language: php
php:
- 7.0
- 5.6
- 5.5
- 5.4

View File

@@ -1,6 +1,15 @@
Changelog
=========
2.6.1 (2016-01-28)
-----
### Bug Fixes
* Fixes an error thrown when sending an `Error` instance using PHP 7
[Petr Bugyík](https://github.com/o5)
[#110](https://github.com/bugsnag/bugsnag-php/pull/110)
2.6.0 (23 Dec 2015)
-----

Binary file not shown.

View File

@@ -16,7 +16,7 @@
},
"require-dev": {
"phpunit/phpunit": "3.7.*"
"phpunit/phpunit": "~4.8|~5.0"
},
"autoload": {

View File

@@ -18,7 +18,7 @@ class Bugsnag_Configuration
public $proxySettings = array();
public $notifier = array(
'name' => 'Bugsnag PHP (Official)',
'version' => '2.6.0',
'version' => '2.6.1',
'url' => 'https://bugsnag.com',
);
public $sendEnvironment = false;

View File

@@ -96,8 +96,20 @@ class Bugsnag_Error
return $this;
}
public function setPHPException(Exception $exception)
public function setPHPException($exception)
{
if (version_compare(PHP_VERSION, '7.0.0', '>=')) {
if (!$exception instanceof \Throwable) {
error_log('Bugsnag Warning: Exception must implement interface \Throwable.');
return;
}
} else {
if (!$exception instanceof \Exception) {
error_log('Bugsnag Warning: Exception must be instance of \Exception.');
return;
}
}
$this->setName(get_class($exception))
->setMessage($exception->getMessage())
->setStacktrace(Bugsnag_Stacktrace::fromBacktrace($this->config, $exception->getTrace(), $exception->getFile(), $exception->getLine()));

View File

@@ -59,7 +59,7 @@ class Bugsnag_Request
public static function getCurrentUrl()
{
$schema = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443) ? 'https://' : 'http://';
$schema = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443)) ? 'https://' : 'http://';
return $schema.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}

View File

@@ -1,5 +1,17 @@
<?php
if (!defined('PHP_VERSION_ID')) {
$version = explode('.', PHP_VERSION);
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}
if (PHP_VERSION_ID < 50207) {
define('PHP_MAJOR_VERSION', $version[0]);
define('PHP_MINOR_VERSION', $version[1]);
define('PHP_RELEASE_VERSION', $version[2]);
}
class ClientTest extends PHPUnit_Framework_TestCase
{
/** @var PHPUnit_Framework_MockObject_MockObject|Bugsnag_Client */
@@ -73,11 +85,13 @@ class ClientTest extends PHPUnit_Framework_TestCase
->errorHandler(E_NOTICE, "Something broke", "somefile.php", 123);
}
/**
* @expectedException PHPUnit_Framework_Error
*/
public function testSetInvalidCurlOptions()
{
if (PHP_MAJOR_VERSION >= 7) {
$this->setExpectedException('TypeError');
} else {
$this->setExpectedException('PHPUnit_Framework_Error');
}
$this->client->setCurlOptions("option");
}
}

View File

@@ -128,4 +128,10 @@ class ErrorTest extends Bugsnag_TestCase
$errorArray = $this->error->toArray();
$this->assertArrayNotHasKey('groupingHash', $errorArray);
}
public function testSetPHPException()
{
$exception = version_compare(PHP_VERSION, '7.0.0', '>=') ? new \Error() : new Exception();
$this->error->setPHPException($exception);
}
}

View File

@@ -13,9 +13,7 @@
namespace Composer\Autoload;
/**
* ClassLoader implements a PSR-0 class loader
*
* See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
*
* $loader = new \Composer\Autoload\ClassLoader();
*
@@ -39,6 +37,8 @@ namespace Composer\Autoload;
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
* @see http://www.php-fig.org/psr/psr-0/
* @see http://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
@@ -147,7 +147,7 @@ class ClassLoader
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-0 base directories
* @param array|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException

View File

@@ -602,7 +602,6 @@ return array(
'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
'SessionHandlerInterface' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php',
'SettingsRatings' => $baseDir . '/database/migrations/2016_02_01_052219_settings_ratings.php',
'Style' => $vendorDir . '/dompdf/dompdf/include/style.cls.php',
'Stylesheet' => $vendorDir . '/dompdf/dompdf/include/stylesheet.cls.php',
'TCPDF_Adapter' => $vendorDir . '/dompdf/dompdf/include/tcpdf_adapter.cls.php',

View File

@@ -6,15 +6,18 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
$vendorDir . '/nikic/php-parser/lib/bootstrap.php',
$vendorDir . '/symfony/var-dumper/Symfony/Component/VarDumper/Resources/functions/dump.php',
$vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
$vendorDir . '/ircmaxell/password-compat/lib/password.php',
$vendorDir . '/symfony/polyfill-php56/bootstrap.php',
$vendorDir . '/psy/psysh/src/Psy/functions.php',
$vendorDir . '/danielstjules/stringy/src/Create.php',
$vendorDir . '/illuminate/html/helpers.php',
$vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
$vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
$vendorDir . '/propaganistas/laravel-phone/src/helpers.php',
'9f7f3f9b1f82484e76bcd07b985a2d2f' => $vendorDir . '/symfony/var-dumper/Symfony/Component/VarDumper/Resources/functions/dump.php',
'fe1bcd0336136e435eaf197895daf81a' => $vendorDir . '/nikic/php-parser/lib/bootstrap.php',
'e40631d46120a9c38ea139981f8dab26' => $vendorDir . '/ircmaxell/password-compat/lib/password.php',
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
'5255c38a0faeba867671b61dfda6d864' => $vendorDir . '/paragonie/random_compat/lib/random.php',
'bd9634f2d41831496de0d3dfe4c94881' => $vendorDir . '/symfony/polyfill-php56/bootstrap.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
'3919eeb97e98d4648304477f8ef734ba' => $vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/Random.php',
'e7223560d890eab89cda23685e711e2c' => $vendorDir . '/psy/psysh/src/Psy/functions.php',
'65fec9ebcfbb3cbb4fd0d519687aea01' => $vendorDir . '/danielstjules/stringy/src/Create.php',
'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
'58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
'752af1c2bdb339e8474c3c31b22b7d54' => $vendorDir . '/illuminate/html/helpers.php',
'017b24472353920ed42bb364f7653c43' => $vendorDir . '/propaganistas/laravel-phone/src/helpers.php',
);

View File

@@ -10,6 +10,7 @@ return array(
'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'),
'libphonenumber' => array($vendorDir . '/giggsey/libphonenumber-for-php/src'),
'Whoops' => array($vendorDir . '/filp/whoops/src'),
'System' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'),
'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
'Symfony\\Component\\Security\\Core\\' => array($vendorDir . '/symfony/security-core'),
@@ -24,13 +25,17 @@ return array(
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
'PhpSpec' => array($vendorDir . '/phpspec/phpspec/src'),
'PhpImap' => array($vendorDir . '/php-imap/php-imap/src'),
'Net' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
'Namshi\\JOSE' => array($vendorDir . '/namshi/jose/src'),
'Math' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
'JakubOnderka\\PhpConsoleHighlighter' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'),
'JakubOnderka\\PhpConsoleColor' => array($vendorDir . '/jakub-onderka/php-console-color/src'),
'ForceUTF8\\' => array($vendorDir . '/neitanod/forceutf8/src'),
'File' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
'Dotenv' => array($vendorDir . '/vlucas/phpdotenv/src'),
'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib'),
'Diff' => array($vendorDir . '/phpspec/php-diff/lib'),
'Crypt' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
'Cron' => array($vendorDir . '/mtdowling/cron-expression/src'),
'Chumper\\Zipper' => array($vendorDir . '/chumper/zipper/src'),
'Chumper\\Datatable' => array($vendorDir . '/chumper/datatable/src'),

View File

@@ -8,6 +8,8 @@ $baseDir = dirname($vendorDir);
return array(
'XdgBaseDir\\' => array($vendorDir . '/dnoegel/php-xdg-base-dir/src'),
'Vsmoraes\\Pdf\\' => array($vendorDir . '/vsmoraes/laravel-pdf/src'),
'Unisharp\\Laravelfilemanager\\' => array($vendorDir . '/unisharp/laravel-filemanager/src'),
'Tymon\\JWTAuth\\' => array($vendorDir . '/tymon/jwt-auth/src'),
'Thomaswelton\\Tests\\LaravelGravatar\\' => array($vendorDir . '/thomaswelton/laravel-gravatar/tests'),
'Thomaswelton\\LaravelGravatar\\' => array($vendorDir . '/thomaswelton/laravel-gravatar/src'),
'Symfony\\Polyfill\\Util\\' => array($vendorDir . '/symfony/polyfill-util'),
@@ -17,14 +19,19 @@ return array(
'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
'SuperClosure\\' => array($vendorDir . '/jeremeamia/SuperClosure/src'),
'Stringy\\' => array($vendorDir . '/danielstjules/stringy/src'),
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
'Propaganistas\\LaravelPhone\\' => array($vendorDir . '/propaganistas/laravel-phone/src'),
'PhpImap\\' => array($vendorDir . '/php-imap/php-imap/src/PhpImap'),
'Nicolaslopezj\\Searchable\\' => array($vendorDir . '/nicolaslopezj/searchable/src'),
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
'League\\Flysystem\\' => array($vendorDir . '/league/flysystem/src'),
'Intervention\\Image\\' => array($vendorDir . '/intervention/image/src/Intervention/Image'),
'Illuminate\\Html\\' => array($vendorDir . '/illuminate/html'),
'Illuminate\\' => array($vendorDir . '/laravel/framework/src/Illuminate'),
'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
'ClassPreloader\\' => array($vendorDir . '/classpreloader/classpreloader/src'),
'Carbon\\' => array($vendorDir . '/nesbot/carbon/src/Carbon'),
'Bestmomo\\Filemanager\\' => array($vendorDir . '/bestmomo/filemanager/src'),
'App\\' => array($baseDir . '/app'),
);

View File

@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit7157e8cc863b79dcda33b8f735f4c92d
class ComposerAutoloaderInit1bacc9bd2a82216bf11bc15e6aee6c79
{
private static $loader;
@@ -19,9 +19,13 @@ class ComposerAutoloaderInit7157e8cc863b79dcda33b8f735f4c92d
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit7157e8cc863b79dcda33b8f735f4c92d', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit1bacc9bd2a82216bf11bc15e6aee6c79', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit7157e8cc863b79dcda33b8f735f4c92d', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit1bacc9bd2a82216bf11bc15e6aee6c79', 'loadClassLoader'));
$includePaths = require __DIR__ . '/include_paths.php';
array_push($includePaths, get_include_path());
set_include_path(join(PATH_SEPARATOR, $includePaths));
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
@@ -41,15 +45,19 @@ class ComposerAutoloaderInit7157e8cc863b79dcda33b8f735f4c92d
$loader->register(true);
$includeFiles = require __DIR__ . '/autoload_files.php';
foreach ($includeFiles as $file) {
composerRequire7157e8cc863b79dcda33b8f735f4c92d($file);
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire1bacc9bd2a82216bf11bc15e6aee6c79($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire7157e8cc863b79dcda33b8f735f4c92d($file)
function composerRequire1bacc9bd2a82216bf11bc15e6aee6c79($fileIdentifier, $file)
{
require $file;
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,4 +2,4 @@
# It can be a commit, branch or tag of the https://github.com/googlei18n/libphonenumber project
#
# For more information, look at the phing tasks in build.xml
libphonenumber-7.2.2
libphonenumber-7.2.5

View File

@@ -20,18 +20,16 @@ A PHP library for parsing, formatting, storing and validating international phon
## Installation
The library can be installed via [composer](http://getcomposer.org/). You can also use any other [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md) compliant autoloader.
The PECL [mbstring](http://php.net/mbstring) extension is required.
The PECL [mbstring](http://php.net/mbstring) extension is required for this library to be used.
It is recommended to use [composer](https://getcomposer.org) to install the library.
```json
{
"require": {
"giggsey/libphonenumber-for-php": "~7.0"
}
}
```bash
$ composer require giggsey/libphonenumber-for-php
```
You can also use any other [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md) compliant autoloader.
## Versioning
This library will try to follow the same version numbers as Google. There could be additional releases where needed to fix critical issues that can not wait until the next release from Google.
@@ -211,12 +209,12 @@ If Google's [Online Demo](https://libphonenumber.appspot.com/) gives a different
## Generating data
Phing is used to 'compile' the metadata.
Generating the data is not normally needed, as this repository will generally always have the up to data metadata.
Ensure you have all the dev composer dependencies installed, then run
If you do need to generate the data, the commands are provided by [Phing](https://www.phing.info). Ensure you have all the dev composer dependencies installed, then run
```bash
vendor/bin/phing compile
$ vendor/bin/phing compile
```
This compile process clones the [libphonenumber](https://github.com/googlei18n/libphonenumber) project at the version specified in [METADATA-VERSION.txt](METADATA-VERSION.txt).
@@ -225,8 +223,7 @@ This compile process clones the [libphonenumber](https://github.com/googlei18n/l
Other packages exist that integrate libphonenumber-for-php into frameworks.
These packages are supplied by third parties, and their quality can not be guaranteed.
- Symfony: [PhoneNumberBundle](https://github.com/misd-service-development/phone-number-bundle)
- Laravel: [Laravel Phone](https://github.com/Propaganistas/Laravel-Phone)
These packages are supplied by third parties, and their quality can not be guaranteed.

View File

@@ -5,7 +5,6 @@ namespace libphonenumber\buildtools\Commands;
use libphonenumber\buildtools\GeneratePhonePrefixData;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\ProgressHelper;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
@@ -26,14 +25,11 @@ class GeneratePhonePrefixDataCommand extends Command
protected function execute(InputInterface $input, OutputInterface $output)
{
/** @var ProgressHelper $progress */
$progress = $this->getHelperSet()->get('progress');
$generatePhonePrefixData = new GeneratePhonePrefixData();
$generatePhonePrefixData->start(
$input->getArgument('InputDirectory'),
$input->getArgument('OutputDirectory'),
$output,
$progress
$output
);
}
}

View File

@@ -2,7 +2,7 @@
namespace libphonenumber\buildtools;
use Symfony\Component\Console\Helper\ProgressHelper;
use Symfony\Component\Console\Helper\ProgressBar;
use Symfony\Component\Console\Output\OutputInterface;
class GeneratePhonePrefixData
@@ -22,21 +22,19 @@ EOT;
private $filesToIgnore = array('.', '..', '.svn', '.git');
private $outputDir;
private $englishMaps = array();
/**
* @var OutputInterface
*/
private static $consoleOutput;
public function start($inputDir, $outputDir, OutputInterface $consoleOutput, ProgressHelper $progress)
public function start($inputDir, $outputDir, OutputInterface $consoleOutput)
{
$this->inputDir = $inputDir;
$this->outputDir = $outputDir;
self::$consoleOutput = $consoleOutput;
$inputOutputMappings = $this->createInputOutputMappings();
$availableDataFiles = array();
$progress->start($consoleOutput, count($inputOutputMappings));
$progress = new ProgressBar($consoleOutput, count($inputOutputMappings));
$progress->start();
foreach ($inputOutputMappings as $textFile => $outputFiles) {
$mappings = $this->readMappingsFromFile($textFile);

View File

@@ -38,9 +38,9 @@
"phing/phing": "~2.7",
"pear/versioncontrol_git": "dev-master",
"pear/pear-core-minimal": "^1.9",
"pear/pear_exception": "*",
"pear/pear_exception": "^1.0",
"phpunit/phpunit": "~4.0",
"symfony/console": "~2.4",
"symfony/console": "^2.5",
"satooshi/php-coveralls": "~0.6"
},
"suggest": {

View File

@@ -194,7 +194,6 @@ class PhoneNumberUtil
* @var String
*/
private static $EXTN_PATTERNS_FOR_PARSING;
private static $EXTN_PATTERNS_FOR_MATCHING;
private static $EXTN_PATTERN = null;
private static $VALID_PHONE_NUMBER_PATTERN;
private static $MIN_LENGTH_PHONE_NUMBER_PATTERN;
@@ -426,7 +425,6 @@ class PhoneNumberUtil
$singleExtnSymbolsForParsing = "," . $singleExtnSymbolsForMatching;
self::$EXTN_PATTERNS_FOR_PARSING = self::createExtnPattern($singleExtnSymbolsForParsing);
self::$EXTN_PATTERNS_FOR_MATCHING = self::createExtnPattern($singleExtnSymbolsForMatching);
}
// The FIRST_GROUP_PATTERN was originally set to $1 but there are some countries for which the

View File

@@ -39,4 +39,5 @@ return array (
22575 => 'MTN',
22577 => 'Orange',
22578 => 'Orange',
22587 => 'Orange',
);

View File

@@ -129,18 +129,23 @@ return array (
2346987 => 'Starcomms',
2346988 => 'Starcomms',
2346989 => 'Starcomms',
2347021 => 'M-Tel',
2347022 => 'M-Tel',
234701 => 'Airtel',
2347020 => 'Smile',
2347021 => 'Ntel',
2347022 => 'Ntel',
2347023 => 'Zoom',
2347024 => 'Prestel',
2347025 => 'Visafone',
2347026 => 'Visafone',
2347027 => 'Multilinks',
2347028 => 'Starcomms',
2347029 => 'Starcomms',
234703 => 'MTN',
234704 => 'Visafone',
234705 => 'Glo',
234706 => 'MTN',
234707 => 'Glo',
234708 => 'Airtel',
234709 => 'Multilinks',
2347380 => 'Starcomms',
2347381 => 'Starcomms',
2347382 => 'Starcomms',
@@ -160,9 +165,11 @@ return array (
2347782 => 'Starcomms',
2347783 => 'Starcomms',
2347784 => 'Starcomms',
2348010 => 'Megatech',
2348011 => 'Megatech',
234802 => 'Airtel',
234803 => 'MTN',
234804 => 'M-Tel',
234804 => 'Ntel',
234805 => 'Glo',
234806 => 'MTN',
234807 => 'Glo',
@@ -234,6 +241,7 @@ return array (
234902 => 'Airtel',
234903 => 'MTN',
234905 => 'Glo',
234908 => 'Etisalat',
234909 => 'Etisalat',
234980 => 'Starcomms',
234987 => 'Starcomms',

View File

@@ -6,5 +6,6 @@
return array (
2356 => 'Airtel',
23577 => 'Sotel',
2359 => 'Millicom',
);

View File

@@ -5,5 +5,10 @@
*/
return array (
25191 => 'ETH-MTN',
25191 => 'Ethio Telecom',
25192 => 'Ethio Telecom',
25193 => 'Ethio Telecom',
25194 => 'Ethio Telecom',
25195 => 'Ethio Telecom',
251966 => 'Ethio Telecom',
);

View File

@@ -11,6 +11,7 @@ return array (
506571 => 'OMV',
506572 => 'OMV',
506573 => 'OMV',
5066 => 'Movistar',
50670010 => 'Claro',
50670011 => 'Claro',
50670012 => 'Claro',

View File

@@ -27,8 +27,10 @@ return array (
599953 => 'Chippie',
599954 => 'Chippie',
599956 => 'Chippie',
599957 => 'Chippie',
599961 => 'CSC',
599963 => 'GSM Caribbean',
599965 => 'Digicel',
599966 => 'Digicel',
599967 => 'Digicel',
599968 => 'Digicel',

View File

@@ -65,6 +65,7 @@ return array (
61468 => 'Optus',
61469 => 'Lycamobile',
61470 => 'Lycamobile',
61472 => 'Telstra',
61473 => 'Telstra',
61474 => 'Telstra',
61475 => 'Telstra',

View File

@@ -10,7 +10,10 @@ return array (
67571 => 'Digicel',
67572 => 'Digicel',
67573 => 'Digicel',
67574 => 'Digicel',
67575 => 'bmobile',
67576 => 'bmobile',
675775 => 'Telikom',
67578 => 'Telikom',
67579 => 'Digicel',
);

View File

@@ -211,6 +211,7 @@ return array (
917308 => 'Reliance',
917309 => 'Idea',
917310 => 'Vodafone',
917319 => 'Airtel',
917350 => 'Idea',
917351 => 'Idea',
917352 => 'Idea',

View File

@@ -5,6 +5,7 @@
*/
return array (
99361 => 'TM-Cell',
99365 => 'TM-Cell',
99366 => 'MTS (BARASH Communication)',
99367 => 'MTS (BARASH Communication)',

View File

@@ -75,7 +75,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -75,7 +75,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -78,7 +78,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -43,7 +43,7 @@ return array (
4[47-9]|
5[0-25-9]|
6[6-9]|
7[03-9]|
7[02-9]|
8[147-9]|
9[017-9]
)\\d{6}

View File

@@ -103,8 +103,9 @@ return array (
33|
44|
66|
77
)[2-9]\\d{3}
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',
'ExampleNumber' => '5002345678',

View File

@@ -78,7 +78,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -137,9 +137,9 @@ return array (
),
'id' => 'BR',
'countryCode' => 55,
'internationalPrefix' => '00(?:1[45]|2[135]|31|4[13])',
'internationalPrefix' => '00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)',
'nationalPrefix' => '0',
'nationalPrefixForParsing' => '0(?:(1[245]|2[135]|31|4[13])(\\d{10,11}))?',
'nationalPrefixForParsing' => '0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?',
'nationalPrefixTransformRule' => '$2',
'sameMobileAndFixedLinePattern' => false,
'numberFormat' =>

View File

@@ -107,7 +107,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -23,9 +23,8 @@ return array (
3(?:
1[0235-9]|
55|
6\\d|
7[01]|
9[0-57]
[69]\\d|
7[01]
)|
4(?:
6[03]|

View File

@@ -57,6 +57,7 @@ return array (
8(?:
[06]7|
19|
25|
73
)|
90[25]
@@ -109,6 +110,7 @@ return array (
8(?:
[06]7|
19|
25|
73
)|
90[25]
@@ -152,7 +154,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -30,7 +30,7 @@ return array (
4[47-9]|
5[0-25-9]|
6[6-9]|
7[03-9]|
7[02-9]|
8[147-9]|
9[017-9]
)\\d{6}

View File

@@ -8,7 +8,7 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '[02-7]\\d{7}',
'NationalNumberPattern' => '[02-8]\\d{7}',
'PossibleNumberPattern' => '\\d{8}',
),
'fixedLine' =>
@@ -41,7 +41,8 @@ return array (
4\\d|
5[4-9]|
6[015-79]|
7[578]
7[578]|
87
)\\d{6}
',
'PossibleNumberPattern' => '\\d{8}',

View File

@@ -8,7 +8,7 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '[2-57]\\d{4}',
'NationalNumberPattern' => '[2-8]\\d{4}',
'PossibleNumberPattern' => '\\d{5}',
),
'fixedLine' =>
@@ -25,12 +25,7 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '
(?:
5[0-68]|
7\\d
)\\d{3}
',
'NationalNumberPattern' => '[5-8]\\d{4}',
'PossibleNumberPattern' => '\\d{5}',
'ExampleNumber' => '71234',
),

View File

@@ -24,12 +24,10 @@ return array (
0[01]|
7[0-3]
)\\d{5}|
6(?:
[0-2]\\d|
30
)\\d{5}|
7[0-3]\\d{6}|
8[3-9]\\d{6}
(?:
[67][0-3]|
8[3-9]
)\\d{6}
',
'PossibleNumberPattern' => '\\d{8}',
'ExampleNumber' => '83123456',

View File

@@ -34,11 +34,11 @@ return array (
'NationalNumberPattern' => '
9(?:
5(?:
[1246]\\d|
[12467]\\d|
3[01]
)|
6(?:
[16-9]\\d|
[15-9]\\d|
3[01]
)
)\\d{4}
@@ -58,14 +58,9 @@ return array (
),
'sharedCost' =>
array (
'NationalNumberPattern' => '
(?:
10|
69
)\\d{5}
',
'NationalNumberPattern' => '60[0-2]\\d{4}',
'PossibleNumberPattern' => '\\d{7}',
'ExampleNumber' => '1011234',
'ExampleNumber' => '6001234',
),
'personalNumber' =>
array (

View File

@@ -30,7 +30,7 @@ return array (
4[47-9]|
5[0-25-9]|
6[6-9]|
7[03-9]|
7[02-9]|
8[147-9]|
9[017-9]
)\\d{6}

View File

@@ -79,7 +79,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -107,7 +107,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -136,8 +136,9 @@ return array (
array (
'NationalNumberPattern' => '
9(?:
[1-3]\\d|
5[89]
[1-4]\\d|
5[89]|
66
)\\d{6}
',
'PossibleNumberPattern' => '\\d{9}',

View File

@@ -98,7 +98,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -42,12 +42,7 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '
(?:
2[0-6]|
[3679]\\d
)\\d{5}
',
'NationalNumberPattern' => '[23679]\\d{6}',
'PossibleNumberPattern' => '\\d{7}',
'ExampleNumber' => '3012345',
),

View File

@@ -145,7 +145,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -39,7 +39,7 @@ return array (
)|
6(?:
[056]\\d|
34|
3[04]|
4[0-378]|
[78][0-8]|
9[01]

View File

@@ -205,7 +205,7 @@ return array (
)|
3(?:
[058]\\d|
10|
1[09]|
7[3679]|
9[689]
)|
@@ -415,7 +415,7 @@ return array (
)|
3(?:
[058]|
10|
1[09]|
7[3679]|
9[689]
)|

View File

@@ -110,7 +110,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -78,7 +78,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -178,21 +178,23 @@ return array (
array (
0 => '
1(?:
[169][2-8]|
[78]|
5[1-4]
[01]|
5[1-4]|
6[2-8]|
[7-9]
)|
[68]0|
[3-6][1-9][1-9]
',
1 => '
1(?:
[169][2-8]|
[78]|
[01]|
5(?:
[1-3]|
4[56]
)
)|
6[2-8]|
[7-9]
)|
[68]0|
[3-6][1-9][1-9]

View File

@@ -103,7 +103,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -86,7 +86,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -109,7 +109,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -57,7 +57,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -26,7 +26,11 @@ return array (
[01378]|
2\\d
)|
4[01]|
4(?:
[024]|
10?|
3[15]?
)|
69|
7[014]
)|

View File

@@ -121,15 +121,18 @@ return array (
98[07]\\d
)\\d{4}|
(?:
70(?:
[13-9]\\d|
2[1-9]
)|
70[1-689]\\d|
8(?:
0[2-9]|
1\\d
)\\d|
90[2359]\\d
0(?:
1[01]|
[2-9]\\d
)|
1(?:
[0-8]\\d|
9[01]
)
)|
90[23589]\\d
)\\d{6}
',
'PossibleNumberPattern' => '\\d{8,10}',
@@ -212,16 +215,37 @@ return array (
array (
0 =>
array (
'pattern' => '([129])(\\d{3})(\\d{3,4})',
'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})',
'format' => '$1 $2 $3',
'leadingDigitsPatterns' =>
array (
0 => '[129]',
0 => '
70|
8[01]|
90[23589]
',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
1 =>
array (
'pattern' => '(\\d)(\\d{3})(\\d{3,4})',
'format' => '$1 $2 $3',
'leadingDigitsPatterns' =>
array (
0 => '
[12]|
9(?:
0[3-9]|
[1-9]
)
',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
2 =>
array (
'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})',
'format' => '$1 $2 $3',
@@ -239,21 +263,6 @@ return array (
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
2 =>
array (
'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})',
'format' => '$1 $2 $3',
'leadingDigitsPatterns' =>
array (
0 => '
70|
8[01]|
90[2359]
',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
3 =>
array (
'pattern' => '([78]00)(\\d{4})(\\d{4,5})',

View File

@@ -37,7 +37,7 @@ return array (
20150|
68\\d{2}|
7(?:
[0-369]\\d|
[0-689]\\d|
75
)\\d{2}
)\\d{3}

View File

@@ -67,7 +67,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -8,8 +8,11 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '[1-9]\\d{5,9}',
'PossibleNumberPattern' => '\\d{5,10}',
'NationalNumberPattern' => '
[1-35-9]\\d{5,11}|
4\\d{6,8}
',
'PossibleNumberPattern' => '\\d{6,12}',
),
'fixedLine' =>
array (
@@ -49,8 +52,7 @@ return array (
)\\d{5,6}
)|
4(?:
0[1-9]\\d{4,6}|
[246]\\d{5,7}|
[0246]\\d{5,7}|
(?:
1[013-8]|
3[0135]|
@@ -72,8 +74,7 @@ return array (
9[01]
)\\d{5,6}|
6(?:
0[1-9]\\d{4,6}|
3\\d{5,7}|
[03]\\d{5,7}|
(?:
1[1-3]|
2[0-4]|
@@ -85,7 +86,7 @@ return array (
9[0-356]
)\\d{5,6}
)|
8[1-9]\\d{5,7}|
8\\d{6,8}|
9(?:
0[1-9]\\d{4,6}|
(?:
@@ -99,7 +100,7 @@ return array (
)\\d{5,6}
)
',
'PossibleNumberPattern' => '\\d{5,9}',
'PossibleNumberPattern' => '\\d{7,9}',
'ExampleNumber' => '8123456',
),
'mobile' =>
@@ -110,82 +111,29 @@ return array (
),
'tollFree' =>
array (
'NationalNumberPattern' => '
20(?:
0(?:
0\\d{2}|
[1-9](?:
0\\d{1,4}|
[1-9]\\d{4}
)
)|
1(?:
0\\d{4}|
[1-9]\\d{4,5}
)|
[2-9]\\d{5}
)
',
'NationalNumberPattern' => '20\\d{4,7}',
'PossibleNumberPattern' => '\\d{6,9}',
'ExampleNumber' => '20123456',
),
'premiumRate' =>
array (
'NationalNumberPattern' => '
649\\d{6}|
9(?:
00|
39|
44
)(?:
1(?:
[0-26]\\d{5}|
[3-57-9]\\d{2}
)|
2(?:
[0-2]\\d{5}|
[3-9]\\d{2}
)|
3(?:
[0139]\\d{5}|
[24-8]\\d{2}
)|
4(?:
[045]\\d{5}|
[1-36-9]\\d{2}
)|
5(?:
5\\d{5}|
[0-46-9]\\d{2}
)|
6(?:
[679]\\d{5}|
[0-58]\\d{2}
)|
7(?:
[078]\\d{5}|
[1-69]\\d{2}
)|
8(?:
[578]\\d{5}|
[0-469]\\d{2}
)
)
)[1-8]\\d{3,6}
',
'PossibleNumberPattern' => '\\d{7}(?:\\d{3})?',
'PossibleNumberPattern' => '\\d{7,10}',
'ExampleNumber' => '9001234567',
),
'sharedCost' =>
array (
'NationalNumberPattern' => '
77(?:
0(?:
0\\d{2}|
[1-9](?:
0\\d|
[1-9]\\d{4}
)
)|
[1-6][1-9]\\d{5}
0\\d{3}(?:\\d{3})?|
[1-7]\\d{6}
)
',
'PossibleNumberPattern' => '\\d{6}(?:\\d{3})?',
@@ -220,8 +168,14 @@ return array (
),
'voicemail' =>
array (
'NationalNumberPattern' => 'NA',
'PossibleNumberPattern' => 'NA',
'NationalNumberPattern' => '
(?:
25[245]|
67[3-6]
)\\d{9}
',
'PossibleNumberPattern' => '\\d{12}',
'ExampleNumber' => '254123456789',
),
'shortCode' =>
array (

View File

@@ -20,7 +20,7 @@ return array (
(?:
1\\d|
[25][2-8]|
3[4-8]|
3[24-8]|
4[24-8]|
7[3-8]
)\\d{6}
@@ -133,7 +133,7 @@ return array (
array (
0 => '
[12]|
3[4-8]|
3[24-8]|
4[24-8]|
5[2-8]|
7[3-8]

View File

@@ -10,16 +10,25 @@ return array (
array (
'NationalNumberPattern' => '
(?:
[2-68]\\d{8}|
[2-68]\\d{5,8}|
9\\d{6,8}
)
',
'PossibleNumberPattern' => '\\d{7,9}',
'PossibleNumberPattern' => '\\d{6,9}',
),
'fixedLine' =>
array (
'NationalNumberPattern' => '[2-5]\\d{8}',
'PossibleNumberPattern' => '\\d{9}',
'NationalNumberPattern' => '
2(?:
16\\d{3,4}|
\\d{8}
)|
[3-5](?:
[1-8]16\\d{2,3}|
\\d{8}
)
',
'PossibleNumberPattern' => '\\d{6,9}',
'ExampleNumber' => '212345678',
),
'mobile' =>
@@ -140,6 +149,28 @@ return array (
'numberFormat' =>
array (
0 =>
array (
'pattern' => '(2)(16)(\\d{3,4})',
'format' => '$1 $2 $3',
'leadingDigitsPatterns' =>
array (
0 => '216',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
1 =>
array (
'pattern' => '([3-5]\\d)(16)(\\d{2,3})',
'format' => '$1 $2 $3',
'leadingDigitsPatterns' =>
array (
0 => '[3-5]',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
2 =>
array (
'pattern' => '(2)(\\d{3})(\\d{3})(\\d{2})',
'format' => '$1/$2 $3 $4',
@@ -150,7 +181,7 @@ return array (
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
1 =>
3 =>
array (
'pattern' => '([3-5]\\d)(\\d{3})(\\d{2})(\\d{2})',
'format' => '$1/$2 $3 $4',
@@ -161,7 +192,7 @@ return array (
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
2 =>
4 =>
array (
'pattern' => '([689]\\d{2})(\\d{3})(\\d{3})',
'format' => '$1 $2 $3',
@@ -172,7 +203,7 @@ return array (
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
),
3 =>
5 =>
array (
'pattern' => '(9090)(\\d{3})',
'format' => '$1 $2',

View File

@@ -70,7 +70,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -77,7 +77,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -27,7 +27,7 @@ return array (
array (
'NationalNumberPattern' => '
(?:
6[02368]\\d|
6[023568]\\d|
77\\d|
9\\d{2}
)\\d{5}

View File

@@ -45,7 +45,7 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '6[2-9]\\d{6}',
'NationalNumberPattern' => '6[1-9]\\d{6}',
'PossibleNumberPattern' => '\\d{8}',
'ExampleNumber' => '66123456',
),

View File

@@ -95,7 +95,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -8,8 +8,8 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '[29]\\d{4,5}',
'PossibleNumberPattern' => '\\d{5,6}',
'NationalNumberPattern' => '[279]\\d{4,6}',
'PossibleNumberPattern' => '\\d{5,7}',
),
'fixedLine' =>
array (
@@ -19,8 +19,13 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '90\\d{4}',
'PossibleNumberPattern' => '\\d{6}',
'NationalNumberPattern' => '
(?:
70\\d|
90
)\\d{4}
',
'PossibleNumberPattern' => '\\d{6,7}',
'ExampleNumber' => '901234',
),
'tollFree' =>

View File

@@ -233,7 +233,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -91,7 +91,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -90,7 +90,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -125,7 +125,8 @@ return array (
33|
44|
66|
77
77|
88
)[2-9]\\d{6}
',
'PossibleNumberPattern' => '\\d{10}',

View File

@@ -8,7 +8,7 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '[5-7]\\d{5}',
'NationalNumberPattern' => '[4-8]\\d{5}',
'PossibleNumberPattern' => '\\d{6}',
),
'fixedLine' =>
@@ -29,7 +29,8 @@ return array (
(?:
50|
68|
72
72|
8[23]
)\\d{4}
',
'PossibleNumberPattern' => '\\d{6}',
@@ -77,8 +78,9 @@ return array (
),
'voicemail' =>
array (
'NationalNumberPattern' => 'NA',
'PossibleNumberPattern' => 'NA',
'NationalNumberPattern' => '[48]0\\d{4}',
'PossibleNumberPattern' => '\\d{6}',
'ExampleNumber' => '401234',
),
'shortCode' =>
array (
@@ -103,7 +105,7 @@ return array (
'id' => 'WF',
'countryCode' => 681,
'internationalPrefix' => '00',
'sameMobileAndFixedLinePattern' => true,
'sameMobileAndFixedLinePattern' => false,
'numberFormat' =>
array (
0 =>

View File

@@ -125,7 +125,10 @@ return array (
0\\d{2}|
1(?:
[02459]|
6000|
6(?:
000|
111
)|
8\\d{3}
)|
[578]

View File

@@ -23,8 +23,14 @@ return array (
),
'tollFree' =>
array (
'NationalNumberPattern' => 'NA',
'PossibleNumberPattern' => 'NA',
'NationalNumberPattern' => '
116(?:
00[06]|
111
)
',
'PossibleNumberPattern' => '\\d{6}',
'ExampleNumber' => '116000',
),
'premiumRate' =>
array (

View File

@@ -8,23 +8,32 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '1\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
'NationalNumberPattern' => '1\\d{2,5}',
'PossibleNumberPattern' => '\\d{3,6}',
),
'fixedLine' =>
array (
'NationalNumberPattern' => '1\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
'NationalNumberPattern' => '1\\d{2,5}',
'PossibleNumberPattern' => '\\d{3,6}',
),
'mobile' =>
array (
'NationalNumberPattern' => '1\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
'NationalNumberPattern' => '1\\d{2,5}',
'PossibleNumberPattern' => '\\d{3,6}',
),
'tollFree' =>
array (
'NationalNumberPattern' => 'NA',
'PossibleNumberPattern' => 'NA',
'NationalNumberPattern' => '
116(?:
000|
1(?:
11|
23
)
)
',
'PossibleNumberPattern' => '\\d{6}',
'ExampleNumber' => '116000',
),
'premiumRate' =>
array (
@@ -64,7 +73,7 @@ return array (
12
)
',
'PossibleNumberPattern' => '\\d{3}',
'PossibleNumberPattern' => '\\d{3,6}',
'ExampleNumber' => '112',
),
'voicemail' =>
@@ -77,10 +86,19 @@ return array (
'NationalNumberPattern' => '
1(?:
0[457]|
12
1(?:
2|
6(?:
000|
1(?:
11|
23
)
)
)
)
',
'PossibleNumberPattern' => '\\d{3}',
'PossibleNumberPattern' => '\\d{3,6}',
'ExampleNumber' => '112',
),
'standardRate' =>

View File

@@ -89,7 +89,10 @@ return array (
0\\d{2,3}|
1(?:
[2-5789]|
6000
6(?:
000|
111
)
)|
2\\d{2}|
3[39]|

View File

@@ -23,8 +23,15 @@ return array (
),
'tollFree' =>
array (
'NationalNumberPattern' => 'NA',
'PossibleNumberPattern' => 'NA',
'NationalNumberPattern' => '
1(?:
1[78]|
28|
82
)
',
'PossibleNumberPattern' => '\\d{3}',
'ExampleNumber' => '118',
),
'premiumRate' =>
array (
@@ -72,11 +79,14 @@ return array (
'NationalNumberPattern' => '
1(?:
0[01]|
1[29]|
1[027-9]|
2[01389]|
3(?:
39|
9[18]
)
2|
39|
9[18]
)|
82
)
',
'PossibleNumberPattern' => '\\d{3,4}',

View File

@@ -35,7 +35,12 @@ return array (
),
'tollFree' =>
array (
'NationalNumberPattern' => '116000',
'NationalNumberPattern' => '
116(?:
000|
111
)
',
'PossibleNumberPattern' => '\\d{6}',
'ExampleNumber' => '116000',
),

View File

@@ -8,23 +8,29 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '1\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
'NationalNumberPattern' => '1\\d{2,5}',
'PossibleNumberPattern' => '\\d{3,6}',
),
'fixedLine' =>
array (
'NationalNumberPattern' => '1\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
'NationalNumberPattern' => '1\\d{2,5}',
'PossibleNumberPattern' => '\\d{3,6}',
),
'mobile' =>
array (
'NationalNumberPattern' => '1\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
'NationalNumberPattern' => '1\\d{2,5}',
'PossibleNumberPattern' => '\\d{3,6}',
),
'tollFree' =>
array (
'NationalNumberPattern' => 'NA',
'PossibleNumberPattern' => 'NA',
'NationalNumberPattern' => '
116(?:
000|
111
)
',
'PossibleNumberPattern' => '\\d{6}',
'ExampleNumber' => '116000',
),
'premiumRate' =>
array (
@@ -59,7 +65,7 @@ return array (
'emergency' =>
array (
'NationalNumberPattern' => '11[25]',
'PossibleNumberPattern' => '\\d{3}',
'PossibleNumberPattern' => '\\d{3,6}',
'ExampleNumber' => '112',
),
'voicemail' =>
@@ -69,8 +75,16 @@ return array (
),
'shortCode' =>
array (
'NationalNumberPattern' => '11[25-8]',
'PossibleNumberPattern' => '\\d{3}',
'NationalNumberPattern' => '
11(?:
[2578]|
6(?:
000|
111
)
)
',
'PossibleNumberPattern' => '\\d{3,6}',
'ExampleNumber' => '112',
),
'standardRate' =>

View File

@@ -8,17 +8,17 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '9\\d{2}',
'NationalNumberPattern' => '[19]\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
),
'fixedLine' =>
array (
'NationalNumberPattern' => '9\\d{2}',
'NationalNumberPattern' => '[19]\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
),
'mobile' =>
array (
'NationalNumberPattern' => '9\\d{2}',
'NationalNumberPattern' => '[19]\\d{2}',
'PossibleNumberPattern' => '\\d{3}',
),
'tollFree' =>
@@ -69,7 +69,10 @@ return array (
),
'shortCode' =>
array (
'NationalNumberPattern' => '911',
'NationalNumberPattern' => '
1\\d{2}|
911
',
'PossibleNumberPattern' => '\\d{3}',
'ExampleNumber' => '911',
),

View File

@@ -27,6 +27,7 @@ return array (
46159 => 'Mariefred',
4616 => 'Eskilstuna-Torshälla',
46171 => 'Enköping',
46173 => 'Öregrund-Östhammar',
46174 => 'Alunda',
46175 => 'Hallstavik-Rimbo',
46176 => 'Norrtälje',
@@ -36,10 +37,12 @@ return array (
46220 => 'Hallstahammar-Surahammar',
46221 => 'Köping',
46222 => 'Skinnskatteberg',
46223 => 'Fagersta-Norberg',
46224 => 'Sala-Heby',
46225 => 'Hedemora-Säter',
46226 => 'Avesta-Krylbo',
46227 => 'Kungsör',
4623 => 'Falun',
46240 => 'Ludvika-Smedjebacken',
46241 => 'Gagnef-Floda',
46243 => 'Borlänge',
@@ -49,6 +52,7 @@ return array (
46250 => 'Mora-Orsa',
46251 => 'Älvdalen',
46253 => 'Idre-Särna',
46258 => 'Furudal',
4626 => 'Gävle-Sandviken',
46270 => 'Söderhamn',
46271 => 'Alfta-Edsbyn',
@@ -64,7 +68,9 @@ return array (
46297 => 'Ockelbo-Hamrånge',
46300 => 'Kungsbacka',
46301 => 'Hindås',
46302 => 'Lerum',
46303 => 'Kungälv',
46304 => 'Orust-Tjörn',
4631 => 'Gothenburg',
46320 => 'Kinna',
46321 => 'Ulricehamn',
@@ -125,6 +131,7 @@ return array (
46492 => 'Vimmerby',
46493 => 'Gamleby',
46494 => 'Kisa',
46495 => 'Hultsfred-Virserum',
46496 => 'Mariannelund',
46498 => 'Gotland',
46499 => 'Mönsterås',
@@ -138,6 +145,7 @@ return array (
46510 => 'Lidköping',
46511 => 'Skara-Götene',
46512 => 'Vara-Nossebro',
46513 => 'Herrljunga',
46514 => 'Grästorp',
46515 => 'Falköping',
46520 => 'Trollhättan',
@@ -159,6 +167,7 @@ return array (
46552 => 'Deje',
46553 => 'Molkom',
46554 => 'Kil',
46555 => 'Grums',
46560 => 'Torsby',
46563 => 'Hagfors-Munkfors',
46564 => 'Sysslebäck',
@@ -172,6 +181,7 @@ return array (
46583 => 'Askersund',
46584 => 'Laxå',
46585 => 'Fjugesta-Svartå',
46586 => 'Karlskoga-Degerfors',
46587 => 'Nora',
46589 => 'Arboga',
46590 => 'Filipstad',
@@ -212,6 +222,7 @@ return array (
46691 => 'Torpshammar',
46692 => 'Liden',
46693 => 'Bräcke-Gällö',
46695 => 'Stugun',
46696 => 'Hammarstrand',
468 => 'Stockholm',
4690 => 'Umeå',
@@ -219,6 +230,7 @@ return array (
46911 => 'Piteå',
46912 => 'Byske',
46913 => 'Lövånger',
46914 => 'Burträsk',
46915 => 'Bastuträsk',
46916 => 'Jörn',
46918 => 'Norsjö',
@@ -240,14 +252,17 @@ return array (
46940 => 'Vilhelmina',
46941 => 'Åsele',
46942 => 'Dorotea',
46943 => 'Fredrika',
46950 => 'Lycksele',
46951 => 'Storuman',
46952 => 'Sorsele',
46953 => 'Malå',
46954 => 'Tärnaby',
46960 => 'Arvidsjaur',
46961 => 'Arjeplog',
46970 => 'Gällivare',
46971 => 'Jokkmokk',
46973 => 'Porjus',
46975 => 'Hakkas',
46976 => 'Vuollerim',
46977 => 'Korpilombolo',

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./vendor/autoload.php">
<testsuites>
<testsuite name="unit">
<directory>./tests/Unit</directory>
</testsuite>
<testsuite name="integ">
<directory>./tests/Integ</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src</directory>
<exclude>
<file>src/hash_equals.php</file>
</exclude>
</whitelist>
</filter>
</phpunit>

Some files were not shown because too many files have changed in this diff Show More