Composer update

* updated Laravel to v5.6.38
* Added laravel tinker in dev dependencies
This commit is contained in:
Manish Verma
2018-09-17 10:07:24 +05:30
committed by Manish Verma
parent be4b1231b6
commit 6742e13d81
781 changed files with 32607 additions and 942 deletions

View File

@@ -44,7 +44,8 @@
"symfony/css-selector": "3.1.*",
"fzaninotto/faker": "1.*",
"filp/whoops": "~2.0",
"laravel/dusk": "~3.0"
"laravel/dusk": "~3.0",
"laravel/tinker": "^1.0"
},
"autoload": {
"classmap": [

350
composer.lock generated
View File

@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "a1bf77eb13f5e7e01ac48e437fab1da6",
"content-hash": "1c83afecf8a566439811bd8da82f233c",
"packages": [
{
"name": "aws/aws-sdk-php",
"version": "3.67.5",
"version": "3.67.12",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63"
"reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cdc7180ae87b23d8b34eb8eb8176002081b32c3d",
"reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d",
"shasum": ""
},
"require": {
@@ -84,7 +84,7 @@
"s3",
"sdk"
],
"time": "2018-09-04T21:04:34+00:00"
"time": "2018-09-13T18:34:42+00:00"
},
{
"name": "barryvdh/laravel-debugbar",
@@ -1143,16 +1143,16 @@
},
{
"name": "giggsey/libphonenumber-for-php",
"version": "8.9.12",
"version": "8.9.13",
"source": {
"type": "git",
"url": "https://github.com/giggsey/libphonenumber-for-php.git",
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774"
"reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/cb4e0cf25f742a838b9d53ed6a7088c4f24086f3",
"reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3",
"shasum": ""
},
"require": {
@@ -1207,7 +1207,7 @@
"phonenumber",
"validation"
],
"time": "2018-08-23T10:23:25+00:00"
"time": "2018-09-10T15:26:43+00:00"
},
{
"name": "giggsey/locale",
@@ -2022,26 +2022,26 @@
},
{
"name": "league/flysystem",
"version": "1.0.46",
"version": "1.0.47",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2"
"reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a11e4a75f256bdacf99d20780ce42d3b8272975c",
"reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c",
"shasum": ""
},
"require": {
"ext-fileinfo": "*",
"php": ">=5.5.9"
},
"conflict": {
"league/flysystem-sftp": "<1.0.6"
},
"require-dev": {
"ext-fileinfo": "*",
"phpspec/phpspec": "^3.4",
"phpunit/phpunit": "^5.7.10"
},
@@ -2102,7 +2102,7 @@
"sftp",
"storage"
],
"time": "2018-08-22T07:45:22+00:00"
"time": "2018-09-14T15:30:29+00:00"
},
{
"name": "league/fractal",
@@ -3321,16 +3321,16 @@
},
{
"name": "sly/notification-pusher",
"version": "v2.3.5",
"version": "v2.3.6",
"source": {
"type": "git",
"url": "https://github.com/Ph3nol/NotificationPusher.git",
"reference": "fc6ab3e72f3d93e7dd3b1e1df883946d206a12ec"
"reference": "6b3710bf65192d5bec724249566c2f11928866ad"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Ph3nol/NotificationPusher/zipball/fc6ab3e72f3d93e7dd3b1e1df883946d206a12ec",
"reference": "fc6ab3e72f3d93e7dd3b1e1df883946d206a12ec",
"url": "https://api.github.com/repos/Ph3nol/NotificationPusher/zipball/6b3710bf65192d5bec724249566c2f11928866ad",
"reference": "6b3710bf65192d5bec724249566c2f11928866ad",
"shasum": ""
},
"require": {
@@ -3355,8 +3355,8 @@
],
"type": "standalone",
"autoload": {
"psr-0": {
"Sly": "src/"
"psr-4": {
"Sly\\": "src/Sly/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3386,20 +3386,20 @@
"push",
"pusher"
],
"time": "2018-02-17T13:20:40+00:00"
"time": "2018-09-15T15:21:38+00:00"
},
{
"name": "swiftmailer/swiftmailer",
"version": "v6.1.2",
"version": "v6.1.3",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
"reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8"
"reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7d760881d266d63c5e7a1155cbcf2ac656a31ca8",
"reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4",
"reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4",
"shasum": ""
},
"require": {
@@ -3445,7 +3445,7 @@
"mail",
"mailer"
],
"time": "2018-07-13T07:04:35+00:00"
"time": "2018-09-11T07:12:52+00:00"
},
{
"name": "symfony/console",
@@ -5643,6 +5643,39 @@
}
],
"packages-dev": [
{
"name": "dnoegel/php-xdg-base-dir",
"version": "0.1",
"source": {
"type": "git",
"url": "https://github.com/dnoegel/php-xdg-base-dir.git",
"reference": "265b8593498b997dc2d31e75b89f053b5cc9621a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a",
"reference": "265b8593498b997dc2d31e75b89f053b5cc9621a",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "@stable"
},
"type": "project",
"autoload": {
"psr-4": {
"XdgBaseDir\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "implementation of xdg base directory specification for php",
"time": "2014-10-24T07:27:01+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.1.0",
@@ -5759,16 +5792,16 @@
},
{
"name": "filp/whoops",
"version": "2.2.0",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
"reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a"
"reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/181c4502d8f34db7aed7bfe88d4f87875b8e947a",
"reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a",
"url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311",
"reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311",
"shasum": ""
},
"require": {
@@ -5787,7 +5820,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
}
},
"autoload": {
@@ -5816,7 +5849,7 @@
"throwable",
"whoops"
],
"time": "2018-03-03T17:56:25+00:00"
"time": "2018-06-30T13:14:06+00:00"
},
{
"name": "fzaninotto/faker",
@@ -5868,6 +5901,93 @@
],
"time": "2018-07-12T10:23:15+00:00"
},
{
"name": "jakub-onderka/php-console-color",
"version": "0.1",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Console-Color.git",
"reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1",
"reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"jakub-onderka/php-code-style": "1.0",
"jakub-onderka/php-parallel-lint": "0.*",
"jakub-onderka/php-var-dump-check": "0.*",
"phpunit/phpunit": "3.7.*",
"squizlabs/php_codesniffer": "1.*"
},
"type": "library",
"autoload": {
"psr-0": {
"JakubOnderka\\PhpConsoleColor": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Jakub Onderka",
"email": "jakub.onderka@gmail.com",
"homepage": "http://www.acci.cz"
}
],
"time": "2014-04-08T15:00:19+00:00"
},
{
"name": "jakub-onderka/php-console-highlighter",
"version": "v0.3.2",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git",
"reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5",
"reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5",
"shasum": ""
},
"require": {
"jakub-onderka/php-console-color": "~0.1",
"php": ">=5.3.0"
},
"require-dev": {
"jakub-onderka/php-code-style": "~1.0",
"jakub-onderka/php-parallel-lint": "~0.5",
"jakub-onderka/php-var-dump-check": "~0.1",
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~1.5"
},
"type": "library",
"autoload": {
"psr-0": {
"JakubOnderka\\PhpConsoleHighlighter": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jakub Onderka",
"email": "acci@acci.cz",
"homepage": "http://www.acci.cz/"
}
],
"time": "2015-04-20T18:58:01+00:00"
},
{
"name": "laravel/dusk",
"version": "v3.0.10",
@@ -5929,6 +6049,69 @@
],
"time": "2018-08-06T20:22:46+00:00"
},
{
"name": "laravel/tinker",
"version": "v1.0.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
"reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/tinker/zipball/e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
"reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
"shasum": ""
},
"require": {
"illuminate/console": "~5.1",
"illuminate/contracts": "~5.1",
"illuminate/support": "~5.1",
"php": ">=5.5.9",
"psy/psysh": "0.7.*|0.8.*|0.9.*",
"symfony/var-dumper": "~3.0|~4.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0|~5.0"
},
"suggest": {
"illuminate/database": "The Illuminate Database package (~5.1)."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
},
"laravel": {
"providers": [
"Laravel\\Tinker\\TinkerServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Laravel\\Tinker\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Powerful REPL for the Laravel framework.",
"keywords": [
"REPL",
"Tinker",
"laravel",
"psysh"
],
"time": "2018-05-17T13:42:07+00:00"
},
{
"name": "myclabs/deep-copy",
"version": "1.8.1",
@@ -6478,21 +6661,24 @@
},
{
"name": "phpunit/php-file-iterator",
"version": "2.0.1",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c"
"reference": "050bedf145a257b1ff02746c31894800e5122946"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cecbc684605bb0cc288828eb5d65d93d5c676d3c",
"reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
"reference": "050bedf145a257b1ff02746c31894800e5122946",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.1"
},
"type": "library",
"extra": {
"branch-alias": {
@@ -6521,7 +6707,7 @@
"filesystem",
"iterator"
],
"time": "2018-06-11T11:44:00+00:00"
"time": "2018-09-13T20:33:42+00:00"
},
{
"name": "phpunit/php-text-template",
@@ -6664,16 +6850,16 @@
},
{
"name": "phpunit/phpunit",
"version": "7.3.3",
"version": "7.3.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898"
"reference": "7b331efabbb628c518c408fdfcaf571156775de2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7b331efabbb628c518c408fdfcaf571156775de2",
"reference": "7b331efabbb628c518c408fdfcaf571156775de2",
"shasum": ""
},
"require": {
@@ -6744,7 +6930,81 @@
"testing",
"xunit"
],
"time": "2018-09-01T15:49:55+00:00"
"time": "2018-09-08T15:14:29+00:00"
},
{
"name": "psy/psysh",
"version": "v0.9.8",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
"reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/ed3c32c4304e1a678a6e0f9dc11dd2d927d89555",
"reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555",
"shasum": ""
},
"require": {
"dnoegel/php-xdg-base-dir": "0.1",
"ext-json": "*",
"ext-tokenizer": "*",
"jakub-onderka/php-console-highlighter": "0.3.*",
"nikic/php-parser": "~1.3|~2.0|~3.0|~4.0",
"php": ">=5.4.0",
"symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0",
"symfony/var-dumper": "~2.7|~3.0|~4.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.2",
"hoa/console": "~2.15|~3.16",
"phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0"
},
"suggest": {
"ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
"ext-pdo-sqlite": "The doc command requires SQLite to work.",
"ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
"ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.",
"hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit."
},
"bin": [
"bin/psysh"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-develop": "0.9.x-dev"
}
},
"autoload": {
"files": [
"src/functions.php"
],
"psr-4": {
"Psy\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Justin Hileman",
"email": "justin@justinhileman.info",
"homepage": "http://justinhileman.com"
}
],
"description": "An interactive shell for modern PHP.",
"homepage": "http://psysh.org",
"keywords": [
"REPL",
"console",
"interactive",
"shell"
],
"time": "2018-09-05T11:40:09+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",

12
vendor/aws/aws-sdk-php/.changes/3.67.10 vendored Normal file
View File

@@ -0,0 +1,12 @@
[
{
"type": "api-change",
"category": "SSM",
"description": "Session Manager is a fully managed AWS Systems Manager capability that provides interactive one-click access to Amazon EC2 Linux and Windows instances."
},
{
"type": "enhancement",
"category": "OpsWorksCM",
"description": "Documentation updates for opsworkscm"
}
]

27
vendor/aws/aws-sdk-php/.changes/3.67.11 vendored Normal file
View File

@@ -0,0 +1,27 @@
[
{
"type": "api-change",
"category": "Connect",
"description": "This update adds the Amazon Connect Update Contact Attributes API, which lets you update contact attributes for contacts in your Amazon Connect instance."
},
{
"type": "api-change",
"category": "EC2",
"description": "Pagination Support for DescribeNetworkInterfaces API"
},
{
"type": "enhancement",
"category": "SES",
"description": "Documentation updates for Amazon Simple Email Service"
},
{
"type": "api-change",
"category": "FMS",
"description": "This update of Amazon Fire Wall Manager adds the ability to scope down the policy as well as to get all the member accounts belonging to a certain Fire Wall Manager admin account."
},
{
"type": "enhancement",
"category": "S3",
"description": "Support for S3Select in the AWS SDK for PHP."
}
]

View File

@@ -0,0 +1,7 @@
[
{
"type": "api-change",
"category": "Polly",
"description": "Amazon Polly adds Mandarin Chinese language support with new female voice - \"Zhiyu\""
}
]

27
vendor/aws/aws-sdk-php/.changes/3.67.6 vendored Normal file
View File

@@ -0,0 +1,27 @@
[
{
"type": "api-change",
"category": "AppStream",
"description": "Added support for enabling persistent application settings for a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session."
},
{
"type": "api-change",
"category": "DynamoDB",
"description": "New feature for Amazon DynamoDB."
},
{
"type": "enhancement",
"category": "RDS",
"description": "Fix broken links in the RDS CLI Reference to the Aurora User Guide"
},
{
"type": "api-change",
"category": "S3",
"description": "Parquet input format support added for the SelectObjectContent API"
},
{
"type": "api-change",
"category": "ElasticLoadBalancing",
"description": "Documentation update for DescribeAccountLimits API to include classic-registered-instances."
}
]

17
vendor/aws/aws-sdk-php/.changes/3.67.7 vendored Normal file
View File

@@ -0,0 +1,17 @@
[
{
"type": "api-change",
"category": "CodeCommit",
"description": "This release adds additional optional fields to the pull request APIs."
},
{
"type": "api-change",
"category": "APIGateway",
"description": "Add support for Active X-Ray with API Gateway"
},
{
"type": "api-change",
"category": "MediaConvert",
"description": "This release adds support for Cost Allocation through tagging and also enables adding, editing, and removal of tags from the MediaConvert console."
}
]

12
vendor/aws/aws-sdk-php/.changes/3.67.8 vendored Normal file
View File

@@ -0,0 +1,12 @@
[
{
"type": "api-change",
"category": "CloudWatchLogs",
"description": "* Adding a log prefix parameter for filter log events API and minor updates to the documentation"
},
{
"type": "api-change",
"category": "ConfigService",
"description": "Adding a new field \"createdBy\" to the ConfigRule data model. The field is populated only if the rule is service linked i.e the rule is created by a service. The field is empty for normal rules created by customer."
}
]

12
vendor/aws/aws-sdk-php/.changes/3.67.9 vendored Normal file
View File

@@ -0,0 +1,12 @@
[
{
"type": "api-change",
"category": "CloudHSMV2",
"description": "With this release, we are adding 2 new APIs. DeleteBackup deletes a specified AWS CloudHSM backup. A backup can be restored up to 7 days after the DeleteBackup request. During this 7-day period, the backup will be in state PENDING_DELETION. Backups can be restored using the RestoreBackup API, which will move the backup from state PENDING_DELETION back to ACTIVE."
},
{
"type": "api-change",
"category": "Redshift",
"description": "Adding support to Redshift to change the encryption type after cluster creation completes."
}
]

View File

@@ -2,9 +2,11 @@
namespace Aws\Api\Parser;
use Aws\Api\Service;
use Aws\Api\StructureShape;
use Aws\CommandInterface;
use Aws\ResultInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* @internal
@@ -14,6 +16,9 @@ abstract class AbstractParser
/** @var \Aws\Api\Service Representation of the service API*/
protected $api;
/** @var callable */
protected $parser;
/**
* @param Service $api Service description.
*/
@@ -32,4 +37,9 @@ abstract class AbstractParser
CommandInterface $command,
ResponseInterface $response
);
abstract public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
);
}

View File

@@ -73,7 +73,13 @@ abstract class AbstractRestParser extends AbstractParser
) {
$member = $output->getMember($payload);
if ($member instanceof StructureShape) {
if (!empty($member['eventstream'])) {
$result[$payload] = new EventParsingIterator(
$response->getBody(),
$member,
$this
);
} else if ($member instanceof StructureShape) {
// Structure members parse top-level data into a specific key.
$result[$payload] = [];
$this->payload($response, $member, $result[$payload]);

View File

@@ -1,9 +1,11 @@
<?php
namespace Aws\Api\Parser;
use Aws\Api\StructureShape;
use Aws\CommandInterface;
use Aws\Exception\AwsException;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
use GuzzleHttp\Psr7;
/**
@@ -11,9 +13,6 @@ use GuzzleHttp\Psr7;
*/
class Crc32ValidatingParser extends AbstractParser
{
/** @var callable */
private $parser;
/**
* @param callable $parser Parser to wrap.
*/
@@ -44,4 +43,11 @@ class Crc32ValidatingParser extends AbstractParser
$fn = $this->parser;
return $fn($command, $response);
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
return $this->parser->parseMemberFromStream($stream, $member);
}
}

View File

@@ -0,0 +1,335 @@
<?php
namespace Aws\Api\Parser;
use \Iterator;
use Aws\Api\DateTimeResult;
use GuzzleHttp\Psr7;
use Psr\Http\Message\StreamInterface;
use Aws\Api\Parser\Exception\ParserException;
/**
* @internal Implements a decoder for a binary encoded event stream that will
* decode, validate, and provide individual events from the stream.
*/
class DecodingEventStreamIterator implements Iterator
{
const HEADERS = 'headers';
const PAYLOAD = 'payload';
const LENGTH_TOTAL = 'total_length';
const LENGTH_HEADERS = 'headers_length';
const CRC_PRELUDE = 'prelude_crc';
const BYTES_PRELUDE = 12;
const BYTES_TRAILING = 4;
private static $preludeFormat = [
self::LENGTH_TOTAL => 'decodeUint32',
self::LENGTH_HEADERS => 'decodeUint32',
self::CRC_PRELUDE => 'decodeUint32',
];
private static $lengthFormatMap = [
1 => 'decodeUint8',
2 => 'decodeUint16',
4 => 'decodeUint32',
8 => 'decodeUint64',
];
private static $headerTypeMap = [
0 => 'decodeBooleanTrue',
1 => 'decodeBooleanFalse',
2 => 'decodeInt8',
3 => 'decodeInt16',
4 => 'decodeInt32',
5 => 'decodeInt64',
6 => 'decodeBytes',
7 => 'decodeString',
8 => 'decodeTimestamp',
9 => 'decodeUuid',
];
/** @var StreamInterface Stream of eventstream shape to parse. */
private $stream;
/** @var array Currently parsed event. */
private $currentEvent;
/** @var int Current in-order event key. */
private $key;
/** @var resource|HashContext CRC32 hash context for event validation */
private $hashContext;
/** @var int $currentPosition */
private $currentPosition;
/**
* DecodingEventStreamIterator constructor.
*
* @param StreamInterface $stream
*/
public function __construct(StreamInterface $stream)
{
$this->stream = $stream;
$this->rewind();
}
private function parseHeaders($headerBytes)
{
$headers = [];
$bytesRead = 0;
while ($bytesRead < $headerBytes) {
list($key, $numBytes) = $this->decodeString(1);
$bytesRead += $numBytes;
list($type, $numBytes) = $this->decodeUint8();
$bytesRead += $numBytes;
$f = self::$headerTypeMap[$type];
list($value, $numBytes) = $this->{$f}();
$bytesRead += $numBytes;
if (isset($headers[$key])) {
throw new ParserException('Duplicate key in event headers.');
}
$headers[$key] = $value;
}
return [$headers, $bytesRead];
}
private function parsePrelude()
{
$prelude = [];
$bytesRead = 0;
$calculatedCrc = null;
foreach (self::$preludeFormat as $key => $decodeFunction) {
if ($key === self::CRC_PRELUDE) {
$hashCopy = hash_copy($this->hashContext);
$calculatedCrc = hash_final($this->hashContext, true);
$this->hashContext = $hashCopy;
}
list($value, $numBytes) = $this->{$decodeFunction}();
$bytesRead += $numBytes;
$prelude[$key] = $value;
}
if (unpack('N', $calculatedCrc)[1] !== $prelude[self::CRC_PRELUDE]) {
throw new ParserException('Prelude checksum mismatch.');
}
return [$prelude, $bytesRead];
}
private function parseEvent()
{
$event = [];
if ($this->stream->tell() < $this->stream->getSize()) {
$this->hashContext = hash_init('crc32b');
$bytesLeft = $this->stream->getSize() - $this->stream->tell();
list($prelude, $numBytes) = $this->parsePrelude();
if ($prelude[self::LENGTH_TOTAL] > $bytesLeft) {
throw new ParserException('Message length too long.');
}
$bytesLeft -= $numBytes;
if ($prelude[self::LENGTH_HEADERS] > $bytesLeft) {
throw new ParserException('Headers length too long.');
}
list(
$event[self::HEADERS],
$numBytes
) = $this->parseHeaders($prelude[self::LENGTH_HEADERS]);
$event[self::PAYLOAD] = Psr7\stream_for(
$this->readAndHashBytes(
$prelude[self::LENGTH_TOTAL] - self::BYTES_PRELUDE
- $numBytes - self::BYTES_TRAILING
)
);
$calculatedCrc = hash_final($this->hashContext, true);
$messageCrc = $this->stream->read(4);
if ($calculatedCrc !== $messageCrc) {
throw new ParserException('Message checksum mismatch.');
}
}
return $event;
}
// Iterator Functionality
/**
* @return array
*/
public function current()
{
return $this->currentEvent;
}
/**
* @return int
*/
public function key()
{
return $this->key;
}
public function next()
{
$this->currentPosition = $this->stream->tell();
if ($this->valid()) {
$this->key++;
$this->currentEvent = $this->parseEvent();
}
}
public function rewind()
{
$this->stream->rewind();
$this->key = 0;
$this->currentPosition = 0;
$this->currentEvent = $this->parseEvent();
}
/**
* @return bool
*/
public function valid()
{
return $this->currentPosition < $this->stream->getSize();
}
// Decoding Utilities
private function readAndHashBytes($num)
{
$bytes = $this->stream->read($num);
hash_update($this->hashContext, $bytes);
return $bytes;
}
private function decodeBooleanTrue()
{
return [true, 0];
}
private function decodeBooleanFalse()
{
return [false, 0];
}
private function uintToInt($val, $size)
{
$signedCap = pow(2, $size - 1);
if ($val > $signedCap) {
$val -= (2 * $signedCap);
}
return $val;
}
private function decodeInt8()
{
$val = (int)unpack('C', $this->readAndHashBytes(1))[1];
return [$this->uintToInt($val, 8), 1];
}
private function decodeUint8()
{
return [unpack('C', $this->readAndHashBytes(1))[1], 1];
}
private function decodeInt16()
{
$val = (int)unpack('n', $this->readAndHashBytes(2))[1];
return [$this->uintToInt($val, 16), 2];
}
private function decodeUint16()
{
return [unpack('n', $this->readAndHashBytes(2))[1], 2];
}
private function decodeInt32()
{
$val = (int)unpack('N', $this->readAndHashBytes(4))[1];
return [$this->uintToInt($val, 32), 4];
}
private function decodeUint32()
{
return [unpack('N', $this->readAndHashBytes(4))[1], 4];
}
private function decodeInt64()
{
$val = $this->unpackInt64($this->readAndHashBytes(8))[1];
return [$this->uintToInt($val, 64), 8];
}
private function decodeUint64()
{
return [$this->unpackInt64($this->readAndHashBytes(8))[1], 8];
}
private function unpackInt64($bytes)
{
if (version_compare(PHP_VERSION, '5.6.3', '<')) {
$d = unpack('N2', $bytes);
return [1 => $d[1] << 32 | $d[2]];
}
return unpack('J', $bytes);
}
private function decodeBytes($lengthBytes=2)
{
if (!isset(self::$lengthFormatMap[$lengthBytes])) {
throw new ParserException('Undefined variable length format.');
}
$f = self::$lengthFormatMap[$lengthBytes];
list($len, $bytes) = $this->{$f}();
return [$this->readAndHashBytes($len), $len + $bytes];
}
private function decodeString($lengthBytes=2)
{
if (!isset(self::$lengthFormatMap[$lengthBytes])) {
throw new ParserException('Undefined variable length format.');
}
$f = self::$lengthFormatMap[$lengthBytes];
list($len, $bytes) = $this->{$f}();
return [$this->readAndHashBytes($len), $len + $bytes];
}
private function decodeTimestamp()
{
list($val, $bytes) = $this->decodeInt64();
return [
DateTimeResult::createFromFormat('U.u', $val / 1000),
$bytes
];
}
private function decodeUuid()
{
$val = unpack('H32', $this->readAndHashBytes(16))[1];
return [
substr($val, 0, 8) . '-'
. substr($val, 8, 4) . '-'
. substr($val, 12, 4) . '-'
. substr($val, 16, 4) . '-'
. substr($val, 20, 12),
16
];
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace Aws\Api\Parser;
use \Iterator;
use Aws\Exception\EventStreamDataException;
use Aws\Api\Parser\Exception\ParserException;
use Aws\Api\StructureShape;
use Psr\Http\Message\StreamInterface;
/**
* @internal Implements a decoder for a binary encoded event stream that will
* decode, validate, and provide individual events from the stream.
*/
class EventParsingIterator implements Iterator
{
/** @var StreamInterface */
private $decodingIterator;
/** @var StructureShape */
private $shape;
/** @var AbstractParser */
private $parser;
public function __construct(
StreamInterface $stream,
StructureShape $shape,
AbstractParser $parser
) {
$this->decodingIterator = new DecodingEventStreamIterator($stream);
$this->shape = $shape;
$this->parser = $parser;
}
public function current()
{
return $this->parseEvent($this->decodingIterator->current());
}
public function key()
{
return $this->decodingIterator->key();
}
public function next()
{
$this->decodingIterator->next();
}
public function rewind()
{
$this->decodingIterator->rewind();
}
public function valid()
{
return $this->decodingIterator->valid();
}
private function parseEvent(array $event)
{
if (!empty($event['headers'][':message-type'])) {
if ($event['headers'][':message-type'] === 'error') {
return $this->parseError($event);
}
if ($event['headers'][':message-type'] !== 'event') {
throw new ParserException('Failed to parse unknown message type.');
}
}
if (empty($event['headers'][':event-type'])) {
throw new ParserException('Failed to parse without event type.');
}
$eventShape = $this->shape->getMember($event['headers'][':event-type']);
$parsedEvent = [];
foreach ($eventShape['members'] as $shape => $details) {
if (!empty($details['eventpayload'])) {
$payloadShape = $eventShape->getMember($shape);
if ($payloadShape['type'] === 'blob') {
$parsedEvent[$shape] = $event['payload'];
} else {
$parsedEvent[$shape] = $this->parser->parseMemberFromStream(
$event['payload'],
$payloadShape
);
}
} else {
$parsedEvent[$shape] = $event['headers'][$shape];
}
}
return [
$event['headers'][':event-type'] => $parsedEvent
];
}
private function parseError(array $event)
{
throw new EventStreamDataException(
$event['headers'][':error-code'],
$event['headers'][':error-message']
);
}
}

View File

@@ -1,10 +1,12 @@
<?php
namespace Aws\Api\Parser;
use Aws\Api\StructureShape;
use Aws\Api\Service;
use Aws\Result;
use Aws\CommandInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* @internal Implements JSON-RPC parsing (e.g., DynamoDB)
@@ -13,8 +15,6 @@ class JsonRpcParser extends AbstractParser
{
use PayloadParserTrait;
private $parser;
/**
* @param Service $api Service description
* @param JsonParser $parser JSON body builder
@@ -32,11 +32,18 @@ class JsonRpcParser extends AbstractParser
$operation = $this->api->getOperation($command->getName());
$result = null === $operation['output']
? null
: $this->parser->parse(
$operation->getOutput(),
$this->parseJson($response->getBody())
: $this->parseMemberFromStream(
$response->getBody(),
$operation->getOutput()
);
return new Result($result ?: []);
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
return $this->parser->parse($member, $this->parseJson($stream));
}
}

View File

@@ -2,9 +2,11 @@
namespace Aws\Api\Parser;
use Aws\Api\Service;
use Aws\Api\StructureShape;
use Aws\Result;
use Aws\CommandInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* @internal Parses query (XML) responses (e.g., EC2, SQS, and many others)
@@ -13,9 +15,6 @@ class QueryParser extends AbstractParser
{
use PayloadParserTrait;
/** @var XmlParser */
private $xmlParser;
/** @var bool */
private $honorResultWrapper;
@@ -32,7 +31,7 @@ class QueryParser extends AbstractParser
$honorResultWrapper = true
) {
parent::__construct($api);
$this->xmlParser = $xmlParser ?: new XmlParser();
$this->parser = $xmlParser ?: new XmlParser();
$this->honorResultWrapper = $honorResultWrapper;
}
@@ -47,6 +46,14 @@ class QueryParser extends AbstractParser
$xml = $xml->{$output['resultWrapper']};
}
return new Result($this->xmlParser->parse($output, $xml));
return new Result($this->parser->parse($output, $xml));
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
$xml = $this->parseXml($stream);
return $this->parser->parse($member, $xml);
}
}

View File

@@ -4,6 +4,7 @@ namespace Aws\Api\Parser;
use Aws\Api\Service;
use Aws\Api\StructureShape;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* @internal Implements REST-JSON parsing (e.g., Glacier, Elastic Transcoder)
@@ -12,9 +13,6 @@ class RestJsonParser extends AbstractRestParser
{
use PayloadParserTrait;
/** @var JsonParser */
private $parser;
/**
* @param Service $api Service description
* @param JsonParser $parser JSON body builder
@@ -36,4 +34,15 @@ class RestJsonParser extends AbstractRestParser
$result += $this->parser->parse($member, $jsonBody);
}
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
$jsonBody = $this->parseJson($stream);
if ($jsonBody) {
return $this->parser->parse($member, $jsonBody);
}
return [];
}
}

View File

@@ -4,6 +4,7 @@ namespace Aws\Api\Parser;
use Aws\Api\StructureShape;
use Aws\Api\Service;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* @internal Implements REST-XML parsing (e.g., S3, CloudFront, etc...)
@@ -12,9 +13,6 @@ class RestXmlParser extends AbstractRestParser
{
use PayloadParserTrait;
/** @var XmlParser */
private $parser;
/**
* @param Service $api Service description
* @param XmlParser $parser XML body parser
@@ -30,7 +28,14 @@ class RestXmlParser extends AbstractRestParser
StructureShape $member,
array &$result
) {
$xml = $this->parseXml($response->getBody());
$result += $this->parser->parse($member, $xml);
$result += $this->parseMemberFromStream($response->getBody(), $member);
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
$xml = $this->parseXml($stream);
return $this->parser->parse($member, $xml);
}
}

View File

@@ -11,6 +11,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = [])
* @method \Aws\Result createHsm(array $args = [])
* @method \GuzzleHttp\Promise\Promise createHsmAsync(array $args = [])
* @method \Aws\Result deleteBackup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupAsync(array $args = [])
* @method \Aws\Result deleteCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = [])
* @method \Aws\Result deleteHsm(array $args = [])
@@ -23,6 +25,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise initializeClusterAsync(array $args = [])
* @method \Aws\Result listTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result restoreBackup(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreBackupAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])

View File

@@ -29,6 +29,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise startOutboundVoiceContactAsync(array $args = [])
* @method \Aws\Result stopContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopContactAsync(array $args = [])
* @method \Aws\Result updateContactAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateContactAttributesAsync(array $args = [])
* @method \Aws\Result updateUserHierarchy(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserHierarchyAsync(array $args = [])
* @method \Aws\Result updateUserIdentityInfo(array $args = [])

View File

@@ -47,6 +47,8 @@ use Aws\RetryMiddleware;
* @method \GuzzleHttp\Promise\Promise describeBackupAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeContinuousBackups(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeContinuousBackupsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeEndpoints(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeEndpointsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeGlobalTable(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeGlobalTableAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeGlobalTableSettings(array $args = []) (supported in versions 2012-08-10)

View File

@@ -0,0 +1,38 @@
<?php
namespace Aws\Exception;
/**
* Represents an exception that was supplied via an EventStream.
*/
class EventStreamDataException extends \RuntimeException
{
private $errorCode;
private $errorMessage;
public function __construct($code, $message)
{
$this->errorCode = $code;
$this->errorMessage = $message;
parent::__construct($message);
}
/**
* Get the AWS error code.
*
* @return string|null Returns null if no response was received
*/
public function getAwsErrorCode()
{
return $this->errorCode;
}
/**
* Get the concise error message if any.
*
* @return string|null
*/
public function getAwsErrorMessage()
{
return $this->errorMessage;
}
}

View File

@@ -23,6 +23,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getPolicyAsync(array $args = [])
* @method \Aws\Result listComplianceStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise listComplianceStatusAsync(array $args = [])
* @method \Aws\Result listMemberAccounts(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMemberAccountsAsync(array $args = [])
* @method \Aws\Result listPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPoliciesAsync(array $args = [])
* @method \Aws\Result putNotificationChannel(array $args = [])

View File

@@ -2,9 +2,11 @@
namespace Aws\S3;
use Aws\Api\Parser\AbstractParser;
use Aws\Api\StructureShape;
use Aws\CommandInterface;
use Aws\Exception\AwsException;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* Converts errors returned with a status code of 200 to a retryable error type.
@@ -19,8 +21,6 @@ class AmbiguousSuccessParser extends AbstractParser
'CompleteMultipartUpload' => true,
];
/** @var callable */
private $parser;
/** @var callable */
private $errorParser;
/** @var string */
@@ -57,4 +57,11 @@ class AmbiguousSuccessParser extends AbstractParser
$fn = $this->parser;
return $fn($command, $response);
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
return $this->parser->parseMemberFromStream($stream, $member);
}
}

View File

@@ -2,8 +2,10 @@
namespace Aws\S3;
use Aws\Api\Parser\AbstractParser;
use Aws\Api\StructureShape;
use Aws\CommandInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* @internal Decorates a parser for the S3 service to correctly handle the
@@ -11,9 +13,6 @@ use Psr\Http\Message\ResponseInterface;
*/
class GetBucketLocationParser extends AbstractParser
{
/** @var callable */
private $parser;
/**
* @param callable $parser Parser to wrap.
*/
@@ -39,4 +38,11 @@ class GetBucketLocationParser extends AbstractParser
return $result;
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
return $this->parser->parseMemberFromStream($stream, $member);
}
}

View File

@@ -2,10 +2,12 @@
namespace Aws\S3;
use Aws\Api\Parser\AbstractParser;
use Aws\Api\StructureShape;
use Aws\Api\Parser\Exception\ParserException;
use Aws\CommandInterface;
use Aws\Exception\AwsException;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* Converts malformed responses to a retryable error type.
@@ -14,8 +16,6 @@ use Psr\Http\Message\ResponseInterface;
*/
class RetryableMalformedResponseParser extends AbstractParser
{
/** @var callable */
private $parser;
/** @var string */
private $exceptionClass;
@@ -45,4 +45,11 @@ class RetryableMalformedResponseParser extends AbstractParser
);
}
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member
) {
return $this->parser->parseMemberFromStream($stream, $member);
}
}

View File

@@ -169,6 +169,8 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise putObjectTaggingAsync(array $args = [])
* @method \Aws\Result restoreObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreObjectAsync(array $args = [])
* @method \Aws\Result selectObjectContent(array $args = [])
* @method \GuzzleHttp\Promise\Promise selectObjectContentAsync(array $args = [])
* @method \Aws\Result uploadPart(array $args = [])
* @method \GuzzleHttp\Promise\Promise uploadPartAsync(array $args = [])
* @method \Aws\Result uploadPartCopy(array $args = [])

View File

@@ -162,6 +162,8 @@ use GuzzleHttp\Promise;
* @method \GuzzleHttp\Promise\Promise putObjectTaggingAsync(array $args = [])
* @method \Aws\Result restoreObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreObjectAsync(array $args = [])
* @method \Aws\Result selectObjectContent(array $args = [])
* @method \GuzzleHttp\Promise\Promise selectObjectContentAsync(array $args = [])
* @method \Aws\Result uploadPart(array $args = [])
* @method \GuzzleHttp\Promise\Promise uploadPartAsync(array $args = [])
* @method \Aws\Result uploadPartCopy(array $args = [])

View File

@@ -295,7 +295,7 @@ namespace Aws;
*/
class Sdk
{
const VERSION = '3.67.5';
const VERSION = '3.67.12';
/** @var array Arguments for creating clients */
private $args;

View File

@@ -104,10 +104,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describePatchGroupStateAsync(array $args = [])
* @method \Aws\Result describePatchGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePatchGroupsAsync(array $args = [])
* @method \Aws\Result describeSessions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSessionsAsync(array $args = [])
* @method \Aws\Result getAutomationExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAutomationExecutionAsync(array $args = [])
* @method \Aws\Result getCommandInvocation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCommandInvocationAsync(array $args = [])
* @method \Aws\Result getConnectionStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getConnectionStatusAsync(array $args = [])
* @method \Aws\Result getDefaultPatchBaseline(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDefaultPatchBaselineAsync(array $args = [])
* @method \Aws\Result getDeployablePatchSnapshotForInstance(array $args = [])
@@ -184,6 +188,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise registerTaskWithMaintenanceWindowAsync(array $args = [])
* @method \Aws\Result removeTagsFromResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = [])
* @method \Aws\Result resumeSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise resumeSessionAsync(array $args = [])
* @method \Aws\Result sendAutomationSignal(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendAutomationSignalAsync(array $args = [])
* @method \Aws\Result sendCommand(array $args = [])
@@ -192,8 +198,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise startAssociationsOnceAsync(array $args = [])
* @method \Aws\Result startAutomationExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise startAutomationExecutionAsync(array $args = [])
* @method \Aws\Result startSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise startSessionAsync(array $args = [])
* @method \Aws\Result stopAutomationExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopAutomationExecutionAsync(array $args = [])
* @method \Aws\Result terminateSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise terminateSessionAsync(array $args = [])
* @method \Aws\Result updateAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssociationAsync(array $args = [])
* @method \Aws\Result updateAssociationStatus(array $args = [])

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/ec2/2016-11-15/paginators-1.json
return [ 'pagination' => [ 'DescribeAccountAttributes' => [ 'result_key' => 'AccountAttributes', ], 'DescribeAddresses' => [ 'result_key' => 'Addresses', ], 'DescribeAvailabilityZones' => [ 'result_key' => 'AvailabilityZones', ], 'DescribeBundleTasks' => [ 'result_key' => 'BundleTasks', ], 'DescribeConversionTasks' => [ 'result_key' => 'ConversionTasks', ], 'DescribeCustomerGateways' => [ 'result_key' => 'CustomerGateways', ], 'DescribeDhcpOptions' => [ 'result_key' => 'DhcpOptions', ], 'DescribeExportTasks' => [ 'result_key' => 'ExportTasks', ], 'DescribeImages' => [ 'result_key' => 'Images', ], 'DescribeInstanceStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeNatGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NatGateways', ], 'DescribeNetworkAcls' => [ 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfaces' => [ 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], 'DescribeRegions' => [ 'result_key' => 'Regions', ], 'DescribeReservedInstances' => [ 'result_key' => 'ReservedInstances', ], 'DescribeReservedInstancesListings' => [ 'result_key' => 'ReservedInstancesListings', ], 'DescribeReservedInstancesModifications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesModifications', ], 'DescribeReservedInstancesOfferings' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesOfferings', ], 'DescribeRouteTables' => [ 'result_key' => 'RouteTables', ], 'DescribeSecurityGroups' => [ 'result_key' => 'SecurityGroups', ], 'DescribeSnapshots' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Snapshots', ], 'DescribeSpotFleetRequests' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotFleetRequestConfigs', ], 'DescribeSpotInstanceRequests' => [ 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotPriceHistory', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Tags', ], 'DescribeVolumeStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'VolumeStatuses', ], 'DescribeVolumes' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Volumes', ], 'DescribeVpcPeeringConnections' => [ 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpcs' => [ 'result_key' => 'Vpcs', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], ],];
return [ 'pagination' => [ 'DescribeAccountAttributes' => [ 'result_key' => 'AccountAttributes', ], 'DescribeAddresses' => [ 'result_key' => 'Addresses', ], 'DescribeAvailabilityZones' => [ 'result_key' => 'AvailabilityZones', ], 'DescribeBundleTasks' => [ 'result_key' => 'BundleTasks', ], 'DescribeConversionTasks' => [ 'result_key' => 'ConversionTasks', ], 'DescribeCustomerGateways' => [ 'result_key' => 'CustomerGateways', ], 'DescribeDhcpOptions' => [ 'result_key' => 'DhcpOptions', ], 'DescribeExportTasks' => [ 'result_key' => 'ExportTasks', ], 'DescribeImages' => [ 'result_key' => 'Images', ], 'DescribeInstanceStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeNatGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NatGateways', ], 'DescribeNetworkAcls' => [ 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfaces' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], 'DescribeRegions' => [ 'result_key' => 'Regions', ], 'DescribeReservedInstances' => [ 'result_key' => 'ReservedInstances', ], 'DescribeReservedInstancesListings' => [ 'result_key' => 'ReservedInstancesListings', ], 'DescribeReservedInstancesModifications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesModifications', ], 'DescribeReservedInstancesOfferings' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesOfferings', ], 'DescribeRouteTables' => [ 'result_key' => 'RouteTables', ], 'DescribeSecurityGroups' => [ 'result_key' => 'SecurityGroups', ], 'DescribeSnapshots' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Snapshots', ], 'DescribeSpotFleetRequests' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotFleetRequestConfigs', ], 'DescribeSpotInstanceRequests' => [ 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotPriceHistory', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Tags', ], 'DescribeVolumeStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'VolumeStatuses', ], 'DescribeVolumes' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Volumes', ], 'DescribeVpcPeeringConnections' => [ 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpcs' => [ 'result_key' => 'Vpcs', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], ],];

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/elasticloadbalancing/2012-06-01/smoke.json
return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeLoadBalancers', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeLoadBalancers', 'input' => [ 'LoadBalancerNames' => [ 'fake_load_balancer', ], ], 'errorExpectedFromService' => true, ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +0,0 @@
<?php
// This file was auto-generated from sdk-root/src/data/health/2016-08-04/smoke.json
return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'DescribeEntityAggregates', 'input' => [], 'errorExpectedFromService' => false, ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

10
vendor/bin/np vendored
View File

@@ -1,10 +0,0 @@
#!/usr/bin/env sh
dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../sly/notification-pusher" && pwd)
if [ -d /proc/cygdrive ] && [[ $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then
# We are in Cgywin using Windows php, so the path must be translated
dir=$(cygpath -m "$dir");
fi
"${dir}/np" "$@"

1
vendor/bin/np vendored Symbolic link
View File

@@ -0,0 +1 @@
../sly/notification-pusher/np

4
vendor/bin/np.bat vendored
View File

@@ -1,4 +0,0 @@
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../sly/notification-pusher/np
php "%BIN_TARGET%" %*

View File

@@ -1,4 +0,0 @@
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../phpunit/phpunit/phpunit
php "%BIN_TARGET%" %*

1
vendor/bin/psysh vendored Symbolic link
View File

@@ -0,0 +1 @@
../psy/psysh/bin/psysh

View File

@@ -9,9 +9,9 @@ return array(
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
'b067bc7112e384b61c701452d53a14a8' => $vendorDir . '/mtdowling/jmespath.php/src/JmesPath.php',
'8a9dc1de0ca7e01f3e08231539562f61' => $vendorDir . '/aws/aws-sdk-php/src/functions.php',
@@ -19,6 +19,7 @@ return array(
'bd9634f2d41831496de0d3dfe4c94881' => $vendorDir . '/symfony/polyfill-php56/bootstrap.php',
'f18cc91337d49233e5754e93f3ed9ec3' => $vendorDir . '/laravelcollective/html/src/helpers.php',
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php',
'4a1f389d6ce373bda9e57857d3b61c84' => $vendorDir . '/barryvdh/laravel-debugbar/src/helpers.php',
'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
'58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',

View File

@@ -7,13 +7,14 @@ $baseDir = dirname($vendorDir);
return array(
'thomaswelton\\GravatarLib\\' => array($vendorDir . '/thomaswelton/gravatarlib'),
'Sly' => array($vendorDir . '/sly/notification-pusher/src'),
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
'PhpSpec' => array($vendorDir . '/phpspec/phpspec/src'),
'Parsedown' => array($vendorDir . '/erusev/parsedown'),
'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'),
'Mremi\\UrlShortener' => array($vendorDir . '/mremi/url-shortener/src'),
'Maatwebsite\\Excel\\' => array($vendorDir . '/maatwebsite/excel/src'),
'JakubOnderka\\PhpConsoleHighlighter' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'),
'JakubOnderka\\PhpConsoleColor' => array($vendorDir . '/jakub-onderka/php-console-color/src'),
'Guzzle\\Tests' => array($vendorDir . '/guzzle/guzzle/tests'),
'Guzzle' => array($vendorDir . '/guzzle/guzzle/src'),
'ForceUTF8\\' => array($vendorDir . '/neitanod/forceutf8/src'),

View File

@@ -18,6 +18,7 @@ return array(
'ZendService\\Google\\' => array($vendorDir . '/zendframework/zendservice-google-gcm/src'),
'ZendService\\Apple\\' => array($vendorDir . '/zendframework/zendservice-apple-apns/src'),
'Yajra\\Datatables\\' => array($vendorDir . '/yajra/laravel-datatables-oracle/src'),
'XdgBaseDir\\' => array($vendorDir . '/dnoegel/php-xdg-base-dir/src'),
'Whoops\\' => array($vendorDir . '/filp/whoops/src/Whoops'),
'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
'Vsmoraes\\Pdf\\' => array($vendorDir . '/vsmoraes/laravel-pdf/src'),
@@ -50,7 +51,9 @@ return array(
'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
'SuperClosure\\' => array($vendorDir . '/jeremeamia/SuperClosure/src'),
'Sly\\' => array($vendorDir . '/sly/notification-pusher/src/Sly'),
'Ramsey\\Uuid\\' => array($vendorDir . '/ramsey/uuid/src'),
'Psy\\' => array($vendorDir . '/psy/psysh/src'),
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
@@ -65,6 +68,7 @@ return array(
'League\\Fractal\\' => array($vendorDir . '/league/fractal/src'),
'League\\Flysystem\\' => array($vendorDir . '/league/flysystem/src'),
'Lcobucci\\JWT\\' => array($vendorDir . '/lcobucci/jwt/src'),
'Laravel\\Tinker\\' => array($vendorDir . '/laravel/tinker/src'),
'Laravel\\Socialite\\' => array($vendorDir . '/laravel/socialite/src'),
'Laravel\\Dusk\\' => array($vendorDir . '/laravel/dusk/src'),
'LaravelFCM\\Mocks\\' => array($vendorDir . '/brozot/laravel-fcm/tests/mocks'),

View File

@@ -10,9 +10,9 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
'b067bc7112e384b61c701452d53a14a8' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/JmesPath.php',
'8a9dc1de0ca7e01f3e08231539562f61' => __DIR__ . '/..' . '/aws/aws-sdk-php/src/functions.php',
@@ -20,6 +20,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
'bd9634f2d41831496de0d3dfe4c94881' => __DIR__ . '/..' . '/symfony/polyfill-php56/bootstrap.php',
'f18cc91337d49233e5754e93f3ed9ec3' => __DIR__ . '/..' . '/laravelcollective/html/src/helpers.php',
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
'4a1f389d6ce373bda9e57857d3b61c84' => __DIR__ . '/..' . '/barryvdh/laravel-debugbar/src/helpers.php',
'f0906e6318348a765ffb6eb24e0d0938' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
'58571171fd5812e6e447dce228f52f4d' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/helpers.php',
@@ -52,6 +53,10 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
array (
'Yajra\\Datatables\\' => 17,
),
'X' =>
array (
'XdgBaseDir\\' => 11,
),
'W' =>
array (
'Whoops\\' => 7,
@@ -98,6 +103,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
'Symfony\\Component\\CssSelector\\' => 30,
'Symfony\\Component\\Console\\' => 26,
'SuperClosure\\' => 13,
'Sly\\' => 4,
),
'R' =>
array (
@@ -105,6 +111,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
),
'P' =>
array (
'Psy\\' => 4,
'Psr\\SimpleCache\\' => 16,
'Psr\\Log\\' => 8,
'Psr\\Http\\Message\\' => 17,
@@ -128,6 +135,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
'League\\Fractal\\' => 15,
'League\\Flysystem\\' => 17,
'Lcobucci\\JWT\\' => 13,
'Laravel\\Tinker\\' => 15,
'Laravel\\Socialite\\' => 18,
'Laravel\\Dusk\\' => 13,
'LaravelFCM\\Mocks\\' => 17,
@@ -240,6 +248,10 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
array (
0 => __DIR__ . '/..' . '/yajra/laravel-datatables-oracle/src',
),
'XdgBaseDir\\' =>
array (
0 => __DIR__ . '/..' . '/dnoegel/php-xdg-base-dir/src',
),
'Whoops\\' =>
array (
0 => __DIR__ . '/..' . '/filp/whoops/src/Whoops',
@@ -368,10 +380,18 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
array (
0 => __DIR__ . '/..' . '/jeremeamia/SuperClosure/src',
),
'Sly\\' =>
array (
0 => __DIR__ . '/..' . '/sly/notification-pusher/src/Sly',
),
'Ramsey\\Uuid\\' =>
array (
0 => __DIR__ . '/..' . '/ramsey/uuid/src',
),
'Psy\\' =>
array (
0 => __DIR__ . '/..' . '/psy/psysh/src',
),
'Psr\\SimpleCache\\' =>
array (
0 => __DIR__ . '/..' . '/psr/simple-cache/src',
@@ -428,6 +448,10 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
array (
0 => __DIR__ . '/..' . '/lcobucci/jwt/src',
),
'Laravel\\Tinker\\' =>
array (
0 => __DIR__ . '/..' . '/laravel/tinker/src',
),
'Laravel\\Socialite\\' =>
array (
0 => __DIR__ . '/..' . '/laravel/socialite/src',
@@ -562,13 +586,6 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
0 => __DIR__ . '/..' . '/thomaswelton/gravatarlib',
),
),
'S' =>
array (
'Sly' =>
array (
0 => __DIR__ . '/..' . '/sly/notification-pusher/src',
),
),
'P' =>
array (
'Prophecy\\' =>
@@ -599,6 +616,17 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
0 => __DIR__ . '/..' . '/maatwebsite/excel/src',
),
),
'J' =>
array (
'JakubOnderka\\PhpConsoleHighlighter' =>
array (
0 => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src',
),
'JakubOnderka\\PhpConsoleColor' =>
array (
0 => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src',
),
),
'G' =>
array (
'Guzzle\\Tests' =>

View File

@@ -1,17 +1,17 @@
[
{
"name": "aws/aws-sdk-php",
"version": "3.67.5",
"version_normalized": "3.67.5.0",
"version": "3.67.12",
"version_normalized": "3.67.12.0",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63"
"reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cdc7180ae87b23d8b34eb8eb8176002081b32c3d",
"reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d",
"shasum": ""
},
"require": {
@@ -42,7 +42,7 @@
"ext-curl": "To send requests using cURL",
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages"
},
"time": "2018-09-04T21:04:34+00:00",
"time": "2018-09-13T18:34:42+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -560,6 +560,41 @@
"push"
]
},
{
"name": "dnoegel/php-xdg-base-dir",
"version": "0.1",
"version_normalized": "0.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/dnoegel/php-xdg-base-dir.git",
"reference": "265b8593498b997dc2d31e75b89f053b5cc9621a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a",
"reference": "265b8593498b997dc2d31e75b89f053b5cc9621a",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "@stable"
},
"time": "2014-10-24T07:27:01+00:00",
"type": "project",
"installation-source": "dist",
"autoload": {
"psr-4": {
"XdgBaseDir\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "implementation of xdg base directory specification for php"
},
{
"name": "doctrine/cache",
"version": "v1.8.0",
@@ -1240,17 +1275,17 @@
},
{
"name": "filp/whoops",
"version": "2.2.0",
"version_normalized": "2.2.0.0",
"version": "2.2.1",
"version_normalized": "2.2.1.0",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
"reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a"
"reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/181c4502d8f34db7aed7bfe88d4f87875b8e947a",
"reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a",
"url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311",
"reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311",
"shasum": ""
},
"require": {
@@ -1266,11 +1301,11 @@
"symfony/var-dumper": "Pretty print complex values better with var-dumper available",
"whoops/soap": "Formats errors as SOAP responses"
},
"time": "2018-03-03T17:56:25+00:00",
"time": "2018-06-30T13:14:06+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
}
},
"installation-source": "dist",
@@ -1409,17 +1444,17 @@
},
{
"name": "giggsey/libphonenumber-for-php",
"version": "8.9.12",
"version_normalized": "8.9.12.0",
"version": "8.9.13",
"version_normalized": "8.9.13.0",
"source": {
"type": "git",
"url": "https://github.com/giggsey/libphonenumber-for-php.git",
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774"
"reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/cb4e0cf25f742a838b9d53ed6a7088c4f24086f3",
"reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3",
"shasum": ""
},
"require": {
@@ -1436,7 +1471,7 @@
"phpunit/phpunit": "^4.8|^5.0",
"symfony/console": "^2.8|^3.0"
},
"time": "2018-08-23T10:23:25+00:00",
"time": "2018-09-10T15:26:43+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1882,6 +1917,97 @@
"watermark"
]
},
{
"name": "jakub-onderka/php-console-color",
"version": "0.1",
"version_normalized": "0.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Console-Color.git",
"reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1",
"reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"jakub-onderka/php-code-style": "1.0",
"jakub-onderka/php-parallel-lint": "0.*",
"jakub-onderka/php-var-dump-check": "0.*",
"phpunit/phpunit": "3.7.*",
"squizlabs/php_codesniffer": "1.*"
},
"time": "2014-04-08T15:00:19+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-0": {
"JakubOnderka\\PhpConsoleColor": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Jakub Onderka",
"email": "jakub.onderka@gmail.com",
"homepage": "http://www.acci.cz"
}
]
},
{
"name": "jakub-onderka/php-console-highlighter",
"version": "v0.3.2",
"version_normalized": "0.3.2.0",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git",
"reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5",
"reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5",
"shasum": ""
},
"require": {
"jakub-onderka/php-console-color": "~0.1",
"php": ">=5.3.0"
},
"require-dev": {
"jakub-onderka/php-code-style": "~1.0",
"jakub-onderka/php-parallel-lint": "~0.5",
"jakub-onderka/php-var-dump-check": "~0.1",
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~1.5"
},
"time": "2015-04-20T18:58:01+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-0": {
"JakubOnderka\\PhpConsoleHighlighter": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jakub Onderka",
"email": "acci@acci.cz",
"homepage": "http://www.acci.cz/"
}
]
},
{
"name": "jeremeamia/SuperClosure",
"version": "2.4.0",
@@ -2245,6 +2371,71 @@
"oauth"
]
},
{
"name": "laravel/tinker",
"version": "v1.0.7",
"version_normalized": "1.0.7.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
"reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/tinker/zipball/e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
"reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
"shasum": ""
},
"require": {
"illuminate/console": "~5.1",
"illuminate/contracts": "~5.1",
"illuminate/support": "~5.1",
"php": ">=5.5.9",
"psy/psysh": "0.7.*|0.8.*|0.9.*",
"symfony/var-dumper": "~3.0|~4.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0|~5.0"
},
"suggest": {
"illuminate/database": "The Illuminate Database package (~5.1)."
},
"time": "2018-05-17T13:42:07+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
},
"laravel": {
"providers": [
"Laravel\\Tinker\\TinkerServiceProvider"
]
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"Laravel\\Tinker\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Powerful REPL for the Laravel framework.",
"keywords": [
"REPL",
"Tinker",
"laravel",
"psysh"
]
},
{
"name": "laravelcollective/html",
"version": "v5.6.10",
@@ -2377,27 +2568,27 @@
},
{
"name": "league/flysystem",
"version": "1.0.46",
"version_normalized": "1.0.46.0",
"version": "1.0.47",
"version_normalized": "1.0.47.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2"
"reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a11e4a75f256bdacf99d20780ce42d3b8272975c",
"reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c",
"shasum": ""
},
"require": {
"ext-fileinfo": "*",
"php": ">=5.5.9"
},
"conflict": {
"league/flysystem-sftp": "<1.0.6"
},
"require-dev": {
"ext-fileinfo": "*",
"phpspec/phpspec": "^3.4",
"phpunit/phpunit": "^5.7.10"
},
@@ -2417,7 +2608,7 @@
"spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
"srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
},
"time": "2018-08-22T07:45:22+00:00",
"time": "2018-09-14T15:30:29+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -3886,23 +4077,26 @@
},
{
"name": "phpunit/php-file-iterator",
"version": "2.0.1",
"version_normalized": "2.0.1.0",
"version": "2.0.2",
"version_normalized": "2.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c"
"reference": "050bedf145a257b1ff02746c31894800e5122946"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cecbc684605bb0cc288828eb5d65d93d5c676d3c",
"reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
"reference": "050bedf145a257b1ff02746c31894800e5122946",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"time": "2018-06-11T11:44:00+00:00",
"require-dev": {
"phpunit/phpunit": "^7.1"
},
"time": "2018-09-13T20:33:42+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -4080,17 +4274,17 @@
},
{
"name": "phpunit/phpunit",
"version": "7.3.3",
"version_normalized": "7.3.3.0",
"version": "7.3.5",
"version_normalized": "7.3.5.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898"
"reference": "7b331efabbb628c518c408fdfcaf571156775de2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7b331efabbb628c518c408fdfcaf571156775de2",
"reference": "7b331efabbb628c518c408fdfcaf571156775de2",
"shasum": ""
},
"require": {
@@ -4129,7 +4323,7 @@
"ext-xdebug": "*",
"phpunit/php-invoker": "^2.0"
},
"time": "2018-09-01T15:49:55+00:00",
"time": "2018-09-08T15:14:29+00:00",
"bin": [
"phpunit"
],
@@ -4483,6 +4677,82 @@
"simple-cache"
]
},
{
"name": "psy/psysh",
"version": "v0.9.8",
"version_normalized": "0.9.8.0",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
"reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/ed3c32c4304e1a678a6e0f9dc11dd2d927d89555",
"reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555",
"shasum": ""
},
"require": {
"dnoegel/php-xdg-base-dir": "0.1",
"ext-json": "*",
"ext-tokenizer": "*",
"jakub-onderka/php-console-highlighter": "0.3.*",
"nikic/php-parser": "~1.3|~2.0|~3.0|~4.0",
"php": ">=5.4.0",
"symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0",
"symfony/var-dumper": "~2.7|~3.0|~4.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.2",
"hoa/console": "~2.15|~3.16",
"phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0"
},
"suggest": {
"ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
"ext-pdo-sqlite": "The doc command requires SQLite to work.",
"ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
"ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.",
"hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit."
},
"time": "2018-09-05T11:40:09+00:00",
"bin": [
"bin/psysh"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-develop": "0.9.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"src/functions.php"
],
"psr-4": {
"Psy\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Justin Hileman",
"email": "justin@justinhileman.info",
"homepage": "http://justinhileman.com"
}
],
"description": "An interactive shell for modern PHP.",
"homepage": "http://psysh.org",
"keywords": [
"REPL",
"console",
"interactive",
"shell"
]
},
{
"name": "ramsey/uuid",
"version": "3.8.0",
@@ -5154,17 +5424,17 @@
},
{
"name": "sly/notification-pusher",
"version": "v2.3.5",
"version_normalized": "2.3.5.0",
"version": "v2.3.6",
"version_normalized": "2.3.6.0",
"source": {
"type": "git",
"url": "https://github.com/Ph3nol/NotificationPusher.git",
"reference": "fc6ab3e72f3d93e7dd3b1e1df883946d206a12ec"
"reference": "6b3710bf65192d5bec724249566c2f11928866ad"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Ph3nol/NotificationPusher/zipball/fc6ab3e72f3d93e7dd3b1e1df883946d206a12ec",
"reference": "fc6ab3e72f3d93e7dd3b1e1df883946d206a12ec",
"url": "https://api.github.com/repos/Ph3nol/NotificationPusher/zipball/6b3710bf65192d5bec724249566c2f11928866ad",
"reference": "6b3710bf65192d5bec724249566c2f11928866ad",
"shasum": ""
},
"require": {
@@ -5184,15 +5454,15 @@
"atoum/visibility-extension": "^1.3",
"symfony/var-dumper": ">=2.3,<5"
},
"time": "2018-02-17T13:20:40+00:00",
"time": "2018-09-15T15:21:38+00:00",
"bin": [
"np"
],
"type": "standalone",
"installation-source": "dist",
"autoload": {
"psr-0": {
"Sly": "src/"
"psr-4": {
"Sly\\": "src/Sly/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -5225,17 +5495,17 @@
},
{
"name": "swiftmailer/swiftmailer",
"version": "v6.1.2",
"version_normalized": "6.1.2.0",
"version": "v6.1.3",
"version_normalized": "6.1.3.0",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
"reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8"
"reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7d760881d266d63c5e7a1155cbcf2ac656a31ca8",
"reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4",
"reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4",
"shasum": ""
},
"require": {
@@ -5250,7 +5520,7 @@
"ext-intl": "Needed to support internationalized email addresses",
"true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed"
},
"time": "2018-07-13T07:04:35+00:00",
"time": "2018-09-11T07:12:52+00:00",
"type": "library",
"extra": {
"branch-alias": {

View File

@@ -0,0 +1 @@
/vendor/

19
vendor/dnoegel/php-xdg-base-dir/LICENSE vendored Normal file
View File

@@ -0,0 +1,19 @@
Copyright (c) 2014 Daniel Nögel
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -0,0 +1,38 @@
# XDG Base Directory
[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)
Implementation of XDG Base Directory specification for php
## Install
Via Composer
``` bash
$ composer require dnoegel/php-xdg-base-dir
```
## Usage
``` php
$xdg = \XdgBaseDir\Xdg();
echo $xdg->getHomeDir();
echo $xdg->getHomeConfigDir()
echo $xdg->getHomeDataDir()
echo $xdg->getHomeCacheDir()
echo $xdg->getRuntimeDir()
$xdg->getDataDirs() // returns array
$xdg->getConfigDirs() // returns array
```
## Testing
``` bash
$ phpunit
```
## License
The MIT License (MIT). Please see [License File](https://github.com/dnoegel/php-xdg-base-dir/blob/master/LICENSE) for more information.

View File

@@ -0,0 +1,17 @@
{
"name": "dnoegel/php-xdg-base-dir",
"description": "implementation of xdg base directory specification for php",
"type": "project",
"license": "MIT",
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "@stable"
},
"autoload": {
"psr-4": {
"XdgBaseDir\\": "src/"
}
}
}

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false"
bootstrap="vendor/autoload.php"
>
<testsuites>
<testsuite name="php-xdg-base-dir unit tests">
<directory>./tests/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>./src/</directory>
</whitelist>
</filter>
</phpunit>

View File

@@ -0,0 +1,121 @@
<?php
namespace XdgBaseDir;
/**
* Simple implementation of the XDG standard http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
*
* Based on the python implementation https://github.com/takluyver/pyxdg/blob/master/xdg/BaseDirectory.py
*
* Class Xdg
* @package ShopwareCli\Application
*/
class Xdg
{
const S_IFDIR = 040000; // directory
const S_IRWXO = 00007; // rwx other
const S_IRWXG = 00056; // rwx group
const RUNTIME_DIR_FALLBACK = 'php-xdg-runtime-dir-fallback-';
/**
* @return string
*/
public function getHomeDir()
{
return getenv('HOME') ?: (getenv('HOMEDRIVE') . DIRECTORY_SEPARATOR . getenv('HOMEPATH'));
}
/**
* @return string
*/
public function getHomeConfigDir()
{
$path = getenv('XDG_CONFIG_HOME') ?: $this->getHomeDir() . DIRECTORY_SEPARATOR . '.config';
return $path;
}
/**
* @return string
*/
public function getHomeDataDir()
{
$path = getenv('XDG_DATA_HOME') ?: $this->getHomeDir() . DIRECTORY_SEPARATOR . '.local' . DIRECTORY_SEPARATOR . 'share';
return $path;
}
/**
* @return array
*/
public function getConfigDirs()
{
$configDirs = getenv('XDG_CONFIG_DIRS') ? explode(':', getenv('XDG_CONFIG_DIRS')) : array('/etc/xdg');
$paths = array_merge(array($this->getHomeConfigDir()), $configDirs);
return $paths;
}
/**
* @return array
*/
public function getDataDirs()
{
$dataDirs = getenv('XDG_DATA_DIRS') ? explode(':', getenv('XDG_DATA_DIRS')) : array('/usr/local/share', '/usr/share');
$paths = array_merge(array($this->getHomeDataDir()), $dataDirs);
return $paths;
}
/**
* @return string
*/
public function getHomeCacheDir()
{
$path = getenv('XDG_CACHE_HOME') ?: $this->getHomeDir() . DIRECTORY_SEPARATOR . '.cache';
return $path;
}
public function getRuntimeDir($strict=true)
{
if ($runtimeDir = getenv('XDG_RUNTIME_DIR')) {
return $runtimeDir;
}
if ($strict) {
throw new \RuntimeException('XDG_RUNTIME_DIR was not set');
}
$fallback = sys_get_temp_dir() . DIRECTORY_SEPARATOR . self::RUNTIME_DIR_FALLBACK . getenv('USER');
$create = false;
if (!is_dir($fallback)) {
mkdir($fallback, 0700, true);
}
$st = lstat($fallback);
# The fallback must be a directory
if (!$st['mode'] & self::S_IFDIR) {
rmdir($fallback);
$create = true;
} elseif ($st['uid'] != getmyuid() ||
$st['mode'] & (self::S_IRWXG | self::S_IRWXO)
) {
rmdir($fallback);
$create = true;
}
if ($create) {
mkdir($fallback, 0700, true);
}
return $fallback;
}
}

View File

@@ -0,0 +1,116 @@
<?php
class XdgTest extends PHPUnit_Framework_TestCase
{
/**
* @return \XdgBaseDir\Xdg
*/
public function getXdg()
{
return new \XdgBaseDir\Xdg();
}
public function testGetHomeDir()
{
putenv('HOME=/fake-dir');
$this->assertEquals('/fake-dir', $this->getXdg()->getHomeDir());
}
public function testGetFallbackHomeDir()
{
putenv('HOME=');
putenv('HOMEDRIVE=C:');
putenv('HOMEPATH=fake-dir');
$this->assertEquals('C:/fake-dir', $this->getXdg()->getHomeDir());
}
public function testXdgPutCache()
{
putenv('XDG_DATA_HOME=tmp/');
putenv('XDG_CONFIG_HOME=tmp/');
putenv('XDG_CACHE_HOME=tmp/');
$this->assertEquals('tmp/', $this->getXdg()->getHomeCacheDir());
}
public function testXdgPutData()
{
putenv('XDG_DATA_HOME=tmp/');
$this->assertEquals('tmp/', $this->getXdg()->getHomeDataDir());
}
public function testXdgPutConfig()
{
putenv('XDG_CONFIG_HOME=tmp/');
$this->assertEquals('tmp/', $this->getXdg()->getHomeConfigDir());
}
public function testXdgDataDirsShouldIncludeHomeDataDir()
{
putenv('XDG_DATA_HOME=tmp/');
putenv('XDG_CONFIG_HOME=tmp/');
$this->assertArrayHasKey('tmp/', array_flip($this->getXdg()->getDataDirs()));
}
public function testXdgConfigDirsShouldIncludeHomeConfigDir()
{
putenv('XDG_CONFIG_HOME=tmp/');
$this->assertArrayHasKey('tmp/', array_flip($this->getXdg()->getConfigDirs()));
}
/**
* If XDG_RUNTIME_DIR is set, it should be returned
*/
public function testGetRuntimeDir()
{
putenv('XDG_RUNTIME_DIR=/tmp/');
$runtimeDir = $this->getXdg()->getRuntimeDir();
$this->assertEquals(is_dir($runtimeDir), true);
}
/**
* In strict mode, an exception should be shown if XDG_RUNTIME_DIR does not exist
*
* @expectedException \RuntimeException
*/
public function testGetRuntimeDirShouldThrowException()
{
putenv('XDG_RUNTIME_DIR=');
$this->getXdg()->getRuntimeDir(true);
}
/**
* In fallback mode a directory should be created
*/
public function testGetRuntimeDirShouldCreateDirectory()
{
putenv('XDG_RUNTIME_DIR=');
$dir = $this->getXdg()->getRuntimeDir(false);
$permission = decoct(fileperms($dir) & 0777);
$this->assertEquals(700, $permission);
}
/**
* Ensure, that the fallback directories are created with correct permission
*/
public function testGetRuntimeShouldDeleteDirsWithWrongPermission()
{
$runtimeDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . XdgBaseDir\Xdg::RUNTIME_DIR_FALLBACK . getenv('USER');
rmdir($runtimeDir);
mkdir($runtimeDir, 0764, true);
// Permission should be wrong now
$permission = decoct(fileperms($runtimeDir) & 0777);
$this->assertEquals(764, $permission);
putenv('XDG_RUNTIME_DIR=');
$dir = $this->getXdg()->getRuntimeDir(false);
// Permission should be fixed
$permission = decoct(fileperms($dir) & 0777);
$this->assertEquals(700, $permission);
}
}

View File

@@ -1,3 +1,7 @@
# 2.2.0
* Support PHP 7.2
# 2.1.0
* Add a `SystemFacade` to allow clients to override Whoops behavior.

View File

@@ -36,7 +36,7 @@
},
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
}
}
}

View File

@@ -507,6 +507,10 @@ class PrettyPageHandler extends Handler
$callback = call_user_func($this->editors[$this->editor], $filePath, $line);
}
if (empty($callback)) {
return [];
}
if (is_string($callback)) {
return [
'ajax' => false,

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
v8.9.12
v8.9.13

View File

@@ -119,90 +119,88 @@ return array (
95 => 47,
96 => 48,
97 => 49,
98 => 501,
99 => 502,
100 => 503,
101 => 505,
102 => 506,
103 => 507,
104 => 508,
105 => 509,
106 => 51,
107 => 53,
108 => 54,
109 => 55,
110 => 56,
111 => 57,
112 => 58,
113 => 590,
114 => 591,
115 => 592,
116 => 593,
117 => 594,
118 => 595,
119 => 596,
120 => 597,
121 => 598,
122 => 599,
123 => 60,
124 => 61,
125 => 62,
126 => 63,
127 => 64,
128 => 65,
129 => 66,
130 => 670,
131 => 673,
132 => 674,
133 => 675,
134 => 676,
135 => 677,
136 => 678,
137 => 679,
138 => 680,
139 => 685,
140 => 686,
141 => 688,
142 => 689,
143 => 7,
144 => 84,
145 => 852,
146 => 853,
147 => 855,
148 => 856,
149 => 86,
150 => 880,
151 => 886,
152 => 90,
153 => 91,
154 => 92,
155 => 93,
156 => 94,
157 => 95,
158 => 960,
159 => 961,
160 => 962,
161 => 963,
162 => 964,
163 => 965,
164 => 966,
165 => 967,
166 => 968,
167 => 970,
168 => 971,
169 => 972,
170 => 973,
171 => 974,
172 => 975,
173 => 976,
174 => 977,
175 => 98,
176 => 992,
177 => 993,
178 => 994,
179 => 995,
180 => 996,
181 => 998,
98 => 502,
99 => 503,
100 => 505,
101 => 506,
102 => 507,
103 => 508,
104 => 509,
105 => 51,
106 => 53,
107 => 54,
108 => 55,
109 => 56,
110 => 57,
111 => 58,
112 => 590,
113 => 591,
114 => 592,
115 => 593,
116 => 594,
117 => 595,
118 => 596,
119 => 597,
120 => 598,
121 => 599,
122 => 60,
123 => 61,
124 => 62,
125 => 63,
126 => 64,
127 => 65,
128 => 66,
129 => 670,
130 => 673,
131 => 674,
132 => 675,
133 => 677,
134 => 678,
135 => 679,
136 => 680,
137 => 685,
138 => 686,
139 => 688,
140 => 689,
141 => 7,
142 => 84,
143 => 852,
144 => 853,
145 => 855,
146 => 856,
147 => 86,
148 => 880,
149 => 886,
150 => 90,
151 => 91,
152 => 92,
153 => 93,
154 => 94,
155 => 95,
156 => 960,
157 => 961,
158 => 962,
159 => 963,
160 => 964,
161 => 965,
162 => 966,
163 => 967,
164 => 968,
165 => 970,
166 => 971,
167 => 972,
168 => 973,
169 => 974,
170 => 975,
171 => 976,
172 => 977,
173 => 98,
174 => 992,
175 => 993,
176 => 994,
177 => 995,
178 => 996,
179 => 998,
),
'fa' =>
array (

View File

@@ -15,8 +15,6 @@ return array (
24105 => 'Moov',
24106 => 'Libertis',
24107 => 'Airtel',
24110 => 'Libertis',
24111 => 'Libertis',
24120 => 'Libertis',
24121 => 'Libertis',
24122 => 'Libertis',
@@ -30,6 +28,4 @@ return array (
2415 => 'Moov',
2416 => 'Libertis',
2417 => 'Airtel',
24195 => 'Libertis',
24197 => 'Libertis',
);

View File

@@ -14,5 +14,6 @@ return array (
26460 => 'Telecom Namibia',
26481 => 'MTC',
26482 => 'Telecom Namibia',
26484 => 'MTN',
26485 => 'TN Mobile',
);

View File

@@ -11,6 +11,7 @@
*/
return array (
32455 => 'VOO',
32456 => 'JIM Mobile',
32460 => 'Proximus',
324618 => 'N.M.B.S.',

View File

@@ -11,7 +11,6 @@
*/
return array (
357123 => 'Cytamobile-Vodafone',
35794 => 'Lemontel',
35795 => 'PrimeTel',
35796 => 'MTN',

View File

@@ -1,16 +0,0 @@
<?php
/**
* This file has been @generated by a phing task by {@link GeneratePhonePrefixData}.
* See [README.md](README.md#generating-data) for more information.
*
* Pull requests changing data in these files will not be accepted. See the
* [FAQ in the README](README.md#problems-with-invalid-numbers] on how to make
* metadata changes.
*
* Do not modify this file directly!
*/
return array (
50120 => 'DigiCell',
50121 => 'DigiCell',
);

View File

@@ -249,42 +249,20 @@ return array (
60149 => 'DiGi',
6015460 => 'Telekom',
6015461 => 'Telekom',
6015462 => 'Telekom',
6015463 => 'Telekom',
6015464 => 'Telekom',
60154801 => 'Telekom',
60154802 => 'ARL',
60154805 => 'Offisgate',
6015481 => 'Jaring',
60154821 => 'TT dotCom',
60154830 => 'EB Technologies',
60154840 => 'red ONE',
60154841 => 'Bizsurf',
60154845 => 'Fristor',
60154848 => 'Webe',
60154849 => 'Webe',
60154850 => 'MyKris',
60154851 => 'Maxis',
60154854 => 'GITN',
60154860 => 'TM Net',
60154862 => 'TM Net',
60154870 => 'Optical Communication',
60154871 => 'red ONE',
60154872 => 'red ONE',
60154873 => 'red ONE',
60154874 => 'red ONE',
60154875 => 'PP International',
60154876 => 'red ONE',
60154877 => 'red ONE',
60154878 => 'Tg Agas',
60154879 => 'red ONE',
60154888 => 'Asian Broadcasting Network',
6015632 => 'Majlis Keselamatan Negara',
6015678 => 'Eletcoms',
6015881 => 'Webe',
6015882 => 'Asiaspace',
60158850 => 'IP Mobility',
60158860 => 'Izzinet',
6015920 => 'Celcom',
6015921 => 'Celcom',
6015922 => 'Celcom',

View File

@@ -11,7 +11,6 @@
*/
return array (
62199 => 'Esia',
6221317 => 'Esia',
62213430 => 'Esia',
62213431 => 'Esia',
@@ -342,13 +341,6 @@ return array (
62298922 => 'Esia',
62298923 => 'Esia',
62298924 => 'Esia',
622990 => 'Esia',
622991 => 'Esia',
622992 => 'Esia',
622993 => 'Esia',
622994 => 'Esia',
622995 => 'Esia',
622996 => 'Esia',
623191 => 'Esia',
623192 => 'Esia',
6231930 => 'Esia',
@@ -469,13 +461,6 @@ return array (
62380997 => 'Esia',
62380998 => 'Esia',
62380999 => 'Esia',
623990 => 'Esia',
623991 => 'Esia',
623992 => 'Esia',
623993 => 'Esia',
623994 => 'Esia',
623995 => 'Esia',
623996 => 'Esia',
62401700 => 'Esia',
62401701 => 'Esia',
62401702 => 'Esia',

View File

@@ -21,4 +21,5 @@ return array (
675775 => 'Telikom',
67578 => 'Telikom',
67579 => 'Digicel',
67581 => 'DIGIVOIP',
);

View File

@@ -1,39 +0,0 @@
<?php
/**
* This file has been @generated by a phing task by {@link GeneratePhonePrefixData}.
* See [README.md](README.md#generating-data) for more information.
*
* Pull requests changing data in these files will not be accepted. See the
* [FAQ in the README](README.md#problems-with-invalid-numbers] on how to make
* metadata changes.
*
* Do not modify this file directly!
*/
return array (
67615 => 'U-Call',
67616 => 'U-Call',
67617 => 'U-Call',
67618 => 'U-Call',
67619 => 'U-Call',
67646 => 'U-Call',
67649 => 'U-Call',
67653 => 'U-Call',
67654 => 'U-Call',
67655 => 'U-Call',
67656 => 'U-Call',
67657 => 'U-Call',
67658 => 'U-Call',
67659 => 'U-Call',
67663 => 'U-Call',
67664 => 'U-Call',
67665 => 'U-Call',
67666 => 'U-Call',
67667 => 'U-Call',
67668 => 'U-Call',
67669 => 'U-Call',
67675 => 'U-Call',
67676 => 'U-Call',
67677 => 'U-Call',
67678 => 'U-Call',
);

View File

@@ -22,8 +22,6 @@ return array (
678573 => 'Digicel',
678574 => 'Digicel',
678575 => 'Digicel',
678576 => 'Digicel',
678577 => 'Digicel',
67858 => 'Digicel',
67859 => 'Digicel',
67870 => 'SMILE',

View File

@@ -37,6 +37,12 @@ return array (
84523 => 'Vietnamobile',
8456 => 'Vietnamobile',
8458 => 'Vietnamobile',
8459 => 'G-Mobile',
8470 => 'MobiFone',
8476 => 'MobiFone',
8477 => 'MobiFone',
8478 => 'MobiFone',
8479 => 'MobiFone',
8481 => 'Vinaphone',
8482 => 'Vinaphone',
8483 => 'Vinaphone',

View File

@@ -20,7 +20,6 @@ return array (
97337 => 'zain BH',
97338 => 'Batelco',
97339 => 'Batelco',
97354 => 'VIVA',
97363 => 'VIVA',
973663 => 'zain BH',
973666 => 'zain BH',

View File

@@ -29,7 +29,7 @@ return array (
),
'fixedLine' =>
array (
'NationalNumberPattern' => '2(?:[45]\\d{3}|7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|[139][1-6]|2[0157-9]|41|6[1-35]|7[1-5]|8[1-8]|90)|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0167]|7[15]|8[0146-9]))\\d{4}|3(?:12?[5-7]\\d{2}|0(?:2(?:[025-79]\\d|[348]\\d{1,2})|3(?:[2-4]\\d|[56]\\d?))|2(?:1\\d{2}|2(?:[12]\\d|[35]\\d{1,2}|4\\d?))|3(?:1\\d{2}|2(?:[2356]\\d|4\\d{1,2}))|4(?:1\\d{2}|2(?:2\\d{1,2}|[47]|5\\d{2}))|5(?:1\\d{2}|29)|[67]1\\d{2}|8(?:1\\d{2}|2(?:2\\d{2}|3|4\\d)))\\d{3}|4(?:0(?:2(?:[09]\\d|7)|33\\d{2})|1\\d{3}|2(?:1\\d{2}|2(?:[25]\\d?|[348]\\d|[67]\\d{1,2}))|3(?:1\\d{2}(?:\\d{2})?|2(?:[045]\\d|[236-9]\\d{1,2})|32\\d{2})|4(?:[18]\\d{2}|2(?:[2-46]\\d{2}|3)|5[25]\\d{2})|5(?:1\\d{2}|2(?:3\\d|5))|6(?:[18]\\d{2}|2(?:3(?:\\d{2})?|[46]\\d{1,2}|5\\d{2}|7\\d)|5(?:3\\d?|4\\d|[57]\\d{1,2}|6\\d{2}|8)|62\\d{2})|71\\d{2}|8(?:[18]|23|54)\\d{2}|9(?:[18]\\d{2}|2[2-5]\\d{2}|53\\d{1,2}))\\d{3}|5(?:02[03489]\\d{2}|1\\d{2}|2(?:1\\d{2}|2(?:2(?:\\d{2})?|[457]\\d{2}))|3(?:1\\d{2}|2(?:[37](?:\\d{2})?|[569]\\d{2}))|4(?:1\\d{2}|2[46]\\d{2})|5(?:1\\d{2}|26\\d{1,2})|6(?:[18]\\d{2}|2|53\\d{2})|7(?:1|24)\\d{2}|8(?:1|26)\\d{2}|91\\d{2})\\d{3}|6(?:0(?:1\\d{2}|2(?:3\\d{2}|4\\d{1,2}))|2(?:2[2-5]\\d{2}|5(?:[3-5]\\d{2}|7)|8\\d{2})|3(?:1|2[3478])\\d{2}|4(?:1|2[34])\\d{2}|5(?:1|2[47])\\d{2}|6(?:[18]\\d{2}|6(?:2(?:2\\d|[34]\\d{2})|5(?:[24]\\d{2}|3\\d|5\\d{1,2})))|72[2-5]\\d{2}|8(?:1\\d{2}|2[2-5]\\d{2})|9(?:1\\d{2}|2[2-6]\\d{2}))\\d{3}|7(?:(?:02|[3-589]1|6[12]|72[24])\\d{2}|21\\d{3}|32)\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}',
'NationalNumberPattern' => '2(?:[45]\\d{3}|7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|[139][1-6]|2[0157-9]|41|6[1-35]|7[1-5]|8[1-8]|90)|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[01367]|7[15]|8[0146-9]))\\d{4}|3(?:12?[5-7]\\d{2}|0(?:2(?:[025-79]\\d|[348]\\d{1,2})|3(?:[2-4]\\d|[56]\\d?))|2(?:1\\d{2}|2(?:[12]\\d|[35]\\d{1,2}|4\\d?))|3(?:1\\d{2}|2(?:[2356]\\d|4\\d{1,2}))|4(?:1\\d{2}|2(?:2\\d{1,2}|[47]|5\\d{2}))|5(?:1\\d{2}|29)|[67]1\\d{2}|8(?:1\\d{2}|2(?:2\\d{2}|3|4\\d)))\\d{3}|4(?:0(?:2(?:[09]\\d|7)|33\\d{2})|1\\d{3}|2(?:1\\d{2}|2(?:[25]\\d?|[348]\\d|[67]\\d{1,2}))|3(?:1\\d{2}(?:\\d{2})?|2(?:[045]\\d|[236-9]\\d{1,2})|32\\d{2})|4(?:[18]\\d{2}|2(?:[2-46]\\d{2}|3)|5[25]\\d{2})|5(?:1\\d{2}|2(?:3\\d|5))|6(?:[18]\\d{2}|2(?:3(?:\\d{2})?|[46]\\d{1,2}|5\\d{2}|7\\d)|5(?:3\\d?|4\\d|[57]\\d{1,2}|6\\d{2}|8)|62\\d{2})|71\\d{2}|8(?:[18]|23|54)\\d{2}|9(?:[18]\\d{2}|2[2-5]\\d{2}|53\\d{1,2}))\\d{3}|5(?:02[03489]\\d{2}|1\\d{2}|2(?:1\\d{2}|2(?:2(?:\\d{2})?|[457]\\d{2}))|3(?:1\\d{2}|2(?:[37](?:\\d{2})?|[569]\\d{2}))|4(?:1\\d{2}|2[46]\\d{2})|5(?:1\\d{2}|26\\d{1,2})|6(?:[18]\\d{2}|2|53\\d{2})|7(?:1|24)\\d{2}|8(?:1|26)\\d{2}|91\\d{2})\\d{3}|6(?:0(?:1\\d{2}|2(?:3\\d{2}|4\\d{1,2}))|2(?:2[2-5]\\d{2}|5(?:[3-5]\\d{2}|7)|8\\d{2})|3(?:1|2[3478])\\d{2}|4(?:1|2[34])\\d{2}|5(?:1|2[47])\\d{2}|6(?:[18]\\d{2}|6(?:2(?:2\\d|[34]\\d{2})|5(?:[24]\\d{2}|3\\d|5\\d{1,2})))|72[2-5]\\d{2}|8(?:1\\d{2}|2[2-5]\\d{2})|9(?:1\\d{2}|2[2-6]\\d{2}))\\d{3}|7(?:(?:02|[3-589]1|6[12]|72[24])\\d{2}|21\\d{3}|32)\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}',
'ExampleNumber' => '27111234',
'PossibleLength' =>
array (

View File

@@ -38,7 +38,7 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '4(?:56|6[0135-8]|[79]\\d|8[3-9])\\d{6}',
'NationalNumberPattern' => '4(?:5[56]|6[0135-8]|[79]\\d|8[3-9])\\d{6}',
'ExampleNumber' => '470123456',
'PossibleLength' =>
array (
@@ -74,9 +74,11 @@ return array (
),
'sharedCost' =>
array (
'NationalNumberPattern' => '7879\\d{4}',
'ExampleNumber' => '78791234',
'PossibleLength' =>
array (
0 => -1,
0 => 8,
),
'PossibleLengthLocalOnly' =>
array (
@@ -114,7 +116,7 @@ return array (
),
'uan' =>
array (
'NationalNumberPattern' => '78[0-7]\\d{5}',
'NationalNumberPattern' => '78(?:0[57]|1[0458]|2[25]|3[5678]|48|[56]0|7[078])\\d{4}',
'ExampleNumber' => '78102345',
'PossibleLength' =>
array (

View File

@@ -122,7 +122,7 @@ return array (
),
'uan' =>
array (
'NationalNumberPattern' => '9(?:5\\d|7[234])\\d{6}',
'NationalNumberPattern' => '9(?:5\\d|7[2-4])\\d{6}',
'ExampleNumber' => '972123456',
'PossibleLength' =>
array (

View File

@@ -14,7 +14,7 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '(?:00(?:0\\d|[1-9]\\d{1,4})|(?:[13-6]\\d|2)\\d?|70\\d|80)\\d{7}|1\\d{7}|[3-6]\\d{4,5}',
'NationalNumberPattern' => '(?:00[1-9]\\d{2,4}|[12]|5\\d{3})\\d{7}|(?:(?:00|[13-6])\\d|70)\\d{8}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}',
'PossibleLength' =>
array (
0 => 5,
@@ -104,11 +104,12 @@ return array (
),
'personalNumber' =>
array (
'NationalNumberPattern' => '50\\d{8}',
'NationalNumberPattern' => '50\\d{8,9}',
'ExampleNumber' => '5012345678',
'PossibleLength' =>
array (
0 => 10,
1 => 11,
),
'PossibleLengthLocalOnly' =>
array (
@@ -271,6 +272,18 @@ return array (
'nationalPrefixOptionalWhenFormatting' => false,
),
7 =>
array (
'pattern' => '(\\d{2})(\\d{5})(\\d{4})',
'format' => '$1-$2-$3',
'leadingDigitsPatterns' =>
array (
0 => '50',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '0$CC-$1',
'nationalPrefixOptionalWhenFormatting' => false,
),
8 =>
array (
'pattern' => '(\\d{5})(\\d{3})(\\d{3})',
'format' => '$1 $2 $3',
@@ -284,7 +297,7 @@ return array (
'domesticCarrierCodeFormattingRule' => '0$CC-$1',
'nationalPrefixOptionalWhenFormatting' => false,
),
8 =>
9 =>
array (
'pattern' => '(\\d{5})(\\d{3,4})(\\d{4})',
'format' => '$1 $2 $3',
@@ -298,7 +311,7 @@ return array (
'domesticCarrierCodeFormattingRule' => '0$CC-$1',
'nationalPrefixOptionalWhenFormatting' => false,
),
9 =>
10 =>
array (
'pattern' => '(\\d{5})(\\d{2})(\\d{3})(\\d{4})',
'format' => '$1 $2 $3 $4',
@@ -402,6 +415,18 @@ return array (
'domesticCarrierCodeFormattingRule' => '0$CC-$1',
'nationalPrefixOptionalWhenFormatting' => false,
),
7 =>
array (
'pattern' => '(\\d{2})(\\d{5})(\\d{4})',
'format' => '$1-$2-$3',
'leadingDigitsPatterns' =>
array (
0 => '50',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '0$CC-$1',
'nationalPrefixOptionalWhenFormatting' => false,
),
),
'mainCountryForCode' => false,
'leadingZeroPossible' => false,

View File

@@ -26,7 +26,7 @@ return array (
),
'fixedLine' =>
array (
'NationalNumberPattern' => '(?:2(?:[03478]\\d|1[0-7]|6[1-69])|4(?:[013568]\\d|2[4-7])|5(?:44\\d|471)|6\\d{2}|8(?:14|3[129]))\\d{4}',
'NationalNumberPattern' => '(?:2(?:[03478]\\d|1[0-7]|6[1-79])|4(?:[013568]\\d|2[4-7])|5(?:44\\d|471)|6\\d{2}|8(?:14|3[129]))\\d{4}',
'ExampleNumber' => '54480123',
'PossibleLength' =>
array (

View File

@@ -26,7 +26,7 @@ return array (
),
'fixedLine' =>
array (
'NationalNumberPattern' => '6(?:1(?:17|2(?:[0189]\\d|[2-6]|7\\d?)|3(?:[01378]|2\\d)|4(?:[024]|10?|3[15]?)|69|7[014])|2(?:17|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[289]|7[01]|81)|4(?:17|2(?:[012]|7\\d?)|4(?:[06]|1\\d?)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|6[89]|7[01]))\\d{4}',
'NationalNumberPattern' => '6(?:1(?:0\\d{2}|17|2(?:[0189]\\d|[2-7]\\d?)|3(?:[01378]\\d?|[24-69]\\d)|4(?:[0-4]\\d?|[5-9]\\d)|69|7[014])|2(?:17|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[289]|7[01]|81)|4(?:17|2(?:[012]|7\\d?)|4(?:[06]|1\\d?)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|6[89]|7[01]))\\d{4}',
'ExampleNumber' => '61221234',
'PossibleLength' =>
array (
@@ -37,7 +37,7 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '(?:60|8[125])\\d{7}',
'NationalNumberPattern' => '(?:60|8[1245])\\d{7}',
'ExampleNumber' => '811234567',
'PossibleLength' =>
array (
@@ -49,9 +49,11 @@ return array (
),
'tollFree' =>
array (
'NationalNumberPattern' => '80\\d{7}',
'ExampleNumber' => '800123456',
'PossibleLength' =>
array (
0 => -1,
0 => 9,
),
'PossibleLengthLocalOnly' =>
array (
@@ -154,7 +156,7 @@ return array (
'format' => '$1 $2 $3',
'leadingDigitsPatterns' =>
array (
0 => '8[1-35]',
0 => '8[0-5]',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',

View File

@@ -104,7 +104,7 @@ return array (
),
'voip' =>
array (
'NationalNumberPattern' => '(?:6760|(?:85|91)\\d{2})\\d{5}',
'NationalNumberPattern' => '(?:85|91)\\d{7}',
'ExampleNumber' => '851234567',
'PossibleLength' =>
array (

View File

@@ -14,7 +14,7 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '(?:180|(?:(?:[2-59]|7\\d)\\d|64|85)\\d)\\d{4}',
'NationalNumberPattern' => '(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}',
'PossibleLength' =>
array (
0 => 7,
@@ -38,7 +38,7 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '7(?:[0-689]\\d|75)\\d{5}',
'NationalNumberPattern' => '(?:7(?:[0-689]\\d|75)|81\\d)\\d{5}',
'ExampleNumber' => '70123456',
'PossibleLength' =>
array (
@@ -167,7 +167,7 @@ return array (
'format' => '$1 $2',
'leadingDigitsPatterns' =>
array (
0 => '20|7',
0 => '20|[78]',
),
'nationalPrefixFormattingRule' => '',
'domesticCarrierCodeFormattingRule' => '',

View File

@@ -14,7 +14,7 @@
return array (
'generalDesc' =>
array (
'NationalNumberPattern' => '[12]\\d{9}|[13589]\\d{8}|(?:(?:1\\d|69)\\d\\d?|799|8\\d\\d)\\d{4}',
'NationalNumberPattern' => '[12]\\d{9}|[135-9]\\d{8}|(?:[16]\\d?|[78])\\d{6}',
'PossibleLength' =>
array (
0 => 7,
@@ -41,7 +41,7 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '(?:1(?:2\\d|6[2-9]|8[68]|99)\\d|3\\d{2}|5(?:2[23]|[68]\\d)|8(?:[1-58]\\d|[69][689])|9(?:[0-8]\\d|9[013-9]))\\d{6}',
'NationalNumberPattern' => '(?:1(?:2\\d|6[2-9]|8[68]|99)\\d|3\\d{2}|5(?:2[23]|[689]\\d)|7[06-9]\\d|8(?:[1-58]\\d|[69][689])|9(?:[0-8]\\d|9[013-9]))\\d{6}',
'ExampleNumber' => '912345678',
'PossibleLength' =>
array (
@@ -102,7 +102,7 @@ return array (
),
'voip' =>
array (
'NationalNumberPattern' => '992\\d{6}',
'NationalNumberPattern' => '(?:672|992)\\d{6}',
'ExampleNumber' => '992012345',
'PossibleLength' =>
array (
@@ -227,11 +227,11 @@ return array (
),
5 =>
array (
'pattern' => '([89]\\d)(\\d{3})(\\d{2})(\\d{2})',
'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})',
'format' => '$1 $2 $3 $4',
'leadingDigitsPatterns' =>
array (
0 => '9',
0 => '672|9',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',
@@ -251,11 +251,11 @@ return array (
),
7 =>
array (
'pattern' => '([358]\\d{2})(\\d{3})(\\d{3})',
'pattern' => '([3578]\\d{2})(\\d{3})(\\d{3})',
'format' => '$1 $2 $3',
'leadingDigitsPatterns' =>
array (
0 => '[35]|8[1-9]',
0 => '[357]|8[1-9]',
),
'nationalPrefixFormattingRule' => '0$1',
'domesticCarrierCodeFormattingRule' => '',

View File

@@ -0,0 +1,3 @@
build
vendor
composer.lock

View File

@@ -0,0 +1,15 @@
language: php
php:
- 5.3.3
- 5.4
- 5.5
before_script:
- composer self-update
- composer install --no-interaction --prefer-source --dev
script:
- ant phplint
- ant phpcs
- ant phpunit

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<project default="build">
<!-- Set executables according to OS -->
<condition property="phpunit" value="${basedir}/vendor/bin/phpunit.bat" else="${basedir}/vendor/bin/phpunit">
<os family="windows" />
</condition>
<condition property="phpcs" value="${basedir}/vendor/bin/phpcs.bat" else="${basedir}/vendor/bin/phpcs">
<os family="windows" />
</condition>
<condition property="parallel-lint" value="${basedir}/vendor/bin/parallel-lint.bat" else="${basedir}/vendor/bin/parallel-lint">
<os family="windows" />
</condition>
<condition property="var-dump-check" value="${basedir}/vendor/bin/var-dump-check.bat" else="${basedir}/vendor/bin/var-dump-check">
<os family="windows"/>
</condition>
<!-- Use colors in output can be disabled when calling ant with -Duse-colors=false -->
<property name="use-colors" value="true" />
<condition property="colors-arg.color" value="--colors" else="">
<equals arg1="${use-colors}" arg2="true" />
</condition>
<condition property="colors-arg.no-colors" value="" else="--no-colors">
<equals arg1="${use-colors}" arg2="true" />
</condition>
<!-- Targets -->
<target name="prepare" description="Create build directory">
<mkdir dir="${basedir}/build/logs" />
</target>
<target name="phplint" description="Check syntax errors in PHP files">
<exec executable="${parallel-lint}" failonerror="true">
<arg line='--exclude ${basedir}/vendor/' />
<arg line='${colors-arg.no-colors}' />
<arg line='${basedir}' />
</exec>
</target>
<target name="var-dump-check" description="Check PHP files for forgotten variable dumps">
<exec executable="${var-dump-check}" failonerror="true">
<arg line='--exclude ${basedir}/vendor/' />
<arg line='${colors-arg.no-colors}' />
<arg line='${basedir}' />
</exec>
</target>
<target name="phpcs" depends="prepare" description="Check PHP code style">
<delete file="${basedir}/build/logs/checkstyle.xml" quiet="true" />
<exec executable="${phpcs}">
<arg line='--extensions=php' />
<arg line='--standard="${basedir}/vendor/jakub-onderka/php-code-style/ruleset.xml"' />
<arg line='--report-checkstyle="${basedir}/build/logs/checkstyle.xml"' />
<arg line='--report-full' />
<arg line='"${basedir}/src"' />
</exec>
</target>
<target name="phpunit" depends="prepare" description="PHP unit">
<delete file="${basedir}/build/logs/phpunit.xml" quiet="true" />
<exec executable="${phpunit}">
<arg line='--configuration ${basedir}/phpunit.xml' />
<arg line='-d memory_limit=256M' />
<arg line='--log-junit "${basedir}/build/logs/phpunit.xml"' />
<arg line='${colors-arg.color}' />
</exec>
</target>
<target name="phpunit-coverage" depends="prepare" description="PHP unit with code coverage">
<delete file="${basedir}/build/logs/phpunit.xml" quiet="true" />
<delete file="${basedir}/build/logs/clover.xml" quiet="true" />
<delete dir="${basedir}/build/coverage" quiet="true" />
<mkdir dir="${basedir}/build/coverage" />
<exec executable="${phpunit}">
<arg line='--configuration ${basedir}/phpunit.xml' />
<arg line='-d memory_limit=256M' />
<arg line='--log-junit "${basedir}/build/logs/phpunit.xml"' />
<arg line='--coverage-clover "${basedir}/build/logs/clover.xml"' />
<arg line='--coverage-html "${basedir}/build/coverage/"' />
<arg line='${colors-arg.color}' />
</exec>
</target>
<target name="build" depends="phplint,var-dump-check,phpcs,phpunit" />
</project>

View File

@@ -0,0 +1,24 @@
{
"name": "jakub-onderka/php-console-color",
"license": "BSD-2-Clause",
"version": "0.1",
"authors": [
{
"name": "Jakub Onderka",
"email": "jakub.onderka@gmail.com"
}
],
"autoload": {
"psr-0": {"JakubOnderka\\PhpConsoleColor": "src/"}
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "3.7.*",
"jakub-onderka/php-parallel-lint": "0.*",
"jakub-onderka/php-var-dump-check": "0.*",
"squizlabs/php_codesniffer": "1.*",
"jakub-onderka/php-code-style": "1.0"
}
}

View File

@@ -0,0 +1,38 @@
<?php
$loader = require_once __DIR__ . '/vendor/autoload.php';
$consoleColor = new JakubOnderka\PhpConsoleColor\ConsoleColor();
echo "Colors are supported: " . ($consoleColor->isSupported() ? 'Yes' : 'No') . "\n";
echo "256 colors are supported: " . ($consoleColor->are256ColorsSupported() ? 'Yes' : 'No') . "\n\n";
if ($consoleColor->isSupported()) {
foreach ($consoleColor->getPossibleStyles() as $style) {
echo $consoleColor->apply($style, $style) . "\n";
}
}
echo "\n";
if ($consoleColor->are256ColorsSupported()) {
echo "Foreground colors:\n";
for ($i = 1; $i <= 255; $i++) {
echo $consoleColor->apply("color_$i", str_pad($i, 6, ' ', STR_PAD_BOTH));
if ($i % 15 === 0) {
echo "\n";
}
}
echo "\nBackground colors:\n";
for ($i = 1; $i <= 255; $i++) {
echo $consoleColor->apply("bg_color_$i", str_pad($i, 6, ' ', STR_PAD_BOTH));
if ($i % 15 === 0) {
echo "\n";
}
}
echo "\n";
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="tests/bootstrap.php">
<testsuites>
<testsuite>
<directory>tests/*</directory>
</testsuite>
</testsuites>
<!-- Ignore vendor folder for code coverage -->
<filter>
<blacklist>
<directory>vendor</directory>
</blacklist>
</filter>
</phpunit>

View File

@@ -0,0 +1,280 @@
<?php
namespace JakubOnderka\PhpConsoleColor;
class ConsoleColor
{
const FOREGROUND = 38,
BACKGROUND = 48;
const COLOR256_REGEXP = '~^(bg_)?color_([0-9]{1,3})$~';
const RESET_STYLE = 0;
/** @var bool */
private $isSupported;
/** @var bool */
private $forceStyle = false;
/** @var array */
private $styles = array(
'none' => null,
'bold' => '1',
'dark' => '2',
'italic' => '3',
'underline' => '4',
'blink' => '5',
'reverse' => '7',
'concealed' => '8',
'default' => '39',
'black' => '30',
'red' => '31',
'green' => '32',
'yellow' => '33',
'blue' => '34',
'magenta' => '35',
'cyan' => '36',
'light_gray' => '37',
'dark_gray' => '90',
'light_red' => '91',
'light_green' => '92',
'light_yellow' => '93',
'light_blue' => '94',
'light_magenta' => '95',
'light_cyan' => '96',
'white' => '97',
'bg_default' => '49',
'bg_black' => '40',
'bg_red' => '41',
'bg_green' => '42',
'bg_yellow' => '43',
'bg_blue' => '44',
'bg_magenta' => '45',
'bg_cyan' => '46',
'bg_light_gray' => '47',
'bg_dark_gray' => '100',
'bg_light_red' => '101',
'bg_light_green' => '102',
'bg_light_yellow' => '103',
'bg_light_blue' => '104',
'bg_light_magenta' => '105',
'bg_light_cyan' => '106',
'bg_white' => '107',
);
/** @var array */
private $themes = array();
public function __construct()
{
$this->isSupported = $this->isSupported();
}
/**
* @param string|array $style
* @param string $text
* @return string
* @throws InvalidStyleException
* @throws \InvalidArgumentException
*/
public function apply($style, $text)
{
if (!$this->isStyleForced() && !$this->isSupported()) {
return $text;
}
if (is_string($style)) {
$style = array($style);
}
if (!is_array($style)) {
throw new \InvalidArgumentException("Style must be string or array.");
}
$sequences = array();
foreach ($style as $s) {
if (isset($this->themes[$s])) {
$sequences = array_merge($sequences, $this->themeSequence($s));
} else if ($this->isValidStyle($s)) {
$sequences[] = $this->styleSequence($s);
} else {
throw new InvalidStyleException($s);
}
}
$sequences = array_filter($sequences, function ($val) {
return $val !== null;
});
if (empty($sequences)) {
return $text;
}
return $this->escSequence(implode(';', $sequences)) . $text . $this->escSequence(self::RESET_STYLE);
}
/**
* @param bool $forceStyle
*/
public function setForceStyle($forceStyle)
{
$this->forceStyle = (bool) $forceStyle;
}
/**
* @return bool
*/
public function isStyleForced()
{
return $this->forceStyle;
}
/**
* @param array $themes
* @throws InvalidStyleException
* @throws \InvalidArgumentException
*/
public function setThemes(array $themes)
{
$this->themes = array();
foreach ($themes as $name => $styles) {
$this->addTheme($name, $styles);
}
}
/**
* @param string $name
* @param array|string $styles
* @throws \InvalidArgumentException
* @throws InvalidStyleException
*/
public function addTheme($name, $styles)
{
if (is_string($styles)) {
$styles = array($styles);
}
if (!is_array($styles)) {
throw new \InvalidArgumentException("Style must be string or array.");
}
foreach ($styles as $style) {
if (!$this->isValidStyle($style)) {
throw new InvalidStyleException($style);
}
}
$this->themes[$name] = $styles;
}
/**
* @return array
*/
public function getThemes()
{
return $this->themes;
}
/**
* @param string $name
* @return bool
*/
public function hasTheme($name)
{
return isset($this->themes[$name]);
}
/**
* @param string $name
*/
public function removeTheme($name)
{
unset($this->themes[$name]);
}
/**
* @return bool
*/
public function isSupported()
{
if (DIRECTORY_SEPARATOR === '\\') {
return getenv('ANSICON') !== false || getenv('ConEmuANSI') === 'ON';
}
return function_exists('posix_isatty') && @posix_isatty(STDOUT);
}
/**
* @return bool
*/
public function are256ColorsSupported()
{
return DIRECTORY_SEPARATOR === '/' && strpos(getenv('TERM'), '256color') !== false;
}
/**
* @return array
*/
public function getPossibleStyles()
{
return array_keys($this->styles);
}
/**
* @param string $name
* @return string
* @throws InvalidStyleException
*/
private function themeSequence($name)
{
$sequences = array();
foreach ($this->themes[$name] as $style) {
$sequences[] = $this->styleSequence($style);
}
return $sequences;
}
/**
* @param string $style
* @return string
* @throws InvalidStyleException
*/
private function styleSequence($style)
{
if (array_key_exists($style, $this->styles)) {
return $this->styles[$style];
}
if (!$this->are256ColorsSupported()) {
return null;
}
preg_match(self::COLOR256_REGEXP, $style, $matches);
$type = $matches[1] === 'bg_' ? self::BACKGROUND : self::FOREGROUND;
$value = $matches[2];
return "$type;5;$value";
}
/**
* @param string $style
* @return bool
*/
private function isValidStyle($style)
{
return array_key_exists($style, $this->styles) || preg_match(self::COLOR256_REGEXP, $style);
}
/**
* @param string|int $value
* @return string
*/
private function escSequence($value)
{
return "\033[{$value}m";
}
}

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