diff --git a/.env.default b/.env.default
new file mode 100644
index 0000000..2bbcb69
--- /dev/null
+++ b/.env.default
@@ -0,0 +1,3 @@
+crm.token=qsdqsd
+crm.password=qsdqsdqsds
+crm.endpoint=localhost
diff --git a/.gitignore b/.gitignore
index 987a1f9..34a0290 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
workspace.code-workspace
vendor
node_modules
+.phpdoc
diff --git a/apiConfig.readonly.json b/apiConfig.readonly.json
new file mode 100644
index 0000000..ffa4a68
--- /dev/null
+++ b/apiConfig.readonly.json
@@ -0,0 +1,5 @@
+{
+ "version": "2.0.0",
+ "tokenTimeout": 60,
+ "apiRequestRatePerMinute": 256
+}
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 7c5b0b2..bc501f3 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,9 @@
{
- "name": "ldc/ldccrmv2",
+ "name": "ldc/ldccrmv2client",
+ "type": "library",
"description": "LDC CRM Client V2",
"license": "MIT",
+ "version": "2.0.0",
"authors": [
{
"name": "Jérémy Munsch",
@@ -17,9 +19,15 @@
"LDC"
],
"require": {
- "illuminate/support": "~7|~8",
- "laravel/framework": "~7|~8",
- "kwaadpepper/enum": "^0.1.4"
+ "ext-curl": "^7.3",
+ "php": "^7.3",
+ "illuminate/filesystem": "^8.52",
+ "illuminate/support": "^8.52",
+ "illuminate/translation": "^8.52",
+ "illuminate/validation": "^8.52",
+ "kwaadpepper/enum": "^0.1.4",
+ "vlucas/phpdotenv": "^5.3",
+ "guzzlehttp/guzzle": "^7.3"
},
"require-dev": {
"phpunit/phpunit": "~9.0",
diff --git a/composer.lock b/composer.lock
index d64128c..488d3d2 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "21fd5329f0f5a1c266cdd6b17b243c20",
+ "content-hash": "8ae44f3768b7ee6045ae61fb2655ea9c",
"packages": [
{
"name": "brick/math",
@@ -366,124 +366,6 @@
],
"time": "2020-12-29T14:50:06+00:00"
},
- {
- "name": "facade/flare-client-php",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/facade/flare-client-php.git",
- "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/facade/flare-client-php/zipball/47b639dc02bcfdfc4ebb83de703856fa01e35f5f",
- "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f",
- "shasum": ""
- },
- "require": {
- "facade/ignition-contracts": "~1.0",
- "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0",
- "php": "^7.1|^8.0",
- "symfony/http-foundation": "^3.3|^4.1|^5.0",
- "symfony/mime": "^3.4|^4.0|^5.1",
- "symfony/var-dumper": "^3.4|^4.0|^5.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.14",
- "phpunit/phpunit": "^7.5.16",
- "spatie/phpunit-snapshot-assertions": "^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Facade\\FlareClient\\": "src"
- },
- "files": [
- "src/helpers.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Send PHP errors to Flare",
- "homepage": "https://github.com/facade/flare-client-php",
- "keywords": [
- "exception",
- "facade",
- "flare",
- "reporting"
- ],
- "support": {
- "issues": "https://github.com/facade/flare-client-php/issues",
- "source": "https://github.com/facade/flare-client-php/tree/1.8.1"
- },
- "funding": [
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2021-05-31T19:23:29+00:00"
- },
- {
- "name": "facade/ignition-contracts",
- "version": "1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/facade/ignition-contracts.git",
- "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
- "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
- "shasum": ""
- },
- "require": {
- "php": "^7.3|^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^v2.15.8",
- "phpunit/phpunit": "^9.3.11",
- "vimeo/psalm": "^3.17.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Facade\\IgnitionContracts\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://flareapp.io",
- "role": "Developer"
- }
- ],
- "description": "Solution contracts for Ignition",
- "homepage": "https://github.com/facade/ignition-contracts",
- "keywords": [
- "contracts",
- "flare",
- "ignition"
- ],
- "support": {
- "issues": "https://github.com/facade/ignition-contracts/issues",
- "source": "https://github.com/facade/ignition-contracts/tree/1.0.2"
- },
- "time": "2020-10-16T08:27:54+00:00"
- },
{
"name": "graham-campbell/result-type",
"version": "v1.0.1",
@@ -550,6 +432,244 @@
],
"time": "2020-04-13T13:17:36+00:00"
},
+ {
+ "name": "guzzlehttp/guzzle",
+ "version": "7.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "7008573787b430c1c1f650e3722d9bba59967628"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7008573787b430c1c1f650e3722d9bba59967628",
+ "reference": "7008573787b430c1c1f650e3722d9bba59967628",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "guzzlehttp/promises": "^1.4",
+ "guzzlehttp/psr7": "^1.7 || ^2.0",
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-client": "^1.0"
+ },
+ "provide": {
+ "psr/http-client-implementation": "1.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "ext-curl": "*",
+ "php-http/client-integration-tests": "^3.0",
+ "phpunit/phpunit": "^8.5.5 || ^9.3.5",
+ "psr/log": "^1.1"
+ },
+ "suggest": {
+ "ext-curl": "Required for CURL handler support",
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
+ "psr/log": "Required for using the Log middleware"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://sagikazarmark.hu"
+ }
+ ],
+ "description": "Guzzle is a PHP HTTP client library",
+ "homepage": "http://guzzlephp.org/",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "psr-18",
+ "psr-7",
+ "rest",
+ "web service"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/guzzle/issues",
+ "source": "https://github.com/guzzle/guzzle/tree/7.3.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/alexeyshockov",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/gmponos",
+ "type": "github"
+ }
+ ],
+ "time": "2021-03-23T11:33:13+00:00"
+ },
+ {
+ "name": "guzzlehttp/promises",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d",
+ "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^4.4 || ^5.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "Guzzle promises library",
+ "keywords": [
+ "promise"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/promises/issues",
+ "source": "https://github.com/guzzle/promises/tree/1.4.1"
+ },
+ "time": "2021-03-07T09:25:29+00:00"
+ },
+ {
+ "name": "guzzlehttp/psr7",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/1dc8d9cba3897165e16d12bb13d813afb1eb3fe7",
+ "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-factory": "^1.0",
+ "psr/http-message": "^1.0",
+ "ralouphie/getallheaders": "^3.0"
+ },
+ "provide": {
+ "psr/http-factory-implementation": "1.0",
+ "psr/http-message-implementation": "1.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "http-interop/http-factory-tests": "^0.9",
+ "phpunit/phpunit": "^8.5.8 || ^9.3.10"
+ },
+ "suggest": {
+ "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Tobias Schultze",
+ "homepage": "https://github.com/Tobion"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://sagikazarmark.hu"
+ }
+ ],
+ "description": "PSR-7 message implementation that also provides common utility methods",
+ "keywords": [
+ "http",
+ "message",
+ "psr-7",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/psr7/issues",
+ "source": "https://github.com/guzzle/psr7/tree/2.0.0"
+ },
+ "time": "2021-06-30T20:03:07+00:00"
+ },
{
"name": "kwaadpepper/enum",
"version": "0.1.4",
@@ -611,16 +731,16 @@
},
{
"name": "laravel/framework",
- "version": "v8.33.1",
+ "version": "v8.52.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "354c57b8cb457549114074c500944455a288d6cc"
+ "reference": "8fe9877d52e25f8aed36c51734e5a8510be967e6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/354c57b8cb457549114074c500944455a288d6cc",
- "reference": "354c57b8cb457549114074c500944455a288d6cc",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/8fe9877d52e25f8aed36c51734e5a8510be967e6",
+ "reference": "8fe9877d52e25f8aed36c51734e5a8510be967e6",
"shasum": ""
},
"require": {
@@ -630,7 +750,7 @@
"ext-json": "*",
"ext-mbstring": "*",
"ext-openssl": "*",
- "league/commonmark": "^1.3",
+ "league/commonmark": "^1.3|^2.0",
"league/flysystem": "^1.1",
"monolog/monolog": "^2.0",
"nesbot/carbon": "^2.31",
@@ -699,10 +819,10 @@
"guzzlehttp/guzzle": "^6.5.5|^7.0.1",
"league/flysystem-cached-adapter": "^1.0",
"mockery/mockery": "^1.4.2",
- "orchestra/testbench-core": "^6.8",
+ "orchestra/testbench-core": "^6.23",
"pda/pheanstalk": "^4.0",
"phpunit/phpunit": "^8.5.8|^9.3.3",
- "predis/predis": "^1.1.1",
+ "predis/predis": "^1.1.2",
"symfony/cache": "^5.1.4"
},
"suggest": {
@@ -728,7 +848,7 @@
"phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).",
"predis/predis": "Required to use the predis connector (^1.1.2).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
- "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0).",
+ "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).",
"symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).",
"symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).",
"symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).",
@@ -775,20 +895,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2021-03-16T19:42:32+00:00"
+ "time": "2021-07-27T13:03:29+00:00"
},
{
"name": "league/commonmark",
- "version": "1.5.7",
+ "version": "1.6.6",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54"
+ "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54",
- "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf",
+ "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf",
"shasum": ""
},
"require": {
@@ -806,7 +926,7 @@
"github/gfm": "0.29.0",
"michelf/php-markdown": "~1.4",
"mikehaertl/php-shellcommand": "^1.4",
- "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan": "^0.12.90",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.2",
"scrutinizer/ocular": "^1.5",
"symfony/finder": "^4.2"
@@ -876,20 +996,20 @@
"type": "tidelift"
}
],
- "time": "2020-10-31T13:49:32+00:00"
+ "time": "2021-07-17T17:13:23+00:00"
},
{
"name": "league/flysystem",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "9be3b16c877d477357c015cec057548cf9b2a14a"
+ "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a",
- "reference": "9be3b16c877d477357c015cec057548cf9b2a14a",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32",
+ "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32",
"shasum": ""
},
"require": {
@@ -905,7 +1025,6 @@
"phpunit/phpunit": "^8.5.8"
},
"suggest": {
- "ext-fileinfo": "Required for MimeType",
"ext-ftp": "Allows you to use FTP server storage",
"ext-openssl": "Allows you to use FTPS server storage",
"league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
@@ -963,7 +1082,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/1.x"
+ "source": "https://github.com/thephpleague/flysystem/tree/1.1.4"
},
"funding": [
{
@@ -971,7 +1090,7 @@
"type": "other"
}
],
- "time": "2020-08-23T07:39:11+00:00"
+ "time": "2021-06-23T21:56:05+00:00"
},
{
"name": "league/mime-type-detection",
@@ -1031,16 +1150,16 @@
},
{
"name": "monolog/monolog",
- "version": "2.2.0",
+ "version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084"
+ "reference": "71312564759a7db5b789296369c1a264efc43aad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
- "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad",
+ "reference": "71312564759a7db5b789296369c1a264efc43aad",
"shasum": ""
},
"require": {
@@ -1059,7 +1178,7 @@
"php-amqplib/php-amqplib": "~2.4",
"php-console/php-console": "^3.1.3",
"phpspec/prophecy": "^1.6.1",
- "phpstan/phpstan": "^0.12.59",
+ "phpstan/phpstan": "^0.12.91",
"phpunit/phpunit": "^8.5",
"predis/predis": "^1.1",
"rollbar/rollbar": "^1.3",
@@ -1111,7 +1230,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.2.0"
+ "source": "https://github.com/Seldaek/monolog/tree/2.3.2"
},
"funding": [
{
@@ -1123,26 +1242,27 @@
"type": "tidelift"
}
],
- "time": "2020-12-14T13:15:25+00:00"
+ "time": "2021-07-23T07:42:52+00:00"
},
{
"name": "nesbot/carbon",
- "version": "2.46.0",
+ "version": "2.51.1",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4"
+ "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4",
- "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922",
+ "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": "^7.1.8 || ^8.0",
"symfony/polyfill-mbstring": "^1.0",
+ "symfony/polyfill-php80": "^1.16",
"symfony/translation": "^3.4 || ^4.0 || ^5.0"
},
"require-dev": {
@@ -1161,8 +1281,8 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.x-dev",
- "dev-3.x": "3.x-dev"
+ "dev-3.x": "3.x-dev",
+ "dev-master": "2.x-dev"
},
"laravel": {
"providers": [
@@ -1188,15 +1308,15 @@
{
"name": "Brian Nesbitt",
"email": "brian@nesbot.com",
- "homepage": "http://nesbot.com"
+ "homepage": "https://markido.com"
},
{
"name": "kylekatarnls",
- "homepage": "http://github.com/kylekatarnls"
+ "homepage": "https://github.com/kylekatarnls"
}
],
"description": "An API extension for DateTime that supports 281 different languages.",
- "homepage": "http://carbon.nesbot.com",
+ "homepage": "https://carbon.nesbot.com",
"keywords": [
"date",
"datetime",
@@ -1216,20 +1336,20 @@
"type": "tidelift"
}
],
- "time": "2021-02-24T17:30:44+00:00"
+ "time": "2021-07-28T13:16:28+00:00"
},
{
"name": "opis/closure",
- "version": "3.6.1",
+ "version": "3.6.2",
"source": {
"type": "git",
"url": "https://github.com/opis/closure.git",
- "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5"
+ "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5",
- "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5",
+ "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6",
+ "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6",
"shasum": ""
},
"require": {
@@ -1279,9 +1399,9 @@
],
"support": {
"issues": "https://github.com/opis/closure/issues",
- "source": "https://github.com/opis/closure/tree/3.6.1"
+ "source": "https://github.com/opis/closure/tree/3.6.2"
},
- "time": "2020-11-07T02:01:34+00:00"
+ "time": "2021-04-09T13:42:10+00:00"
},
{
"name": "phpoption/phpoption",
@@ -1451,17 +1571,177 @@
"time": "2019-01-08T18:20:26+00:00"
},
{
- "name": "psr/log",
- "version": "1.1.3",
+ "name": "psr/http-client",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "url": "https://github.com/php-fig/http-client.git",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0 || ^8.0",
+ "psr/http-message": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Client\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP clients",
+ "homepage": "https://github.com/php-fig/http-client",
+ "keywords": [
+ "http",
+ "http-client",
+ "psr",
+ "psr-18"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-client/tree/master"
+ },
+ "time": "2020-06-29T06:28:15+00:00"
+ },
+ {
+ "name": "psr/http-factory",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-factory.git",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.0.0",
+ "psr/http-message": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for PSR-7 HTTP message factories",
+ "keywords": [
+ "factory",
+ "http",
+ "message",
+ "psr",
+ "psr-17",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-factory/tree/master"
+ },
+ "time": "2019-04-30T12:38:16+00:00"
+ },
+ {
+ "name": "psr/http-message",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-message/tree/master"
+ },
+ "time": "2016-08-06T14:39:51+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
@@ -1485,7 +1765,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -1496,9 +1776,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.3"
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
},
- "time": "2020-03-23T09:12:05+00:00"
+ "time": "2021-05-03T11:20:27+00:00"
},
{
"name": "psr/simple-cache",
@@ -1551,6 +1831,50 @@
},
"time": "2017-10-23T01:57:42+00:00"
},
+ {
+ "name": "ralouphie/getallheaders",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ralouphie/getallheaders.git",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.1",
+ "phpunit/phpunit": "^5 || ^6.5"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/getallheaders.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ralph Khattar",
+ "email": "ralph.khattar@gmail.com"
+ }
+ ],
+ "description": "A polyfill for getallheaders.",
+ "support": {
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
+ },
+ "time": "2019-03-08T08:55:37+00:00"
+ },
{
"name": "ramsey/collection",
"version": "1.1.3",
@@ -1797,27 +2121,29 @@
},
{
"name": "symfony/console",
- "version": "v5.2.5",
+ "version": "v5.3.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79"
+ "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/938ebbadae1b0a9c9d1ec313f87f9708609f1b79",
- "reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79",
+ "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2",
+ "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.15",
+ "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2",
"symfony/string": "^5.1"
},
"conflict": {
+ "psr/log": ">=3",
"symfony/dependency-injection": "<4.4",
"symfony/dotenv": "<5.1",
"symfony/event-dispatcher": "<4.4",
@@ -1825,10 +2151,10 @@
"symfony/process": "<4.4"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/event-dispatcher": "^4.4|^5.0",
@@ -1874,7 +2200,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.2.5"
+ "source": "https://github.com/symfony/console/tree/v5.3.6"
},
"funding": [
{
@@ -1890,24 +2216,25 @@
"type": "tidelift"
}
],
- "time": "2021-03-06T13:42:15+00:00"
+ "time": "2021-07-27T19:10:22+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.2.4",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f"
+ "reference": "7fb120adc7f600a59027775b224c13a33530dd90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f",
- "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90",
+ "reference": "7fb120adc7f600a59027775b224c13a33530dd90",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -1939,7 +2266,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.2.4"
+ "source": "https://github.com/symfony/css-selector/tree/v5.3.4"
},
"funding": [
{
@@ -1955,20 +2282,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-27T10:01:46+00:00"
+ "time": "2021-07-21T12:38:00+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.2.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
+ "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+ "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"shasum": ""
},
"require": {
@@ -1977,7 +2304,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -2006,7 +2333,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/master"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -2022,26 +2349,25 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v5.2.4",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "b547d3babcab5c31e01de59ee33e9d9c1421d7d0"
+ "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/b547d3babcab5c31e01de59ee33e9d9c1421d7d0",
- "reference": "b547d3babcab5c31e01de59ee33e9d9c1421d7d0",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/281f6c4660bcf5844bb0346fe3a4664722fe4c73",
+ "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/log": "^1.0",
- "symfony/polyfill-php80": "^1.15",
+ "psr/log": "^1|^2|^3",
"symfony/var-dumper": "^4.4|^5.0"
},
"require-dev": {
@@ -2075,7 +2401,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.2.4"
+ "source": "https://github.com/symfony/error-handler/tree/v5.3.4"
},
"funding": [
{
@@ -2091,27 +2417,27 @@
"type": "tidelift"
}
],
- "time": "2021-02-11T08:21:20+00:00"
+ "time": "2021-07-23T15:55:36+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.2.4",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "d08d6ec121a425897951900ab692b612a61d6240"
+ "reference": "f2fd2208157553874560f3645d4594303058c4bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d08d6ec121a425897951900ab692b612a61d6240",
- "reference": "d08d6ec121a425897951900ab692b612a61d6240",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f2fd2208157553874560f3645d4594303058c4bd",
+ "reference": "f2fd2208157553874560f3645d4594303058c4bd",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/event-dispatcher-contracts": "^2",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/dependency-injection": "<4.4"
@@ -2121,7 +2447,7 @@
"symfony/event-dispatcher-implementation": "2.0"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2|^3",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/error-handler": "^4.4|^5.0",
@@ -2160,7 +2486,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.4"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.4"
},
"funding": [
{
@@ -2176,20 +2502,20 @@
"type": "tidelift"
}
],
- "time": "2021-02-18T17:12:37+00:00"
+ "time": "2021-07-23T15:55:36+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.2.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2"
+ "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11",
+ "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11",
"shasum": ""
},
"require": {
@@ -2202,7 +2528,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -2239,7 +2565,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -2255,24 +2581,25 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.2.4",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "0d639a0943822626290d169965804f79400e6a04"
+ "reference": "17f50e06018baec41551a71a15731287dbaab186"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04",
- "reference": "0d639a0943822626290d169965804f79400e6a04",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/17f50e06018baec41551a71a15731287dbaab186",
+ "reference": "17f50e06018baec41551a71a15731287dbaab186",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -2300,7 +2627,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.2.4"
+ "source": "https://github.com/symfony/finder/tree/v5.3.4"
},
"funding": [
{
@@ -2316,20 +2643,20 @@
"type": "tidelift"
}
],
- "time": "2021-02-15T18:55:04+00:00"
+ "time": "2021-07-23T15:54:19+00:00"
},
{
"name": "symfony/http-client-contracts",
- "version": "v2.3.1",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "41db680a15018f9c1d4b23516059633ce280ca33"
+ "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33",
- "reference": "41db680a15018f9c1d4b23516059633ce280ca33",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4",
+ "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4",
"shasum": ""
},
"require": {
@@ -2340,9 +2667,8 @@
},
"type": "library",
"extra": {
- "branch-version": "2.3",
"branch-alias": {
- "dev-main": "2.3-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -2379,7 +2705,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -2395,27 +2721,27 @@
"type": "tidelift"
}
],
- "time": "2020-10-14T17:08:19+00:00"
+ "time": "2021-04-11T23:07:08+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.2.4",
+ "version": "v5.3.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf"
+ "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf",
- "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8388f7b7054a7401997008ce9cd8c6b0ab7ac75",
+ "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"require-dev": {
"predis/predis": "~1.0",
@@ -2452,7 +2778,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.2.4"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.3.6"
},
"funding": [
{
@@ -2468,40 +2794,40 @@
"type": "tidelift"
}
],
- "time": "2021-02-25T17:16:57+00:00"
+ "time": "2021-07-27T17:08:17+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.2.5",
+ "version": "v5.3.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "b8c63ef63c2364e174c3b3e0ba0bf83455f97f73"
+ "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b8c63ef63c2364e174c3b3e0ba0bf83455f97f73",
- "reference": "b8c63ef63c2364e174c3b3e0ba0bf83455f97f73",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60030f209018356b3b553b9dbd84ad2071c1b7e0",
+ "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/log": "~1.0",
+ "psr/log": "^1|^2",
"symfony/deprecation-contracts": "^2.1",
"symfony/error-handler": "^4.4|^5.0",
"symfony/event-dispatcher": "^5.0",
"symfony/http-client-contracts": "^1.1|^2",
- "symfony/http-foundation": "^4.4|^5.0",
+ "symfony/http-foundation": "^5.3",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/browser-kit": "<4.4",
"symfony/cache": "<5.0",
"symfony/config": "<5.0",
"symfony/console": "<4.4",
- "symfony/dependency-injection": "<5.1.8",
+ "symfony/dependency-injection": "<5.3",
"symfony/doctrine-bridge": "<5.0",
"symfony/form": "<5.0",
"symfony/http-client": "<5.0",
@@ -2513,7 +2839,7 @@
"twig/twig": "<2.13"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
@@ -2521,7 +2847,7 @@
"symfony/config": "^5.0",
"symfony/console": "^4.4|^5.0",
"symfony/css-selector": "^4.4|^5.0",
- "symfony/dependency-injection": "^5.1.8",
+ "symfony/dependency-injection": "^5.3",
"symfony/dom-crawler": "^4.4|^5.0",
"symfony/expression-language": "^4.4|^5.0",
"symfony/finder": "^4.4|^5.0",
@@ -2564,7 +2890,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.2.5"
+ "source": "https://github.com/symfony/http-kernel/tree/v5.3.6"
},
"funding": [
{
@@ -2580,20 +2906,20 @@
"type": "tidelift"
}
],
- "time": "2021-03-10T17:07:35+00:00"
+ "time": "2021-07-29T07:06:27+00:00"
},
{
"name": "symfony/mime",
- "version": "v5.2.5",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "554ba128f1955038b45db5e1fa7e93bfc683b139"
+ "reference": "633e4e8afe9e529e5599d71238849a4218dd497b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/554ba128f1955038b45db5e1fa7e93bfc683b139",
- "reference": "554ba128f1955038b45db5e1fa7e93bfc683b139",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/633e4e8afe9e529e5599d71238849a4218dd497b",
+ "reference": "633e4e8afe9e529e5599d71238849a4218dd497b",
"shasum": ""
},
"require": {
@@ -2601,7 +2927,7 @@
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
@@ -2647,7 +2973,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v5.2.5"
+ "source": "https://github.com/symfony/mime/tree/v5.3.4"
},
"funding": [
{
@@ -2663,20 +2989,20 @@
"type": "tidelift"
}
],
- "time": "2021-03-07T16:08:20+00:00"
+ "time": "2021-07-21T12:40:44+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.22.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"shasum": ""
},
"require": {
@@ -2688,7 +3014,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2726,7 +3052,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
},
"funding": [
{
@@ -2742,20 +3068,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-iconv",
- "version": "v1.22.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342"
+ "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/06fb361659649bcfd6a208a0f1fcaf4e827ad342",
- "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933",
+ "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933",
"shasum": ""
},
"require": {
@@ -2767,7 +3093,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2806,7 +3132,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0"
},
"funding": [
{
@@ -2822,20 +3148,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-22T09:19:47+00:00"
+ "time": "2021-05-27T09:27:20+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.22.1",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170"
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170",
- "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
"shasum": ""
},
"require": {
@@ -2847,7 +3173,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2887,7 +3213,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
},
"funding": [
{
@@ -2903,20 +3229,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-22T09:19:47+00:00"
+ "time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.22.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "2d63434d922daf7da8dd863e7907e67ee3031483"
+ "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483",
- "reference": "2d63434d922daf7da8dd863e7907e67ee3031483",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65",
+ "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65",
"shasum": ""
},
"require": {
@@ -2930,7 +3256,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2974,7 +3300,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0"
},
"funding": [
{
@@ -2990,20 +3316,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-22T09:19:47+00:00"
+ "time": "2021-05-27T09:27:20+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.22.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248"
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248",
- "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
"shasum": ""
},
"require": {
@@ -3015,7 +3341,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3058,7 +3384,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
},
"funding": [
{
@@ -3074,20 +3400,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-22T09:19:47+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.22.1",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "5232de97ee3b75b0360528dae24e73db49566ab1"
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1",
- "reference": "5232de97ee3b75b0360528dae24e73db49566ab1",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
"shasum": ""
},
"require": {
@@ -3099,7 +3425,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3138,7 +3464,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
},
"funding": [
{
@@ -3154,20 +3480,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-22T09:19:47+00:00"
+ "time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.22.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9"
+ "reference": "9a142215a36a3888e30d0a9eeea9766764e96976"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
- "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976",
+ "reference": "9a142215a36a3888e30d0a9eeea9766764e96976",
"shasum": ""
},
"require": {
@@ -3176,7 +3502,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3214,7 +3540,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0"
},
"funding": [
{
@@ -3230,20 +3556,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-05-27T09:17:38+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.22.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2"
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
- "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
"shasum": ""
},
"require": {
@@ -3252,7 +3578,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3293,7 +3619,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
},
"funding": [
{
@@ -3309,20 +3635,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.22.1",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
- "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
"shasum": ""
},
"require": {
@@ -3331,7 +3657,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3376,7 +3702,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
},
"funding": [
{
@@ -3392,25 +3718,25 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-07-28T13:41:28+00:00"
},
{
"name": "symfony/process",
- "version": "v5.2.4",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f"
+ "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f",
- "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f",
+ "url": "https://api.github.com/repos/symfony/process/zipball/d16634ee55b895bd85ec714dadc58e4428ecf030",
+ "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -3438,7 +3764,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.2.4"
+ "source": "https://github.com/symfony/process/tree/v5.3.4"
},
"funding": [
{
@@ -3454,43 +3780,43 @@
"type": "tidelift"
}
],
- "time": "2021-01-27T10:15:41+00:00"
+ "time": "2021-07-23T15:54:19+00:00"
},
{
"name": "symfony/routing",
- "version": "v5.2.4",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "cafa138128dfd6ab6be1abf6279169957b34f662"
+ "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/cafa138128dfd6ab6be1abf6279169957b34f662",
- "reference": "cafa138128dfd6ab6be1abf6279169957b34f662",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/0a35d2f57d73c46ab6d042ced783b81d09a624c4",
+ "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
- "symfony/config": "<5.0",
+ "doctrine/annotations": "<1.12",
+ "symfony/config": "<5.3",
"symfony/dependency-injection": "<4.4",
"symfony/yaml": "<4.4"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4",
- "psr/log": "~1.0",
- "symfony/config": "^5.0",
+ "doctrine/annotations": "^1.12",
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.3",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/expression-language": "^4.4|^5.0",
"symfony/http-foundation": "^4.4|^5.0",
"symfony/yaml": "^4.4|^5.0"
},
"suggest": {
- "doctrine/annotations": "For using the annotation loader",
"symfony/config": "For using the all-in-one router or any loader",
"symfony/expression-language": "For using expression matching",
"symfony/http-foundation": "For using a Symfony Request object",
@@ -3528,7 +3854,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v5.2.4"
+ "source": "https://github.com/symfony/routing/tree/v5.3.4"
},
"funding": [
{
@@ -3544,25 +3870,25 @@
"type": "tidelift"
}
],
- "time": "2021-02-22T15:48:39+00:00"
+ "time": "2021-07-23T15:55:36+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.2.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
+ "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
+ "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/container": "^1.0"
+ "psr/container": "^1.1"
},
"suggest": {
"symfony/service-implementation": ""
@@ -3570,7 +3896,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3607,7 +3933,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/master"
+ "source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -3623,20 +3949,20 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-04-01T10:43:52+00:00"
},
{
"name": "symfony/string",
- "version": "v5.2.4",
+ "version": "v5.3.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "4e78d7d47061fa183639927ec40d607973699609"
+ "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/4e78d7d47061fa183639927ec40d607973699609",
- "reference": "4e78d7d47061fa183639927ec40d607973699609",
+ "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1",
+ "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1",
"shasum": ""
},
"require": {
@@ -3690,7 +4016,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.2.4"
+ "source": "https://github.com/symfony/string/tree/v5.3.3"
},
"funding": [
{
@@ -3706,26 +4032,27 @@
"type": "tidelift"
}
],
- "time": "2021-02-16T10:20:28+00:00"
+ "time": "2021-06-27T11:44:38+00:00"
},
{
"name": "symfony/translation",
- "version": "v5.2.5",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "0947ab1e3aabd22a6bef393874b2555d2bb976da"
+ "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/0947ab1e3aabd22a6bef393874b2555d2bb976da",
- "reference": "0947ab1e3aabd22a6bef393874b2555d2bb976da",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1",
+ "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15",
+ "symfony/polyfill-php80": "^1.16",
"symfony/translation-contracts": "^2.3"
},
"conflict": {
@@ -3739,13 +4066,14 @@
"symfony/translation-implementation": "2.3"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2|^3",
"symfony/config": "^4.4|^5.0",
"symfony/console": "^4.4|^5.0",
"symfony/dependency-injection": "^5.0",
"symfony/finder": "^4.4|^5.0",
"symfony/http-kernel": "^5.0",
"symfony/intl": "^4.4|^5.0",
+ "symfony/polyfill-intl-icu": "^1.21",
"symfony/service-contracts": "^1.1.2|^2",
"symfony/yaml": "^4.4|^5.0"
},
@@ -3783,7 +4111,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v5.2.5"
+ "source": "https://github.com/symfony/translation/tree/v5.3.4"
},
"funding": [
{
@@ -3799,20 +4127,20 @@
"type": "tidelift"
}
],
- "time": "2021-03-06T07:59:01+00:00"
+ "time": "2021-07-25T09:39:16+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v2.3.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
+ "reference": "95c812666f3e91db75385749fe219c5e494c7f95"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
- "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95",
+ "reference": "95c812666f3e91db75385749fe219c5e494c7f95",
"shasum": ""
},
"require": {
@@ -3824,7 +4152,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3861,7 +4189,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v2.3.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -3877,26 +4205,26 @@
"type": "tidelift"
}
],
- "time": "2020-09-28T13:05:58+00:00"
+ "time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v5.2.5",
+ "version": "v5.3.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "002ab5a36702adf0c9a11e6d8836623253e9045e"
+ "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/002ab5a36702adf0c9a11e6d8836623253e9045e",
- "reference": "002ab5a36702adf0c9a11e6d8836623253e9045e",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0",
+ "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"phpunit/phpunit": "<5.4.3",
@@ -3949,7 +4277,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.2.5"
+ "source": "https://github.com/symfony/var-dumper/tree/v5.3.6"
},
"funding": [
{
@@ -3965,7 +4293,7 @@
"type": "tidelift"
}
],
- "time": "2021-03-06T07:59:01+00:00"
+ "time": "2021-07-27T01:56:02+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -4305,20 +4633,22 @@
},
{
"name": "fakerphp/faker",
- "version": "v1.13.0",
+ "version": "v1.15.0",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
- "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913"
+ "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/ab3f5364d01f2c2c16113442fb987d26e4004913",
- "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/89c6201c74db25fa759ff16e78a4d8f32547770e",
+ "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^7.1 || ^8.0",
+ "psr/container": "^1.0",
+ "symfony/deprecation-contracts": "^2.2"
},
"conflict": {
"fzaninotto/faker": "*"
@@ -4326,9 +4656,20 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4.1",
"ext-intl": "*",
- "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.4.2"
+ "symfony/phpunit-bridge": "^4.4 || ^5.2"
+ },
+ "suggest": {
+ "ext-curl": "Required by Faker\\Provider\\Image to download images.",
+ "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
+ "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
+ "ext-mbstring": "Required for multibyte Unicode string functionality."
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "v1.15-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Faker\\": "src/Faker/"
@@ -4351,84 +4692,9 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.13.0"
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.15.0"
},
- "time": "2020-12-18T16:50:48+00:00"
- },
- {
- "name": "guzzlehttp/psr7",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "35ea11d335fd638b5882ff1725228b3d35496ab1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/35ea11d335fd638b5882ff1725228b3d35496ab1",
- "reference": "35ea11d335fd638b5882ff1725228b3d35496ab1",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0",
- "psr/http-message": "~1.0",
- "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "ext-zlib": "*",
- "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
- },
- "suggest": {
- "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.7-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Tobias Schultze",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "support": {
- "issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/1.8.1"
- },
- "time": "2021-03-21T16:25:00+00:00"
+ "time": "2021-07-06T20:39:40+00:00"
},
{
"name": "hamcrest/hamcrest-php",
@@ -4613,16 +4879,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.10.4",
+ "version": "v4.12.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
+ "reference": "6608f01670c3cc5079e18c1dab1104e002579143"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143",
+ "reference": "6608f01670c3cc5079e18c1dab1104e002579143",
"shasum": ""
},
"require": {
@@ -4663,31 +4929,31 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0"
},
- "time": "2020-12-20T10:01:03+00:00"
+ "time": "2021-07-21T10:44:31+00:00"
},
{
"name": "orchestra/testbench",
- "version": "v6.15.0",
+ "version": "v6.19.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench.git",
- "reference": "79447675f43eff94149743a318355f213a55e348"
+ "reference": "4e3ee38295d793f0d4864203d5e1f0b952635d1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench/zipball/79447675f43eff94149743a318355f213a55e348",
- "reference": "79447675f43eff94149743a318355f213a55e348",
+ "url": "https://api.github.com/repos/orchestral/testbench/zipball/4e3ee38295d793f0d4864203d5e1f0b952635d1b",
+ "reference": "4e3ee38295d793f0d4864203d5e1f0b952635d1b",
"shasum": ""
},
"require": {
- "laravel/framework": "^8.25",
+ "laravel/framework": "^8.26",
"mockery/mockery": "^1.4.2",
- "orchestra/testbench-core": "^6.19",
+ "orchestra/testbench-core": "^6.23",
"php": "^7.3 || ^8.0",
"phpunit/phpunit": "^8.4 || ^9.3.3",
- "spatie/laravel-ray": "^1.17.1"
+ "spatie/laravel-ray": "^1.18"
},
"type": "library",
"extra": {
@@ -4718,7 +4984,7 @@
],
"support": {
"issues": "https://github.com/orchestral/testbench/issues",
- "source": "https://github.com/orchestral/testbench/tree/v6.15.0"
+ "source": "https://github.com/orchestral/testbench/tree/v6.19.0"
},
"funding": [
{
@@ -4730,20 +4996,20 @@
"type": "liberapay"
}
],
- "time": "2021-03-21T00:45:50+00:00"
+ "time": "2021-07-01T02:50:07+00:00"
},
{
"name": "orchestra/testbench-core",
- "version": "v6.19.0",
+ "version": "v6.23.1",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench-core.git",
- "reference": "e97234a2cffe510c3d76a4f9f4a5e47b730e5c92"
+ "reference": "239bc0d99ae44f76c024e74ced0fc5aabfa00be3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/e97234a2cffe510c3d76a4f9f4a5e47b730e5c92",
- "reference": "e97234a2cffe510c3d76a4f9f4a5e47b730e5c92",
+ "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/239bc0d99ae44f76c024e74ced0fc5aabfa00be3",
+ "reference": "239bc0d99ae44f76c024e74ced0fc5aabfa00be3",
"shasum": ""
},
"require": {
@@ -4757,7 +5023,9 @@
"laravel/laravel": "8.x-dev",
"mockery/mockery": "^1.4.2",
"orchestra/canvas": "^6.1",
- "phpunit/phpunit": "^8.4 || ^9.3.3 || ^10.0"
+ "phpunit/phpunit": "^8.4 || ^9.3.3 || ^10.0",
+ "spatie/laravel-ray": "^1.7.1",
+ "symfony/process": "^5.0"
},
"suggest": {
"laravel/framework": "Required for testing (^8.26).",
@@ -4815,20 +5083,20 @@
"type": "liberapay"
}
],
- "time": "2021-03-21T00:28:32+00:00"
+ "time": "2021-07-14T02:34:48+00:00"
},
{
"name": "phar-io/manifest",
- "version": "2.0.1",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"shasum": ""
},
"require": {
@@ -4873,9 +5141,9 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/master"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
},
- "time": "2020-06-27T14:33:11+00:00"
+ "time": "2021-07-20T11:28:43+00:00"
},
{
"name": "phar-io/version",
@@ -5155,16 +5423,16 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.5",
+ "version": "9.2.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1"
+ "reference": "f6293e1b30a2354e8428e004689671b83871edde"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde",
+ "reference": "f6293e1b30a2354e8428e004689671b83871edde",
"shasum": ""
},
"require": {
@@ -5220,7 +5488,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6"
},
"funding": [
{
@@ -5228,7 +5496,7 @@
"type": "github"
}
],
- "time": "2020-11-28T06:44:49+00:00"
+ "time": "2021-03-28T07:26:59+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -5473,16 +5741,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.5.3",
+ "version": "9.5.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "27241ac75fc37ecf862b6e002bf713b6566cbe41"
+ "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/27241ac75fc37ecf862b6e002bf713b6566cbe41",
- "reference": "27241ac75fc37ecf862b6e002bf713b6566cbe41",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0dc8b6999c937616df4fb046792004b33fd31c5",
+ "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5",
"shasum": ""
},
"require": {
@@ -5512,7 +5780,7 @@
"sebastian/global-state": "^5.0.1",
"sebastian/object-enumerator": "^4.0.3",
"sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^2.3",
+ "sebastian/type": "^2.3.4",
"sebastian/version": "^3.0.2"
},
"require-dev": {
@@ -5560,7 +5828,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.3"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.7"
},
"funding": [
{
@@ -5572,104 +5840,7 @@
"type": "github"
}
],
- "time": "2021-03-17T07:30:34+00:00"
- },
- {
- "name": "psr/http-message",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-message/tree/master"
- },
- "time": "2016-08-06T14:39:51+00:00"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "description": "A polyfill for getallheaders.",
- "support": {
- "issues": "https://github.com/ralouphie/getallheaders/issues",
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
- },
- "time": "2019-03-08T08:55:37+00:00"
+ "time": "2021-07-19T06:14:47+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -6177,16 +6348,16 @@
},
{
"name": "sebastian/global-state",
- "version": "5.0.2",
+ "version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
+ "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49",
+ "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49",
"shasum": ""
},
"require": {
@@ -6229,7 +6400,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3"
},
"funding": [
{
@@ -6237,7 +6408,7 @@
"type": "github"
}
],
- "time": "2020-10-26T15:55:19+00:00"
+ "time": "2021-06-11T13:31:12+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -6524,20 +6695,21 @@
"type": "github"
}
],
+ "abandoned": true,
"time": "2020-09-28T06:45:17+00:00"
},
{
"name": "sebastian/type",
- "version": "2.3.1",
+ "version": "2.3.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
+ "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914",
+ "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914",
"shasum": ""
},
"require": {
@@ -6572,7 +6744,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
+ "source": "https://github.com/sebastianbergmann/type/tree/2.3.4"
},
"funding": [
{
@@ -6580,7 +6752,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:18:59+00:00"
+ "time": "2021-06-15T12:49:02+00:00"
},
{
"name": "sebastian/version",
@@ -6637,16 +6809,16 @@
},
{
"name": "spatie/backtrace",
- "version": "1.1.0",
+ "version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/backtrace.git",
- "reference": "3440fe023a7d5b4497090fb6b2dcdc747daf7873"
+ "reference": "9b4df807fb65aaa8006dcd7a7ccdef8fb4bb002e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/backtrace/zipball/3440fe023a7d5b4497090fb6b2dcdc747daf7873",
- "reference": "3440fe023a7d5b4497090fb6b2dcdc747daf7873",
+ "url": "https://api.github.com/repos/spatie/backtrace/zipball/9b4df807fb65aaa8006dcd7a7ccdef8fb4bb002e",
+ "reference": "9b4df807fb65aaa8006dcd7a7ccdef8fb4bb002e",
"shasum": ""
},
"require": {
@@ -6683,7 +6855,7 @@
],
"support": {
"issues": "https://github.com/spatie/backtrace/issues",
- "source": "https://github.com/spatie/backtrace/tree/1.1.0"
+ "source": "https://github.com/spatie/backtrace/tree/1.2.0"
},
"funding": [
{
@@ -6695,36 +6867,37 @@
"type": "other"
}
],
- "time": "2021-01-29T09:20:43+00:00"
+ "time": "2021-05-19T12:49:10+00:00"
},
{
"name": "spatie/laravel-ray",
- "version": "1.17.1",
+ "version": "1.24.2",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-ray.git",
- "reference": "c25f2c2cdf3221abce3b1250cb7296721acfd2b8"
+ "reference": "375881d1ec77a367cae75014a282e688666f51bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/c25f2c2cdf3221abce3b1250cb7296721acfd2b8",
- "reference": "c25f2c2cdf3221abce3b1250cb7296721acfd2b8",
+ "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/375881d1ec77a367cae75014a282e688666f51bc",
+ "reference": "375881d1ec77a367cae75014a282e688666f51bc",
"shasum": ""
},
"require": {
"ext-json": "*",
- "illuminate/contracts": "^7.20|^8.0",
- "illuminate/database": "^7.20|^8.13",
- "illuminate/queue": "^7.20|^8.13",
- "illuminate/support": "^7.20|^8.13",
+ "illuminate/contracts": "^7.20|^8.19",
+ "illuminate/database": "^7.20|^8.19",
+ "illuminate/queue": "^7.20|^8.19",
+ "illuminate/support": "^7.20|^8.19",
"php": "^7.3|^8.0",
"spatie/backtrace": "^1.0",
- "spatie/ray": "^1.21.2",
+ "spatie/ray": "^1.27.1",
"symfony/stopwatch": "4.2|^5.1",
"zbateson/mail-mime-parser": "^1.3.1"
},
"require-dev": {
"facade/ignition": "^2.5",
+ "guzzlehttp/guzzle": "^7.3",
"laravel/framework": "^7.20|^8.19",
"orchestra/testbench-core": "^5.0|^6.0",
"phpunit/phpunit": "^9.3",
@@ -6763,7 +6936,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-ray/issues",
- "source": "https://github.com/spatie/laravel-ray/tree/1.17.1"
+ "source": "https://github.com/spatie/laravel-ray/tree/1.24.2"
},
"funding": [
{
@@ -6775,7 +6948,7 @@
"type": "other"
}
],
- "time": "2021-03-13T12:50:02+00:00"
+ "time": "2021-07-23T16:50:57+00:00"
},
{
"name": "spatie/macroable",
@@ -6829,16 +7002,16 @@
},
{
"name": "spatie/ray",
- "version": "1.21.2",
+ "version": "1.28.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/ray.git",
- "reference": "829676b1b6791aba6660fcca6f553d72c894a0ae"
+ "reference": "b800636fb022b93df53bd90fa52e5ed07221eb6a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/ray/zipball/829676b1b6791aba6660fcca6f553d72c894a0ae",
- "reference": "829676b1b6791aba6660fcca6f553d72c894a0ae",
+ "url": "https://api.github.com/repos/spatie/ray/zipball/b800636fb022b93df53bd90fa52e5ed07221eb6a",
+ "reference": "b800636fb022b93df53bd90fa52e5ed07221eb6a",
"shasum": ""
},
"require": {
@@ -6847,7 +7020,7 @@
"php": "^7.3|^8.0",
"ramsey/uuid": "^3.0|^4.1",
"spatie/backtrace": "^1.1",
- "spatie/macroable": "^1.0",
+ "spatie/macroable": "^1.0|^2.0",
"symfony/stopwatch": "^4.0|^5.1",
"symfony/var-dumper": "^4.2|^5.1"
},
@@ -6888,7 +7061,7 @@
],
"support": {
"issues": "https://github.com/spatie/ray/issues",
- "source": "https://github.com/spatie/ray/tree/1.21.2"
+ "source": "https://github.com/spatie/ray/tree/1.28.0"
},
"funding": [
{
@@ -6900,20 +7073,20 @@
"type": "other"
}
],
- "time": "2021-03-04T11:06:19+00:00"
+ "time": "2021-07-04T13:21:04+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.5.8",
+ "version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
+ "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625",
+ "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625",
"shasum": ""
},
"require": {
@@ -6956,20 +7129,20 @@
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
},
- "time": "2020-10-23T02:01:07+00:00"
+ "time": "2021-04-09T00:54:41+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.2.4",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c"
+ "reference": "b24c6a92c6db316fee69e38c80591e080e41536c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c",
- "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b24c6a92c6db316fee69e38c80591e080e41536c",
+ "reference": "b24c6a92c6db316fee69e38c80591e080e41536c",
"shasum": ""
},
"require": {
@@ -7002,7 +7175,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.2.4"
+ "source": "https://github.com/symfony/stopwatch/tree/v5.3.4"
},
"funding": [
{
@@ -7018,20 +7191,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-27T10:15:41+00:00"
+ "time": "2021-07-10T08:58:57+00:00"
},
{
"name": "symfony/yaml",
- "version": "v5.2.5",
+ "version": "v5.3.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "298a08ddda623485208506fcee08817807a251dd"
+ "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd",
- "reference": "298a08ddda623485208506fcee08817807a251dd",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7",
+ "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7",
"shasum": ""
},
"require": {
@@ -7077,7 +7250,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v5.2.5"
+ "source": "https://github.com/symfony/yaml/tree/v5.3.6"
},
"funding": [
{
@@ -7093,20 +7266,20 @@
"type": "tidelift"
}
],
- "time": "2021-03-06T07:59:01+00:00"
+ "time": "2021-07-29T06:20:01+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.0",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a"
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
@@ -7135,7 +7308,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/master"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
},
"funding": [
{
@@ -7143,34 +7316,31 @@
"type": "github"
}
],
- "time": "2020-07-12T23:59:07+00:00"
+ "time": "2021-07-28T10:34:58+00:00"
},
{
"name": "zbateson/mail-mime-parser",
- "version": "1.3.1",
+ "version": "1.3.2",
"source": {
"type": "git",
"url": "https://github.com/zbateson/mail-mime-parser.git",
- "reference": "706964d904798b8c22d63f62f0ec5f5bc84e30d9"
+ "reference": "8eb590750772849189c7fa30ed52bcdcd2c9d1ef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/706964d904798b8c22d63f62f0ec5f5bc84e30d9",
- "reference": "706964d904798b8c22d63f62f0ec5f5bc84e30d9",
+ "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/8eb590750772849189c7fa30ed52bcdcd2c9d1ef",
+ "reference": "8eb590750772849189c7fa30ed52bcdcd2c9d1ef",
"shasum": ""
},
"require": {
- "guzzlehttp/psr7": "^1.0",
+ "guzzlehttp/psr7": "^1.7.0|^2.0",
"php": ">=5.4",
"zbateson/mb-wrapper": "^1.0.1",
- "zbateson/stream-decorators": "^1.0.4"
+ "zbateson/stream-decorators": "^1.0.6"
},
"require-dev": {
- "jms/serializer": "^1.1",
"mikey179/vfsstream": "^1.6.0",
- "phing/phing": "^2.15.0",
- "phpdocumentor/phpdocumentor": "^2.9.0",
- "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5"
+ "sanmai/phpunit-legacy-adapter": "^6.3 || ^8"
},
"suggest": {
"ext-iconv": "For best support/performance",
@@ -7218,7 +7388,7 @@
"type": "github"
}
],
- "time": "2020-12-02T21:55:45+00:00"
+ "time": "2021-07-08T19:06:28+00:00"
},
{
"name": "zbateson/mb-wrapper",
@@ -7289,25 +7459,25 @@
},
{
"name": "zbateson/stream-decorators",
- "version": "1.0.4",
+ "version": "1.0.6",
"source": {
"type": "git",
"url": "https://github.com/zbateson/stream-decorators.git",
- "reference": "6f54738dfecc65e1d5bfb855035836748083a6dd"
+ "reference": "3403c4323bd1cd15fe54348b031b26b064c706af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zbateson/stream-decorators/zipball/6f54738dfecc65e1d5bfb855035836748083a6dd",
- "reference": "6f54738dfecc65e1d5bfb855035836748083a6dd",
+ "url": "https://api.github.com/repos/zbateson/stream-decorators/zipball/3403c4323bd1cd15fe54348b031b26b064c706af",
+ "reference": "3403c4323bd1cd15fe54348b031b26b064c706af",
"shasum": ""
},
"require": {
- "guzzlehttp/psr7": "^1.0.0",
+ "guzzlehttp/psr7": "^1.7.0|^2.0",
"php": ">=5.4",
"zbateson/mb-wrapper": "^1.0.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5"
+ "sanmai/phpunit-legacy-adapter": "^6.3 || ^8"
},
"type": "library",
"autoload": {
@@ -7338,7 +7508,7 @@
],
"support": {
"issues": "https://github.com/zbateson/stream-decorators/issues",
- "source": "https://github.com/zbateson/stream-decorators/tree/master"
+ "source": "https://github.com/zbateson/stream-decorators/tree/1.0.6"
},
"funding": [
{
@@ -7346,7 +7516,7 @@
"type": "github"
}
],
- "time": "2020-08-10T18:59:43+00:00"
+ "time": "2021-07-08T19:01:59+00:00"
}
],
"aliases": [],
@@ -7354,7 +7524,10 @@
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
- "platform": [],
+ "platform": {
+ "ext-curl": "^7.3",
+ "php": "^7.3"
+ },
"platform-dev": [],
"plugin-api-version": "2.0.0"
}
diff --git a/documentation/classes/LDC-LDCCRM-CrmApiV2.html b/documentation/classes/LDC-LDCCRM-CrmApiV2.html
new file mode 100644
index 0000000..e6526f4
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-CrmApiV2.html
@@ -0,0 +1,421 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrmApiV2
+
+
+
+
+
+
+
+
+
+ This is the main class to interact with the CRM
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $apiInterface
+
+ : ApiInterface
+
+The Api object that will handle requests and responses
+
+
+ __construct()
+
+ : mixed
+
+
+
+
+ getCustomerOrNew()
+
+ : Customer
+
+Get a customer from its hashcode or email
+If it does not exists a new instance
+will be returned. You would have
+to call its save method later on.
+
+
+ ping()
+
+ : bool
+
+Use this the ping the crm and know its current status
+
+
+
+
+
+
+
+
+
+
+
+
+ $apiInterface
+
+
+
+
+
+
+ The Api object that will handle requests and responses
+
+
+ private
+ static ApiInterface
+ $apiInterface
+
+
+
+
+
+
+
+
+
+
+
+
+
+ __construct()
+
+
+
+
+
+
+ public
+ __construct ( ) : mixed
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ getCustomerOrNew()
+
+
+
+
+ Get a customer from its hashcode or email
+If it does not exists a new instance
+will be returned. You would have
+to call its save method later on.
+
+
+ public
+ getCustomerOrNew ( string $identification ) : Customer
+
+
+ Parameters
+
+
+ $identification
+ : string
+
+
+ The customer hashcode or email
+
+
+
+
+
+
+
+ Return values
+ Customer
+ —
+
+
+
+
+
+ ping()
+
+
+
+
+ Use this the ping the crm and know its current status
+
+
+ public
+ ping ( ) : bool
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Enums-ApiError.html b/documentation/classes/LDC-LDCCRM-Enums-ApiError.html
new file mode 100644
index 0000000..52ab389
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Enums-ApiError.html
@@ -0,0 +1,838 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiError
+
+
+ extends BaseEnum
+
+
+
+
+
+
+
+
+
+ This describes an API error.
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ apiAuthFailed()
+
+ :
+
+
+
+
+ authFailed()
+
+ :
+
+
+
+
+ customerAlreadyActive()
+
+ :
+
+
+
+
+ customerExists()
+
+ :
+
+
+
+
+ customerNotActivated()
+
+ :
+
+
+
+
+ labels()
+
+ : array<string|int, mixed>
+
+
+
+
+ methodNotAllowed()
+
+ :
+
+
+
+
+ modelNotFound()
+
+ :
+
+
+
+
+ needAuth()
+
+ :
+
+
+
+
+ singleOptinCustomerExists()
+
+ :
+
+
+
+
+ throttleRequestsException()
+
+ :
+
+
+
+
+ validationFailed()
+
+ :
+
+
+
+
+ values()
+
+ : array<string|int, mixed>
+
+
+
+
+ wrongTimeStamp()
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ apiAuthFailed()
+
+
+
+
+
+
+ public
+ static apiAuthFailed ( ) :
+
+ The authentification to the api failed. You may have to
+check into config or .env file for your brand credentials
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ authFailed()
+
+
+
+
+
+
+ public
+ static authFailed ( ) :
+
+ The authentification for this customer failed because of wrong credentials
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ customerAlreadyActive()
+
+
+
+
+
+
+ public
+ static customerAlreadyActive ( ) :
+
+ You have requested to activate a customer account,
+but it is already active
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ customerExists()
+
+
+
+
+
+
+ public
+ static customerExists ( ) :
+
+ The customer already exists
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ customerNotActivated()
+
+
+
+
+
+
+ public
+ static customerNotActivated ( ) :
+
+ The customer account is not activated and cannot perform
+this action
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ labels()
+
+
+
+
+
+
+ public
+ static labels ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ methodNotAllowed()
+
+
+
+
+
+
+ public
+ static methodNotAllowed ( ) :
+
+ This http method is not allowed
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ modelNotFound()
+
+
+
+
+
+
+ public
+ static modelNotFound ( ) :
+
+ The request model was not found (typically the customer)
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ needAuth()
+
+
+
+
+
+
+ public
+ static needAuth ( ) :
+
+ This action requires to be authenticated
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ singleOptinCustomerExists()
+
+
+
+
+
+
+ public
+ static singleOptinCustomerExists ( ) :
+
+ You have requested to create a single optin for an email,
+but it already exists
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ throttleRequestsException()
+
+
+
+
+
+
+ public
+ static throttleRequestsException ( ) :
+
+ Too many requests have been attempted. The is a throttle security.
+Normally you should not trigger this.
+If this happens fill a ticket on https://supportweb.ldc.fr
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ validationFailed()
+
+
+
+
+
+
+ public
+ static validationFailed ( ) :
+
+ This means some data could not be validated,
+you may have to look into message to get the details
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ values()
+
+
+
+
+
+
+ public
+ static values ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ wrongTimeStamp()
+
+
+
+
+
+
+ public
+ static wrongTimeStamp ( ) :
+
+ The timestamp given is wrong. This would happen in case if
+a replay attack scenario. Timestamps are provided in headers
+and in the http body
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Enums-ApiStatus.html b/documentation/classes/LDC-LDCCRM-Enums-ApiStatus.html
new file mode 100644
index 0000000..65360fe
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Enums-ApiStatus.html
@@ -0,0 +1,334 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiStatus
+
+
+ extends BaseEnum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ KO()
+
+ :
+
+
+
+
+ OK()
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ KO()
+
+
+
+
+
+
+ public
+ static KO ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ OK()
+
+
+
+
+
+
+ public
+ static OK ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Enums-ArcadiaMailType.html b/documentation/classes/LDC-LDCCRM-Enums-ArcadiaMailType.html
new file mode 100644
index 0000000..e6bf506
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Enums-ArcadiaMailType.html
@@ -0,0 +1,374 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaMailType
+
+
+ extends BaseEnum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ default()
+
+ :
+
+
+
+
+ game()
+
+ :
+
+
+
+
+ values()
+
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ default()
+
+
+
+
+
+
+ public
+ static default ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ game()
+
+
+
+
+
+
+ public
+ static game ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ values()
+
+
+
+
+
+
+ public
+ static values ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Enums-ArcadiaOrderType.html b/documentation/classes/LDC-LDCCRM-Enums-ArcadiaOrderType.html
new file mode 100644
index 0000000..82788c2
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Enums-ArcadiaOrderType.html
@@ -0,0 +1,374 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaOrderType
+
+
+ extends BaseEnum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ cb()
+
+ :
+
+
+
+
+ check()
+
+ :
+
+
+
+
+ values()
+
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cb()
+
+
+
+
+
+
+ public
+ static cb ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ check()
+
+
+
+
+
+
+ public
+ static check ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ values()
+
+
+
+
+
+
+ public
+ static values ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Enums-Country.html b/documentation/classes/LDC-LDCCRM-Enums-Country.html
new file mode 100644
index 0000000..6ec2ce4
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Enums-Country.html
@@ -0,0 +1,10221 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Country
+
+
+ extends BaseEnum
+
+
+
+
+
+
+
+
+
+ Liste de Pays
+
+
+
+
+
+
+ source
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ afghanistan()
+
+ :
+
+
+
+
+ aland()
+
+ :
+
+
+
+
+ albania()
+
+ :
+
+
+
+
+ algeria()
+
+ :
+
+
+
+
+ american()
+
+ :
+
+
+
+
+ andorra()
+
+ :
+
+
+
+
+ angola()
+
+ :
+
+
+
+
+ anguilla()
+
+ :
+
+
+
+
+ antarctica()
+
+ :
+
+
+
+
+ antigua()
+
+ :
+
+
+
+
+ argentina()
+
+ :
+
+
+
+
+ armenia()
+
+ :
+
+
+
+
+ aruba()
+
+ :
+
+
+
+
+ australia()
+
+ :
+
+
+
+
+ austria()
+
+ :
+
+
+
+
+ azerbaijan()
+
+ :
+
+
+
+
+ bahamas()
+
+ :
+
+
+
+
+ bahrain()
+
+ :
+
+
+
+
+ bangladesh()
+
+ :
+
+
+
+
+ barbados()
+
+ :
+
+
+
+
+ belarus()
+
+ :
+
+
+
+
+ belgium()
+
+ :
+
+
+
+
+ belize()
+
+ :
+
+
+
+
+ benin()
+
+ :
+
+
+
+
+ bermuda()
+
+ :
+
+
+
+
+ bhutan()
+
+ :
+
+
+
+
+ bolivia()
+
+ :
+
+
+
+
+ bonaire()
+
+ :
+
+
+
+
+ bosnia()
+
+ :
+
+
+
+
+ botswana()
+
+ :
+
+
+
+
+ bouvet()
+
+ :
+
+
+
+
+ brazil()
+
+ :
+
+
+
+
+ british()
+
+ :
+
+
+
+
+ brunei()
+
+ :
+
+
+
+
+ bulgaria()
+
+ :
+
+
+
+
+ burkina()
+
+ :
+
+
+
+
+ burundi()
+
+ :
+
+
+
+
+ cambodia()
+
+ :
+
+
+
+
+ cameroon()
+
+ :
+
+
+
+
+ canada()
+
+ :
+
+
+
+
+ cape()
+
+ :
+
+
+
+
+ cayman()
+
+ :
+
+
+
+
+ central()
+
+ :
+
+
+
+
+ chad()
+
+ :
+
+
+
+
+ chile()
+
+ :
+
+
+
+
+ china()
+
+ :
+
+
+
+
+ christmas()
+
+ :
+
+
+
+
+ cocos()
+
+ :
+
+
+
+
+ colombia()
+
+ :
+
+
+
+
+ comoros()
+
+ :
+
+
+
+
+ congo()
+
+ :
+
+
+
+
+ congo()
+
+ :
+
+
+
+
+ cook()
+
+ :
+
+
+
+
+ costa()
+
+ :
+
+
+
+
+ cote()
+
+ :
+
+
+
+
+ croatia()
+
+ :
+
+
+
+
+ cuba()
+
+ :
+
+
+
+
+ curacao()
+
+ :
+
+
+
+
+ cyprus()
+
+ :
+
+
+
+
+ czech()
+
+ :
+
+
+
+
+ denmark()
+
+ :
+
+
+
+
+ djibouti()
+
+ :
+
+
+
+
+ dominica()
+
+ :
+
+
+
+
+ dominican()
+
+ :
+
+
+
+
+ ecuador()
+
+ :
+
+
+
+
+ egypt()
+
+ :
+
+
+
+
+ el()
+
+ :
+
+
+
+
+ equatorial()
+
+ :
+
+
+
+
+ eritrea()
+
+ :
+
+
+
+
+ estonia()
+
+ :
+
+
+
+
+ ethiopia()
+
+ :
+
+
+
+
+ falkland()
+
+ :
+
+
+
+
+ faroe()
+
+ :
+
+
+
+
+ fiji()
+
+ :
+
+
+
+
+ finland()
+
+ :
+
+
+
+
+ france()
+
+ :
+
+
+
+
+ french()
+
+ :
+
+
+
+
+ french()
+
+ :
+
+
+
+
+ french()
+
+ :
+
+
+
+
+ gabon()
+
+ :
+
+
+
+
+ gambia()
+
+ :
+
+
+
+
+ georgia()
+
+ :
+
+
+
+
+ germany()
+
+ :
+
+
+
+
+ ghana()
+
+ :
+
+
+
+
+ gibraltar()
+
+ :
+
+
+
+
+ greece()
+
+ :
+
+
+
+
+ greenland()
+
+ :
+
+
+
+
+ grenada()
+
+ :
+
+
+
+
+ guadeloupe()
+
+ :
+
+
+
+
+ guam()
+
+ :
+
+
+
+
+ guatemala()
+
+ :
+
+
+
+
+ guernsey()
+
+ :
+
+
+
+
+ guinea()
+
+ :
+
+
+
+
+ guinea()
+
+ :
+
+
+
+
+ guyana()
+
+ :
+
+
+
+
+ haiti()
+
+ :
+
+
+
+
+ heard()
+
+ :
+
+
+
+
+ holy()
+
+ :
+
+
+
+
+ honduras()
+
+ :
+
+
+
+
+ hong()
+
+ :
+
+
+
+
+ hungary()
+
+ :
+
+
+
+
+ iceland()
+
+ :
+
+
+
+
+ india()
+
+ :
+
+
+
+
+ indonesia()
+
+ :
+
+
+
+
+ iran()
+
+ :
+
+
+
+
+ iraq()
+
+ :
+
+
+
+
+ ireland()
+
+ :
+
+
+
+
+ isle()
+
+ :
+
+
+
+
+ israel()
+
+ :
+
+
+
+
+ italy()
+
+ :
+
+
+
+
+ jamaica()
+
+ :
+
+
+
+
+ japan()
+
+ :
+
+
+
+
+ jersey()
+
+ :
+
+
+
+
+ jordan()
+
+ :
+
+
+
+
+ kazakhstan()
+
+ :
+
+
+
+
+ kenya()
+
+ :
+
+
+
+
+ kiribati()
+
+ :
+
+
+
+
+ korea()
+
+ :
+
+
+
+
+ korea()
+
+ :
+
+
+
+
+ kuwait()
+
+ :
+
+
+
+
+ kyrgyzstan()
+
+ :
+
+
+
+
+ labels()
+
+ : array<string|int, mixed>
+
+
+
+
+ lao()
+
+ :
+
+
+
+
+ latvia()
+
+ :
+
+
+
+
+ lebanon()
+
+ :
+
+
+
+
+ lesotho()
+
+ :
+
+
+
+
+ liberia()
+
+ :
+
+
+
+
+ libya()
+
+ :
+
+
+
+
+ liechtenstein()
+
+ :
+
+
+
+
+ lithuania()
+
+ :
+
+
+
+
+ luxembourg()
+
+ :
+
+
+
+
+ macao()
+
+ :
+
+
+
+
+ macedonia()
+
+ :
+
+
+
+
+ madagascar()
+
+ :
+
+
+
+
+ malawi()
+
+ :
+
+
+
+
+ malaysia()
+
+ :
+
+
+
+
+ maldives()
+
+ :
+
+
+
+
+ mali()
+
+ :
+
+
+
+
+ malta()
+
+ :
+
+
+
+
+ marshall()
+
+ :
+
+
+
+
+ martinique()
+
+ :
+
+
+
+
+ mauritania()
+
+ :
+
+
+
+
+ mauritius()
+
+ :
+
+
+
+
+ mayotte()
+
+ :
+
+
+
+
+ mexico()
+
+ :
+
+
+
+
+ micronesia()
+
+ :
+
+
+
+
+ moldova()
+
+ :
+
+
+
+
+ monaco()
+
+ :
+
+
+
+
+ mongolia()
+
+ :
+
+
+
+
+ montenegro()
+
+ :
+
+
+
+
+ montserrat()
+
+ :
+
+
+
+
+ morocco()
+
+ :
+
+
+
+
+ mozambique()
+
+ :
+
+
+
+
+ myanmar()
+
+ :
+
+
+
+
+ namibia()
+
+ :
+
+
+
+
+ nauru()
+
+ :
+
+
+
+
+ nepal()
+
+ :
+
+
+
+
+ netherlands()
+
+ :
+
+
+
+
+ new()
+
+ :
+
+
+
+
+ new()
+
+ :
+
+
+
+
+ nicaragua()
+
+ :
+
+
+
+
+ niger()
+
+ :
+
+
+
+
+ nigeria()
+
+ :
+
+
+
+
+ niue()
+
+ :
+
+
+
+
+ norfolk()
+
+ :
+
+
+
+
+ northern()
+
+ :
+
+
+
+
+ norway()
+
+ :
+
+
+
+
+ oman()
+
+ :
+
+
+
+
+ pakistan()
+
+ :
+
+
+
+
+ palau()
+
+ :
+
+
+
+
+ palestine()
+
+ :
+
+
+
+
+ panama()
+
+ :
+
+
+
+
+ papua()
+
+ :
+
+
+
+
+ paraguay()
+
+ :
+
+
+
+
+ peru()
+
+ :
+
+
+
+
+ philippines()
+
+ :
+
+
+
+
+ pitcairn()
+
+ :
+
+
+
+
+ poland()
+
+ :
+
+
+
+
+ portugal()
+
+ :
+
+
+
+
+ puerto()
+
+ :
+
+
+
+
+ qatar()
+
+ :
+
+
+
+
+ reunion()
+
+ :
+
+
+
+
+ romania()
+
+ :
+
+
+
+
+ russian()
+
+ :
+
+
+
+
+ rwanda()
+
+ :
+
+
+
+
+ saint()
+
+ :
+
+
+
+
+ saint()
+
+ :
+
+
+
+
+ saint()
+
+ :
+
+
+
+
+ saint()
+
+ :
+
+
+
+
+ saint()
+
+ :
+
+
+
+
+ saint()
+
+ :
+
+
+
+
+ saint()
+
+ :
+
+
+
+
+ samoa()
+
+ :
+
+
+
+
+ san()
+
+ :
+
+
+
+
+ sao()
+
+ :
+
+
+
+
+ saudi()
+
+ :
+
+
+
+
+ senegal()
+
+ :
+
+
+
+
+ serbia()
+
+ :
+
+
+
+
+ seychelles()
+
+ :
+
+
+
+
+ sierra()
+
+ :
+
+
+
+
+ singapore()
+
+ :
+
+
+
+
+ sint()
+
+ :
+
+
+
+
+ slovakia()
+
+ :
+
+
+
+
+ slovenia()
+
+ :
+
+
+
+
+ solomon()
+
+ :
+
+
+
+
+ somalia()
+
+ :
+
+
+
+
+ south()
+
+ :
+
+
+
+
+ south()
+
+ :
+
+
+
+
+ south()
+
+ :
+
+
+
+
+ spain()
+
+ :
+
+
+
+
+ sri()
+
+ :
+
+
+
+
+ sudan()
+
+ :
+
+
+
+
+ suriname()
+
+ :
+
+
+
+
+ svalbard()
+
+ :
+
+
+
+
+ swaziland()
+
+ :
+
+
+
+
+ sweden()
+
+ :
+
+
+
+
+ switzerland()
+
+ :
+
+
+
+
+ syrian()
+
+ :
+
+
+
+
+ taiwan()
+
+ :
+
+
+
+
+ tajikistan()
+
+ :
+
+
+
+
+ tanzania()
+
+ :
+
+
+
+
+ thailand()
+
+ :
+
+
+
+
+ timor()
+
+ :
+
+
+
+
+ togo()
+
+ :
+
+
+
+
+ tokelau()
+
+ :
+
+
+
+
+ tonga()
+
+ :
+
+
+
+
+ trinidad()
+
+ :
+
+
+
+
+ tunisia()
+
+ :
+
+
+
+
+ turkey()
+
+ :
+
+
+
+
+ turkmenistan()
+
+ :
+
+
+
+
+ turks()
+
+ :
+
+
+
+
+ tuvalu()
+
+ :
+
+
+
+
+ uganda()
+
+ :
+
+
+
+
+ ukraine()
+
+ :
+
+
+
+
+ united()
+
+ :
+
+
+
+
+ united()
+
+ :
+
+
+
+
+ united()
+
+ :
+
+
+
+
+ united()
+
+ :
+
+
+
+
+ uruguay()
+
+ :
+
+
+
+
+ uzbekistan()
+
+ :
+
+
+
+
+ values()
+
+ : array<string|int, mixed>
+
+
+
+
+ vanuatu()
+
+ :
+
+
+
+
+ venezuela()
+
+ :
+
+
+
+
+ viet()
+
+ :
+
+
+
+
+ virgin()
+
+ :
+
+
+
+
+ virgin()
+
+ :
+
+
+
+
+ wallis()
+
+ :
+
+
+
+
+ western()
+
+ :
+
+
+
+
+ yemen()
+
+ :
+
+
+
+
+ zambia()
+
+ :
+
+
+
+
+ zimbabwe()
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ afghanistan()
+
+
+
+
+
+
+ public
+ static afghanistan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ aland()
+
+
+
+
+
+
+ public
+ static aland ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ albania()
+
+
+
+
+
+
+ public
+ static albania ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ algeria()
+
+
+
+
+
+
+ public
+ static algeria ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ american()
+
+
+
+
+
+
+ public
+ static american ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ andorra()
+
+
+
+
+
+
+ public
+ static andorra ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ angola()
+
+
+
+
+
+
+ public
+ static angola ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ anguilla()
+
+
+
+
+
+
+ public
+ static anguilla ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ antarctica()
+
+
+
+
+
+
+ public
+ static antarctica ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ antigua()
+
+
+
+
+
+
+ public
+ static antigua ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ argentina()
+
+
+
+
+
+
+ public
+ static argentina ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ armenia()
+
+
+
+
+
+
+ public
+ static armenia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ aruba()
+
+
+
+
+
+
+ public
+ static aruba ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ australia()
+
+
+
+
+
+
+ public
+ static australia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ austria()
+
+
+
+
+
+
+ public
+ static austria ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ azerbaijan()
+
+
+
+
+
+
+ public
+ static azerbaijan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bahamas()
+
+
+
+
+
+
+ public
+ static bahamas ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bahrain()
+
+
+
+
+
+
+ public
+ static bahrain ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bangladesh()
+
+
+
+
+
+
+ public
+ static bangladesh ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ barbados()
+
+
+
+
+
+
+ public
+ static barbados ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ belarus()
+
+
+
+
+
+
+ public
+ static belarus ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ belgium()
+
+
+
+
+
+
+ public
+ static belgium ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ belize()
+
+
+
+
+
+
+ public
+ static belize ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ benin()
+
+
+
+
+
+
+ public
+ static benin ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bermuda()
+
+
+
+
+
+
+ public
+ static bermuda ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bhutan()
+
+
+
+
+
+
+ public
+ static bhutan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bolivia()
+
+
+
+
+
+
+ public
+ static bolivia ( ) :
+
+ -plurinational-state-of()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bonaire()
+
+
+
+
+
+
+ public
+ static bonaire ( ) :
+
+ -sint-eustatius-and-saba()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bosnia()
+
+
+
+
+
+
+ public
+ static bosnia ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ botswana()
+
+
+
+
+
+
+ public
+ static botswana ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bouvet()
+
+
+
+
+
+
+ public
+ static bouvet ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ brazil()
+
+
+
+
+
+
+ public
+ static brazil ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ british()
+
+
+
+
+
+
+ public
+ static british ( ) :
+
+ -indian-ocean-territory()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ brunei()
+
+
+
+
+
+
+ public
+ static brunei ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ bulgaria()
+
+
+
+
+
+
+ public
+ static bulgaria ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ burkina()
+
+
+
+
+
+
+ public
+ static burkina ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ burundi()
+
+
+
+
+
+
+ public
+ static burundi ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cambodia()
+
+
+
+
+
+
+ public
+ static cambodia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cameroon()
+
+
+
+
+
+
+ public
+ static cameroon ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ canada()
+
+
+
+
+
+
+ public
+ static canada ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cape()
+
+
+
+
+
+
+ public
+ static cape ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cayman()
+
+
+
+
+
+
+ public
+ static cayman ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ central()
+
+
+
+
+
+
+ public
+ static central ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ chad()
+
+
+
+
+
+
+ public
+ static chad ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ chile()
+
+
+
+
+
+
+ public
+ static chile ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ china()
+
+
+
+
+
+
+ public
+ static china ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ christmas()
+
+
+
+
+
+
+ public
+ static christmas ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cocos()
+
+
+
+
+
+
+ public
+ static cocos ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ colombia()
+
+
+
+
+
+
+ public
+ static colombia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ comoros()
+
+
+
+
+
+
+ public
+ static comoros ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ congo()
+
+
+
+
+
+
+ public
+ static congo ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ congo()
+
+
+
+
+
+
+ public
+ static congo ( ) :
+
+ -the-democratic-republic-of-the()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cook()
+
+
+
+
+
+
+ public
+ static cook ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ costa()
+
+
+
+
+
+
+ public
+ static costa ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cote()
+
+
+
+
+
+
+ public
+ static cote ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ croatia()
+
+
+
+
+
+
+ public
+ static croatia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cuba()
+
+
+
+
+
+
+ public
+ static cuba ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ curacao()
+
+
+
+
+
+
+ public
+ static curacao ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ cyprus()
+
+
+
+
+
+
+ public
+ static cyprus ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ czech()
+
+
+
+
+
+
+ public
+ static czech ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ denmark()
+
+
+
+
+
+
+ public
+ static denmark ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ djibouti()
+
+
+
+
+
+
+ public
+ static djibouti ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ dominica()
+
+
+
+
+
+
+ public
+ static dominica ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ dominican()
+
+
+
+
+
+
+ public
+ static dominican ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ ecuador()
+
+
+
+
+
+
+ public
+ static ecuador ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ egypt()
+
+
+
+
+
+
+ public
+ static egypt ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ el()
+
+
+
+
+
+
+ public
+ static el ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ equatorial()
+
+
+
+
+
+
+ public
+ static equatorial ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ eritrea()
+
+
+
+
+
+
+ public
+ static eritrea ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ estonia()
+
+
+
+
+
+
+ public
+ static estonia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ ethiopia()
+
+
+
+
+
+
+ public
+ static ethiopia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ falkland()
+
+
+
+
+
+
+ public
+ static falkland ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ faroe()
+
+
+
+
+
+
+ public
+ static faroe ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ fiji()
+
+
+
+
+
+
+ public
+ static fiji ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ finland()
+
+
+
+
+
+
+ public
+ static finland ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ france()
+
+
+
+
+
+
+ public
+ static france ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ french()
+
+
+
+
+
+
+ public
+ static french ( ) :
+
+ -southern-territories()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ french()
+
+
+
+
+
+
+ public
+ static french ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ french()
+
+
+
+
+
+
+ public
+ static french ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ gabon()
+
+
+
+
+
+
+ public
+ static gabon ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ gambia()
+
+
+
+
+
+
+ public
+ static gambia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ georgia()
+
+
+
+
+
+
+ public
+ static georgia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ germany()
+
+
+
+
+
+
+ public
+ static germany ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ ghana()
+
+
+
+
+
+
+ public
+ static ghana ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ gibraltar()
+
+
+
+
+
+
+ public
+ static gibraltar ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ greece()
+
+
+
+
+
+
+ public
+ static greece ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ greenland()
+
+
+
+
+
+
+ public
+ static greenland ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ grenada()
+
+
+
+
+
+
+ public
+ static grenada ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ guadeloupe()
+
+
+
+
+
+
+ public
+ static guadeloupe ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ guam()
+
+
+
+
+
+
+ public
+ static guam ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ guatemala()
+
+
+
+
+
+
+ public
+ static guatemala ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ guernsey()
+
+
+
+
+
+
+ public
+ static guernsey ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ guinea()
+
+
+
+
+
+
+ public
+ static guinea ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ guinea()
+
+
+
+
+
+
+ public
+ static guinea ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ guyana()
+
+
+
+
+
+
+ public
+ static guyana ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ haiti()
+
+
+
+
+
+
+ public
+ static haiti ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ heard()
+
+
+
+
+
+
+ public
+ static heard ( ) :
+
+ -island-and-mcdonald-islands()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ holy()
+
+
+
+
+
+
+ public
+ static holy ( ) :
+
+ -see-vatican-city-state()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ honduras()
+
+
+
+
+
+
+ public
+ static honduras ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ hong()
+
+
+
+
+
+
+ public
+ static hong ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ hungary()
+
+
+
+
+
+
+ public
+ static hungary ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ iceland()
+
+
+
+
+
+
+ public
+ static iceland ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ india()
+
+
+
+
+
+
+ public
+ static india ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ indonesia()
+
+
+
+
+
+
+ public
+ static indonesia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ iran()
+
+
+
+
+
+
+ public
+ static iran ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ iraq()
+
+
+
+
+
+
+ public
+ static iraq ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ ireland()
+
+
+
+
+
+
+ public
+ static ireland ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ isle()
+
+
+
+
+
+
+ public
+ static isle ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ israel()
+
+
+
+
+
+
+ public
+ static israel ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ italy()
+
+
+
+
+
+
+ public
+ static italy ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ jamaica()
+
+
+
+
+
+
+ public
+ static jamaica ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ japan()
+
+
+
+
+
+
+ public
+ static japan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ jersey()
+
+
+
+
+
+
+ public
+ static jersey ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ jordan()
+
+
+
+
+
+
+ public
+ static jordan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ kazakhstan()
+
+
+
+
+
+
+ public
+ static kazakhstan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ kenya()
+
+
+
+
+
+
+ public
+ static kenya ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ kiribati()
+
+
+
+
+
+
+ public
+ static kiribati ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ korea()
+
+
+
+
+
+
+ public
+ static korea ( ) :
+
+ -democratic-peoples-republic-of()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ korea()
+
+
+
+
+
+
+ public
+ static korea ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ kuwait()
+
+
+
+
+
+
+ public
+ static kuwait ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ kyrgyzstan()
+
+
+
+
+
+
+ public
+ static kyrgyzstan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ labels()
+
+
+
+
+
+
+ public
+ static labels ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ lao()
+
+
+
+
+
+
+ public
+ static lao ( ) :
+
+ -peoples-democratic-republic()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ latvia()
+
+
+
+
+
+
+ public
+ static latvia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ lebanon()
+
+
+
+
+
+
+ public
+ static lebanon ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ lesotho()
+
+
+
+
+
+
+ public
+ static lesotho ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ liberia()
+
+
+
+
+
+
+ public
+ static liberia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ libya()
+
+
+
+
+
+
+ public
+ static libya ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ liechtenstein()
+
+
+
+
+
+
+ public
+ static liechtenstein ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ lithuania()
+
+
+
+
+
+
+ public
+ static lithuania ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ luxembourg()
+
+
+
+
+
+
+ public
+ static luxembourg ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ macao()
+
+
+
+
+
+
+ public
+ static macao ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ macedonia()
+
+
+
+
+
+
+ public
+ static macedonia ( ) :
+
+ -the-former-yugoslav-republic-of()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ madagascar()
+
+
+
+
+
+
+ public
+ static madagascar ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ malawi()
+
+
+
+
+
+
+ public
+ static malawi ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ malaysia()
+
+
+
+
+
+
+ public
+ static malaysia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ maldives()
+
+
+
+
+
+
+ public
+ static maldives ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ mali()
+
+
+
+
+
+
+ public
+ static mali ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ malta()
+
+
+
+
+
+
+ public
+ static malta ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ marshall()
+
+
+
+
+
+
+ public
+ static marshall ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ martinique()
+
+
+
+
+
+
+ public
+ static martinique ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ mauritania()
+
+
+
+
+
+
+ public
+ static mauritania ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ mauritius()
+
+
+
+
+
+
+ public
+ static mauritius ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ mayotte()
+
+
+
+
+
+
+ public
+ static mayotte ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ mexico()
+
+
+
+
+
+
+ public
+ static mexico ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ micronesia()
+
+
+
+
+
+
+ public
+ static micronesia ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ moldova()
+
+
+
+
+
+
+ public
+ static moldova ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ monaco()
+
+
+
+
+
+
+ public
+ static monaco ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ mongolia()
+
+
+
+
+
+
+ public
+ static mongolia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ montenegro()
+
+
+
+
+
+
+ public
+ static montenegro ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ montserrat()
+
+
+
+
+
+
+ public
+ static montserrat ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ morocco()
+
+
+
+
+
+
+ public
+ static morocco ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ mozambique()
+
+
+
+
+
+
+ public
+ static mozambique ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ myanmar()
+
+
+
+
+
+
+ public
+ static myanmar ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ namibia()
+
+
+
+
+
+
+ public
+ static namibia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ nauru()
+
+
+
+
+
+
+ public
+ static nauru ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ nepal()
+
+
+
+
+
+
+ public
+ static nepal ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ netherlands()
+
+
+
+
+
+
+ public
+ static netherlands ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ new()
+
+
+
+
+
+
+ public
+ static new ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ new()
+
+
+
+
+
+
+ public
+ static new ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ nicaragua()
+
+
+
+
+
+
+ public
+ static nicaragua ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ niger()
+
+
+
+
+
+
+ public
+ static niger ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ nigeria()
+
+
+
+
+
+
+ public
+ static nigeria ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ niue()
+
+
+
+
+
+
+ public
+ static niue ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ norfolk()
+
+
+
+
+
+
+ public
+ static norfolk ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ northern()
+
+
+
+
+
+
+ public
+ static northern ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ norway()
+
+
+
+
+
+
+ public
+ static norway ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ oman()
+
+
+
+
+
+
+ public
+ static oman ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ pakistan()
+
+
+
+
+
+
+ public
+ static pakistan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ palau()
+
+
+
+
+
+
+ public
+ static palau ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ palestine()
+
+
+
+
+
+
+ public
+ static palestine ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ panama()
+
+
+
+
+
+
+ public
+ static panama ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ papua()
+
+
+
+
+
+
+ public
+ static papua ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ paraguay()
+
+
+
+
+
+
+ public
+ static paraguay ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ peru()
+
+
+
+
+
+
+ public
+ static peru ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ philippines()
+
+
+
+
+
+
+ public
+ static philippines ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ pitcairn()
+
+
+
+
+
+
+ public
+ static pitcairn ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ poland()
+
+
+
+
+
+
+ public
+ static poland ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ portugal()
+
+
+
+
+
+
+ public
+ static portugal ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ puerto()
+
+
+
+
+
+
+ public
+ static puerto ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ qatar()
+
+
+
+
+
+
+ public
+ static qatar ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ reunion()
+
+
+
+
+
+
+ public
+ static reunion ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ romania()
+
+
+
+
+
+
+ public
+ static romania ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ russian()
+
+
+
+
+
+
+ public
+ static russian ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ rwanda()
+
+
+
+
+
+
+ public
+ static rwanda ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saint()
+
+
+
+
+
+
+ public
+ static saint ( ) :
+
+ -vincent-and-the-grenadines()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saint()
+
+
+
+
+
+
+ public
+ static saint ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saint()
+
+
+
+
+
+
+ public
+ static saint ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saint()
+
+
+
+
+
+
+ public
+ static saint ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saint()
+
+
+
+
+
+
+ public
+ static saint ( ) :
+
+ -helena-ascension-and-tristan-da-cunha()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saint()
+
+
+
+
+
+
+ public
+ static saint ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saint()
+
+
+
+
+
+
+ public
+ static saint ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ samoa()
+
+
+
+
+
+
+ public
+ static samoa ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ san()
+
+
+
+
+
+
+ public
+ static san ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ sao()
+
+
+
+
+
+
+ public
+ static sao ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ saudi()
+
+
+
+
+
+
+ public
+ static saudi ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ senegal()
+
+
+
+
+
+
+ public
+ static senegal ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ serbia()
+
+
+
+
+
+
+ public
+ static serbia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ seychelles()
+
+
+
+
+
+
+ public
+ static seychelles ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ sierra()
+
+
+
+
+
+
+ public
+ static sierra ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ singapore()
+
+
+
+
+
+
+ public
+ static singapore ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ sint()
+
+
+
+
+
+
+ public
+ static sint ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ slovakia()
+
+
+
+
+
+
+ public
+ static slovakia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ slovenia()
+
+
+
+
+
+
+ public
+ static slovenia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ solomon()
+
+
+
+
+
+
+ public
+ static solomon ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ somalia()
+
+
+
+
+
+
+ public
+ static somalia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ south()
+
+
+
+
+
+
+ public
+ static south ( ) :
+
+ -georgia-and-the-south-sandwich-islands()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ south()
+
+
+
+
+
+
+ public
+ static south ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ south()
+
+
+
+
+
+
+ public
+ static south ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ spain()
+
+
+
+
+
+
+ public
+ static spain ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ sri()
+
+
+
+
+
+
+ public
+ static sri ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ sudan()
+
+
+
+
+
+
+ public
+ static sudan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ suriname()
+
+
+
+
+
+
+ public
+ static suriname ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ svalbard()
+
+
+
+
+
+
+ public
+ static svalbard ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ swaziland()
+
+
+
+
+
+
+ public
+ static swaziland ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ sweden()
+
+
+
+
+
+
+ public
+ static sweden ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ switzerland()
+
+
+
+
+
+
+ public
+ static switzerland ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ syrian()
+
+
+
+
+
+
+ public
+ static syrian ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ taiwan()
+
+
+
+
+
+
+ public
+ static taiwan ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ tajikistan()
+
+
+
+
+
+
+ public
+ static tajikistan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ tanzania()
+
+
+
+
+
+
+ public
+ static tanzania ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ thailand()
+
+
+
+
+
+
+ public
+ static thailand ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ timor()
+
+
+
+
+
+
+ public
+ static timor ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ togo()
+
+
+
+
+
+
+ public
+ static togo ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ tokelau()
+
+
+
+
+
+
+ public
+ static tokelau ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ tonga()
+
+
+
+
+
+
+ public
+ static tonga ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ trinidad()
+
+
+
+
+
+
+ public
+ static trinidad ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ tunisia()
+
+
+
+
+
+
+ public
+ static tunisia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ turkey()
+
+
+
+
+
+
+ public
+ static turkey ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ turkmenistan()
+
+
+
+
+
+
+ public
+ static turkmenistan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ turks()
+
+
+
+
+
+
+ public
+ static turks ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ tuvalu()
+
+
+
+
+
+
+ public
+ static tuvalu ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ uganda()
+
+
+
+
+
+
+ public
+ static uganda ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ ukraine()
+
+
+
+
+
+
+ public
+ static ukraine ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ united()
+
+
+
+
+
+
+ public
+ static united ( ) :
+
+ -states-minor-outlying-islands()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ united()
+
+
+
+
+
+
+ public
+ static united ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ united()
+
+
+
+
+
+
+ public
+ static united ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ united()
+
+
+
+
+
+
+ public
+ static united ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ uruguay()
+
+
+
+
+
+
+ public
+ static uruguay ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ uzbekistan()
+
+
+
+
+
+
+ public
+ static uzbekistan ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ values()
+
+
+
+
+
+
+ public
+ static values ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ vanuatu()
+
+
+
+
+
+
+ public
+ static vanuatu ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ venezuela()
+
+
+
+
+
+
+ public
+ static venezuela ( ) :
+
+ -bolivarian-republic-of()
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ viet()
+
+
+
+
+
+
+ public
+ static viet ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ virgin()
+
+
+
+
+
+
+ public
+ static virgin ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ virgin()
+
+
+
+
+
+
+ public
+ static virgin ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ wallis()
+
+
+
+
+
+
+ public
+ static wallis ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ western()
+
+
+
+
+
+
+ public
+ static western ( ) :
+
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ yemen()
+
+
+
+
+
+
+ public
+ static yemen ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ zambia()
+
+
+
+
+
+
+ public
+ static zambia ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ zimbabwe()
+
+
+
+
+
+
+ public
+ static zimbabwe ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Enums-HttpMethods.html b/documentation/classes/LDC-LDCCRM-Enums-HttpMethods.html
new file mode 100644
index 0000000..2b169cf
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Enums-HttpMethods.html
@@ -0,0 +1,396 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HttpMethods
+
+
+ extends BaseEnum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ delete()
+
+ :
+
+
+
+
+ get()
+
+ :
+
+
+
+
+ post()
+
+ :
+
+
+
+
+ put()
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ delete()
+
+
+
+
+
+
+ public
+ static delete ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ get()
+
+
+
+
+
+
+ public
+ static get ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ post()
+
+
+
+
+
+
+ public
+ static post ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+ put()
+
+
+
+
+
+
+ public
+ static put ( ) :
+
+
+
+
+
+ Return values
+
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Exceptions-ApiErrorException.html b/documentation/classes/LDC-LDCCRM-Exceptions-ApiErrorException.html
new file mode 100644
index 0000000..8f1dd75
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Exceptions-ApiErrorException.html
@@ -0,0 +1,596 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiErrorException
+
+
+ extends Exception
+
+
+
+
+
+
+
+
+
+ This would be thrown if any of the case
+referenced in \LDC\LDCCRM\Enums\ApiError would
+occur within the crm
+
+ On the client an ApiErrorException would
+also be throw with the ApiError corresponding to
+the situation
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $error
+
+ : ApiError
+
+Api Error
+This value makes the error more explicit.
+
+
+ $httpCode
+
+ : int
+
+This is the http code returned by the crm.
+
+
+ $message
+
+ : string
+
+This is an explicit error message,
+ou may print this to the front or not depending
+on $error value
+
+
+ __construct()
+
+ : mixed
+
+
+
+
+ getApiError()
+
+ : ApiError
+
+Get the Api Error
+
+
+ getStatusCode()
+
+ : int
+
+Get the http code
+
+
+ report()
+
+ : mixed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $error
+
+
+
+
+
+
+ Api Error
+This value makes the error more explicit.
+
+
+ protected
+ ApiError
+ $error
+
+
+ Handling these errors are normal as inputs or
+request may be undesired or refused by the crm.
+
+
+
+
+
+
+
+
+ $httpCode
+
+
+
+
+
+
+ This is the http code returned by the crm.
+
+
+ protected
+ int
+ $httpCode
+
+
+ This value could be used to handle errors.
+But please take in consideration $error first
+
+
+
+
+
+
+
+
+ $message
+
+
+
+
+
+
+ This is an explicit error message,
+ou may print this to the front or not depending
+on $error value
+
+
+ protected
+ string
+ $message
+
+
+
+
+
+
+
+
+
+
+
+
+
+ __construct()
+
+
+
+
+
+
+ public
+ __construct ( ApiError $error [ , int $httpCode = 400 ] [ , string $message = '' ] [ , Throwable $previous = null ] ) : mixed
+
+
+
+ Parameters
+
+
+ $error
+ : ApiError
+
+
+
+
+
+
+ $httpCode
+ : int
+ = 400
+
+
+
+
+
+ $message
+ : string
+ = ''
+
+
+
+
+
+ $previous
+ : Throwable
+ = null
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ getApiError()
+
+
+
+
+ Get the Api Error
+
+
+ public
+ getApiError ( ) : ApiError
+
+
+
+
+
+ Return values
+ ApiError
+ —
+
+
+
+
+
+ getStatusCode()
+
+
+
+
+ Get the http code
+
+
+ public
+ getStatusCode ( ) : int
+
+
+
+
+
+ Return values
+ int
+ —
+
+
+
+
+
+ report()
+
+
+
+
+
+
+ public
+ report ( ) : mixed
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Exceptions-CrmException.html b/documentation/classes/LDC-LDCCRM-Exceptions-CrmException.html
new file mode 100644
index 0000000..23180c7
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Exceptions-CrmException.html
@@ -0,0 +1,300 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrmException
+
+
+ extends Exception
+
+
+
+
+
+
+
+
+
+ This is a critical error.
+
+ The request could not be handled. You may dump any value you can
+get before submitting a ticker to https://supportweb.ldc.fr
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ report()
+
+ : mixed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ report()
+
+
+
+
+
+
+ public
+ report ( ) : mixed
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Exceptions-LoginException.html b/documentation/classes/LDC-LDCCRM-Exceptions-LoginException.html
new file mode 100644
index 0000000..cac6403
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Exceptions-LoginException.html
@@ -0,0 +1,297 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LoginException
+
+
+ extends Exception
+
+
+
+
+
+
+
+
+
+ This would be thrown if You api credentials are wrong
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ report()
+
+ : mixed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ report()
+
+
+
+
+
+
+ public
+ report ( ) : mixed
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Exceptions-ValidationException.html b/documentation/classes/LDC-LDCCRM-Exceptions-ValidationException.html
new file mode 100644
index 0000000..b7b65e6
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Exceptions-ValidationException.html
@@ -0,0 +1,298 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ValidationException
+
+
+ extends Exception
+
+
+
+
+
+
+
+
+
+ This would be thrown if a data could not be validated
+on any models
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ report()
+
+ : mixed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ report()
+
+
+
+
+
+
+ public
+ report ( ) : mixed
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html b/documentation/classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html
new file mode 100644
index 0000000..b010a95
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html
@@ -0,0 +1,1299 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaMailDefault
+
+
+ extends CrmClientModel
+
+
+
+
+
+
+
+
+
+ This class represents the customer info with
+the account validation status
+
+
+
+
+
+
+ category
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $label_type_support
+
+ : string
+
+
+
+
+ $operation
+
+ : int
+
+
+
+
+ $order_date
+
+ : string
+
+
+
+
+ $order_num
+
+ : int
+
+
+
+
+ $package_unit_weight
+
+ : int
+
+
+
+
+ $state_order
+
+ : ArcadiaOrderType
+
+
+
+
+ $support_code
+
+ : int
+
+
+
+
+ $modelFields
+
+ : array<string|int, mixed>
+
+The crm customer fields
+
+
+ $validation
+
+ : array<string|int, mixed>
+
+Validation rules
+
+
+ $label_type_support
+
+ : string
+
+The arcadia type support label
+
+
+ $operation
+
+ : int
+
+The arcadia operation code
+
+
+ $order_date
+
+ : string
+
+The arcadia order date
+
+
+ $order_num
+
+ : int
+
+The arcadia order number
+
+
+ $package_unit_weight
+
+ : int
+
+The arcadia package unit weight
+
+
+ $state_order
+
+ : int
+
+The arcadia state order
+
+
+ $support_code
+
+ : int
+
+The arcadia support code
+
+
+ __construct()
+
+ : mixed
+
+
+
+
+ __get()
+
+ : mixed
+
+
+
+
+ __set()
+
+ : mixed|null
+
+Set prop
+
+
+ fill()
+
+ : void
+
+Fill data into this model
+using validation rules
+
+
+ send()
+
+ : bool
+
+Send The actual mail
+
+
+ validateAllValues()
+
+ : array<string|int, mixed>
+
+Validate all model properties
+
+
+
+
+
+
+
+
+
+
+
+
+ $label_type_support
+
+
+
+
+
+
+
+
+ public
+ string
+ $label_type_support
+
+
+ The arcadia type support label
+
+
+
+
+
+
+
+
+
+ $operation
+
+
+
+
+
+
+
+
+ public
+ int
+ $operation
+
+
+ The arcadia operation code
+
+
+
+
+
+
+
+
+
+ $order_date
+
+
+
+
+
+
+
+
+ public
+ string
+ $order_date
+
+
+ The arcadia order date 'yyyy-mm-dd HH:ii:ss'
+
+
+
+
+
+
+
+
+
+ $order_num
+
+
+
+
+
+
+
+
+ public
+ int
+ $order_num
+
+
+ The arcadia order number
+
+
+
+
+
+
+
+
+
+ $package_unit_weight
+
+
+
+
+
+
+
+
+ public
+ int
+ $package_unit_weight
+
+
+ The arcadia package unit weight
+
+
+
+
+
+
+
+
+
+ $state_order
+
+
+
+
+
+
+
+
+ public
+ ArcadiaOrderType
+ $state_order
+
+
+
+
+
+
+
+
+
+
+
+ $support_code
+
+
+
+
+
+
+
+
+ public
+ int
+ $support_code
+
+
+ The arcadia support code
+
+
+
+
+
+
+
+
+
+ $modelFields
+
+
+
+
+
+
+ The crm customer fields
+
+
+ protected
+ array<string|int, mixed>
+ $modelFields
+ = ['operation', 'support_code', 'label_type_support', 'order_date', 'order_num', 'state_order', 'package_unit_weight']
+
+
+
+
+
+
+
+
+ $validation
+
+
+
+
+
+
+ Validation rules
+
+
+ protected
+ static array<string|int, mixed>
+ $validation
+ = ['operation' => 'required|int', 'support_code' => 'required|int', 'label_type_support' => 'required|string|min:2|max:255', 'order_date' => 'required|date', 'order_num' => 'required|int', 'state_order' => ['required'], 'package_unit_weight' => 'required|int']
+
+
+
+
+
+
+
+
+ $label_type_support
+
+
+
+
+
+
+ The arcadia type support label
+
+
+ private
+ string
+ $label_type_support
+ = null
+
+ Validate: string
+Required
+
+
+
+
+
+
+
+
+ $operation
+
+
+
+
+
+
+ The arcadia operation code
+
+
+ private
+ int
+ $operation
+ = null
+
+ Validate: int
+Required
+
+
+
+
+
+
+
+
+ $order_date
+
+
+
+
+
+
+ The arcadia order date
+
+
+ private
+ string
+ $order_date
+ = null
+
+ Validate: date
+Required
+
+
+
+
+
+
+
+
+ $order_num
+
+
+
+
+
+
+ The arcadia order number
+
+
+ private
+ int
+ $order_num
+ = null
+
+ Validate: numeric,digits:9
+Required
+
+
+
+
+
+
+
+
+ $package_unit_weight
+
+
+
+
+
+
+ The arcadia package unit weight
+
+
+ private
+ int
+ $package_unit_weight
+ = null
+
+ Validate: integer
+Required
+
+
+
+
+
+
+
+
+ $state_order
+
+
+
+
+
+
+ The arcadia state order
+
+
+ private
+ int
+ $state_order
+ = null
+
+ Validate: in ArcadiaOrderType::toValues()
+Required
+
+
+
+
+
+
+
+
+ $support_code
+
+
+
+
+
+
+ The arcadia support code
+
+
+ private
+ int
+ $support_code
+ = null
+
+ Validate: int
+Required
+
+
+
+
+
+
+
+
+
+
+
+
+ __construct()
+
+
+
+
+
+
+ public
+ __construct ( [ array<string|int, mixed> $properties = [] ] ) : mixed
+
+
+
+ Parameters
+
+
+ $properties
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ __get()
+
+
+
+
+
+
+ public
+ __get ( string $field ) : mixed
+
+
+
+ Parameters
+
+
+ $field
+ : string
+
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ __set()
+
+
+
+
+ Set prop
+
+
+ public
+ __set ( string $field , mixed $value ) : mixed|null
+
+
+ Parameters
+
+
+ $field
+ : string
+
+
+
+
+
+ $value
+ : mixed
+
+
+
+
+
+
+
+
+
+
+ throws
+
+
+ TypeError
+
+ if the field has an incorrect value
+
+
+
+
+
+ Return values
+ mixed|null
+ —
+ The input value or null is this prop does not exists
+
+
+
+
+
+
+ fill()
+
+
+
+
+ Fill data into this model
+using validation rules
+
+
+ public
+ fill ( array<string|int, mixed> $properties ) : void
+
+
+ Parameters
+
+
+ $properties
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+
+
+ throws
+
+
+ TypeError
+
+ if any valid is not validated
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ send()
+
+
+
+
+ Send The actual mail
+
+
+ public
+ send ( Customer $customer ) : bool
+
+
+ Parameters
+
+
+ $customer
+ : Customer
+
+
+
+
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+ validateAllValues()
+
+
+
+
+ Validate all model properties
+
+
+ protected
+ validateAllValues ( [ array<string|int, mixed> $ignore = [] ] ) : array<string|int, mixed>
+
+
+ Parameters
+
+
+ $ignore
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Models-ArcadiaMailGame.html b/documentation/classes/LDC-LDCCRM-Models-ArcadiaMailGame.html
new file mode 100644
index 0000000..0101c29
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Models-ArcadiaMailGame.html
@@ -0,0 +1,1055 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaMailGame
+
+
+ extends CrmClientModel
+
+
+
+
+
+
+
+
+
+ This class represents the customer info with
+the account validation status
+
+
+
+
+
+
+ category
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $code_on_pack
+
+ : string
+
+
+
+
+ $code_unique
+
+ : string
+
+
+
+
+ $label_type_support
+
+ : string
+
+
+
+
+ $operation
+
+ : int
+
+
+
+
+ $order_date
+
+ : string
+
+
+
+
+ $support_code
+
+ : int
+
+
+
+
+ $modelFields
+
+ : array<string|int, mixed>
+
+The crm customer fields
+
+
+ $validation
+
+ : array<string|int, mixed>
+
+Validation rules
+
+
+ $code_on_pack
+
+ : string
+
+The arcadia code on pack
+
+
+ $code_unique
+
+ : string
+
+The arcadia code unique
+
+
+ $label_type_support
+
+ : string
+
+The arcadia type support label
+
+
+ $operation
+
+ : int
+
+
+
+
+ $order_date
+
+ : string
+
+The arcadia order date
+
+
+ $support_code
+
+ : int
+
+The arcadia support code
+
+
+ __construct()
+
+ : mixed
+
+
+
+
+ __set()
+
+ : mixed|null
+
+Set prop
+
+
+ send()
+
+ : bool
+
+Send The actual mail
+
+
+
+
+
+
+
+
+
+
+
+
+ $code_on_pack
+
+
+
+
+
+
+
+
+ public
+ string
+ $code_on_pack
+
+
+ The arcadia code on pack
+
+
+
+
+
+
+
+
+
+ $code_unique
+
+
+
+
+
+
+
+
+ public
+ string
+ $code_unique
+
+
+ The arcadia code unique
+
+
+
+
+
+
+
+
+
+ $label_type_support
+
+
+
+
+
+
+
+
+ public
+ string
+ $label_type_support
+
+
+ The arcadia type support label
+
+
+
+
+
+
+
+
+
+ $operation
+
+
+
+
+
+
+
+
+ public
+ int
+ $operation
+
+
+ The arcadia operation code
+Validate: int
+Required
+
+
+
+
+
+
+
+
+
+ $order_date
+
+
+
+
+
+
+
+
+ public
+ string
+ $order_date
+
+
+ The arcadia order date 'yyyy-mm-dd HH:ii:ss'
+
+
+
+
+
+
+
+
+
+ $support_code
+
+
+
+
+
+
+
+
+ public
+ int
+ $support_code
+
+
+ The arcadia support code
+
+
+
+
+
+
+
+
+
+ $modelFields
+
+
+
+
+
+
+ The crm customer fields
+
+
+ protected
+ array<string|int, mixed>
+ $modelFields
+ = ['operation', 'support_code', 'label_type_support', 'order_date', 'code_unique', 'code_on_pack']
+
+
+
+
+
+
+
+
+ $validation
+
+
+
+
+
+
+ Validation rules
+
+
+ protected
+ static array<string|int, mixed>
+ $validation
+ = ['operation' => 'required|int', 'support_code' => 'required|int', 'label_type_support' => 'required|string|min:2|max:255', 'order_date' => 'required|date', 'code_unique' => 'required|string', 'code_on_pack' => 'sometimes|string']
+
+
+
+
+
+
+
+
+ $code_on_pack
+
+
+
+
+
+
+ The arcadia code on pack
+
+
+ private
+ string
+ $code_on_pack
+ = null
+
+ Validate: sometimes
+Required
+
+
+
+
+
+
+
+
+ $code_unique
+
+
+
+
+
+
+ The arcadia code unique
+
+
+ private
+ string
+ $code_unique
+ = null
+
+ Validate: string
+Required
+
+
+
+
+
+
+
+
+ $label_type_support
+
+
+
+
+
+
+ The arcadia type support label
+
+
+ private
+ string
+ $label_type_support
+ = null
+
+ Validate: string
+Required
+
+
+
+
+
+
+
+
+ $operation
+
+
+
+
+
+
+
+
+ private
+ int
+ $operation
+ = null
+
+
+
+
+
+
+
+ access
+
+
+
+
+
+
+
+
+
+
+
+ $order_date
+
+
+
+
+
+
+ The arcadia order date
+
+
+ private
+ string
+ $order_date
+ = null
+
+ Validate: date
+Required
+
+
+
+
+
+
+
+
+ $support_code
+
+
+
+
+
+
+ The arcadia support code
+
+
+ private
+ int
+ $support_code
+ = null
+
+ Validate: int
+Required
+
+
+
+
+
+
+
+
+
+
+
+
+ __construct()
+
+
+
+
+
+
+ public
+ __construct ( [ array<string|int, mixed> $properties = [] ] ) : mixed
+
+
+
+ Parameters
+
+
+ $properties
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ __set()
+
+
+
+
+ Set prop
+
+
+ public
+ __set ( string $field , mixed $value ) : mixed|null
+
+
+ Parameters
+
+
+ $field
+ : string
+
+
+
+
+
+ $value
+ : mixed
+
+
+
+
+
+
+
+
+
+
+ throws
+
+
+ TypeError
+
+ if the field has an incorrect value
+
+
+
+
+
+ Return values
+ mixed|null
+ —
+ The input value or null is this prop does not exists
+
+
+
+
+
+
+ send()
+
+
+
+
+ Send The actual mail
+
+
+ public
+ send ( Customer $customer ) : bool
+
+
+ Parameters
+
+
+ $customer
+ : Customer
+
+
+
+
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Models-Customer.html b/documentation/classes/LDC-LDCCRM-Models-Customer.html
new file mode 100644
index 0000000..e4db291
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Models-Customer.html
@@ -0,0 +1,2361 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Customer
+
+
+ extends CrmClientModel
+
+
+
+
+
+
+
+
+
+ This class represents the customer info with
+the account validation status. You can use it as
+a standalone class but beware of catching exceptions
+
+
+
+
+
+
+ example
+
+
+
+ examples/CustomerExample.php
+
+
+
+
+ category
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $address
+
+ : string
+
+
+
+
+ $address2
+
+ : string
+
+
+
+
+ $birth_date
+
+ : string
+
+
+
+
+ $city
+
+ : string
+
+
+
+
+ $country
+
+ : Country
+
+
+
+
+ $email
+
+ : string
+
+
+
+
+ $firstname
+
+ : string
+
+
+
+
+ $hashcode
+
+ : string
+
+
+
+
+ $last_connection
+
+ : string
+
+
+
+
+ $lastname
+
+ : string
+
+
+
+
+ $opt_in
+
+ : bool
+
+
+
+
+ $phone
+
+ : string
+
+
+
+
+ $postcode
+
+ : string
+
+
+
+
+ $status
+
+ : bool
+
+
+
+
+ $invisibleFields
+
+ : array<string|int, mixed>
+
+The crm customer fields
+the should not be visible
+
+
+ $modelFields
+
+ : array<string|int, mixed>
+
+The crm customer fields
+
+
+ $validation
+
+ : array<string|int, mixed>
+
+Validation rules
+
+
+ $address
+
+ : string
+
+The user address (street number, name, etc)
+
+
+ $address2
+
+ : string
+
+The user address 2nd part (street number, name, more, etc)
+
+
+ $birth_date
+
+ : string
+
+Birth date
+
+
+ $city
+
+ : string
+
+The user address city
+
+
+ $country
+
+ : Country
+
+The user address postcode
+
+
+ $email
+
+ : string
+
+An RFC Valid Email
+
+
+ $firstname
+
+ : string
+
+First name
+
+
+ $hashcode
+
+ : string
+
+The user hashcode, this is link with the customer and the brand it is related to
+It is used to identify the customer itself.
+
+
+ $isNew
+
+ : bool
+
+Is true if this model was not filled from crm
+
+
+ $last_connection
+
+ : string
+
+The last time the account was connected
+
+
+ $lastname
+
+ : string
+
+Last name
+
+
+ $opt_in
+
+ : bool
+
+The user optin choice
+
+
+ $password
+
+ : string
+
+The user password
+This is set only when creating a user
+Otherwise it has to be set to null
+
+
+ $phone
+
+ : string
+
+The user phone
+
+
+ $postcode
+
+ : string
+
+The user address postcode
+
+
+ $status
+
+ : bool
+
+Is the account activated ?
+
+
+ __construct()
+
+ : mixed
+
+
+
+
+ __get()
+
+ : mixed
+
+
+
+
+ __set()
+
+ : mixed|null
+
+Set prop
+
+
+ activate()
+
+ : bool
+
+Activate the account in the crm
+
+
+ delete()
+
+ : bool
+
+Delete the actual account in the crm
+
+
+ fill()
+
+ : void
+
+Fill data into this model
+using validation rules
+
+
+ find()
+
+ : self|null
+
+Find a customer using its hashcode in the crm
+
+
+ findWithEmail()
+
+ : self|null
+
+Find a customer using its email in the crm
+This is an alias of Customer::find()
+
+
+ save()
+
+ : bool
+
+Save the actual account in the crm
+
+
+ toggleOptin()
+
+ : bool
+
+Toggle the account optin value in the crm
+
+
+ validateAllValues()
+
+ : array<string|int, mixed>
+
+Validate all model properties
+
+
+ store()
+
+ : bool
+
+
+
+
+ update()
+
+ : bool
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $address
+
+
+
+
+
+
+
+
+ public
+ string
+ $address
+
+
+ The account address (street number, name, build, flat number)
+
+
+
+
+
+
+
+
+
+ $address2
+
+
+
+
+
+
+
+
+ public
+ string
+ $address2
+
+
+ The account phone (address complement)
+
+
+
+
+
+
+
+
+
+ $birth_date
+
+
+
+
+
+
+
+
+ public
+ string
+ $birth_date
+
+
+ The account birth date 'yyyy-mm-dd'
+
+
+
+
+
+
+
+
+
+ $city
+
+
+
+
+
+
+
+
+ public
+ string
+ $city
+
+
+
+
+
+
+
+
+
+
+
+ $country
+
+
+
+
+
+
+
+
+ public
+ Country
+ $country
+
+
+ The account country residence
+
+
+
+
+
+
+
+
+
+ $email
+
+
+
+
+
+
+
+
+ public
+ string
+ $email
+
+
+ Must be a rfc valid email on a valid domain name
+
+
+
+
+
+
+
+
+
+ $firstname
+
+
+
+
+
+
+
+
+ public
+ string
+ $firstname
+
+
+
+
+
+
+
+
+
+
+
+ $hashcode
+
+
+
+
+
+
+
+
+ public
+ string
+ $hashcode
+
+
+ The crm hashcode this is a readonly field
+
+
+
+
+
+
+
+
+
+ $last_connection
+
+
+
+
+
+
+
+
+ public
+ string
+ $last_connection
+
+
+ the last time user was connected 'yyyy-mm-dd HH:ii:ss'
+
+
+
+
+
+
+
+
+
+ $lastname
+
+
+
+
+
+
+
+
+ public
+ string
+ $lastname
+
+
+
+
+
+
+
+
+
+
+
+ $opt_in
+
+
+
+
+
+
+
+
+ public
+ bool
+ $opt_in
+
+
+ true if the account is opt in
+
+
+
+
+
+
+
+
+
+ $phone
+
+
+
+
+
+
+
+
+ public
+ string
+ $phone
+
+
+
+
+
+
+
+
+
+
+
+ $postcode
+
+
+
+
+
+
+
+
+ public
+ string
+ $postcode
+
+
+ The account city postcode
+
+
+
+
+
+
+
+
+
+ $status
+
+
+
+
+
+
+
+
+ public
+ bool
+ $status
+
+
+ true if the account is activated
+
+
+
+
+
+
+
+
+
+ $invisibleFields
+
+
+
+
+
+
+ The crm customer fields
+the should not be visible
+
+
+ protected
+ array<string|int, mixed>
+ $invisibleFields
+ = ['password']
+
+
+
+
+
+
+
+
+ $modelFields
+
+
+
+
+
+
+ The crm customer fields
+
+
+ protected
+ array<string|int, mixed>
+ $modelFields
+ = ['hashcode', 'email', 'firstname', 'password', 'lastname', 'birth_date', 'phone', 'address', 'address2', 'city', 'postcode', 'country', 'opt_in', 'status', 'last_connection']
+
+
+
+
+
+
+
+
+ $validation
+
+
+
+
+
+
+ Validation rules
+
+
+ protected
+ static array<string|int, mixed>
+ $validation
+ = ['hashcode' => 'required|uuid', 'email' => 'required|email:rfc,dns,spoof,filter', 'firstname' => 'required|string|min:2|max:255', 'lastname' => 'required|string|min:2|max:255', 'password' => 'required|min:10|max:255', 'birth_date' => 'required|date_format:Y-m-d', 'phone' => 'sometimes|string|min:10|max:255', 'address' => 'required|string|max:255', 'address2' => 'sometimes|string|max:255', 'city' => 'required|string|max:255', 'postcode' => 'required|string|max:255', 'country' => ['sometimes'], 'opt_in' => 'required|bool', 'status' => 'required|bool', 'last_connection' => 'sometimes|date']
+
+
+
+
+
+
+
+
+ $address
+
+
+
+
+
+
+ The user address (street number, name, etc)
+
+
+ private
+ string
+ $address
+ = null
+
+ Validate: string
+Required
+Min length NA
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $address2
+
+
+
+
+
+
+ The user address 2nd part (street number, name, more, etc)
+
+
+ private
+ string
+ $address2
+ = null
+
+ Validate: sometimes,string
+Required
+Min length NA
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $birth_date
+
+
+
+
+
+
+ Birth date
+
+
+ private
+ string
+ $birth_date
+ = null
+
+ Validate: date_format:Y-m-d
+Required
+Field Type Date
+
+
+
+
+
+
+
+
+ $city
+
+
+
+
+
+
+ The user address city
+
+
+ private
+ string
+ $city
+ = null
+
+ Validate: string
+Required
+Min length NA
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $country
+
+
+
+
+
+
+ The user address postcode
+
+
+ private
+ Country
+ $country
+ = null
+
+ Validate: sometimes, in Country::toValues()
+Required
+TODO: change this crm field to TinyInt when CRMV1 is dropped
+Field Type varchar (for now)
+
+
+
+
+
+
+
+
+ $email
+
+
+
+
+
+
+ An RFC Valid Email
+
+
+ private
+ string
+ $email
+ = null
+
+ Validate: rfc,dns,spoof,filter
+Required
+Min length N/A
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $firstname
+
+
+
+
+
+
+ First name
+
+
+ private
+ string
+ $firstname
+ = null
+
+ Required
+Min length 2
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $hashcode
+
+
+
+
+
+
+ The user hashcode, this is link with the customer and the brand it is related to
+It is used to identify the customer itself.
+
+
+ private
+ string
+ $hashcode
+
+
+ Validate: UUID, in customer_infos
+Required
+Min length 36
+Max length 36
+Field Type varchar
+
+
+
+
+
+
+
+
+ $isNew
+
+
+
+
+
+
+ Is true if this model was not filled from crm
+
+
+ private
+ bool
+ $isNew
+ = true
+
+
+
+
+
+
+
+
+ $last_connection
+
+
+
+
+
+
+ The last time the account was connected
+
+
+ private
+ string
+ $last_connection
+ = null
+
+ This field is read only
+
+
+
+
+
+
+
+
+ $lastname
+
+
+
+
+
+
+ Last name
+
+
+ private
+ string
+ $lastname
+ = null
+
+ Required
+Min length 2
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $opt_in
+
+
+
+
+
+
+ The user optin choice
+
+
+ private
+ bool
+ $opt_in
+ = false
+
+ Validate: boolean
+Required
+Field Type TinyInt
+
+
+
+
+
+
+
+
+ $password
+
+
+
+
+
+
+ The user password
+This is set only when creating a user
+Otherwise it has to be set to null
+
+
+ private
+ string
+ $password
+ = null
+
+ Validate: case_diff,numbers,letters,symbols,min:10
+Min length 10
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $phone
+
+
+
+
+
+
+ The user phone
+
+
+ private
+ string
+ $phone
+ = null
+
+ Validate: sometimes,string
+Required
+Min length NA
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $postcode
+
+
+
+
+
+
+ The user address postcode
+
+
+ private
+ string
+ $postcode
+ = null
+
+ Validate: string
+Required
+Min length NA
+Max length 255
+Field Type varchar
+
+
+
+
+
+
+
+
+ $status
+
+
+
+
+
+
+ Is the account activated ?
+
+
+ private
+ bool
+ $status
+ = false
+
+ This field is read only
+
+
+
+
+
+
+
+
+
+
+
+
+ __construct()
+
+
+
+
+
+
+ public
+ __construct ( [ array<string|int, mixed> $properties = [] ] ) : mixed
+
+
+
+ Parameters
+
+
+ $properties
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ __get()
+
+
+
+
+
+
+ public
+ __get ( string $field ) : mixed
+
+
+
+ Parameters
+
+
+ $field
+ : string
+
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ __set()
+
+
+
+
+ Set prop
+
+
+ public
+ __set ( string $field , mixed $value ) : mixed|null
+
+
+ Parameters
+
+
+ $field
+ : string
+
+
+
+
+
+ $value
+ : mixed
+
+
+
+
+
+
+
+
+
+
+ throws
+
+
+ TypeError
+
+ if the field has an incorrect value
+
+
+
+
+
+ Return values
+ mixed|null
+ —
+ The input value or null is this prop does not exists
+
+
+
+
+
+
+ activate()
+
+
+
+
+ Activate the account in the crm
+
+
+ public
+ activate ( ) : bool
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+ delete()
+
+
+
+
+ Delete the actual account in the crm
+
+
+ public
+ delete ( ) : bool
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+ fill()
+
+
+
+
+ Fill data into this model
+using validation rules
+
+
+ public
+ fill ( array<string|int, mixed> $properties ) : void
+
+
+ Parameters
+
+
+ $properties
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+
+
+ throws
+
+
+ TypeError
+
+ if any valid is not validated
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ find()
+
+
+
+
+ Find a customer using its hashcode in the crm
+
+
+ public
+ static find ( string $hashcode ) : self|null
+
+
+ Parameters
+
+
+ $hashcode
+ : string
+
+
+
+
+
+
+
+
+ Return values
+ self|null
+ —
+
+
+
+
+
+ findWithEmail()
+
+
+
+
+ Find a customer using its email in the crm
+This is an alias of Customer::find()
+
+
+ public
+ static findWithEmail ( string $email ) : self|null
+
+
+ Parameters
+
+
+ $email
+ : string
+
+
+
+
+
+
+
+
+ Return values
+ self|null
+ —
+
+
+
+
+
+ save()
+
+
+
+
+ Save the actual account in the crm
+
+
+ public
+ save ( ) : bool
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+ toggleOptin()
+
+
+
+
+ Toggle the account optin value in the crm
+
+
+ public
+ toggleOptin ( ) : bool
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+ validateAllValues()
+
+
+
+
+ Validate all model properties
+
+
+ protected
+ validateAllValues ( [ array<string|int, mixed> $ignore = [] ] ) : array<string|int, mixed>
+
+
+ Parameters
+
+
+ $ignore
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+
+ store()
+
+
+
+
+
+
+ private
+ store ( ) : bool
+
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+ update()
+
+
+
+
+
+
+ private
+ update ( ) : bool
+
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Models-SingleOptin.html b/documentation/classes/LDC-LDCCRM-Models-SingleOptin.html
new file mode 100644
index 0000000..67d5061
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Models-SingleOptin.html
@@ -0,0 +1,407 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SingleOptin
+
+
+ extends CrmClientModel
+
+
+
+
+
+
+
+
+
+ This class allows to handle single optins
+
+
+
+
+
+
+ throws
+
+
+ ApiErrorException
+
+
+
+
+
+ throws
+
+
+ CrmException
+
+ If the CRM encounters an error
+
+
+
+
+ category
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $validation
+
+ : array<string|int, mixed>
+
+Validation rules
+
+
+ setStatus()
+
+ : bool
+
+Set the single optin status for an email
+
+
+
+
+
+
+
+
+
+
+
+
+ $validation
+
+
+
+
+
+
+ Validation rules
+
+
+ protected
+ static array<string|int, mixed>
+ $validation
+ = ['email' => 'required|email:rfc,dns,spoof,filter', 'opt_in' => 'required|bool']
+
+
+
+
+
+
+
+
+
+
+
+
+ setStatus()
+
+
+
+
+ Set the single optin status for an email
+
+
+ public
+ static setStatus ( string $email , bool $opt_in ) : bool
+
+
+ Parameters
+
+
+ $email
+ : string
+
+
+
+
+
+ $opt_in
+ : bool
+
+
+
+
+
+
+
+
+
+
+ throws
+
+
+ ApiErrorException
+
+ ApiError::singleOptinCustomerExists If single optin already exists
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Providers-CrmClientV2Provider.html b/documentation/classes/LDC-LDCCRM-Providers-CrmClientV2Provider.html
new file mode 100644
index 0000000..51217ff
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Providers-CrmClientV2Provider.html
@@ -0,0 +1,321 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrmClientV2Provider
+
+
+ extends ServiceProvider
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ boot()
+
+ : mixed
+
+
+
+
+ register()
+
+ : mixed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ boot()
+
+
+
+
+
+
+ public
+ boot ( ) : mixed
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ register()
+
+
+
+
+
+
+ public
+ register ( ) : mixed
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Transport-Request.html b/documentation/classes/LDC-LDCCRM-Transport-Request.html
new file mode 100644
index 0000000..380dbf3
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Transport-Request.html
@@ -0,0 +1,1357 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Request
+
+
+
+
+
+
+
+
+
+ The LDC CRM request
+Contains the http method, the requested url and data to pass
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $data
+
+ : array<string|int, mixed>
+
+
+
+
+ $headers
+
+ : array<string|int, mixed>
+
+
+
+
+ $method
+
+ : HttpMethods
+
+
+
+
+ $uri
+
+ : string
+
+
+
+
+ $attemps
+
+ : int
+
+Current attempt to login
+
+
+ $data
+
+ : array<string|int, mixed>
+
+Data to pass to the http body
+
+
+ $headers
+
+ : array<string|int, mixed>
+
+Data to pass to the http headers
+
+
+ $maxAttemps
+
+ : int
+
+Max attemps to login
+
+
+ $method
+
+ : HttpMethods
+
+The http method
+
+
+ $uri
+
+ : string
+
+The http url
+
+
+ $client
+
+ : Client
+
+GuzzleHttp client
+
+
+ $endpoint
+
+ : string
+
+The Api endpoint
+
+
+ $hidden
+
+ : callable
+
+Hidden props
+
+
+ $request
+
+ : callable
+
+Guzzle request
+
+
+ __construct()
+
+ : mixed
+
+
+
+
+ __get()
+
+ : mixed
+
+
+
+
+ addData()
+
+ : void
+
+Add data to the request
+
+
+ addHeaders()
+
+ : void
+
+Add headers to the request
+
+
+ call()
+
+ : ResponseInterface
+
+Make the Http request
+
+
+ getAttempts()
+
+ : int
+
+Get attempted calls
+
+
+ incrementAttempt()
+
+ : int
+
+Increment the attempt to call
+
+
+ maxAttempted()
+
+ : int
+
+Does max attempts have been reached
+
+
+ setEndpoint()
+
+ : void
+
+Set the api endpoint to the request
+
+
+ setHidden()
+
+ : void
+
+Set hidden header and data
+
+
+ makeRequest()
+
+ : void
+
+make the guzzle request
+
+
+
+
+
+
+
+
+
+
+
+
+ $data
+
+
+
+
+
+
+
+
+ public
+ array<string|int, mixed>
+ $data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+ array<string|int, mixed>
+ $headers
+
+
+
+
+
+
+
+
+
+
+
+ $method
+
+
+
+
+
+
+
+
+ public
+ HttpMethods
+ $method
+
+
+
+
+
+
+
+
+
+
+
+ $uri
+
+
+
+
+
+
+
+
+ public
+ string
+ $uri
+
+
+
+
+
+
+
+
+
+
+
+ $attemps
+
+
+
+
+
+
+ Current attempt to login
+
+
+ protected
+ int
+ $attemps
+ = 0
+
+
+
+
+
+
+
+
+ $data
+
+
+
+
+
+
+ Data to pass to the http body
+
+
+ protected
+ array<string|int, mixed>
+ $data
+ = []
+
+
+
+
+
+
+
+
+
+
+ Data to pass to the http headers
+
+
+ protected
+ array<string|int, mixed>
+ $headers
+ = []
+
+
+
+
+
+
+
+
+ $maxAttemps
+
+
+
+
+
+
+ Max attemps to login
+
+
+ protected
+ int
+ $maxAttemps
+ = 1
+
+
+
+
+
+
+
+
+ $method
+
+
+
+
+
+
+ The http method
+
+
+ protected
+ HttpMethods
+ $method
+
+
+
+
+
+
+
+
+
+ $uri
+
+
+
+
+
+
+ The http url
+
+
+ protected
+ string
+ $uri
+
+
+
+
+
+
+
+
+
+ $client
+
+
+
+
+
+
+ GuzzleHttp client
+
+
+ private
+ Client
+ $client
+
+
+
+
+
+
+
+
+
+ $endpoint
+
+
+
+
+
+
+ The Api endpoint
+
+
+ private
+ string
+ $endpoint
+
+
+
+
+
+
+
+
+
+ $hidden
+
+
+
+
+
+
+ Hidden props
+
+
+ private
+ callable
+ $hidden
+
+
+
+
+
+
+
+
+
+ $request
+
+
+
+
+
+
+ Guzzle request
+
+
+ private
+ callable
+ $request
+
+
+
+ the returns \GuzzleHttp\Psr7\Request
+
+
+
+
+
+
+
+
+
+
+
+ __construct()
+
+
+
+
+
+
+ public
+ __construct ( HttpMethods $method , string $uri [ , array<string|int, mixed> $headers = [] ] [ , array<string|int, mixed> $data = [] ] ) : mixed
+
+
+
+ Parameters
+
+
+ $method
+ : HttpMethods
+
+
+
+
+
+
+ $uri
+ : string
+
+
+
+
+
+
+ $headers
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+ $data
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ __get()
+
+
+
+
+
+
+ public
+ __get ( mixed $field ) : mixed
+
+
+
+ Parameters
+
+
+ $field
+ : mixed
+
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ addData()
+
+
+
+
+ Add data to the request
+
+
+ public
+ addData ( array<string|int, mixed> $data ) : void
+
+
+ Parameters
+
+
+ $data
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+
+
+ Add headers to the request
+
+
+ public
+ addHeaders ( array<string|int, mixed> $headers ) : void
+
+
+ Parameters
+
+
+ $headers
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ call()
+
+
+
+
+ Make the Http request
+
+
+ public
+ call ( ) : ResponseInterface
+
+
+
+
+
+ Return values
+ ResponseInterface
+ —
+
+
+
+
+
+ getAttempts()
+
+
+
+
+ Get attempted calls
+
+
+ public
+ getAttempts ( ) : int
+
+
+
+
+
+ Return values
+ int
+ —
+
+
+
+
+
+ incrementAttempt()
+
+
+
+
+ Increment the attempt to call
+
+
+ public
+ incrementAttempt ( ) : int
+
+
+
+
+
+ Return values
+ int
+ —
+
+
+
+
+
+ maxAttempted()
+
+
+
+
+ Does max attempts have been reached
+
+
+ public
+ maxAttempted ( ) : int
+
+
+
+
+
+ Return values
+ int
+ —
+
+
+
+
+
+ setEndpoint()
+
+
+
+
+ Set the api endpoint to the request
+
+
+ public
+ setEndpoint ( string $endpoint ) : void
+
+
+ Parameters
+
+
+ $endpoint
+ : string
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ setHidden()
+
+
+
+
+ Set hidden header and data
+
+
+ public
+ setHidden ( array<string|int, mixed> $array ) : void
+
+
+ Parameters
+
+
+ $array
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ makeRequest()
+
+
+
+
+ make the guzzle request
+
+
+ private
+ makeRequest ( ) : void
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Transport-Response.html b/documentation/classes/LDC-LDCCRM-Transport-Response.html
new file mode 100644
index 0000000..9f4027d
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Transport-Response.html
@@ -0,0 +1,1004 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $apiError
+
+ : ApiError |int
+
+
+
+
+ $body
+
+ : array<string|int, mixed>
+
+
+
+
+ $headers
+
+ : array<string|int, mixed>
+
+
+
+
+ $httpCode
+
+ : int
+
+
+
+
+ $message
+
+ : string
+
+
+
+
+ $status
+
+ : ApiStatus
+
+
+
+
+ $apiError
+
+ : ApiError
+
+The api error
+
+
+ $body
+
+ : string
+
+The response body
+
+
+ $headers
+
+ : string
+
+The response headers
+
+
+ $httpCode
+
+ : int
+
+The response http code
+
+
+ $message
+
+ : string
+
+The interface message
+
+
+ $response
+
+ : ResponseInterface
+
+PSR response
+
+
+ $status
+
+ : ApiStatus
+
+The response status
+
+
+ __construct()
+
+ : mixed
+
+
+
+
+ __get()
+
+ : mixed
+
+
+
+
+ checkVersion()
+
+ : mixed
+
+
+
+
+ tryDecodeJson()
+
+ : mixed
+
+Try to decode json and return false if it is
+not a valid json
+
+
+
+
+
+
+
+
+
+
+
+
+ $apiError
+
+
+
+
+
+
+
+
+ public
+ ApiError |int
+ $apiError
+
+
+ The api error status it there is any
+
+
+
+
+
+
+
+
+
+ $body
+
+
+
+
+
+
+
+
+ public
+ array<string|int, mixed>
+ $body
+
+
+ The http response body, this is parsed json
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+ array<string|int, mixed>
+ $headers
+
+
+ The http reponse headers
+
+
+
+
+
+
+
+
+
+ $httpCode
+
+
+
+
+
+
+
+
+ public
+ int
+ $httpCode
+
+
+
+
+
+
+
+
+
+
+
+ $message
+
+
+
+
+
+
+
+
+ public
+ string
+ $message
+
+
+
+
+
+
+
+
+
+
+
+ $status
+
+
+
+
+
+
+
+
+ public
+ ApiStatus
+ $status
+
+
+ The response api status
+
+
+
+
+
+
+
+
+
+ $apiError
+
+
+
+
+
+
+ The api error
+
+
+ private
+ ApiError
+ $apiError
+
+
+
+
+
+
+
+
+
+ $body
+
+
+
+
+
+
+ The response body
+
+
+ private
+ string
+ $body
+
+
+
+
+
+
+
+
+
+
+
+ The response headers
+
+
+ private
+ string
+ $headers
+
+
+
+
+
+
+
+
+
+ $httpCode
+
+
+
+
+
+
+ The response http code
+
+
+ private
+ int
+ $httpCode
+ = 0
+
+
+
+
+
+
+
+
+ $message
+
+
+
+
+
+
+ The interface message
+
+
+ private
+ string
+ $message
+
+
+
+
+
+
+
+
+
+ $response
+
+
+
+
+
+
+ PSR response
+
+
+ private
+ ResponseInterface
+ $response
+
+
+
+
+
+
+
+
+
+ $status
+
+
+
+
+
+
+ The response status
+
+
+ private
+ ApiStatus
+ $status
+
+
+
+
+
+
+
+
+
+
+
+
+
+ __construct()
+
+
+
+
+
+
+ public
+ __construct ( ApiStatus $status , ResponseInterface $response ) : mixed
+
+
+
+ Parameters
+
+
+ $status
+ : ApiStatus
+
+
+
+
+
+
+ $response
+ : ResponseInterface
+
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ __get()
+
+
+
+
+
+
+ public
+ __get ( mixed $field ) : mixed
+
+
+
+ Parameters
+
+
+ $field
+ : mixed
+
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ checkVersion()
+
+
+
+
+
+
+ private
+ checkVersion ( string $version ) : mixed
+
+
+
+ Parameters
+
+
+ $version
+ : string
+
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+ tryDecodeJson()
+
+
+
+
+ Try to decode json and return false if it is
+not a valid json
+
+
+ private
+ tryDecodeJson ( string $string ) : mixed
+
+
+ Parameters
+
+
+ $string
+ : string
+
+
+
+
+
+
+
+
+ Return values
+ mixed
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/classes/LDC-LDCCRM-Utils.html b/documentation/classes/LDC-LDCCRM-Utils.html
new file mode 100644
index 0000000..788394c
--- /dev/null
+++ b/documentation/classes/LDC-LDCCRM-Utils.html
@@ -0,0 +1,614 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Utils
+
+
+
+
+
+
+
+
+
+ This is the LDCCRM utility class
+
+
+
+
+
+
+ category
+
+
+
+
+
+
+
+ uses
+
+
+ HttpMethods
+
+
+
+
+ uses
+
+
+ Request
+
+
+
+
+ subpackage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $config
+
+ : array<string|int, mixed>
+
+The env config
+
+
+ $packageInfos
+
+ : array<string|int, mixed>
+
+Package infos
+
+
+ getConfig()
+
+ : string|null
+
+Get config
+
+
+ getPackageInfo()
+
+ : array<string|int, mixed>
+
+Get composer.json infos
+
+
+ getResquest()
+
+ : Request
+
+Generate a Request from the route name
+
+
+ makeValidator()
+
+ : Validator
+
+Create a new Validator instance.
+
+
+
+
+
+
+
+
+
+
+
+
+ $config
+
+
+
+
+
+
+ The env config
+
+
+ private
+ static array<string|int, mixed>
+ $config
+
+
+
+
+
+
+
+
+
+ $packageInfos
+
+
+
+
+
+
+ Package infos
+
+
+ private
+ static array<string|int, mixed>
+ $packageInfos
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getConfig()
+
+
+
+
+ Get config
+
+
+ public
+ static getConfig ( string $key [ , string $default = null ] ) : string|null
+
+
+ Parameters
+
+
+ $key
+ : string
+
+
+
+
+
+ $default
+ : string
+ = null
+
+
+
+
+
+
+
+
+
+ throws
+
+
+ InvalidPathException |InvalidEncodingException |InvalidFileException
+
+
+
+
+
+ Return values
+ string|null
+ —
+
+
+
+
+
+ getPackageInfo()
+
+
+
+
+ Get composer.json infos
+
+
+ public
+ static getPackageInfo ( ) : array<string|int, mixed>
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ getResquest()
+
+
+
+
+ Generate a Request from the route name
+
+
+ public
+ static getResquest ( string $routeName [ , array<string|int, mixed> $query = [] ] [ , array<string|int, mixed> $data = [] ] ) : Request
+
+
+ Parameters
+
+
+ $routeName
+ : string
+
+
+
+
+
+ $query
+ : array<string|int, mixed>
+ = []
+
+ params to pass on to the route
+
+
+
+
+ $data
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+
+ Return values
+ Request
+ —
+
+
+
+
+
+ makeValidator()
+
+
+
+
+ Create a new Validator instance.
+
+
+ public
+ static makeValidator ( array<string|int, mixed> $data , array<string|int, mixed> $rules [ , array<string|int, mixed> $messages = [] ] [ , array<string|int, mixed> $customAttributes = [] ] ) : Validator
+
+
+ Parameters
+
+
+ $data
+ : array<string|int, mixed>
+
+
+
+
+
+ $rules
+ : array<string|int, mixed>
+
+
+
+
+
+ $messages
+ : array<string|int, mixed>
+ = []
+
+
+
+
+ $customAttributes
+ : array<string|int, mixed>
+ = []
+
+
+
+
+
+
+
+ Return values
+ Validator
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/css/base.css b/documentation/css/base.css
new file mode 100644
index 0000000..db4e807
--- /dev/null
+++ b/documentation/css/base.css
@@ -0,0 +1,1087 @@
+
+:root {
+ /* Typography */
+ --font-primary: 'Source Sans Pro', Helvetica, Arial, sans-serif;
+ --font-secondary: 'Source Sans Pro', Helvetica, Arial, sans-serif;
+ --font-monospace: 'Source Code Pro', monospace;
+ --line-height--primary: 1.6;
+ --letter-spacing--primary: .05rem;
+ --text-base-size: 1em;
+ --text-scale-ratio: 1.2;
+
+ --text-xxs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio) / var(--text-scale-ratio));
+ --text-xs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio));
+ --text-sm: calc(var(--text-base-size) / var(--text-scale-ratio));
+ --text-md: var(--text-base-size);
+ --text-lg: calc(var(--text-base-size) * var(--text-scale-ratio));
+ --text-xl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio));
+ --text-xxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
+ --text-xxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
+ --text-xxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
+ --text-xxxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
+
+ /* Colors */
+ --primary-color: hsl(96, 57%, 60%);
+ --primary-color-darken: hsl(96, 57%, 40%);
+ --primary-color-darker: hsl(96, 57%, 20%);
+ --primary-color-darkest: hsl(96, 57%, 10%);
+ --primary-color-lighten: hsl(96, 57%, 80%);
+ --primary-color-lighter: hsl(96, 57%, 99%);
+ --dark-gray: #d1d1d1;
+ --light-gray: #f0f0f0;
+
+ --text-color: var(--primary-color-darkest);
+
+ --header-height: var(--spacing-xxxxl);
+ --header-bg-color: var(--primary-color);
+ --code-background-color: #f7faf5;
+ --code-border-color: #d6e7cb;
+ --button-border-color: var(--primary-color-darken);
+ --button-color: transparent;
+ --button-color-primary: var(--primary-color);
+ --button-text-color: #555;
+ --button-text-color-primary: white;
+ --popover-background-color: rgba(255, 255, 255, 0.75);
+ --link-color-primary: var(--primary-color-darken);
+ --link-hover-color-primary: var(--primary-color-darker);
+ --form-field-border-color: var(--dark-gray);
+ --form-field-color: #fff;
+ --admonition-success-color: var(--primary-color);
+ --admonition-border-color: silver;
+ --table-separator-color: var(--primary-color-lighten);
+ --title-text-color: var(--primary-color);
+
+ --sidebar-border-color: var(--primary-color-lighten);
+
+ /* Grid */
+ --container-width: 1400px;
+
+ /* Spacing */
+ --spacing-base-size: 1rem;
+ --spacing-scale-ratio: 1.5;
+
+ --spacing-xxxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio));
+ --spacing-xxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio));
+ --spacing-xs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio));
+ --spacing-sm: calc(var(--spacing-base-size) / var(--spacing-scale-ratio));
+ --spacing-md: var(--spacing-base-size);
+ --spacing-lg: calc(var(--spacing-base-size) * var(--spacing-scale-ratio));
+ --spacing-xl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio));
+ --spacing-xxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio));
+ --spacing-xxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio));
+ --spacing-xxxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio));
+
+ --border-radius-base-size: 3px;
+}
+
+/* Base Styles
+-------------------------------------------------- */
+body {
+ color: var(--text-color);
+ font-family: var(--font-primary);
+ font-size: var(--text-md);
+ letter-spacing: var(--letter-spacing--primary);
+ line-height: var(--line-height--primary);
+}
+
+.phpdocumentor h1,
+.phpdocumentor h2,
+.phpdocumentor h3,
+.phpdocumentor h4,
+.phpdocumentor h5,
+.phpdocumentor h6 {
+ margin-bottom: var(--spacing-lg);
+ margin-top: var(--spacing-lg);
+ font-weight: 600;
+}
+
+.phpdocumentor h1 {
+ font-size: var(--text-xxxxl);
+ letter-spacing: var(--letter-spacing--primary);
+ line-height: 1.2;
+ margin-top: 0;
+}
+
+.phpdocumentor h2 {
+ font-size: var(--text-xxxl);
+ letter-spacing: var(--letter-spacing--primary);
+ line-height: 1.25;
+}
+
+.phpdocumentor h3 {
+ font-size: var(--text-xxl);
+ letter-spacing: var(--letter-spacing--primary);
+ line-height: 1.3;
+}
+
+.phpdocumentor h4 {
+ font-size: var(--text-xl);
+ letter-spacing: calc(var(--letter-spacing--primary) / 2);
+ line-height: 1.35;
+ margin-bottom: var(--spacing-md);
+}
+
+.phpdocumentor h5 {
+ font-size: var(--text-lg);
+ letter-spacing: calc(var(--letter-spacing--primary) / 4);
+ line-height: 1.5;
+ margin-bottom: var(--spacing-md);
+ margin-top: var(--spacing-md);
+}
+
+.phpdocumentor h6 {
+ font-size: var(--text-md);
+ letter-spacing: 0;
+ line-height: var(--line-height--primary);
+ margin-bottom: var(--spacing-md);
+ margin-top: var(--spacing-md);
+}
+
+.phpdocumentor h1 .headerlink,
+.phpdocumentor h2 .headerlink,
+.phpdocumentor h3 .headerlink,
+.phpdocumentor h4 .headerlink,
+.phpdocumentor h5 .headerlink,
+.phpdocumentor h6 .headerlink
+{
+ transition: all .3s ease-in-out;
+ opacity: 0;
+ text-decoration: none;
+ color: silver;
+ font-size: 80%;
+}
+
+.phpdocumentor h1:hover .headerlink,
+.phpdocumentor h2:hover .headerlink,
+.phpdocumentor h3:hover .headerlink,
+.phpdocumentor h4:hover .headerlink,
+.phpdocumentor h5:hover .headerlink,
+.phpdocumentor h6:hover .headerlink
+{
+ opacity: 1;
+}
+.phpdocumentor p {
+ margin-top: 0;
+ margin-bottom: var(--spacing-md);
+}
+.phpdocumentor figure {
+ margin-bottom: var(--spacing-md);
+}
+
+.phpdocumentor figcaption {
+ text-align: center;
+ font-style: italic;
+ font-size: 80%;
+}
+.phpdocumentor-line {
+ border-top: 1px solid #E1E1E1;
+ border-width: 0;
+ margin-bottom: var(--spacing-xxl);
+ margin-top: var(--spacing-xxl);
+}
+.phpdocumentor-section {
+ box-sizing: border-box;
+ margin: 0 auto;
+ max-width: var(--container-width);
+ padding: 0 var(--spacing-lg);
+ position: relative;
+ width: 100%;
+}
+
+@media (min-width: 1200px) {
+ .phpdocumentor-section {
+ padding: 0;
+ width: 95%;
+ }
+}
+.phpdocumentor-column {
+ box-sizing: border-box;
+ float: left;
+ width: 100%;
+}
+
+@media (min-width: 550px) {
+ .phpdocumentor-column {
+ margin-left: 4%;
+ }
+
+ .phpdocumentor-column:first-child {
+ margin-left: 0;
+ }
+
+ .-one.phpdocumentor-column {
+ width: 4.66666666667%;
+ }
+
+ .-two.phpdocumentor-column {
+ width: 13.3333333333%;
+ }
+
+ .-three.phpdocumentor-column {
+ width: 22%;
+ }
+
+ .-four.phpdocumentor-column {
+ width: 30.6666666667%;
+ }
+
+ .-five.phpdocumentor-column {
+ width: 39.3333333333%;
+ }
+
+ .-six.phpdocumentor-column {
+ width: 48%;
+ }
+
+ .-seven.phpdocumentor-column {
+ width: 56.6666666667%;
+ }
+
+ .-eight.phpdocumentor-column {
+ width: 65.3333333333%;
+ }
+
+ .-nine.phpdocumentor-column {
+ width: 74.0%;
+ }
+
+ .-ten.phpdocumentor-column {
+ width: 82.6666666667%;
+ }
+
+ .-eleven.phpdocumentor-column {
+ width: 91.3333333333%;
+ }
+
+ .-twelve.phpdocumentor-column {
+ margin-left: 0;
+ width: 100%;
+ }
+
+ .-one-third.phpdocumentor-column {
+ width: 30.6666666667%;
+ }
+
+ .-two-thirds.phpdocumentor-column {
+ width: 65.3333333333%;
+ }
+
+ .-one-half.phpdocumentor-column {
+ width: 48%;
+ }
+
+ /* Offsets */
+ .-offset-by-one.phpdocumentor-column {
+ margin-left: 8.66666666667%;
+ }
+
+ .-offset-by-two.phpdocumentor-column {
+ margin-left: 17.3333333333%;
+ }
+
+ .-offset-by-three.phpdocumentor-column {
+ margin-left: 26%;
+ }
+
+ .-offset-by-four.phpdocumentor-column {
+ margin-left: 34.6666666667%;
+ }
+
+ .-offset-by-five.phpdocumentor-column {
+ margin-left: 43.3333333333%;
+ }
+
+ .-offset-by-six.phpdocumentor-column {
+ margin-left: 52%;
+ }
+
+ .-offset-by-seven.phpdocumentor-column {
+ margin-left: 60.6666666667%;
+ }
+
+ .-offset-by-eight.phpdocumentor-column {
+ margin-left: 69.3333333333%;
+ }
+
+ .-offset-by-nine.phpdocumentor-column {
+ margin-left: 78.0%;
+ }
+
+ .-offset-by-ten.phpdocumentor-column {
+ margin-left: 86.6666666667%;
+ }
+
+ .-offset-by-eleven.phpdocumentor-column {
+ margin-left: 95.3333333333%;
+ }
+
+ .-offset-by-one-third.phpdocumentor-column {
+ margin-left: 34.6666666667%;
+ }
+
+ .-offset-by-two-thirds.phpdocumentor-column {
+ margin-left: 69.3333333333%;
+ }
+
+ .-offset-by-one-half.phpdocumentor-column {
+ margin-left: 52%;
+ }
+}
+.phpdocumentor a {
+ color: var(--link-color-primary);
+}
+
+.phpdocumentor a:hover {
+ color: var(--link-hover-color-primary);
+}
+.phpdocumentor-button {
+ background-color: var(--button-color);
+ border: 1px solid var(--button-border-color);
+ border-radius: var(--border-radius-base-size);
+ box-sizing: border-box;
+ color: var(--button-text-color);
+ cursor: pointer;
+ display: inline-block;
+ font-size: var(--text-sm);
+ font-weight: 600;
+ height: 38px;
+ letter-spacing: .1rem;
+ line-height: 38px;
+ padding: 0 var(--spacing-xxl);
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ white-space: nowrap;
+ margin-bottom: var(--spacing-md);
+}
+
+.phpdocumentor-button .-wide {
+ width: 100%;
+}
+
+.phpdocumentor-button:hover,
+.phpdocumentor-button:focus {
+ border-color: #888;
+ color: #333;
+ outline: 0;
+}
+
+.phpdocumentor-button.-primary {
+ background-color: var(--button-color-primary);
+ border-color: var(--button-color-primary);
+ color: var(--button-text-color-primary);
+}
+
+.phpdocumentor-button.-primary:hover,
+.phpdocumentor-button.-primary:focus {
+ background-color: var(--link-color-primary);
+ border-color: var(--link-color-primary);
+ color: var(--button-text-color-primary);
+}
+.phpdocumentor form {
+ margin-bottom: var(--spacing-md);
+}
+
+.phpdocumentor-field {
+ background-color: var(--form-field-color);
+ border: 1px solid var(--form-field-border-color);
+ border-radius: var(--border-radius-base-size);
+ box-shadow: none;
+ box-sizing: border-box;
+ height: 38px;
+ padding: var(--spacing-xxxs) var(--spacing-xxs); /* The 6px vertically centers text on FF, ignored by Webkit */
+ margin-bottom: var(--spacing-md);
+}
+
+/* Removes awkward default styles on some inputs for iOS */
+input[type="email"],
+input[type="number"],
+input[type="search"],
+input[type="text"],
+input[type="tel"],
+input[type="url"],
+input[type="password"],
+textarea {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ appearance: none;
+}
+
+.phpdocumentor-textarea {
+ min-height: 65px;
+ padding-bottom: var(--spacing-xxxs);
+ padding-top: var(--spacing-xxxs);
+}
+
+.phpdocumentor-field:focus {
+ border: 1px solid var(--button-color-primary);
+ outline: 0;
+}
+
+.phpdocumentor-label {
+ display: block;
+ margin-bottom: var(--spacing-xs);
+}
+
+.phpdocumentor-fieldset {
+ border-width: 0;
+ padding: 0;
+}
+
+input[type="checkbox"].phpdocumentor-field,
+input[type="radio"].phpdocumentor-field {
+ display: inline;
+}
+div.phpdocumentor-list > ul,
+ul.phpdocumentor-list {
+ list-style: circle inside;
+}
+
+ol.phpdocumentor-list {
+ list-style: decimal inside;
+}
+
+div.phpdocumentor-list > ul,
+ol.phpdocumentor-list,
+ul.phpdocumentor-list {
+ margin-top: 0;
+ padding-left: 0;
+ margin-bottom: var(--spacing-md);
+}
+
+dl {
+ margin-bottom: var(--spacing-md);
+}
+
+div.phpdocumentor-list > ul ul,
+ul.phpdocumentor-list ul.phpdocumentor-list,
+ul.phpdocumentor-list ol.phpdocumentor-list,
+ol.phpdocumentor-list ol.phpdocumentor-list,
+ol.phpdocumentor-list ul.phpdocumentor-list {
+ font-size: var(--text-sm);
+ margin: var(--spacing-xs) 0 var(--spacing-xs) calc(var(--spacing-xs) * 2);
+}
+
+li.phpdocumentor-list {
+ margin-bottom: var(--spacing-md);
+}
+
+.phpdocumentor dl dt {
+ margin-bottom: var(--spacing-xs);
+}
+
+.phpdocumentor dl dd {
+ margin-bottom: var(--spacing-md);
+}
+.phpdocumentor pre {
+ margin-bottom: var(--spacing-md);
+}
+
+.phpdocumentor-code {
+ font-family: var(--font-monospace);
+ background: var(--code-background-color);
+ border: 1px solid var(--code-border-color);
+ border-radius: var(--border-radius-base-size);
+ font-size: var(--text-sm);
+ padding: var(--spacing-sm) var(--spacing-md);
+ width: 100%;
+ box-sizing: border-box;
+}
+
+.phpdocumentor-code.-dark {
+ background: var(--primary-color-darkest);
+ color: var(--light-gray);
+ box-shadow: 0 2px 3px var(--dark-gray);
+}
+
+pre > .phpdocumentor-code {
+ display: block;
+ white-space: pre;
+}
+.phpdocumentor blockquote {
+ border-left: 4px solid var(--primary-color-darken);
+ margin: var(--spacing-md) 0;
+ padding: var(--spacing-xs) var(--spacing-sm);
+ color: var(--primary-color-darker);
+ font-style: italic;
+}
+
+.phpdocumentor blockquote p:last-of-type {
+ margin-bottom: 0;
+}
+.phpdocumentor table {
+ margin-bottom: var(--spacing-md);
+}
+
+th.phpdocumentor-heading,
+td.phpdocumentor-cell {
+ border-bottom: 1px solid var(--table-separator-color);
+ padding: var(--spacing-sm) var(--spacing-md);
+ text-align: left;
+}
+
+th.phpdocumentor-heading:first-child,
+td.phpdocumentor-cell:first-child {
+ padding-left: 0;
+}
+
+th.phpdocumentor-heading:last-child,
+td.phpdocumentor-cell:last-child {
+ padding-right: 0;
+}
+
+.phpdocumentor-header {
+ display: flex;
+ flex-direction: row;
+ align-items: stretch;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ height: auto;
+ padding: var(--spacing-md) var(--spacing-md);
+}
+
+.phpdocumentor-header__menu-button {
+ position: absolute;
+ top: -100%;
+ left: -100%;
+}
+
+.phpdocumentor-header__menu-icon {
+ font-size: 2rem;
+ color: var(--primary-color);
+}
+
+.phpdocumentor-header__menu-button:checked ~ .phpdocumentor-topnav {
+ max-height: 250px;
+ padding-top: var(--spacing-md);
+}
+
+@media (min-width: 1000px) {
+ .phpdocumentor-header {
+ flex-direction: row;
+ padding: var(--spacing-lg) var(--spacing-lg);
+ min-height: var(--header-height);
+ }
+
+ .phpdocumentor-header__menu-icon {
+ display: none;
+ }
+}
+
+@media (min-width: 1000px) {
+ .phpdocumentor-header {
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+}
+@media (min-width: 1200px) {
+ .phpdocumentor-header {
+ padding: 0;
+ }
+}
+.phpdocumentor-title {
+ box-sizing: border-box;
+ color: var(--title-text-color);
+ font-size: var(--text-xxl);
+ letter-spacing: .05rem;
+ font-weight: normal;
+ width: auto;
+ margin: 0;
+ display: flex;
+ align-items: center;
+}
+
+.phpdocumentor-title.-without-divider {
+ border: none;
+}
+
+.phpdocumentor-title__link {
+ transition: all .3s ease-out;
+ display: flex;
+ color: var(--title-text-color);
+ text-decoration: none;
+ font-weight: normal;
+ white-space: nowrap;
+ transform: scale(.75);
+ transform-origin: left;
+}
+
+.phpdocumentor-title__link:hover {
+ transform: perspective(15rem) translateX(.5rem);
+ font-weight: 600;
+}
+
+@media (min-width: 1000px) {
+ .phpdocumentor-title {
+ width: 30.6666666667%;
+ border-right: var(--sidebar-border-color) solid 1px;
+ }
+
+ .phpdocumentor-title__link {
+ transform-origin: left;
+ }
+}
+
+@media (min-width: 1000px) {
+ .phpdocumentor-title__link {
+ transform: scale(.85);
+ }
+}
+
+@media (min-width: 1200px) {
+ .phpdocumentor-title__link {
+ transform: scale(1);
+ }
+}
+.phpdocumentor-topnav {
+ display: flex;
+ align-items: center;
+ margin: 0;
+ max-height: 0;
+ overflow: hidden;
+ transition: max-height 0.2s ease-out;
+ flex-basis: 100%;
+}
+
+.phpdocumentor-topnav__menu {
+ text-align: right;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ flex: 1;
+ display: flex;
+ flex-flow: row wrap;
+ justify-content: center;
+}
+
+.phpdocumentor-topnav__menu-item {
+ margin: 0;
+ width: 100%;
+ display: inline-block;
+ text-align: center;
+ padding: var(--spacing-sm) 0
+}
+
+.phpdocumentor-topnav__menu-item.-social {
+ width: auto;
+ padding: var(--spacing-sm)
+}
+
+.phpdocumentor-topnav__menu-item a {
+ display: inline-block;
+ color: var(--text-color);
+ text-decoration: none;
+ font-size: var(--text-lg);
+ transition: all .3s ease-out;
+ border-bottom: 1px dotted transparent;
+ line-height: 1;
+}
+
+.phpdocumentor-topnav__menu-item a:hover {
+ transform: perspective(15rem) translateY(.1rem);
+ border-bottom: 1px dotted var(--text-color);
+}
+
+@media (min-width: 1000px) {
+ .phpdocumentor-topnav {
+ max-height: none;
+ overflow: visible;
+ flex-basis: auto;
+ }
+
+ .phpdocumentor-topnav__menu {
+ display: flex;
+ flex-flow: row wrap;
+ justify-content: flex-end;
+ }
+
+ .phpdocumentor-topnav__menu-item,
+ .phpdocumentor-topnav__menu-item.-social {
+ width: auto;
+ display: inline;
+ text-align: right;
+ padding: 0 0 0 var(--spacing-md)
+ }
+}
+.phpdocumentor-sidebar {
+ margin: 0;
+ overflow: hidden;
+ max-height: 0;
+}
+
+.phpdocumentor .phpdocumentor-sidebar .phpdocumentor-list {
+ padding: var(--spacing-xs) var(--spacing-md);
+ list-style: none;
+ margin: 0;
+}
+
+.phpdocumentor .phpdocumentor-sidebar li {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ padding: 0 0 var(--spacing-xxxs) var(--spacing-md);
+}
+
+.phpdocumentor .phpdocumentor-sidebar abbr,
+.phpdocumentor .phpdocumentor-sidebar a {
+ text-decoration: none;
+ border-bottom: none;
+ color: var(--text-color);
+ font-size: var(--text-md);
+ padding-left: 0;
+ transition: padding-left .4s ease-out;
+}
+
+.phpdocumentor .phpdocumentor-sidebar a:hover {
+ padding-left: 5px;
+ font-weight: 600;
+}
+
+.phpdocumentor .phpdocumentor-sidebar__category > * {
+ border-left: 1px solid var(--primary-color-lighten);
+}
+
+.phpdocumentor .phpdocumentor-sidebar__category {
+ margin-bottom: var(--spacing-lg);
+}
+
+.phpdocumentor .phpdocumentor-sidebar__category-header {
+ font-size: var(--text-md);
+ margin-bottom: var(--spacing-xs);
+ color: var(--link-color-primary);
+ font-weight: 600;
+ border-left: 0;
+}
+
+.phpdocumentor .phpdocumentor-sidebar__root-package,
+.phpdocumentor .phpdocumentor-sidebar__root-namespace {
+ font-size: var(--text-md);
+ margin: 0;
+ padding-top: var(--spacing-xs);
+ padding-left: var(--spacing-md);
+ color: var(--text-color);
+ font-weight: normal;
+}
+
+@media (min-width: 550px) {
+ .phpdocumentor-sidebar {
+ border-right: var(--sidebar-border-color) solid 1px;
+ }
+}
+
+.phpdocumentor-sidebar__menu-button {
+ position: absolute;
+ top: -100%;
+ left: -100%;
+}
+
+.phpdocumentor-sidebar__menu-icon {
+ font-size: var(--text-md);
+ font-weight: 600;
+ background: var(--primary-color);
+ color: white;
+ margin: 0 0 var(--spacing-lg);
+ display: block;
+ padding: var(--spacing-sm);
+ text-align: center;
+ border-radius: 3px;
+ text-transform: uppercase;
+ letter-spacing: .15rem;
+}
+
+.phpdocumentor-sidebar__menu-button:checked ~ .phpdocumentor-sidebar {
+ max-height: 100%;
+ padding-top: var(--spacing-md);
+}
+
+@media (min-width: 550px) {
+ .phpdocumentor-sidebar {
+ overflow: visible;
+ max-height: 100%;
+ }
+
+ .phpdocumentor-sidebar__menu-icon {
+ display: none;
+ }
+}
+.phpdocumentor-admonition {
+ border: 1px solid var(--admonition-border-color);
+ border-radius: var(--border-radius-base-size);
+ border-color: var(--primary-color-lighten);
+ background-color: var(--primary-color-lighter);
+ padding: var(--spacing-lg);
+ margin: var(--spacing-lg) 0;
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+}
+
+.phpdocumentor-admonition p:last-of-type {
+ margin-bottom: 0;
+}
+
+.phpdocumentor-admonition--success,
+.phpdocumentor-admonition.-success {
+ border-color: var(--admonition-success-color);
+}
+
+.phpdocumentor-admonition__icon {
+ margin-right: var(--spacing-md);
+ color: var(--primary-color);
+ max-width: 3rem;
+}
+.phpdocumentor ul.phpdocumentor-breadcrumbs {
+ font-size: var(--text-md);
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+.phpdocumentor ul.phpdocumentor-breadcrumbs a {
+ color: var(--text-color);
+ text-decoration: none;
+}
+
+.phpdocumentor ul.phpdocumentor-breadcrumbs > li {
+ display: inline-block;
+ margin: 0;
+}
+
+.phpdocumentor ul.phpdocumentor-breadcrumbs > li + li:before {
+ color: var(--dark-gray);
+ content: "\\\A0";
+ padding: 0;
+}
+.phpdocumentor .phpdocumentor-back-to-top {
+ position: fixed;
+ bottom: 2rem;
+ font-size: 2.5rem;
+ opacity: .25;
+ transition: all .3s ease-in-out;
+ right: 2rem;
+}
+
+.phpdocumentor .phpdocumentor-back-to-top:hover {
+ color: var(--link-color-primary);
+ opacity: 1;
+}
+.phpdocumentor-search {
+ position: relative;
+ display: none; /** disable by default for non-js flow */
+ opacity: .3; /** white-out default for loading indication */
+ transition: opacity .3s, background .3s;
+ margin: var(--spacing-sm) 0;
+ flex: 1;
+ min-width: 100%;
+}
+
+.phpdocumentor-search label {
+ display: flex;
+ align-items: center;
+ flex: 1;
+}
+
+.phpdocumentor-search__icon {
+ color: var(--primary-color);
+ margin-right: var(--spacing-sm);
+ width: 1rem;
+ height: 1rem;
+}
+
+.phpdocumentor-search--enabled {
+ display: flex;
+}
+
+.phpdocumentor-search--active {
+ opacity: 1;
+}
+
+.phpdocumentor-search input:disabled {
+ background-color: lightgray;
+}
+
+.phpdocumentor-search__field:focus,
+.phpdocumentor-search__field {
+ margin-bottom: 0;
+ border: 0;
+ border-bottom: 2px solid var(--primary-color);
+ padding: 0;
+ border-radius: 0;
+ flex: 1;
+}
+
+@media (min-width: 1000px) {
+ .phpdocumentor-search {
+ min-width: auto;
+ max-width: 20rem;
+ margin: 0 0 0 auto;
+ }
+}
+.phpdocumentor-content {
+ position: relative;
+}
+
+.phpdocumentor-search-results {
+ backdrop-filter: blur(5px);
+ background: var(--popover-background-color);
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 0;
+ opacity: 1;
+ pointer-events: all;
+
+ transition: opacity .3s, background .3s;
+}
+
+.phpdocumentor-search-results--hidden {
+ background: transparent;
+ backdrop-filter: blur(0);
+ opacity: 0;
+ pointer-events: none;
+}
+
+.phpdocumentor-search-results__dialog {
+ width: 100%;
+ background: white;
+ max-height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.phpdocumentor-search-results__body {
+ overflow: auto;
+}
+
+.phpdocumentor-search-results__header {
+ padding: var(--spacing-lg);
+ display: flex;
+ justify-content: space-between;
+ background: var(--primary-color-darken);
+ color: white;
+ align-items: center;
+}
+
+.phpdocumentor-search-results__close {
+ font-size: var(--text-xl);
+ background: none;
+ border: none;
+ padding: 0;
+ margin: 0;
+}
+
+.phpdocumentor .phpdocumentor-search-results__title {
+ font-size: var(--text-xl);
+ margin-bottom: 0;
+}
+
+.phpdocumentor-search-results__entries {
+ list-style: none;
+ padding: 0 var(--spacing-lg);
+ margin: 0;
+}
+
+.phpdocumentor-search-results__entry {
+ border-bottom: 1px solid var(--table-separator-color);
+ padding: var(--spacing-sm) 0;
+ text-align: left;
+}
+
+.phpdocumentor-search-results__entry a {
+ display: block;
+}
+
+.phpdocumentor-search-results__entry small {
+ margin-top: var(--spacing-xs);
+ margin-bottom: var(--spacing-md);
+ color: var(--primary-color-darker);
+ display: block;
+ word-break: break-word;
+}
+
+.phpdocumentor-search-results__entry h3 {
+ font-size: var(--text-lg);
+ margin: 0;
+}
+
+@media (min-width: 550px) {
+ .phpdocumentor-search-results {
+ padding: 0 var(--spacing-lg);
+ }
+
+ .phpdocumentor-search-results__entry h3 {
+ font-size: var(--text-xxl);
+ }
+
+ .phpdocumentor-search-results__dialog {
+ margin: var(--spacing-xl) auto;
+ max-width: 40rem;
+ background: white;
+ border: 1px solid silver;
+ box-shadow: 0 2px 5px silver;
+ max-height: 40rem;
+ border-radius: 3px;
+ }
+}
+.phpdocumentor-modal {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ opacity: 0;
+ visibility: hidden;
+ transition: all 0.3s ease;
+ top: 0;
+ left: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.phpdocumentor-modal__open {
+ visibility: visible;
+ opacity: 1;
+ transition-delay: 0s;
+}
+
+.phpdocumentor-modal-bg {
+ position: absolute;
+ background: gray;
+ opacity: 50%;
+ width: 100%;
+ height: 100%;
+}
+
+.phpdocumentor-modal-container {
+ border-radius: 1em;
+ background: #fff;
+ position: relative;
+ padding: 2em;
+}
+
+.phpdocumentor-modal__close {
+ position: absolute;
+ right: 0.75em;
+ top: 0.75em;
+ outline: none;
+ appearance: none;
+ color: var(--primary-color);
+ background: none;
+ border: 0px;
+ font-weight: bold;
+ cursor: pointer;
+}
+
+/* Used for screen readers and such */
+.visually-hidden {
+ display: none;
+}
+
+.float-right {
+ float: right;
+}
+
+.float-left {
+ float: left;
+}
diff --git a/documentation/css/normalize.css b/documentation/css/normalize.css
new file mode 100644
index 0000000..579152b
--- /dev/null
+++ b/documentation/css/normalize.css
@@ -0,0 +1,427 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background-color: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+ overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: var(--font-monospace);
+ font-size: 1em;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit; /* 1 */
+ font: inherit; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+ overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+ line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+ font-weight: bold;
+}
+
+/* Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+td,
+th {
+ padding: 0;
+}
diff --git a/documentation/css/template.css b/documentation/css/template.css
new file mode 100644
index 0000000..31f00e3
--- /dev/null
+++ b/documentation/css/template.css
@@ -0,0 +1,188 @@
+.phpdocumentor-summary {
+ font-style: italic;
+}
+.phpdocumentor-description {
+ margin-bottom: var(--spacing-md);
+}
+.phpdocumentor-element {
+ position: relative;
+}
+
+.phpdocumentor .phpdocumentor-element__name {
+ line-height: 1;
+}
+
+.phpdocumentor-element__package,
+.phpdocumentor-element__extends,
+.phpdocumentor-element__implements {
+ display: block;
+ font-size: var(--text-xxs);
+ font-weight: normal;
+ opacity: .7;
+}
+
+.phpdocumentor-element__package .phpdocumentor-breadcrumbs {
+ display: inline;
+}
+
+.phpdocumentor-element:not(:last-child) {
+ border-bottom: 1px solid var(--primary-color-lighten);
+ padding-bottom: var(--spacing-lg);
+}
+
+.phpdocumentor-element.-deprecated .phpdocumentor-element__name {
+ text-decoration: line-through;
+}
+
+.phpdocumentor-element__modifier {
+ font-size: var(--text-xxs);
+ padding: calc(var(--spacing-base-size) / 4) calc(var(--spacing-base-size) / 2);
+ color: var(--text-color);
+ background-color: var(--light-gray);
+ border-radius: 3px;
+ text-transform: uppercase;
+}
+.phpdocumentor-signature {
+ display: inline-block;
+ font-size: var(--text-sm);
+ margin-bottom: var(--spacing-md);
+}
+
+.phpdocumentor-signature.-deprecated .phpdocumentor-signature__name {
+ text-decoration: line-through;
+}
+.phpdocumentor-table-of-contents {
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry {
+ padding-top: var(--spacing-xs);
+ margin-left: 2rem;
+ display: flex;
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a {
+ flex: 0 1 auto;
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > span {
+ flex: 1;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:after {
+ content: '';
+ height: 12px;
+ width: 12px;
+ left: 16px;
+ position: absolute;
+}
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-private:after {
+ background: url('data:image/svg+xml;utf8, ') no-repeat;
+}
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-protected:after {
+ left: 13px;
+ background: url('data:image/svg+xml;utf8, ') no-repeat;
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:before {
+ width: 1.25rem;
+ height: 1.25rem;
+ line-height: 1.25rem;
+ background: transparent url('data:image/svg+xml;utf8, ') no-repeat center center;
+ content: '';
+ position: absolute;
+ left: 0;
+ border-radius: 50%;
+ font-weight: 600;
+ color: white;
+ text-align: center;
+ font-size: .75rem;
+ margin-top: .2rem;
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-method:before {
+ content: 'M';
+ background-image: url('data:image/svg+xml;utf8, ');
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-function:before {
+ content: 'M';
+ background-image: url('data:image/svg+xml;utf8, ');
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-property:before {
+ content: 'P'
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-constant:before {
+ content: 'C';
+ background-color: transparent;
+ background-image: url('data:image/svg+xml;utf8, ');
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-class:before {
+ content: 'C'
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-interface:before {
+ content: 'I'
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-trait:before {
+ content: 'T'
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-namespace:before {
+ content: 'N'
+}
+
+.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-package:before {
+ content: 'P'
+}
+
+.phpdocumentor-table-of-contents dd {
+ font-style: italic;
+ margin-left: 2rem;
+}
+.phpdocumentor-element-found-in {
+ position: absolute;
+ top: 0;
+ right: 0;
+ font-size: var(--text-sm);
+ color: gray;
+}
+
+.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source {
+ flex: 0 1 auto;
+ display: inline-flex;
+}
+
+.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source:after {
+ width: 1.25rem;
+ height: 1.25rem;
+ line-height: 1.25rem;
+ background: transparent url('data:image/svg+xml;utf8, ') no-repeat center center;
+ content: '';
+ left: 0;
+ border-radius: 50%;
+ font-weight: 600;
+ text-align: center;
+ font-size: .75rem;
+ margin-top: .2rem;
+}
+.phpdocumentor-class-graph {
+ width: 100%; height: 600px; border:1px solid black; overflow: hidden
+}
+
+.phpdocumentor-class-graph__graph {
+ width: 100%;
+}
+.phpdocumentor-tag-list__definition {
+ display: flex;
+}
+
+.phpdocumentor-tag-link {
+ margin-right: var(--spacing-sm);
+}
diff --git a/documentation/files/examples-customerexample.html b/documentation/files/examples-customerexample.html
new file mode 100644
index 0000000..510a089
--- /dev/null
+++ b/documentation/files/examples-customerexample.html
@@ -0,0 +1,139 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CustomerExample.php
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-crmapiv2.html b/documentation/files/src-crmapiv2.html
new file mode 100644
index 0000000..62dcb6b
--- /dev/null
+++ b/documentation/files/src-crmapiv2.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrmApiV2.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ CrmApiV2
+ This is the main class to interact with the CRM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-enums-apierror.html b/documentation/files/src-enums-apierror.html
new file mode 100644
index 0000000..d998c5a
--- /dev/null
+++ b/documentation/files/src-enums-apierror.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiError.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ApiError
+ This describes an API error.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-enums-apistatus.html b/documentation/files/src-enums-apistatus.html
new file mode 100644
index 0000000..a16cec6
--- /dev/null
+++ b/documentation/files/src-enums-apistatus.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiStatus.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ApiStatus
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-enums-arcadiamailtype.html b/documentation/files/src-enums-arcadiamailtype.html
new file mode 100644
index 0000000..84dbc13
--- /dev/null
+++ b/documentation/files/src-enums-arcadiamailtype.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaMailType.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ArcadiaMailType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-enums-arcadiaordertype.html b/documentation/files/src-enums-arcadiaordertype.html
new file mode 100644
index 0000000..599efa3
--- /dev/null
+++ b/documentation/files/src-enums-arcadiaordertype.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaOrderType.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ArcadiaOrderType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-enums-country.html b/documentation/files/src-enums-country.html
new file mode 100644
index 0000000..7058ea9
--- /dev/null
+++ b/documentation/files/src-enums-country.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Country.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Country
+ Liste de Pays
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-enums-httpmethods.html b/documentation/files/src-enums-httpmethods.html
new file mode 100644
index 0000000..0f4093d
--- /dev/null
+++ b/documentation/files/src-enums-httpmethods.html
@@ -0,0 +1,139 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HttpMethods.php
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-exceptions-apierrorexception.html b/documentation/files/src-exceptions-apierrorexception.html
new file mode 100644
index 0000000..31d1ee2
--- /dev/null
+++ b/documentation/files/src-exceptions-apierrorexception.html
@@ -0,0 +1,152 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiErrorException.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ApiErrorException
+ This would be thrown if any of the case
+referenced in \LDC\LDCCRM\Enums\ApiError would
+occur within the crm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-exceptions-crmexception.html b/documentation/files/src-exceptions-crmexception.html
new file mode 100644
index 0000000..ae60ed4
--- /dev/null
+++ b/documentation/files/src-exceptions-crmexception.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrmException.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ CrmException
+ This is a critical error.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-exceptions-loginexception.html b/documentation/files/src-exceptions-loginexception.html
new file mode 100644
index 0000000..af2ec04
--- /dev/null
+++ b/documentation/files/src-exceptions-loginexception.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LoginException.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ LoginException
+ This would be thrown if You api credentials are wrong
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-exceptions-validationexception.html b/documentation/files/src-exceptions-validationexception.html
new file mode 100644
index 0000000..6316a7b
--- /dev/null
+++ b/documentation/files/src-exceptions-validationexception.html
@@ -0,0 +1,151 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ValidationException.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ValidationException
+ This would be thrown if a data could not be validated
+on any models
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-models-arcadiamaildefault.html b/documentation/files/src-models-arcadiamaildefault.html
new file mode 100644
index 0000000..ec16d01
--- /dev/null
+++ b/documentation/files/src-models-arcadiamaildefault.html
@@ -0,0 +1,151 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaMailDefault.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ArcadiaMailDefault
+ This class represents the customer info with
+the account validation status
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-models-arcadiamailgame.html b/documentation/files/src-models-arcadiamailgame.html
new file mode 100644
index 0000000..b98370d
--- /dev/null
+++ b/documentation/files/src-models-arcadiamailgame.html
@@ -0,0 +1,151 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArcadiaMailGame.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ArcadiaMailGame
+ This class represents the customer info with
+the account validation status
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-models-crmclientmodel.html b/documentation/files/src-models-crmclientmodel.html
new file mode 100644
index 0000000..d042217
--- /dev/null
+++ b/documentation/files/src-models-crmclientmodel.html
@@ -0,0 +1,139 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrmClientModel.php
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-models-customer.html b/documentation/files/src-models-customer.html
new file mode 100644
index 0000000..a91c5d8
--- /dev/null
+++ b/documentation/files/src-models-customer.html
@@ -0,0 +1,152 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Customer.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Customer
+ This class represents the customer info with
+the account validation status. You can use it as
+a standalone class but beware of catching exceptions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-models-singleoptin.html b/documentation/files/src-models-singleoptin.html
new file mode 100644
index 0000000..e4b578b
--- /dev/null
+++ b/documentation/files/src-models-singleoptin.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SingleOptin.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ SingleOptin
+ This class allows to handle single optins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-providers-crmclientv2provider.html b/documentation/files/src-providers-crmclientv2provider.html
new file mode 100644
index 0000000..d88fddf
--- /dev/null
+++ b/documentation/files/src-providers-crmclientv2provider.html
@@ -0,0 +1,139 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrmClientV2Provider.php
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-transport-apiinterface.html b/documentation/files/src-transport-apiinterface.html
new file mode 100644
index 0000000..776dc9f
--- /dev/null
+++ b/documentation/files/src-transport-apiinterface.html
@@ -0,0 +1,139 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApiInterface.php
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-transport-request.html b/documentation/files/src-transport-request.html
new file mode 100644
index 0000000..6deea55
--- /dev/null
+++ b/documentation/files/src-transport-request.html
@@ -0,0 +1,151 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Request.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Request
+ The LDC CRM request
+Contains the http method, the requested url and data to pass
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-transport-response.html b/documentation/files/src-transport-response.html
new file mode 100644
index 0000000..616ceca
--- /dev/null
+++ b/documentation/files/src-transport-response.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Response.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/files/src-utils.html b/documentation/files/src-utils.html
new file mode 100644
index 0000000..81d78d3
--- /dev/null
+++ b/documentation/files/src-utils.html
@@ -0,0 +1,150 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Utils.php
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Utils
+ This is the LDCCRM utility class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/graphs/classes.html b/documentation/graphs/classes.html
new file mode 100644
index 0000000..9d10e97
--- /dev/null
+++ b/documentation/graphs/classes.html
@@ -0,0 +1,116 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/index.html b/documentation/index.html
new file mode 100644
index 0000000..2979091
--- /dev/null
+++ b/documentation/index.html
@@ -0,0 +1,144 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Documentation
+
+
+
+ Packages
+
+
+
+
+ Application
+ LDCCrmClient
+
+
+
+ Namespaces
+
+
+
+
+ LDC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/indices/files.html b/documentation/indices/files.html
new file mode 100644
index 0000000..5765b0f
--- /dev/null
+++ b/documentation/indices/files.html
@@ -0,0 +1,164 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Files
+
A
+
+
C
+
+
H
+
+
L
+
+
R
+
+
S
+
+
U
+
+
V
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/js/search.js b/documentation/js/search.js
new file mode 100644
index 0000000..093d6d0
--- /dev/null
+++ b/documentation/js/search.js
@@ -0,0 +1,173 @@
+// Search module for phpDocumentor
+//
+// This module is a wrapper around fuse.js that will use a given index and attach itself to a
+// search form and to a search results pane identified by the following data attributes:
+//
+// 1. data-search-form
+// 2. data-search-results
+//
+// The data-search-form is expected to have a single input element of type 'search' that will trigger searching for
+// a series of results, were the data-search-results pane is expected to have a direct UL child that will be populated
+// with rendered results.
+//
+// The search has various stages, upon loading this stage the data-search-form receives the CSS class
+// 'phpdocumentor-search--enabled'; this indicates that JS is allowed and indices are being loaded. It is recommended
+// to hide the form by default and show it when it receives this class to achieve progressive enhancement for this
+// feature.
+//
+// After loading this module, it is expected to load a search index asynchronously, for example:
+//
+//
+//
+// In this script the generated index should attach itself to the search module using the `appendIndex` function. By
+// doing it like this the page will continue loading, unhindered by the loading of the search.
+//
+// After the page has fully loaded, and all these deferred indexes loaded, the initialization of the search module will
+// be called and the form will receive the class 'phpdocumentor-search--active', indicating search is ready. At this
+// point, the input field will also have it's 'disabled' attribute removed.
+var Search = (function () {
+ var fuse;
+ var index = [];
+ var options = {
+ shouldSort: true,
+ threshold: 0.6,
+ location: 0,
+ distance: 100,
+ maxPatternLength: 32,
+ minMatchCharLength: 1,
+ keys: [
+ "fqsen",
+ "name",
+ "summary",
+ "url"
+ ]
+ };
+
+ // Credit David Walsh (https://davidwalsh.name/javascript-debounce-function)
+ // Returns a function, that, as long as it continues to be invoked, will not
+ // be triggered. The function will be called after it stops being called for
+ // N milliseconds. If `immediate` is passed, trigger the function on the
+ // leading edge, instead of the trailing.
+ function debounce(func, wait, immediate) {
+ var timeout;
+
+ return function executedFunction() {
+ var context = this;
+ var args = arguments;
+
+ var later = function () {
+ timeout = null;
+ if (!immediate) func.apply(context, args);
+ };
+
+ var callNow = immediate && !timeout;
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ if (callNow) func.apply(context, args);
+ };
+ }
+
+ function close() {
+ // Start scroll prevention: https://css-tricks.com/prevent-page-scrolling-when-a-modal-is-open/
+ const scrollY = document.body.style.top;
+ document.body.style.position = '';
+ document.body.style.top = '';
+ window.scrollTo(0, parseInt(scrollY || '0') * -1);
+ // End scroll prevention
+
+ var form = document.querySelector('[data-search-form]');
+ var searchResults = document.querySelector('[data-search-results]');
+
+ form.classList.toggle('phpdocumentor-search--has-results', false);
+ searchResults.classList.add('phpdocumentor-search-results--hidden');
+ var searchField = document.querySelector('[data-search-form] input[type="search"]');
+ searchField.blur();
+ }
+
+ function search(event) {
+ // Start scroll prevention: https://css-tricks.com/prevent-page-scrolling-when-a-modal-is-open/
+ document.body.style.position = 'fixed';
+ document.body.style.top = `-${window.scrollY}px`;
+ // End scroll prevention
+
+ // prevent enter's from autosubmitting
+ event.stopPropagation();
+
+ var form = document.querySelector('[data-search-form]');
+ var searchResults = document.querySelector('[data-search-results]');
+ var searchResultEntries = document.querySelector('[data-search-results] .phpdocumentor-search-results__entries');
+
+ searchResultEntries.innerHTML = '';
+
+ if (!event.target.value) {
+ close();
+ return;
+ }
+
+ form.classList.toggle('phpdocumentor-search--has-results', true);
+ searchResults.classList.remove('phpdocumentor-search-results--hidden');
+ var results = fuse.search(event.target.value, {limit: 25});
+
+ results.forEach(function (result) {
+ var entry = document.createElement("li");
+ entry.classList.add("phpdocumentor-search-results__entry");
+ entry.innerHTML += '\n";
+ entry.innerHTML += '' + result.fqsen + " \n";
+ entry.innerHTML += '' + result.summary + '
';
+ searchResultEntries.appendChild(entry)
+ });
+ }
+
+ function appendIndex(added) {
+ index = index.concat(added);
+
+ // re-initialize search engine when appending an index after initialisation
+ if (typeof fuse !== 'undefined') {
+ fuse = new Fuse(index, options);
+ }
+ }
+
+ function init() {
+ fuse = new Fuse(index, options);
+
+ var form = document.querySelector('[data-search-form]');
+ var searchField = document.querySelector('[data-search-form] input[type="search"]');
+
+ var closeButton = document.querySelector('.phpdocumentor-search-results__close');
+ closeButton.addEventListener('click', function() { close() }.bind(this));
+
+ var searchResults = document.querySelector('[data-search-results]');
+ searchResults.addEventListener('click', function() { close() }.bind(this));
+
+ form.classList.add('phpdocumentor-search--active');
+
+ searchField.setAttribute('placeholder', 'Search (Press "/" to focus)');
+ searchField.removeAttribute('disabled');
+ searchField.addEventListener('keyup', debounce(search, 300));
+
+ window.addEventListener('keyup', function (event) {
+ if (event.key === '/') {
+ searchField.focus();
+ }
+ if (event.code === 'Escape') {
+ close();
+ }
+ }.bind(this));
+ }
+
+ return {
+ appendIndex,
+ init
+ }
+})();
+
+window.addEventListener('DOMContentLoaded', function () {
+ var form = document.querySelector('[data-search-form]');
+
+ // When JS is supported; show search box. Must be before including the search for it to take effect immediately
+ form.classList.add('phpdocumentor-search--enabled');
+});
+
+window.addEventListener('load', function () {
+ Search.init();
+});
diff --git a/documentation/js/searchIndex.js b/documentation/js/searchIndex.js
new file mode 100644
index 0000000..f579202
--- /dev/null
+++ b/documentation/js/searchIndex.js
@@ -0,0 +1,719 @@
+Search.appendIndex(
+ [
+ {
+ "fqsen": "\\LDC\\LDCCRM\\CrmApiV2",
+ "name": "CrmApiV2",
+ "summary": "This\u0020is\u0020the\u0020main\u0020class\u0020to\u0020interact\u0020with\u0020the\u0020CRM",
+ "url": "classes/LDC-LDCCRM-CrmApiV2.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\CrmApiV2\u003A\u003A__construct\u0028\u0029",
+ "name": "__construct",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-CrmApiV2.html#method___construct"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\CrmApiV2\u003A\u003Aping\u0028\u0029",
+ "name": "ping",
+ "summary": "Use\u0020this\u0020the\u0020ping\u0020the\u0020crm\u0020and\u0020know\u0020its\u0020current\u0020status",
+ "url": "classes/LDC-LDCCRM-CrmApiV2.html#method_ping"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\CrmApiV2\u003A\u003AgetCustomerOrNew\u0028\u0029",
+ "name": "getCustomerOrNew",
+ "summary": "Get\u0020a\u0020customer\u0020from\u0020its\u0020hashcode\u0020or\u0020email\nIf\u0020it\u0020does\u0020not\u0020exists\u0020a\u0020new\u0020instance\nwill\u0020be\u0020returned.\u0020You\u0020would\u0020have\nto\u0020call\u0020its\u0020save\u0020method\u0020later\u0020on.",
+ "url": "classes/LDC-LDCCRM-CrmApiV2.html#method_getCustomerOrNew"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\CrmApiV2\u003A\u003A\u0024apiInterface",
+ "name": "apiInterface",
+ "summary": "The\u0020Api\u0020object\u0020that\u0020will\u0020handle\u0020requests\u0020and\u0020responses",
+ "url": "classes/LDC-LDCCRM-CrmApiV2.html#property_apiInterface"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ApiError",
+ "name": "ApiError",
+ "summary": "This\u0020describes\u0020an\u0020API\u0020error.",
+ "url": "classes/LDC-LDCCRM-Enums-ApiError.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ApiError\u003A\u003Avalues\u0028\u0029",
+ "name": "values",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-ApiError.html#method_values"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ApiError\u003A\u003Alabels\u0028\u0029",
+ "name": "labels",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-ApiError.html#method_labels"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ApiStatus",
+ "name": "ApiStatus",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-ApiStatus.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ArcadiaMailType",
+ "name": "ArcadiaMailType",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-ArcadiaMailType.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ArcadiaMailType\u003A\u003Avalues\u0028\u0029",
+ "name": "values",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-ArcadiaMailType.html#method_values"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ArcadiaOrderType",
+ "name": "ArcadiaOrderType",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-ArcadiaOrderType.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\ArcadiaOrderType\u003A\u003Avalues\u0028\u0029",
+ "name": "values",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-ArcadiaOrderType.html#method_values"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\Country",
+ "name": "Country",
+ "summary": "Liste\u0020de\u0020Pays",
+ "url": "classes/LDC-LDCCRM-Enums-Country.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\Country\u003A\u003Avalues\u0028\u0029",
+ "name": "values",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-Country.html#method_values"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums\\Country\u003A\u003Alabels\u0028\u0029",
+ "name": "labels",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Enums-Country.html#method_labels"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException",
+ "name": "ApiErrorException",
+ "summary": "This\u0020would\u0020be\u0020thrown\u0020if\u0020any\u0020of\u0020the\u0020case\nreferenced\u0020in\u0020\\LDC\\LDCCRM\\Enums\\ApiError\u0020would\noccur\u0020within\u0020the\u0020crm",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException\u003A\u003A__construct\u0028\u0029",
+ "name": "__construct",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html#method___construct"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException\u003A\u003AgetApiError\u0028\u0029",
+ "name": "getApiError",
+ "summary": "Get\u0020the\u0020Api\u0020Error",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html#method_getApiError"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException\u003A\u003AgetStatusCode\u0028\u0029",
+ "name": "getStatusCode",
+ "summary": "Get\u0020the\u0020http\u0020code",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html#method_getStatusCode"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException\u003A\u003Areport\u0028\u0029",
+ "name": "report",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html#method_report"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException\u003A\u003A\u0024error",
+ "name": "error",
+ "summary": "Api\u0020Error\nThis\u0020value\u0020makes\u0020the\u0020error\u0020more\u0020explicit.",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html#property_error"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException\u003A\u003A\u0024message",
+ "name": "message",
+ "summary": "This\u0020is\u0020an\u0020explicit\u0020error\u0020message,\nou\u0020may\u0020print\u0020this\u0020to\u0020the\u0020front\u0020or\u0020not\u0020depending\non\u0020\u0024error\u0020value",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html#property_message"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ApiErrorException\u003A\u003A\u0024httpCode",
+ "name": "httpCode",
+ "summary": "This\u0020is\u0020the\u0020http\u0020code\u0020returned\u0020by\u0020the\u0020crm.",
+ "url": "classes/LDC-LDCCRM-Exceptions-ApiErrorException.html#property_httpCode"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\CrmException",
+ "name": "CrmException",
+ "summary": "This\u0020is\u0020a\u0020critical\u0020error.",
+ "url": "classes/LDC-LDCCRM-Exceptions-CrmException.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\CrmException\u003A\u003Areport\u0028\u0029",
+ "name": "report",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Exceptions-CrmException.html#method_report"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\LoginException",
+ "name": "LoginException",
+ "summary": "This\u0020would\u0020be\u0020thrown\u0020if\u0020You\u0020api\u0020credentials\u0020are\u0020wrong",
+ "url": "classes/LDC-LDCCRM-Exceptions-LoginException.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\LoginException\u003A\u003Areport\u0028\u0029",
+ "name": "report",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Exceptions-LoginException.html#method_report"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ValidationException",
+ "name": "ValidationException",
+ "summary": "This\u0020would\u0020be\u0020thrown\u0020if\u0020a\u0020data\u0020could\u0020not\u0020be\u0020validated\non\u0020any\u0020models",
+ "url": "classes/LDC-LDCCRM-Exceptions-ValidationException.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions\\ValidationException\u003A\u003Areport\u0028\u0029",
+ "name": "report",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Exceptions-ValidationException.html#method_report"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault",
+ "name": "ArcadiaMailDefault",
+ "summary": "This\u0020class\u0020represents\u0020the\u0020customer\u0020info\u0020with\nthe\u0020account\u0020validation\u0020status",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A__construct\u0028\u0029",
+ "name": "__construct",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#method___construct"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A__get\u0028\u0029",
+ "name": "__get",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#method___get"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A__set\u0028\u0029",
+ "name": "__set",
+ "summary": "Set\u0020prop",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#method___set"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003Afill\u0028\u0029",
+ "name": "fill",
+ "summary": "Fill\u0020data\u0020into\u0020this\u0020model\nusing\u0020validation\u0020rules",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#method_fill"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003AvalidateAllValues\u0028\u0029",
+ "name": "validateAllValues",
+ "summary": "Validate\u0020all\u0020model\u0020properties",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#method_validateAllValues"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003Asend\u0028\u0029",
+ "name": "send",
+ "summary": "Send\u0020The\u0020actual\u0020mail",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#method_send"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024operation",
+ "name": "operation",
+ "summary": "The\u0020arcadia\u0020operation\u0020code",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_operation"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024support_code",
+ "name": "support_code",
+ "summary": "The\u0020arcadia\u0020support\u0020code",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_support_code"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024label_type_support",
+ "name": "label_type_support",
+ "summary": "The\u0020arcadia\u0020type\u0020support\u0020label",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_label_type_support"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024order_date",
+ "name": "order_date",
+ "summary": "The\u0020arcadia\u0020order\u0020date",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_order_date"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024order_num",
+ "name": "order_num",
+ "summary": "The\u0020arcadia\u0020order\u0020number",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_order_num"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024state_order",
+ "name": "state_order",
+ "summary": "The\u0020arcadia\u0020state\u0020order",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_state_order"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024package_unit_weight",
+ "name": "package_unit_weight",
+ "summary": "The\u0020arcadia\u0020package\u0020unit\u0020weight",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_package_unit_weight"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024modelFields",
+ "name": "modelFields",
+ "summary": "The\u0020crm\u0020customer\u0020fields",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_modelFields"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailDefault\u003A\u003A\u0024validation",
+ "name": "validation",
+ "summary": "Validation\u0020rules",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailDefault.html#property_validation"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame",
+ "name": "ArcadiaMailGame",
+ "summary": "This\u0020class\u0020represents\u0020the\u0020customer\u0020info\u0020with\nthe\u0020account\u0020validation\u0020status",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A__construct\u0028\u0029",
+ "name": "__construct",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#method___construct"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A__set\u0028\u0029",
+ "name": "__set",
+ "summary": "Set\u0020prop",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#method___set"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003Asend\u0028\u0029",
+ "name": "send",
+ "summary": "Send\u0020The\u0020actual\u0020mail",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#method_send"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024operation",
+ "name": "operation",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_operation"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024support_code",
+ "name": "support_code",
+ "summary": "The\u0020arcadia\u0020support\u0020code",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_support_code"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024label_type_support",
+ "name": "label_type_support",
+ "summary": "The\u0020arcadia\u0020type\u0020support\u0020label",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_label_type_support"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024order_date",
+ "name": "order_date",
+ "summary": "The\u0020arcadia\u0020order\u0020date",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_order_date"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024code_unique",
+ "name": "code_unique",
+ "summary": "The\u0020arcadia\u0020code\u0020unique",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_code_unique"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024code_on_pack",
+ "name": "code_on_pack",
+ "summary": "The\u0020arcadia\u0020code\u0020on\u0020pack",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_code_on_pack"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024modelFields",
+ "name": "modelFields",
+ "summary": "The\u0020crm\u0020customer\u0020fields",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_modelFields"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\ArcadiaMailGame\u003A\u003A\u0024validation",
+ "name": "validation",
+ "summary": "Validation\u0020rules",
+ "url": "classes/LDC-LDCCRM-Models-ArcadiaMailGame.html#property_validation"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer",
+ "name": "Customer",
+ "summary": "This\u0020class\u0020represents\u0020the\u0020customer\u0020info\u0020with\nthe\u0020account\u0020validation\u0020status.\u0020You\u0020can\u0020use\u0020it\u0020as\na\u0020standalone\u0020class\u0020but\u0020beware\u0020of\u0020catching\u0020exceptions",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A__construct\u0028\u0029",
+ "name": "__construct",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method___construct"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A__get\u0028\u0029",
+ "name": "__get",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method___get"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A__set\u0028\u0029",
+ "name": "__set",
+ "summary": "Set\u0020prop",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method___set"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003Afill\u0028\u0029",
+ "name": "fill",
+ "summary": "Fill\u0020data\u0020into\u0020this\u0020model\nusing\u0020validation\u0020rules",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_fill"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003AvalidateAllValues\u0028\u0029",
+ "name": "validateAllValues",
+ "summary": "Validate\u0020all\u0020model\u0020properties",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_validateAllValues"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003Afind\u0028\u0029",
+ "name": "find",
+ "summary": "Find\u0020a\u0020customer\u0020using\u0020its\u0020hashcode\u0020in\u0020the\u0020crm",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_find"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003AfindWithEmail\u0028\u0029",
+ "name": "findWithEmail",
+ "summary": "Find\u0020a\u0020customer\u0020using\u0020its\u0020email\u0020in\u0020the\u0020crm\nThis\u0020is\u0020an\u0020alias\u0020of\u0020Customer\u003A\u003Afind\u0028\u0029",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_findWithEmail"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003Asave\u0028\u0029",
+ "name": "save",
+ "summary": "Save\u0020the\u0020actual\u0020account\u0020in\u0020the\u0020crm",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_save"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003Astore\u0028\u0029",
+ "name": "store",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_store"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003Aupdate\u0028\u0029",
+ "name": "update",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_update"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003Adelete\u0028\u0029",
+ "name": "delete",
+ "summary": "Delete\u0020the\u0020actual\u0020account\u0020in\u0020the\u0020crm",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_delete"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003Aactivate\u0028\u0029",
+ "name": "activate",
+ "summary": "Activate\u0020the\u0020account\u0020in\u0020the\u0020crm",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_activate"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003AtoggleOptin\u0028\u0029",
+ "name": "toggleOptin",
+ "summary": "Toggle\u0020the\u0020account\u0020optin\u0020value\u0020in\u0020the\u0020crm",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#method_toggleOptin"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024isNew",
+ "name": "isNew",
+ "summary": "Is\u0020true\u0020if\u0020this\u0020model\u0020was\u0020not\u0020filled\u0020from\u0020crm",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_isNew"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024hashcode",
+ "name": "hashcode",
+ "summary": "The\u0020user\u0020hashcode,\u0020this\u0020is\u0020link\u0020with\u0020the\u0020customer\u0020and\u0020the\u0020brand\u0020it\u0020is\u0020related\u0020to\nIt\u0020is\u0020used\u0020to\u0020identify\u0020the\u0020customer\u0020itself.",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_hashcode"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024email",
+ "name": "email",
+ "summary": "An\u0020RFC\u0020Valid\u0020Email",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_email"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024password",
+ "name": "password",
+ "summary": "The\u0020user\u0020password\nThis\u0020is\u0020set\u0020only\u0020when\u0020creating\u0020a\u0020user\nOtherwise\u0020it\u0020has\u0020to\u0020be\u0020set\u0020to\u0020null",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_password"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024firstname",
+ "name": "firstname",
+ "summary": "First\u0020name",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_firstname"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024lastname",
+ "name": "lastname",
+ "summary": "Last\u0020name",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_lastname"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024birth_date",
+ "name": "birth_date",
+ "summary": "Birth\u0020date",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_birth_date"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024phone",
+ "name": "phone",
+ "summary": "The\u0020user\u0020phone",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_phone"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024address",
+ "name": "address",
+ "summary": "The\u0020user\u0020address\u0020\u0028street\u0020number,\u0020name,\u0020etc\u0029",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_address"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024address2",
+ "name": "address2",
+ "summary": "The\u0020user\u0020address\u00202nd\u0020part\u0020\u0028street\u0020number,\u0020name,\u0020more,\u0020etc\u0029",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_address2"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024city",
+ "name": "city",
+ "summary": "The\u0020user\u0020address\u0020city",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_city"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024postcode",
+ "name": "postcode",
+ "summary": "The\u0020user\u0020address\u0020postcode",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_postcode"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024country",
+ "name": "country",
+ "summary": "The\u0020user\u0020address\u0020postcode",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_country"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024opt_in",
+ "name": "opt_in",
+ "summary": "The\u0020user\u0020optin\u0020choice",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_opt_in"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024status",
+ "name": "status",
+ "summary": "Is\u0020the\u0020account\u0020activated\u0020\u003F",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_status"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024last_connection",
+ "name": "last_connection",
+ "summary": "The\u0020last\u0020time\u0020the\u0020account\u0020was\u0020connected",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_last_connection"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024modelFields",
+ "name": "modelFields",
+ "summary": "The\u0020crm\u0020customer\u0020fields",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_modelFields"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024invisibleFields",
+ "name": "invisibleFields",
+ "summary": "The\u0020crm\u0020customer\u0020fields\nthe\u0020should\u0020not\u0020be\u0020visible",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_invisibleFields"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\Customer\u003A\u003A\u0024validation",
+ "name": "validation",
+ "summary": "Validation\u0020rules",
+ "url": "classes/LDC-LDCCRM-Models-Customer.html#property_validation"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\SingleOptin",
+ "name": "SingleOptin",
+ "summary": "This\u0020class\u0020allows\u0020to\u0020handle\u0020single\u0020optins",
+ "url": "classes/LDC-LDCCRM-Models-SingleOptin.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\SingleOptin\u003A\u003AsetStatus\u0028\u0029",
+ "name": "setStatus",
+ "summary": "Set\u0020the\u0020single\u0020optin\u0020status\u0020for\u0020an\u0020email",
+ "url": "classes/LDC-LDCCRM-Models-SingleOptin.html#method_setStatus"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models\\SingleOptin\u003A\u003A\u0024validation",
+ "name": "validation",
+ "summary": "Validation\u0020rules",
+ "url": "classes/LDC-LDCCRM-Models-SingleOptin.html#property_validation"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request",
+ "name": "Request",
+ "summary": "The\u0020LDC\u0020CRM\u0020request\nContains\u0020the\u0020http\u0020method,\u0020the\u0020requested\u0020url\u0020and\u0020data\u0020to\u0020pass",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A__construct\u0028\u0029",
+ "name": "__construct",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method___construct"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A__get\u0028\u0029",
+ "name": "__get",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method___get"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AmakeRequest\u0028\u0029",
+ "name": "makeRequest",
+ "summary": "make\u0020the\u0020guzzle\u0020request",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_makeRequest"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AsetEndpoint\u0028\u0029",
+ "name": "setEndpoint",
+ "summary": "Set\u0020the\u0020api\u0020endpoint\u0020to\u0020the\u0020request",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_setEndpoint"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003Acall\u0028\u0029",
+ "name": "call",
+ "summary": "Make\u0020the\u0020Http\u0020request",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_call"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AaddHeaders\u0028\u0029",
+ "name": "addHeaders",
+ "summary": "Add\u0020headers\u0020to\u0020the\u0020request",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_addHeaders"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AaddData\u0028\u0029",
+ "name": "addData",
+ "summary": "Add\u0020data\u0020to\u0020the\u0020request",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_addData"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AsetHidden\u0028\u0029",
+ "name": "setHidden",
+ "summary": "Set\u0020hidden\u0020header\u0020and\u0020data",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_setHidden"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AgetAttempts\u0028\u0029",
+ "name": "getAttempts",
+ "summary": "Get\u0020attempted\u0020calls",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_getAttempts"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AmaxAttempted\u0028\u0029",
+ "name": "maxAttempted",
+ "summary": "Does\u0020max\u0020attempts\u0020have\u0020been\u0020reached",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_maxAttempted"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003AincrementAttempt\u0028\u0029",
+ "name": "incrementAttempt",
+ "summary": "Increment\u0020the\u0020attempt\u0020to\u0020call",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#method_incrementAttempt"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024client",
+ "name": "client",
+ "summary": "GuzzleHttp\u0020client",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_client"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024method",
+ "name": "method",
+ "summary": "The\u0020http\u0020method",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_method"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024uri",
+ "name": "uri",
+ "summary": "The\u0020http\u0020url",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_uri"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024headers",
+ "name": "headers",
+ "summary": "Data\u0020to\u0020pass\u0020to\u0020the\u0020http\u0020headers",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_headers"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024data",
+ "name": "data",
+ "summary": "Data\u0020to\u0020pass\u0020to\u0020the\u0020http\u0020body",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_data"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024request",
+ "name": "request",
+ "summary": "Guzzle\u0020request",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_request"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024endpoint",
+ "name": "endpoint",
+ "summary": "The\u0020Api\u0020endpoint",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_endpoint"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024hidden",
+ "name": "hidden",
+ "summary": "Hidden\u0020props",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_hidden"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024maxAttemps",
+ "name": "maxAttemps",
+ "summary": "Max\u0020attemps\u0020to\u0020login",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_maxAttemps"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Request\u003A\u003A\u0024attemps",
+ "name": "attemps",
+ "summary": "Current\u0020attempt\u0020to\u0020login",
+ "url": "classes/LDC-LDCCRM-Transport-Request.html#property_attemps"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response",
+ "name": "Response",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A__construct\u0028\u0029",
+ "name": "__construct",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#method___construct"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A__get\u0028\u0029",
+ "name": "__get",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#method___get"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003AtryDecodeJson\u0028\u0029",
+ "name": "tryDecodeJson",
+ "summary": "Try\u0020to\u0020decode\u0020json\u0020and\u0020return\u0020false\u0020if\u0020it\u0020is\nnot\u0020a\u0020valid\u0020json",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#method_tryDecodeJson"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003AcheckVersion\u0028\u0029",
+ "name": "checkVersion",
+ "summary": "",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#method_checkVersion"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A\u0024status",
+ "name": "status",
+ "summary": "The\u0020response\u0020status",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#property_status"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A\u0024apiError",
+ "name": "apiError",
+ "summary": "The\u0020api\u0020error",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#property_apiError"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A\u0024httpCode",
+ "name": "httpCode",
+ "summary": "The\u0020response\u0020http\u0020code",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#property_httpCode"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A\u0024headers",
+ "name": "headers",
+ "summary": "The\u0020response\u0020headers",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#property_headers"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A\u0024body",
+ "name": "body",
+ "summary": "The\u0020response\u0020body",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#property_body"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A\u0024message",
+ "name": "message",
+ "summary": "The\u0020interface\u0020message",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#property_message"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport\\Response\u003A\u003A\u0024response",
+ "name": "response",
+ "summary": "PSR\u0020response",
+ "url": "classes/LDC-LDCCRM-Transport-Response.html#property_response"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Utils",
+ "name": "Utils",
+ "summary": "This\u0020is\u0020the\u0020LDCCRM\u0020utility\u0020class",
+ "url": "classes/LDC-LDCCRM-Utils.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Utils\u003A\u003AmakeValidator\u0028\u0029",
+ "name": "makeValidator",
+ "summary": "Create\u0020a\u0020new\u0020Validator\u0020instance.",
+ "url": "classes/LDC-LDCCRM-Utils.html#method_makeValidator"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Utils\u003A\u003AgetConfig\u0028\u0029",
+ "name": "getConfig",
+ "summary": "Get\u0020config",
+ "url": "classes/LDC-LDCCRM-Utils.html#method_getConfig"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Utils\u003A\u003AgetResquest\u0028\u0029",
+ "name": "getResquest",
+ "summary": "Generate\u0020a\u0020Request\u0020from\u0020the\u0020route\u0020name",
+ "url": "classes/LDC-LDCCRM-Utils.html#method_getResquest"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Utils\u003A\u003AgetPackageInfo\u0028\u0029",
+ "name": "getPackageInfo",
+ "summary": "Get\u0020composer.json\u0020infos",
+ "url": "classes/LDC-LDCCRM-Utils.html#method_getPackageInfo"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Utils\u003A\u003A\u0024packageInfos",
+ "name": "packageInfos",
+ "summary": "Package\u0020infos",
+ "url": "classes/LDC-LDCCRM-Utils.html#property_packageInfos"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Utils\u003A\u003A\u0024config",
+ "name": "config",
+ "summary": "The\u0020env\u0020config",
+ "url": "classes/LDC-LDCCRM-Utils.html#property_config"
+ }, {
+ "fqsen": "\\",
+ "name": "\\",
+ "summary": "",
+ "url": "namespaces/default.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM",
+ "name": "LDCCRM",
+ "summary": "",
+ "url": "namespaces/ldc-ldccrm.html"
+ }, {
+ "fqsen": "\\LDC",
+ "name": "LDC",
+ "summary": "",
+ "url": "namespaces/ldc.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Enums",
+ "name": "Enums",
+ "summary": "",
+ "url": "namespaces/ldc-ldccrm-enums.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Exceptions",
+ "name": "Exceptions",
+ "summary": "",
+ "url": "namespaces/ldc-ldccrm-exceptions.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Models",
+ "name": "Models",
+ "summary": "",
+ "url": "namespaces/ldc-ldccrm-models.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Providers",
+ "name": "Providers",
+ "summary": "",
+ "url": "namespaces/ldc-ldccrm-providers.html"
+ }, {
+ "fqsen": "\\LDC\\LDCCRM\\Transport",
+ "name": "Transport",
+ "summary": "",
+ "url": "namespaces/ldc-ldccrm-transport.html"
+ } ]
+);
diff --git a/documentation/namespaces/default.html b/documentation/namespaces/default.html
new file mode 100644
index 0000000..a8fd664
--- /dev/null
+++ b/documentation/namespaces/default.html
@@ -0,0 +1,139 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ API Documentation
+
+
+
+ Namespaces
+
+
+
+
+ LDC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/namespaces/ldc-ldccrm-enums.html b/documentation/namespaces/ldc-ldccrm-enums.html
new file mode 100644
index 0000000..71b0fab
--- /dev/null
+++ b/documentation/namespaces/ldc-ldccrm-enums.html
@@ -0,0 +1,152 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/namespaces/ldc-ldccrm-exceptions.html b/documentation/namespaces/ldc-ldccrm-exceptions.html
new file mode 100644
index 0000000..d33924b
--- /dev/null
+++ b/documentation/namespaces/ldc-ldccrm-exceptions.html
@@ -0,0 +1,153 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Exceptions
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ApiErrorException
+ This would be thrown if any of the case
+referenced in \LDC\LDCCRM\Enums\ApiError would
+occur within the crm
+ CrmException
+ This is a critical error.
+ LoginException
+ This would be thrown if You api credentials are wrong
+ ValidationException
+ This would be thrown if a data could not be validated
+on any models
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/namespaces/ldc-ldccrm-models.html b/documentation/namespaces/ldc-ldccrm-models.html
new file mode 100644
index 0000000..a6ee52f
--- /dev/null
+++ b/documentation/namespaces/ldc-ldccrm-models.html
@@ -0,0 +1,154 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ArcadiaMailDefault
+ This class represents the customer info with
+the account validation status
+ ArcadiaMailGame
+ This class represents the customer info with
+the account validation status
+ Customer
+ This class represents the customer info with
+the account validation status. You can use it as
+a standalone class but beware of catching exceptions
+ SingleOptin
+ This class allows to handle single optins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/namespaces/ldc-ldccrm-providers.html b/documentation/namespaces/ldc-ldccrm-providers.html
new file mode 100644
index 0000000..3dc8fd2
--- /dev/null
+++ b/documentation/namespaces/ldc-ldccrm-providers.html
@@ -0,0 +1,133 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Providers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/namespaces/ldc-ldccrm-transport.html b/documentation/namespaces/ldc-ldccrm-transport.html
new file mode 100644
index 0000000..6f55373
--- /dev/null
+++ b/documentation/namespaces/ldc-ldccrm-transport.html
@@ -0,0 +1,147 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Transport
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Request
+ The LDC CRM request
+Contains the http method, the requested url and data to pass
+ Response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/namespaces/ldc-ldccrm.html b/documentation/namespaces/ldc-ldccrm.html
new file mode 100644
index 0000000..fc70fe6
--- /dev/null
+++ b/documentation/namespaces/ldc-ldccrm.html
@@ -0,0 +1,157 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LDCCRM
+
+
+
+ Namespaces
+
+
+
+
+ Enums
+ Exceptions
+ Models
+ Providers
+ Transport
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ CrmApiV2
+ This is the main class to interact with the CRM
+ Utils
+ This is the LDCCRM utility class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/namespaces/ldc.html b/documentation/namespaces/ldc.html
new file mode 100644
index 0000000..6e0e557
--- /dev/null
+++ b/documentation/namespaces/ldc.html
@@ -0,0 +1,139 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LDC
+
+
+
+ Namespaces
+
+
+
+
+ LDCCRM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/Application.html b/documentation/packages/Application.html
new file mode 100644
index 0000000..a27b593
--- /dev/null
+++ b/documentation/packages/Application.html
@@ -0,0 +1,131 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Application
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/LDCCrmClient-enums.html b/documentation/packages/LDCCrmClient-enums.html
new file mode 100644
index 0000000..6d5dbd5
--- /dev/null
+++ b/documentation/packages/LDCCrmClient-enums.html
@@ -0,0 +1,151 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/LDCCrmClient-exceptions.html b/documentation/packages/LDCCrmClient-exceptions.html
new file mode 100644
index 0000000..7ede49f
--- /dev/null
+++ b/documentation/packages/LDCCrmClient-exceptions.html
@@ -0,0 +1,152 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ exceptions
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ApiErrorException
+ This would be thrown if any of the case
+referenced in \LDC\LDCCRM\Enums\ApiError would
+occur within the crm
+ CrmException
+ This is a critical error.
+ LoginException
+ This would be thrown if You api credentials are wrong
+ ValidationException
+ This would be thrown if a data could not be validated
+on any models
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/LDCCrmClient-models.html b/documentation/packages/LDCCrmClient-models.html
new file mode 100644
index 0000000..11ef859
--- /dev/null
+++ b/documentation/packages/LDCCrmClient-models.html
@@ -0,0 +1,153 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ models
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ArcadiaMailDefault
+ This class represents the customer info with
+the account validation status
+ ArcadiaMailGame
+ This class represents the customer info with
+the account validation status
+ Customer
+ This class represents the customer info with
+the account validation status. You can use it as
+a standalone class but beware of catching exceptions
+ SingleOptin
+ This class allows to handle single optins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/LDCCrmClient-transport.html b/documentation/packages/LDCCrmClient-transport.html
new file mode 100644
index 0000000..b4a2ba9
--- /dev/null
+++ b/documentation/packages/LDCCrmClient-transport.html
@@ -0,0 +1,146 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ transport
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Request
+ The LDC CRM request
+Contains the http method, the requested url and data to pass
+ Response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/LDCCrmClient-utilities.html b/documentation/packages/LDCCrmClient-utilities.html
new file mode 100644
index 0000000..4f54c5e
--- /dev/null
+++ b/documentation/packages/LDCCrmClient-utilities.html
@@ -0,0 +1,143 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ utilities
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Utils
+ This is the LDCCRM utility class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/LDCCrmClient.html b/documentation/packages/LDCCrmClient.html
new file mode 100644
index 0000000..a5441ab
--- /dev/null
+++ b/documentation/packages/LDCCrmClient.html
@@ -0,0 +1,154 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LDCCrmClient
+
+
+ Packages
+
+
+
+
+ enums
+ exceptions
+ models
+ transport
+ utilities
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ CrmApiV2
+ This is the main class to interact with the CRM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/default.html b/documentation/packages/default.html
new file mode 100644
index 0000000..52c990e
--- /dev/null
+++ b/documentation/packages/default.html
@@ -0,0 +1,140 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/ldccrmv2client-enums.html b/documentation/packages/ldccrmv2client-enums.html
new file mode 100644
index 0000000..c6d9793
--- /dev/null
+++ b/documentation/packages/ldccrmv2client-enums.html
@@ -0,0 +1,151 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/ldccrmv2client-exceptions.html b/documentation/packages/ldccrmv2client-exceptions.html
new file mode 100644
index 0000000..984b1d2
--- /dev/null
+++ b/documentation/packages/ldccrmv2client-exceptions.html
@@ -0,0 +1,152 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ exceptions
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ApiErrorException
+ This would be thrown if any of the case
+referenced in \LDC\LDCCRM\Enums\ApiError would
+occur within the crm
+ CrmException
+ This is a critical error.
+ LoginException
+ This would be thrown if You api credentials are wrong
+ ValidationException
+ This would be thrown if a data could not be validated
+on any models
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/ldccrmv2client-models.html b/documentation/packages/ldccrmv2client-models.html
new file mode 100644
index 0000000..15183d3
--- /dev/null
+++ b/documentation/packages/ldccrmv2client-models.html
@@ -0,0 +1,153 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ models
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ ArcadiaMailDefault
+ This class represents the customer info with
+the account validation status
+ ArcadiaMailGame
+ This class represents the customer info with
+the account validation status
+ Customer
+ This class represents the customer info with
+the account validation status. You can use it as
+a standalone class but beware of catching exceptions
+ SingleOptin
+ This class allows to handle single optins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/ldccrmv2client-transport.html b/documentation/packages/ldccrmv2client-transport.html
new file mode 100644
index 0000000..9e72685
--- /dev/null
+++ b/documentation/packages/ldccrmv2client-transport.html
@@ -0,0 +1,146 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ transport
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Request
+ The LDC CRM request
+Contains the http method, the requested url and data to pass
+ Response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/ldccrmv2client-utilities.html b/documentation/packages/ldccrmv2client-utilities.html
new file mode 100644
index 0000000..1caaf37
--- /dev/null
+++ b/documentation/packages/ldccrmv2client-utilities.html
@@ -0,0 +1,143 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ utilities
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ Utils
+ This is the LDCCRM utility class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/packages/ldccrmv2client.html b/documentation/packages/ldccrmv2client.html
new file mode 100644
index 0000000..0396e21
--- /dev/null
+++ b/documentation/packages/ldccrmv2client.html
@@ -0,0 +1,154 @@
+
+
+
+
+ CRM V2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ldccrmv2client
+
+
+ Packages
+
+
+
+
+ enums
+ exceptions
+ models
+ transport
+ utilities
+
+
+
+
+ Interfaces, Classes and Traits
+
+
+
+
+
+ CrmApiV2
+ This is the main class to interact with the CRM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reports/deprecated.html b/documentation/reports/deprecated.html
new file mode 100644
index 0000000..b7b3d27
--- /dev/null
+++ b/documentation/reports/deprecated.html
@@ -0,0 +1,129 @@
+
+
+
+
+ CRM V2 » Deprecated elements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Deprecated
+
+
+
+ No deprecated elements have been found in this project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reports/errors.html b/documentation/reports/errors.html
new file mode 100644
index 0000000..854c721
--- /dev/null
+++ b/documentation/reports/errors.html
@@ -0,0 +1,128 @@
+
+
+
+
+ CRM V2 » Compilation errors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Errors
+
+
+
No errors have been found in this project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reports/markers.html b/documentation/reports/markers.html
new file mode 100644
index 0000000..02b9bf1
--- /dev/null
+++ b/documentation/reports/markers.html
@@ -0,0 +1,449 @@
+
+
+
+
+ CRM V2 » Markers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Markers
+
+
Table of Contents
+
+
+
+
ApiError.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 53
+ supportweb.ldc.fr
+
+
+
+
+
Country.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 9
+ datahub.io/core/country-list Data Hub country list
+
+
+
+
+
CrmException.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 11
+ supportweb.ldc.fr
+
+
+
+
+
ArcadiaMailDefault.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 137
+ phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed
+
+
+
+ 198
+ cast anyway
+
+
+
+ 217
+ this to throw validation error if failure way
+
+
+
+ 225
+ PUBLIC METHODS
+
+
+
+ 234
+ validate customer hashcode
+
+
+
+ 240
+ Send mail
+
+
+
+ 242
+ set apiInterface
+
+
+
+
+
ArcadiaMailGame.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 143
+ PUBLIC METHODS
+
+
+
+ 152
+ validate customer hashcode
+
+
+
+ 158
+ Send mail
+
+
+
+ 160
+ set apiInterface
+
+
+
+
+
Customer.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 289
+ phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed
+
+
+
+ 297
+ phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed,Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
+
+
+
+ 363
+ cast anyway
+
+
+
+ 382
+ this to throw validation error if failure way
+
+
+
+ 390
+ PUBLIC METHODS
+
+
+
+ 400
+ set apiInterface
+
+
+
+ 459
+ set apiInterface
+
+
+
+ 472
+ set apiInterface
+
+
+
+ 492
+ set apiInterface
+
+
+
+ 509
+ set apiInterface
+
+
+
+
+
SingleOptin.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 43
+ set apiInterface
+
+
+
+
+
Request.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 173
+ do not throw http errors
+
+
+
+
+
Response.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 89
+ Body should be json data
+
+
+
+ 98
+ Api Error
+
+
+
+ 100
+ CRM Exception or Any Exception
+
+
+
+
+
Utils.php
+
+
+
+ Type
+ Line
+ Description
+
+
+
+
+
+ 107
+ convert bool to integer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/CustomerExample.php b/examples/CustomerExample.php
new file mode 100644
index 0000000..2e41105
--- /dev/null
+++ b/examples/CustomerExample.php
@@ -0,0 +1,54 @@
+getCustomerOrNew('123e4567-e89b-12d3-a456-426614174000');
+
+echo $customer->firstname;
+
+$customer->firstname = 'new firstname';
+
+try {
+ if ($customer->save()) {
+ echo 'Customer was updated';
+ }
+} catch (ApiErrorException $e) {
+ if ($e->getApiError()->equals(ApiError::modelNotFound())) {
+ echo 'This customer does not exists in crm therefore we cannot update it';
+ echo $e->getMessage();
+ }
+ if ($e->getApiError()->equals(ApiError::validationFailed())) {
+ echo 'Some of the provided fields were not ok';
+ echo $e->getMessage();
+ }
+}
+
+$customer = new Customer();
+
+$customer->firstname = 'toto';
+$customer->lastname = 'delarogerie';
+$customer->email = 'toto.delarogerie@gmail.com';
+$customer->password = 'Complic4tEd!P4assW0rd';
+$customer->birth_date = '1992-03-08';
+$customer->phone = '0673891160';
+$customer->address = 'rue des totos';
+$customer->city = 'Toto ville';
+$customer->postcode = '72160';
+$customer->country = Country::france();
+
+try {
+ if ($customer->save()) {
+ echo 'Customer is saved in crm';
+ } else {
+ echo 'Customer was not saved in crm';
+ }
+} catch (ApiErrorException $e) {
+ echo 'Something went wrong';
+ echo $e->getMessage();
+ print_r($e->getApiError());
+}
diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml
new file mode 100644
index 0000000..728fd04
--- /dev/null
+++ b/phpdoc.dist.xml
@@ -0,0 +1,18 @@
+
+
+ CRM V2
+
+
+
+ examples
+ src
+
+ LDCCrmClient
+
+
+
diff --git a/readme.md b/readme.md
index f622851..a877fbf 100644
--- a/readme.md
+++ b/readme.md
@@ -5,6 +5,7 @@
Api client for CRM V2
+**Client version mut match CRM version !!**
## Installation
SOON available
diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php
new file mode 100644
index 0000000..9296ce2
--- /dev/null
+++ b/resources/lang/en/validation.php
@@ -0,0 +1,154 @@
+ 'The :attribute must be accepted.',
+ 'active_url' => 'The :attribute is not a valid URL.',
+ 'after' => 'The :attribute must be a date after :date.',
+ 'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
+ 'alpha' => 'The :attribute may only contain letters.',
+ 'alpha_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.',
+ 'alpha_num' => 'The :attribute may only contain letters and numbers.',
+ 'array' => 'The :attribute must be an array.',
+ 'before' => 'The :attribute must be a date before :date.',
+ 'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ 'boolean' => 'The :attribute field must be true or false.',
+ 'confirmed' => 'The :attribute confirmation does not match.',
+ 'date' => 'The :attribute is not a valid date.',
+ 'date_equals' => 'The :attribute must be a date equal to :date.',
+ 'date_format' => 'The :attribute does not match the format :format.',
+ 'different' => 'The :attribute and :other must be different.',
+ 'digits' => 'The :attribute must be :digits digits.',
+ 'digits_between' => 'The :attribute must be between :min and :max digits.',
+ 'dimensions' => 'The :attribute has invalid image dimensions.',
+ 'distinct' => 'The :attribute field has a duplicate value.',
+ 'email' => 'The :attribute must be a valid email address.',
+ 'ends_with' => 'The :attribute must end with one of the following: :values.',
+ 'exists' => 'The selected :attribute is invalid.',
+ 'file' => 'The :attribute must be a file.',
+ 'filled' => 'The :attribute field must have a value.',
+ 'gt' => [
+ 'numeric' => 'The :attribute must be greater than :value.',
+ 'file' => 'The :attribute must be greater than :value kilobytes.',
+ 'string' => 'The :attribute must be greater than :value characters.',
+ 'array' => 'The :attribute must have more than :value items.',
+ ],
+ 'gte' => [
+ 'numeric' => 'The :attribute must be greater than or equal :value.',
+ 'file' => 'The :attribute must be greater than or equal :value kilobytes.',
+ 'string' => 'The :attribute must be greater than or equal :value characters.',
+ 'array' => 'The :attribute must have :value items or more.',
+ ],
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'ipv4' => 'The :attribute must be a valid IPv4 address.',
+ 'ipv6' => 'The :attribute must be a valid IPv6 address.',
+ 'json' => 'The :attribute must be a valid JSON string.',
+ 'lt' => [
+ 'numeric' => 'The :attribute must be less than :value.',
+ 'file' => 'The :attribute must be less than :value kilobytes.',
+ 'string' => 'The :attribute must be less than :value characters.',
+ 'array' => 'The :attribute must have less than :value items.',
+ ],
+ 'lte' => [
+ 'numeric' => 'The :attribute must be less than or equal :value.',
+ 'file' => 'The :attribute must be less than or equal :value kilobytes.',
+ 'string' => 'The :attribute must be less than or equal :value characters.',
+ 'array' => 'The :attribute must not have more than :value items.',
+ ],
+ 'max' => [
+ 'numeric' => 'The :attribute may not be greater than :max.',
+ 'file' => 'The :attribute may not be greater than :max kilobytes.',
+ 'string' => 'The :attribute may not be greater than :max characters.',
+ 'array' => 'The :attribute may not have more than :max items.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'mimetypes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => 'The :attribute must be at least :min kilobytes.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ 'array' => 'The :attribute must have at least :min items.',
+ ],
+ 'multiple_of' => 'The :attribute must be a multiple of :value',
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'not_regex' => 'The :attribute format is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
+ 'password' => 'The password is incorrect.',
+ 'present' => 'The :attribute field must be present.',
+ 'regex' => 'The :attribute format is invalid.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'The :attribute field is required unless :other is in :values.',
+ 'required_with' => 'The :attribute field is required when :values is present.',
+ 'required_with_all' => 'The :attribute field is required when :values are present.',
+ 'required_without' => 'The :attribute field is required when :values is not present.',
+ 'required_without_all' => 'The :attribute field is required when none of :values are present.',
+ 'same' => 'The :attribute and :other must match.',
+ 'size' => [
+ 'numeric' => 'The :attribute must be :size.',
+ 'file' => 'The :attribute must be :size kilobytes.',
+ 'string' => 'The :attribute must be :size characters.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'starts_with' => 'The :attribute must start with one of the following: :values.',
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => 'The :attribute must be a valid zone.',
+ 'unique' => 'The :attribute has already been taken.',
+ 'uploaded' => 'The :attribute failed to upload.',
+ 'url' => 'The :attribute format is invalid.',
+ 'uuid' => 'The :attribute must be a valid UUID.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'require_at_least_field' => 'At least one of these fields :attributes must be present.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap our attribute placeholder
+ | with something more reader friendly such as "E-Mail Address" instead
+ | of "email". This simply helps us make our message more expressive.
+ |
+ */
+
+ 'attributes' => [
+ // Rajouté
+ 'postcode' => 'post code',
+ 'birth_date' => 'birth date',
+ 'lastname' => 'last name',
+ 'firstname' => 'first name'
+ ],
+
+];
diff --git a/src/CrmApiV2.php b/src/CrmApiV2.php
new file mode 100644
index 0000000..8752c98
--- /dev/null
+++ b/src/CrmApiV2.php
@@ -0,0 +1,57 @@
+call($request);
+ return $response->status->equals(ApiStatus::OK());
+ }
+
+ /**
+ * Get a customer from its hashcode or email
+ * If it does not exists a new instance
+ * will be returned. You would have
+ * to call its save method later on.
+ *
+ * @param string $identification The customer hashcode or email
+ * @return Customer
+ */
+ public function getCustomerOrNew(string $identification): Customer
+ {
+ return Customer::find($identification) ?? new Customer();
+ }
+}
diff --git a/src/Enums/ApiError.php b/src/Enums/ApiError.php
new file mode 100644
index 0000000..ebac0b1
--- /dev/null
+++ b/src/Enums/ApiError.php
@@ -0,0 +1,94 @@
+ 101,
+ 'validationFailed' => 102,
+ 'customerExists' => 103,
+ 'customerAlreadyActive' => 110,
+ 'customerNotActivated' => 116,
+ 'authFailed' => 117,
+ 'needAuth' => 118,
+ 'apiAuthFailed' => 119,
+ 'singleOptinCustomerExists' => 120,
+ 'methodNotAllowed' => 150,
+ 'wrongTimeStamp' => 151,
+ 'throttleRequestsException' => 429
+ ];
+ }
+
+ public static function labels(): array
+ {
+ return [
+ 'modelNotFound' => trans('%s not found.'),
+ 'validationFailed' => trans('Could not validate data.'),
+ 'customerExists' => trans('User already registered on this site.'),
+ 'customerNotActivated' => trans('Account is not activated.'),
+ 'customerAlreadyActive' => trans('User already active.'),
+ 'singleOptinCustomerExists' => trans('SingleOptin wont be added because customer exists.'),
+ 'authFailed' => trans('Authentication failed.'),
+ 'needAuth' => trans('You need to be authenticated'),
+ 'methodNotAllowed' => trans('This method is not allowed for this request'),
+ 'wrongTimeStamp' => trans('Your request is malformed, please check timestamp header and parameter'),
+ 'throttleRequestsException' => trans('Throttle: too many request have been attempted, please retry later')
+ ];
+ }
+}
diff --git a/src/Enums/ApiStatus.php b/src/Enums/ApiStatus.php
new file mode 100644
index 0000000..a48908d
--- /dev/null
+++ b/src/Enums/ApiStatus.php
@@ -0,0 +1,16 @@
+ 1,
+ 'game' => 2
+ ];
+ }
+}
diff --git a/src/Enums/ArcadiaOrderType.php b/src/Enums/ArcadiaOrderType.php
new file mode 100644
index 0000000..fe73f40
--- /dev/null
+++ b/src/Enums/ArcadiaOrderType.php
@@ -0,0 +1,23 @@
+ 0,
+ 'check' => 1
+ ];
+ }
+}
diff --git a/src/Enums/Country.php b/src/Enums/Country.php
new file mode 100644
index 0000000..c8709d7
--- /dev/null
+++ b/src/Enums/Country.php
@@ -0,0 +1,774 @@
+ 1,
+ 'aland-islands' => 2,
+ 'albania' => 3,
+ 'algeria' => 4,
+ 'american-samoa' => 5,
+ 'andorra' => 6,
+ 'angola' => 7,
+ 'anguilla' => 8,
+ 'antarctica' => 9,
+ 'antigua-and-barbuda' => 10,
+ 'argentina' => 11,
+ 'armenia' => 12,
+ 'aruba' => 13,
+ 'australia' => 14,
+ 'austria' => 15,
+ 'azerbaijan' => 16,
+ 'bahrain' => 17,
+ 'bahamas' => 18,
+ 'bangladesh' => 19,
+ 'barbados' => 20,
+ 'belarus' => 21,
+ 'belgium' => 22,
+ 'belize' => 23,
+ 'benin' => 24,
+ 'bermuda' => 25,
+ 'bhutan' => 26,
+ 'bolivia-plurinational-state-of' => 27,
+ 'bonaire-sint-eustatius-and-saba' => 28,
+ 'bosnia-and-herzegovina' => 29,
+ 'botswana' => 30,
+ 'bouvet-island' => 31,
+ 'brazil' => 32,
+ 'british-indian-ocean-territory' => 33,
+ 'brunei-darussalam' => 34,
+ 'bulgaria' => 35,
+ 'burkina-faso' => 36,
+ 'burundi' => 37,
+ 'cambodia' => 38,
+ 'cameroon' => 39,
+ 'canada' => 40,
+ 'cape-verde' => 41,
+ 'cayman-islands' => 42,
+ 'central-african-republic' => 43,
+ 'chad' => 44,
+ 'chile' => 45,
+ 'china' => 46,
+ 'christmas-island' => 47,
+ 'cocos-keeling-islands' => 48,
+ 'colombia' => 49,
+ 'comoros' => 50,
+ 'congo' => 51,
+ 'congo-the-democratic-republic-of-the' => 52,
+ 'cook-islands' => 53,
+ 'costa-rica' => 54,
+ 'cote-divoire' => 55,
+ 'croatia' => 56,
+ 'cuba' => 57,
+ 'curacao' => 58,
+ 'cyprus' => 59,
+ 'czech-republic' => 60,
+ 'denmark' => 61,
+ 'djibouti' => 62,
+ 'dominica' => 63,
+ 'dominican-republic' => 64,
+ 'ecuador' => 65,
+ 'egypt' => 66,
+ 'el-salvador' => 67,
+ 'equatorial-guinea' => 68,
+ 'eritrea' => 69,
+ 'estonia' => 70,
+ 'ethiopia' => 71,
+ 'falkland-islands-malvinas' => 72,
+ 'faroe-islands' => 73,
+ 'fiji' => 74,
+ 'finland' => 75,
+ 'france' => 76,
+ 'french-guiana' => 77,
+ 'french-polynesia' => 78,
+ 'french-southern-territories' => 79,
+ 'gabon' => 80,
+ 'gambia' => 81,
+ 'georgia' => 82,
+ 'germany' => 83,
+ 'ghana' => 84,
+ 'gibraltar' => 85,
+ 'greece' => 86,
+ 'greenland' => 87,
+ 'grenada' => 88,
+ 'guadeloupe' => 89,
+ 'guam' => 90,
+ 'guatemala' => 91,
+ 'guernsey' => 92,
+ 'guinea' => 93,
+ 'guinea-bissau' => 94,
+ 'guyana' => 95,
+ 'haiti' => 96,
+ 'heard-island-and-mcdonald-islands' => 97,
+ 'holy-see-vatican-city-state' => 98,
+ 'honduras' => 99,
+ 'hong-kong' => 100,
+ 'hungary' => 101,
+ 'iceland' => 102,
+ 'india' => 103,
+ 'indonesia' => 104,
+ 'iran-islamic-republic-of' => 105,
+ 'iraq' => 106,
+ 'ireland' => 107,
+ 'isle-of-man' => 108,
+ 'israel' => 109,
+ 'italy' => 110,
+ 'jamaica' => 111,
+ 'japan' => 112,
+ 'jersey' => 113,
+ 'jordan' => 114,
+ 'kazakhstan' => 115,
+ 'kenya' => 116,
+ 'kiribati' => 117,
+ 'korea-democratic-peoples-republic-of' => 118,
+ 'korea-republic-of' => 119,
+ 'kuwait' => 120,
+ 'kyrgyzstan' => 121,
+ 'lao-peoples-democratic-republic' => 122,
+ 'latvia' => 123,
+ 'lebanon' => 124,
+ 'lesotho' => 125,
+ 'liberia' => 126,
+ 'libya' => 127,
+ 'liechtenstein' => 128,
+ 'lithuania' => 129,
+ 'luxembourg' => 130,
+ 'macao' => 131,
+ 'macedonia-the-former-yugoslav-republic-of' => 132,
+ 'madagascar' => 133,
+ 'malawi' => 134,
+ 'malaysia' => 135,
+ 'maldives' => 136,
+ 'mali' => 137,
+ 'malta' => 138,
+ 'marshall-islands' => 139,
+ 'martinique' => 140,
+ 'mauritania' => 141,
+ 'mauritius' => 142,
+ 'mayotte' => 143,
+ 'mexico' => 144,
+ 'micronesia-federated-states-of' => 145,
+ 'moldova-republic-of' => 146,
+ 'monaco' => 147,
+ 'mongolia' => 148,
+ 'montenegro' => 149,
+ 'montserrat' => 150,
+ 'morocco' => 151,
+ 'mozambique' => 152,
+ 'myanmar' => 153,
+ 'namibia' => 154,
+ 'nauru' => 155,
+ 'nepal' => 156,
+ 'netherlands' => 157,
+ 'new-caledonia' => 158,
+ 'new-zealand' => 159,
+ 'nicaragua' => 160,
+ 'niger' => 161,
+ 'nigeria' => 162,
+ 'niue' => 163,
+ 'norfolk-island' => 164,
+ 'northern-mariana-islands' => 165,
+ 'norway' => 166,
+ 'oman' => 167,
+ 'pakistan' => 168,
+ 'palau' => 169,
+ 'palestine-state-of' => 170,
+ 'panama' => 171,
+ 'papua-new-guinea' => 172,
+ 'paraguay' => 173,
+ 'peru' => 174,
+ 'philippines' => 175,
+ 'pitcairn' => 176,
+ 'poland' => 177,
+ 'portugal' => 178,
+ 'puerto-rico' => 179,
+ 'qatar' => 180,
+ 'reunion' => 181,
+ 'romania' => 182,
+ 'russian-federation' => 183,
+ 'rwanda' => 184,
+ 'saint-barthelemy' => 185,
+ 'saint-helena-ascension-and-tristan-da-cunha' => 186,
+ 'saint-kitts-and-nevis' => 187,
+ 'saint-lucia' => 188,
+ 'saint-martin-french-part' => 189,
+ 'saint-pierre-and-miquelon' => 190,
+ 'saint-vincent-and-the-grenadines' => 191,
+ 'samoa' => 192,
+ 'san-marino' => 193,
+ 'sao-tome-and-principe' => 194,
+ 'saudi-arabia' => 195,
+ 'senegal' => 196,
+ 'serbia' => 197,
+ 'seychelles' => 198,
+ 'sierra-leone' => 199,
+ 'singapore' => 200,
+ 'sint-maarten-dutch-part' => 201,
+ 'slovakia' => 202,
+ 'slovenia' => 203,
+ 'solomon-islands' => 204,
+ 'somalia' => 205,
+ 'south-africa' => 206,
+ 'south-georgia-and-the-south-sandwich-islands' => 207,
+ 'south-sudan' => 208,
+ 'spain' => 209,
+ 'sri-lanka' => 210,
+ 'sudan' => 211,
+ 'suriname' => 212,
+ 'svalbard-and-jan-mayen' => 213,
+ 'swaziland' => 214,
+ 'sweden' => 215,
+ 'switzerland' => 216,
+ 'syrian-arab-republic' => 217,
+ 'taiwan-province-of-china' => 218,
+ 'tajikistan' => 219,
+ 'tanzania-united-republic-of' => 220,
+ 'thailand' => 221,
+ 'timor-leste' => 222,
+ 'togo' => 223,
+ 'tokelau' => 224,
+ 'tonga' => 225,
+ 'trinidad-and-tobago' => 226,
+ 'tunisia' => 227,
+ 'turkey' => 228,
+ 'turkmenistan' => 229,
+ 'turks-and-caicos-islands' => 230,
+ 'tuvalu' => 231,
+ 'uganda' => 232,
+ 'ukraine' => 233,
+ 'united-arab-emirates' => 234,
+ 'united-kingdom' => 235,
+ 'united-states' => 236,
+ 'united-states-minor-outlying-islands' => 237,
+ 'uruguay' => 238,
+ 'uzbekistan' => 239,
+ 'vanuatu' => 240,
+ 'venezuela-bolivarian-republic-of' => 241,
+ 'viet-nam' => 242,
+ 'virgin-islands-british' => 243,
+ 'virgin-islands-us' => 244,
+ 'wallis-and-futuna' => 245,
+ 'western-sahara' => 246,
+ 'yemen' => 247,
+ 'zambia' => 248,
+ 'zimbabwe' => 249
+ ];
+ }
+
+ public static function labels(): array
+ {
+ return [
+ 'afghanistan' => 'Afghanistan',
+ 'aland-islands' => 'Åland Islands',
+ 'albania' => 'Albania',
+ 'algeria' => 'Algeria',
+ 'american-samoa' => 'American Samoa',
+ 'andorra' => 'Andorra',
+ 'angola' => 'Angola',
+ 'anguilla' => 'Anguilla',
+ 'antarctica' => 'Antarctica',
+ 'antigua-and-barbuda' => 'Antigua and Barbuda',
+ 'argentina' => 'Argentina',
+ 'armenia' => 'Armenia',
+ 'aruba' => 'Aruba',
+ 'australia' => 'Australia',
+ 'austria' => 'Austria',
+ 'azerbaijan' => 'Azerbaijan',
+ 'bahrain' => 'Bahrain',
+ 'bahamas' => 'Bahamas',
+ 'bangladesh' => 'Bangladesh',
+ 'barbados' => 'Barbados',
+ 'belarus' => 'Belarus',
+ 'belgium' => 'Belgium',
+ 'belize' => 'Belize',
+ 'benin' => 'Benin',
+ 'bermuda' => 'Bermuda',
+ 'bhutan' => 'Bhutan',
+ 'bolivia-plurinational-state-of' => 'Bolivia, Plurinational State of',
+ 'bonaire-sint-eustatius-and-saba' => 'Bonaire, Sint Eustatius and Saba',
+ 'bosnia-and-herzegovina' => 'Bosnia and Herzegovina',
+ 'botswana' => 'Botswana',
+ 'bouvet-island' => 'Bouvet Island',
+ 'brazil' => 'Brazil',
+ 'british-indian-ocean-territory' => 'British Indian Ocean Territory',
+ 'brunei-darussalam' => 'Brunei Darussalam',
+ 'bulgaria' => 'Bulgaria',
+ 'burkina-faso' => 'Burkina Faso',
+ 'burundi' => 'Burundi',
+ 'cambodia' => 'Cambodia',
+ 'cameroon' => 'Cameroon',
+ 'canada' => 'Canada',
+ 'cape-verde' => 'Cape Verde',
+ 'cayman-islands' => 'Cayman Islands',
+ 'central-african-republic' => 'Central African Republic',
+ 'chad' => 'Chad',
+ 'chile' => 'Chile',
+ 'china' => 'China',
+ 'christmas-island' => 'Christmas Island',
+ 'cocos-keeling-islands' => 'Cocos (Keeling) Islands',
+ 'colombia' => 'Colombia',
+ 'comoros' => 'Comoros',
+ 'congo' => 'Congo',
+ 'congo-the-democratic-republic-of-the' => 'Congo, the Democratic Republic of the',
+ 'cook-islands' => 'Cook Islands',
+ 'costa-rica' => 'Costa Rica',
+ 'cote-divoire' => 'Côte d\'Ivoire',
+ 'croatia' => 'Croatia',
+ 'cuba' => 'Cuba',
+ 'curacao' => 'Curaçao',
+ 'cyprus' => 'Cyprus',
+ 'czech-republic' => 'Czech Republic',
+ 'denmark' => 'Denmark',
+ 'djibouti' => 'Djibouti',
+ 'dominica' => 'Dominica',
+ 'dominican-republic' => 'Dominican Republic',
+ 'ecuador' => 'Ecuador',
+ 'egypt' => 'Egypt',
+ 'el-salvador' => 'El Salvador',
+ 'equatorial-guinea' => 'Equatorial Guinea',
+ 'eritrea' => 'Eritrea',
+ 'estonia' => 'Estonia',
+ 'ethiopia' => 'Ethiopia',
+ 'falkland-islands-malvinas' => 'Falkland Islands (Malvinas)',
+ 'faroe-islands' => 'Faroe Islands',
+ 'fiji' => 'Fiji',
+ 'finland' => 'Finland',
+ 'france' => 'France',
+ 'french-guiana' => 'French Guiana',
+ 'french-polynesia' => 'French Polynesia',
+ 'french-southern-territories' => 'French Southern Territories',
+ 'gabon' => 'Gabon',
+ 'gambia' => 'Gambia',
+ 'georgia' => 'Georgia',
+ 'germany' => 'Germany',
+ 'ghana' => 'Ghana',
+ 'gibraltar' => 'Gibraltar',
+ 'greece' => 'Greece',
+ 'greenland' => 'Greenland',
+ 'grenada' => 'Grenada',
+ 'guadeloupe' => 'Guadeloupe',
+ 'guam' => 'Guam',
+ 'guatemala' => 'Guatemala',
+ 'guernsey' => 'Guernsey',
+ 'guinea' => 'Guinea',
+ 'guinea-bissau' => 'Guinea-Bissau',
+ 'guyana' => 'Guyana',
+ 'haiti' => 'Haiti',
+ 'heard-island-and-mcdonald-islands' => 'Heard Island and McDonald Islands',
+ 'holy-see-vatican-city-state' => 'Holy See (Vatican City State)',
+ 'honduras' => 'Honduras',
+ 'hong-kong' => 'Hong Kong',
+ 'hungary' => 'Hungary',
+ 'iceland' => 'Iceland',
+ 'india' => 'India',
+ 'indonesia' => 'Indonesia',
+ 'iran-islamic-republic-of' => 'Iran, Islamic Republic of',
+ 'iraq' => 'Iraq',
+ 'ireland' => 'Ireland',
+ 'isle-of-man' => 'Isle of Man',
+ 'israel' => 'Israel',
+ 'italy' => 'Italy',
+ 'jamaica' => 'Jamaica',
+ 'japan' => 'Japan',
+ 'jersey' => 'Jersey',
+ 'jordan' => 'Jordan',
+ 'kazakhstan' => 'Kazakhstan',
+ 'kenya' => 'Kenya',
+ 'kiribati' => 'Kiribati',
+ 'korea-democratic-peoples-republic-of' => 'Korea, Democratic People\'s Republic of',
+ 'korea-republic-of' => 'Korea, Republic of',
+ 'kuwait' => 'Kuwait',
+ 'kyrgyzstan' => 'Kyrgyzstan',
+ 'lao-peoples-democratic-republic' => 'Lao People\'s Democratic Republic',
+ 'latvia' => 'Latvia',
+ 'lebanon' => 'Lebanon',
+ 'lesotho' => 'Lesotho',
+ 'liberia' => 'Liberia',
+ 'libya' => 'Libya',
+ 'liechtenstein' => 'Liechtenstein',
+ 'lithuania' => 'Lithuania',
+ 'luxembourg' => 'Luxembourg',
+ 'macao' => 'Macao',
+ 'macedonia-the-former-yugoslav-republic-of' => 'Macedonia, the Former Yugoslav Republic of',
+ 'madagascar' => 'Madagascar',
+ 'malawi' => 'Malawi',
+ 'malaysia' => 'Malaysia',
+ 'maldives' => 'Maldives',
+ 'mali' => 'Mali',
+ 'malta' => 'Malta',
+ 'marshall-islands' => 'Marshall Islands',
+ 'martinique' => 'Martinique',
+ 'mauritania' => 'Mauritania',
+ 'mauritius' => 'Mauritius',
+ 'mayotte' => 'Mayotte',
+ 'mexico' => 'Mexico',
+ 'micronesia-federated-states-of' => 'Micronesia, Federated States of',
+ 'moldova-republic-of' => 'Moldova, Republic of',
+ 'monaco' => 'Monaco',
+ 'mongolia' => 'Mongolia',
+ 'montenegro' => 'Montenegro',
+ 'montserrat' => 'Montserrat',
+ 'morocco' => 'Morocco',
+ 'mozambique' => 'Mozambique',
+ 'myanmar' => 'Myanmar',
+ 'namibia' => 'Namibia',
+ 'nauru' => 'Nauru',
+ 'nepal' => 'Nepal',
+ 'netherlands' => 'Netherlands',
+ 'new-caledonia' => 'New Caledonia',
+ 'new-zealand' => 'New Zealand',
+ 'nicaragua' => 'Nicaragua',
+ 'niger' => 'Niger',
+ 'nigeria' => 'Nigeria',
+ 'niue' => 'Niue',
+ 'norfolk-island' => 'Norfolk Island',
+ 'northern-mariana-islands' => 'Northern Mariana Islands',
+ 'norway' => 'Norway',
+ 'oman' => 'Oman',
+ 'pakistan' => 'Pakistan',
+ 'palau' => 'Palau',
+ 'palestine-state-of' => 'Palestine, State of',
+ 'panama' => 'Panama',
+ 'papua-new-guinea' => 'Papua New Guinea',
+ 'paraguay' => 'Paraguay',
+ 'peru' => 'Peru',
+ 'philippines' => 'Philippines',
+ 'pitcairn' => 'Pitcairn',
+ 'poland' => 'Poland',
+ 'portugal' => 'Portugal',
+ 'puerto-rico' => 'Puerto Rico',
+ 'qatar' => 'Qatar',
+ 'reunion' => 'Réunion',
+ 'romania' => 'Romania',
+ 'russian-federation' => 'Russian Federation',
+ 'rwanda' => 'Rwanda',
+ 'saint-barthelemy' => 'Saint Barthélemy',
+ 'saint-helena-ascension-and-tristan-da-cunha' => 'Saint Helena, Ascension and Tristan da Cunha',
+ 'saint-kitts-and-nevis' => 'Saint Kitts and Nevis',
+ 'saint-lucia' => 'Saint Lucia',
+ 'saint-martin-french-part' => 'Saint Martin (French part)',
+ 'saint-pierre-and-miquelon' => 'Saint Pierre and Miquelon',
+ 'saint-vincent-and-the-grenadines' => 'Saint Vincent and the Grenadines',
+ 'samoa' => 'Samoa',
+ 'san-marino' => 'San Marino',
+ 'sao-tome-and-principe' => 'Sao Tome and Principe',
+ 'saudi-arabia' => 'Saudi Arabia',
+ 'senegal' => 'Senegal',
+ 'serbia' => 'Serbia',
+ 'seychelles' => 'Seychelles',
+ 'sierra-leone' => 'Sierra Leone',
+ 'singapore' => 'Singapore',
+ 'sint-maarten-dutch-part' => 'Sint Maarten (Dutch part)',
+ 'slovakia' => 'Slovakia',
+ 'slovenia' => 'Slovenia',
+ 'solomon-islands' => 'Solomon Islands',
+ 'somalia' => 'Somalia',
+ 'south-africa' => 'South Africa',
+ 'south-georgia-and-the-south-sandwich-islands' => 'South Georgia and the South Sandwich Islands',
+ 'south-sudan' => 'South Sudan',
+ 'spain' => 'Spain',
+ 'sri-lanka' => 'Sri Lanka',
+ 'sudan' => 'Sudan',
+ 'suriname' => 'Suriname',
+ 'svalbard-and-jan-mayen' => 'Svalbard and Jan Mayen',
+ 'swaziland' => 'Swaziland',
+ 'sweden' => 'Sweden',
+ 'switzerland' => 'Switzerland',
+ 'syrian-arab-republic' => 'Syrian Arab Republic',
+ 'taiwan-province-of-china' => 'Taiwan, Province of China',
+ 'tajikistan' => 'Tajikistan',
+ 'tanzania-united-republic-of' => 'Tanzania, United Republic of',
+ 'thailand' => 'Thailand',
+ 'timor-leste' => 'Timor-Leste',
+ 'togo' => 'Togo',
+ 'tokelau' => 'Tokelau',
+ 'tonga' => 'Tonga',
+ 'trinidad-and-tobago' => 'Trinidad and Tobago',
+ 'tunisia' => 'Tunisia',
+ 'turkey' => 'Turkey',
+ 'turkmenistan' => 'Turkmenistan',
+ 'turks-and-caicos-islands' => 'Turks and Caicos Islands',
+ 'tuvalu' => 'Tuvalu',
+ 'uganda' => 'Uganda',
+ 'ukraine' => 'Ukraine',
+ 'united-arab-emirates' => 'United Arab Emirates',
+ 'united-kingdom' => 'United Kingdom',
+ 'united-states' => 'United States',
+ 'united-states-minor-outlying-islands' => 'United States Minor Outlying Islands',
+ 'uruguay' => 'Uruguay',
+ 'uzbekistan' => 'Uzbekistan',
+ 'vanuatu' => 'Vanuatu',
+ 'venezuela-bolivarian-republic-of' => 'Venezuela, Bolivarian Republic of',
+ 'viet-nam' => 'Viet Nam',
+ 'virgin-islands-british' => 'Virgin Islands, British',
+ 'virgin-islands-us' => 'Virgin Islands, U.S.',
+ 'wallis-and-futuna' => 'Wallis and Futuna',
+ 'western-sahara' => 'Western Sahara',
+ 'yemen' => 'Yemen',
+ 'zambia' => 'Zambia',
+ 'zimbabwe' => 'Zimbabwe'
+ ];
+ }
+}
diff --git a/src/Enums/CrudAction.php b/src/Enums/CrudAction.php
deleted file mode 100644
index 6e5aa77..0000000
--- a/src/Enums/CrudAction.php
+++ /dev/null
@@ -1,49 +0,0 @@
- 0,
- 'view' => 1,
- 'create' => 2,
- 'update' => 3,
- 'delete' => 4,
- ];
- }
-
- protected static function labels(): array
- {
- return [
- 'viewAny' => trans('crud-policies::crud.viewAny'),
- 'view' => trans('crud-policies::crud.view'),
- 'create' => trans('crud-policies::crud.create'),
- 'update' => trans('crud-policies::crud.update'),
- 'delete' => trans('crud-policies::crud.delete'),
- ];
- }
-}
diff --git a/src/Enums/CrudType.php b/src/Enums/CrudType.php
deleted file mode 100644
index 761ff3f..0000000
--- a/src/Enums/CrudType.php
+++ /dev/null
@@ -1,71 +0,0 @@
- 0,
- 'int' => 1,
- 'string' => 2,
- 'text' => 3,
- 'json' => 4,
- 'image' => 5,
- 'email' => 6,
- 'password' => 7,
- 'float' => 8,
- 'enum' => 9,
- 'order' => 10,
- 'color' => 11,
- 'unsignedint' => 12,
- 'unsignedfloat' => 13,
- 'belongsTo' => 21,
- 'belongsToMany' => 22
- ];
- }
-
- protected static function labels(): array
- {
- return [
- 'boolean' => trans('crud-policies::crud.boolean'),
- 'int' => trans('crud-policies::crud.int'),
- 'string' => trans('crud-policies::crud.string'),
- 'text' => trans('crud-policies::crud.text'),
- 'json' => trans('crud-policies::crud.json'),
- 'image' => trans('crud-policies::crud.image'),
- 'email' => trans('crud-policies::crud.email'),
- 'password' => trans('crud-policies::crud.password'),
- 'float' => trans('crud-policies::crud.float'),
- 'enum' => trans('crud-policies::crud.enum'),
- 'order' => trans('crud-policies::crud.order'),
- 'color' => trans('crud-policies::crud.color'),
- 'unsignedint' => trans('crud-policies::crud.unsignedint'),
- 'unsignedfloat' => trans('crud-policies::crud.unsignedfloat'),
- 'belongsTo' => trans('crud-policies::crud.belongsTo'),
- 'belongsToMany' => trans('crud-policies::crud.belongsToMany')
- ];
- }
-}
diff --git a/src/Enums/HttpMethods.php b/src/Enums/HttpMethods.php
new file mode 100644
index 0000000..c85e231
--- /dev/null
+++ b/src/Enums/HttpMethods.php
@@ -0,0 +1,16 @@
+error = $error;
+ $this->message = $message;
+ $this->httpCode = $httpCode;
+ parent::__construct(
+ strlen($this->message) ? $this->message : $error->label,
+ $error->value,
+ $previous
+ );
+ }
+
+ /**
+ * Get the Api Error
+ *
+ * @return ApiError
+ */
+ public function getApiError(): ApiError
+ {
+ return $this->error;
+ }
+
+ /**
+ * Get the http code
+ *
+ * @return int
+ */
+ public function getStatusCode(): int
+ {
+ return $this->httpCode;
+ }
+
+ public function report()
+ {
+ Log::debug(sprintf('CRM API: %s', $this->getMessage()));
+ }
+}
diff --git a/src/Exceptions/CrmException.php b/src/Exceptions/CrmException.php
new file mode 100644
index 0000000..634183b
--- /dev/null
+++ b/src/Exceptions/CrmException.php
@@ -0,0 +1,22 @@
+getMessage()));
+ }
+}
diff --git a/src/Exceptions/CrudException.php b/src/Exceptions/CrudException.php
deleted file mode 100644
index accb7e0..0000000
--- a/src/Exceptions/CrudException.php
+++ /dev/null
@@ -1,9 +0,0 @@
-getMessage()));
+ }
+}
diff --git a/src/Exceptions/ValidationException.php b/src/Exceptions/ValidationException.php
new file mode 100644
index 0000000..7ee2daa
--- /dev/null
+++ b/src/Exceptions/ValidationException.php
@@ -0,0 +1,21 @@
+getMessage()));
+ }
+}
diff --git a/src/Models/ArcadiaMailDefault.php b/src/Models/ArcadiaMailDefault.php
new file mode 100644
index 0000000..07dff6b
--- /dev/null
+++ b/src/Models/ArcadiaMailDefault.php
@@ -0,0 +1,253 @@
+ 'required|int',
+ 'support_code' => 'required|int',
+ 'label_type_support' => 'required|string|min:2|max:255',
+ 'order_date' => 'required|date',
+ 'order_num' => 'required|int',
+ 'state_order' => ['required'],
+ 'package_unit_weight' => 'required|int'
+ ];
+
+ public function __construct(array $properties = [])
+ {
+ parent::__construct();
+ if (count(self::$validation['state_order']) < 2) {
+ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed
+ self::$validation['state_order'][] = function ($attribute, $value, $fail) {
+ if (!is_object($value) or !\in_array($value, ArcadiaOrderType::toArray())) {
+ $type = \gettype($value);
+ $fail("State order ($type)$value is not in ArcadiaOrderType enum list");
+ }
+ };
+ }
+ $this->fill($properties);
+ return $this;
+ }
+
+ public function __get(string $field)
+ {
+ $props = \array_diff(
+ $this->modelFields,
+ $this->invisibleFields
+ );
+ if (in_array($field, $props)) {
+ if ($field === 'state_order' and !\is_object($this->{$field})) {
+ return ArcadiaOrderType::make($this->{$field});
+ }
+ }
+ return parent::__get($field);
+ }
+
+ /**
+ * Set prop
+ *
+ * @param string $field
+ * @param mixed $value
+ * @throws TypeError if the field has an incorrect value
+ * @return mixed|null The input value or null is this prop does not exists
+ */
+ public function __set(string $field, $value)
+ {
+ $out = parent::__set($field, $value);
+ if (in_array($field, $this->modelFields)) {
+ $this->updatedValues[$field] = (\is_object($value) and
+ get_class($value) === ArcadiaOrderType::class) ? $value->value : $value;
+ $this->setRawProperty($this, $field, $this->updatedValues[$field]);
+ }
+ return $out;
+ }
+
+ /**
+ * Fill data into this model
+ * using validation rules
+ *
+ * @param array $properties
+ * @return void
+ * @throws TypeError if any valid is not validated
+ */
+ public function fill(array $properties)
+ {
+ if (isset($properties['state_order'])) {
+ try {
+ $properties['state_order'] = (\is_int($properties['state_order']) or
+ \ctype_digit($properties['state_order'])) ?
+ ArcadiaOrderType::make((int)$properties['state_order']) : $properties['state_order'];
+ } catch (TypeError $e) {
+ // cast anyway
+ $properties['state_order'] = (int)$properties['state_order'];
+ }
+ }
+ parent::fill($properties);
+ }
+
+ /**
+ * Validate all model properties
+ *
+ * @return array the validated values
+ */
+ protected function validateAllValues(array $ignore = []): array
+ {
+ $out = [];
+ if (!\in_array('state_order', $ignore)) {
+ try {
+ $this->validateValue('state_order', ArcadiaOrderType::make(self::getRawProperty($this, 'state_order')));
+ } catch (TypeError $e) {
+ // this to throw validation error if failure way
+ $this->validateValue('state_order', self::getRawProperty($this, 'state_order'));
+ }
+ $out['state_order'] = self::getRawProperty($this, 'state_order');
+ }
+ return array_merge($out, parent::validateAllValues(array_merge(['state_order'], $ignore)));
+ }
+
+ // PUBLIC METHODS
+
+ /**
+ * Send The actual mail
+ *
+ * @return boolean true if succeeded
+ */
+ public function send(Customer $customer): bool
+ {
+ // validate customer hashcode
+ $refClass = new ReflectionClass(\get_class($customer));
+ $refMeth = $refClass->getMethod('validateValue');
+ $refMeth->setAccessible(true);
+ $refMeth->invokeArgs($customer, ['hashcode', $customer->hashcode]);
+
+ // Send mail
+ $data = $this->validateAllValues();
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.arcadia.outgoingMailDefault', [
+ 'customer' => $customer->hashcode
+ ], $data);
+ $response = static::$apiInterface->call($request);
+ if ($status = $response->status->equals(ApiStatus::OK())) {
+ $this->updatedValues = [];
+ }
+ $this->isNew = !$status;
+ return $status;
+ }
+}
diff --git a/src/Models/ArcadiaMailGame.php b/src/Models/ArcadiaMailGame.php
new file mode 100644
index 0000000..cbf7e47
--- /dev/null
+++ b/src/Models/ArcadiaMailGame.php
@@ -0,0 +1,171 @@
+ 'required|int',
+ 'support_code' => 'required|int',
+ 'label_type_support' => 'required|string|min:2|max:255',
+ 'order_date' => 'required|date',
+ 'code_unique' => 'required|string',
+ 'code_on_pack' => 'sometimes|string'
+ ];
+
+ public function __construct(array $properties = [])
+ {
+ parent::__construct();
+ $this->fill($properties);
+ return $this;
+ }
+
+ /**
+ * Set prop
+ *
+ * @param string $field
+ * @param mixed $value
+ * @throws TypeError if the field has an incorrect value
+ * @return mixed|null The input value or null is this prop does not exists
+ */
+ public function __set(string $field, $value)
+ {
+ $out = parent::__set($field, $value);
+ if (in_array($field, $this->modelFields)) {
+ $this->updatedValues[$field] = (\is_object($value) and
+ get_class($value) === ArcadiaOrderType::class) ? $value->value : $value;
+ $this->setRawProperty($this, $field, $this->updatedValues[$field]);
+ }
+ return $out;
+ }
+
+ // PUBLIC METHODS
+
+ /**
+ * Send The actual mail
+ *
+ * @return boolean true if succeeded
+ */
+ public function send(Customer $customer): bool
+ {
+ // validate customer hashcode
+ $refClass = new ReflectionClass(\get_class($customer));
+ $refMeth = $refClass->getMethod('validateValue');
+ $refMeth->setAccessible(true);
+ $refMeth->invokeArgs($customer, ['hashcode', $customer->hashcode]);
+
+ // Send mail
+ $data = $this->validateAllValues();
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.arcadia.outgoingMailGame', [
+ 'customer' => $customer->hashcode
+ ], $data);
+ $response = static::$apiInterface->call($request);
+ if ($status = $response->status->equals(ApiStatus::OK())) {
+ $this->updatedValues = [];
+ }
+ $this->isNew = !$status;
+ return $status;
+ }
+}
diff --git a/src/Models/CrmClientModel.php b/src/Models/CrmClientModel.php
new file mode 100644
index 0000000..0d050be
--- /dev/null
+++ b/src/Models/CrmClientModel.php
@@ -0,0 +1,275 @@
+modelFields,
+ $this->invisibleFields
+ );
+ if (in_array($field, $props)) {
+ return self::getRawProperty($this, $field);
+ }
+ return null;
+ }
+
+ /**
+ * Set prop
+ *
+ * @param string $field
+ * @param mixed $value
+ * @throws TypeError if the field has an incorrect value
+ * @return mixed|null The input value or null is this prop does not exists
+ */
+ public function __set(string $field, $value)
+ {
+ if (in_array($field, $this->modelFields)) {
+ $type = $this->getPropType($field);
+ if (!$this->checkFieldType($type, $value)) {
+ throw new TypeError("Wrong type for $field");
+ }
+ $this->validateValue($field, $value);
+ $this->updatedValues[$field] = $value;
+ return $this->setRawProperty($this, $field, $value);
+ }
+ return null;
+ }
+
+ protected static function setUpApiInterface()
+ {
+ self::$apiInterface = self::$apiInterface ?: new ApiInterface();
+ }
+
+ /**
+ * Fill values into model
+ *
+ * @param array $properties
+ * @return void
+ */
+ public function fill(array $properties)
+ {
+ if (count($properties)) {
+ foreach ($properties as $field => $value) {
+ self::setRawProperty($this, $field, $value);
+ }
+ }
+ }
+
+ /**
+ * Set all properties to without any validation
+ *
+ * @param array $properties
+ * @return void
+ */
+ protected function fillRaw(array $properties)
+ {
+ if (count($properties)) {
+ foreach ($properties as $field => $value) {
+ self::setRawProperty($this, $field, $value);
+ }
+ }
+ }
+
+ /**
+ * Validate all model properties
+ *
+ * @return array the validated values
+ */
+ protected function validateAllValues(array $ignore = []): array
+ {
+ $out = [];
+ foreach (static::$validation as $field => $validationRules) {
+ if (\in_array($field, $ignore) or \is_null(self::getRawProperty($this, $field))) {
+ continue;
+ }
+ $this->validateValue($field, self::getRawProperty($this, $field));
+ $out[$field] = self::getRawProperty($this, $field);
+ }
+ return $out;
+ }
+
+ /**
+ * Validate a value against its rules
+ *
+ * @param string $field
+ * @param mixed $value
+ * @return boolean
+ * @throws TypeError
+ */
+ protected static function validateValue(string $field, $value): bool
+ {
+ if (!isset(static::$validation[$field])) {
+ throw new Exception("$field has no validation rule");
+ }
+ $validator = Utils::makeValidator(
+ [$field => $value],
+ [$field => static::$validation[$field]]
+ );
+ if ($validator->fails()) {
+ throw new ValidationException(implode(' ', $validator->errors()->get($field)));
+ }
+ return true;
+ }
+
+ /**
+ * Check a value against its field type
+ *
+ * @param string $type
+ * @param mixed $value
+ * @return boolean
+ * @throws Exception if type is not handled handled types are bool, string,
+ * int, \LDC\LDCCRM\Enums\Country, \LDC\LDCCRM\Enums\ArcadiaOrderType
+ */
+ protected function checkFieldType(string $type, $value): bool
+ {
+ switch ($type) {
+ case '\\' . Country::class:
+ try {
+ $value = \is_int($value) ? Country::make($value) : $value;
+ } finally {
+ return \is_object($value) and (get_class($value) === Country::class or
+ \in_array(Country::class, \class_parents($value)));
+ }
+ case '\\' . ArcadiaOrderType::class:
+ try {
+ $value = \is_int($value) ? ArcadiaOrderType::make($value) : $value;
+ } finally {
+ return \is_object($value) and (get_class($value) === ArcadiaOrderType::class or
+ \in_array(ArcadiaOrderType::class, \class_parents($value)));
+ }
+ case 'bool':
+ $value = \is_int($value) ? (bool)$value : $value;
+ return \is_bool($value);
+ case 'string':
+ return \is_string($value);
+ case 'int':
+ return \is_int($value);
+ default:
+ throw new Exception(\sprintf("Unhandled $type for %s", \json_encode($value)));
+ }
+ }
+
+ /**
+ * Get the type of any of this class property
+ * from doc comment
+ *
+ * @param string $property
+ * @return string|null the type or null if not defined
+ */
+ protected function getPropType(string $property)
+ {
+ $matches = [];
+ $propReflection = new ReflectionProperty(static::class, $property);
+ $docComment = $propReflection->getDocComment();
+ preg_match_all('/@var ([\w_\x5c]+)/', $docComment, $matches);
+ if (isset($matches[1][0]) and in_array($matches[1][0], [
+ 'string', 'int', 'bool', '\\' . Country::class, '\\' . ArcadiaOrderType::class
+ ], true)) {
+ return $matches[1][0];
+ }
+ return null;
+ }
+
+ /**
+ * Set a property withou any validation
+ *
+ * @param string $field
+ * @param mixed $value
+ * @return void
+ */
+ protected static function setRawProperty(object $object, string $field, $value): void
+ {
+ if (is_object($value) and in_array(BaseEnum::class, class_parents($value))) {
+ $value = $value->value;
+ }
+ $refClass = new ReflectionClass(\get_class($object));
+ $refProp = $refClass->getProperty($field);
+ $refProp->setAccessible(true);
+ $refProp->setValue($object, $value);
+ }
+
+ /**
+ * Get a property
+ *
+ * @param string $field
+ * @param mixed $value
+ * @return mixed
+ */
+ protected static function getRawProperty(object $object, string $field)
+ {
+ $refClass = new ReflectionClass(\get_class($object));
+ $refProp = $refClass->getProperty($field);
+ $refProp->setAccessible(true);
+ return $refProp->getValue($object);
+ }
+}
diff --git a/src/Models/Customer.php b/src/Models/Customer.php
new file mode 100644
index 0000000..efb476d
--- /dev/null
+++ b/src/Models/Customer.php
@@ -0,0 +1,529 @@
+ 'required|uuid',
+ 'email' => 'required|email:rfc,dns,spoof,filter',
+ 'firstname' => 'required|string|min:2|max:255',
+ 'lastname' => 'required|string|min:2|max:255',
+ 'password' => 'required|min:10|max:255',
+ 'birth_date' => 'required|date_format:Y-m-d',
+ 'phone' => 'sometimes|string|min:10|max:255',
+ 'address' => 'required|string|max:255',
+ 'address2' => 'sometimes|string|max:255',
+ 'city' => 'required|string|max:255',
+ 'postcode' => 'required|string|max:255',
+ 'country' => ['sometimes'],
+ 'opt_in' => 'required|bool',
+ 'status' => 'required|bool',
+ 'last_connection' => 'sometimes|date'
+ ];
+
+ public function __construct(array $properties = [])
+ {
+ parent::__construct();
+ if (!is_array(self::$validation['password'])) {
+ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed
+ self::$validation['country'][] = function ($attribute, $value, $fail) {
+ if (!is_object($value) or !\in_array($value, Country::toArray())) {
+ $type = \gettype($value);
+ $fail("Country ($type)$value is not in Country enum list");
+ }
+ };
+ self::$validation['password'] = array_merge(explode('|', self::$validation['password']), [
+ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed,Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
+ function ($attribute, $value, $fail) {
+ if (!\preg_match('/[a-z]/', $value) or !\preg_match('/[A-Z]/', $value)) {
+ $fail('The password must contain uppercase and lowercase chars.');
+ }
+ if (!\preg_match('/[0-9]/', $value)) {
+ $fail('The password must contain numbers.');
+ }
+ if (!\preg_match('/[^\w]/', $value)) {
+ $fail('The password must contain symbols.');
+ }
+ }
+ ]);
+ }
+ $this->fill($properties);
+ return $this;
+ }
+
+ public function __get(string $field)
+ {
+ $props = \array_diff(
+ $this->modelFields,
+ $this->invisibleFields
+ );
+ if (in_array($field, $props)) {
+ if ($field === 'country' and !\is_object($this->{$field})) {
+ return Country::make($this->{$field});
+ }
+ }
+ return parent::__get($field);
+ }
+
+ /**
+ * Set prop
+ *
+ * @param string $field
+ * @param mixed $value
+ * @throws TypeError if the field has an incorrect value
+ * @return mixed|null The input value or null is this prop does not exists
+ */
+ public function __set(string $field, $value)
+ {
+ $out = parent::__set($field, $value);
+ if (in_array($field, $this->modelFields)) {
+ $this->updatedValues[$field] = (\is_object($value) and
+ get_class($value) === Country::class) ? $value->value : $value;
+ $this->setRawProperty($this, $field, $this->updatedValues[$field]);
+ }
+ return $out;
+ }
+
+ /**
+ * Fill data into this model
+ * using validation rules
+ *
+ * @param array $properties
+ * @return void
+ * @throws TypeError if any valid is not validated
+ */
+ public function fill(array $properties)
+ {
+ if (isset($properties['country'])) {
+ try {
+ $properties['country'] = (\is_int($properties['country']) or \ctype_digit($properties['country'])) ?
+ Country::make((int)$properties['country']) : $properties['country'];
+ } catch (TypeError $e) {
+ // cast anyway
+ $properties['country'] = (int)$properties['country'];
+ }
+ }
+ parent::fill($properties);
+ }
+
+ /**
+ * Validate all model properties
+ *
+ * @return array the validated values
+ */
+ protected function validateAllValues(array $ignore = []): array
+ {
+ $out = [];
+ if (!\in_array('country', $ignore)) {
+ try {
+ $this->validateValue('country', Country::make(self::getRawProperty($this, 'country')));
+ } catch (TypeError $e) {
+ // this to throw validation error if failure way
+ $this->validateValue('country', self::getRawProperty($this, 'country'));
+ }
+ $out['country'] = self::getRawProperty($this, 'country');
+ }
+ return array_merge($out, parent::validateAllValues(array_merge(['country'], $ignore)));
+ }
+
+ // PUBLIC METHODS
+
+ /**
+ * Find a customer using its hashcode in the crm
+ *
+ * @param string $hashcode
+ * @return self|null
+ */
+ public static function find(string $hashcode): ?self
+ {
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.customer.show', [
+ 'customer' => $hashcode
+ ]);
+ $customer = null;
+ try {
+ $response = static::$apiInterface->call($request);
+ $customer = new self();
+ $customer->fillRaw($response->data);
+ static::setRawProperty($customer, 'isNew', false);
+ } catch (ApiErrorException $e) {
+ if (!$e->getApiError()->equals(ApiError::modelNotFound())) {
+ throw $e;
+ }
+ }
+ return $customer;
+ }
+
+ /**
+ * Find a customer using its email in the crm
+ * This is an alias of Customer::find()
+ *
+ * @param string $email
+ * @return self|null
+ */
+ public static function findWithEmail(string $email): ?self
+ {
+ return static::find($email);
+ }
+
+ /**
+ * Save the actual account in the crm
+ *
+ * @return boolean true if succeeded
+ */
+ public function save(): bool
+ {
+ $saved = false;
+ if ($this->isNew) {
+ $saved = $this->store();
+ $this->isNew = !$saved;
+ $this->updatedValues = [];
+ if ($saved) {
+ $this->setRawProperty($this, 'password', null);
+ }
+ return $saved;
+ }
+ if ($saved = $this->update()) {
+ $this->updatedValues = [];
+ $this->setRawProperty($this, 'password', null);
+ }
+ return $saved;
+ }
+
+ private function store(): bool
+ {
+ $data = $this->validateAllValues(['hashcode', 'last_connection', 'status']);
+ $data['password'] = $this->password;
+
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.customer.store', [], $data);
+
+ $response = static::$apiInterface->call($request);
+ if ($status = $response->status->equals(ApiStatus::OK())) {
+ $this->updatedValues = [];
+ }
+ return $status;
+ }
+
+ private function update(): bool
+ {
+ $this->validateValue('hashcode', $this->hashcode);
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.customer.update', [
+ 'customer' => $this->hashcode
+ ], $this->updatedValues);
+
+ $response = static::$apiInterface->call($request);
+ if ($status = $response->status->equals(ApiStatus::OK())) {
+ $this->updatedValues = [];
+ }
+ return $status;
+ }
+
+ /**
+ * Delete the actual account in the crm
+ *
+ * @return boolean true if succeeded
+ */
+ public function delete(): bool
+ {
+ $this->validateValue('hashcode', $this->hashcode);
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.customer.destroy', [
+ 'customer' => $this->hashcode
+ ]);
+
+ $response = static::$apiInterface->call($request);
+ return $response->status->equals(ApiStatus::OK());
+ }
+
+ /**
+ * Activate the account in the crm
+ *
+ * @return boolean true if succeeded
+ */
+ public function activate(): bool
+ {
+ $this->validateValue('hashcode', $this->hashcode);
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.customer.activate', [
+ 'customer' => $this->hashcode
+ ]);
+
+ $response = static::$apiInterface->call($request);
+ $this->status = true;
+ return $response->status->equals(ApiStatus::OK());
+ }
+
+ /**
+ * Toggle the account optin value in the crm
+ *
+ * @return boolean true if succeeded
+ */
+ public function toggleOptin(): bool
+ {
+ $this->opt_in = !$this->opt_in;
+ return $this->update();
+ }
+}
diff --git a/src/Models/SingleOptin.php b/src/Models/SingleOptin.php
new file mode 100644
index 0000000..a873c64
--- /dev/null
+++ b/src/Models/SingleOptin.php
@@ -0,0 +1,52 @@
+ 'required|email:rfc,dns,spoof,filter',
+ 'opt_in' => 'required|bool',
+ ];
+
+ /**
+ * Set the single optin status for an email
+ *
+ * @param string $email
+ * @param boolean $opt_in
+ * @return boolean true if succeeded
+ * @throws ApiErrorException ApiError::singleOptinCustomerExists If single optin already exists
+ */
+ public static function setStatus(string $email, bool $opt_in): bool
+ {
+ self::validateValue('email', $email);
+ static::setUpApiInterface(); // set apiInterface
+ $request = Utils::getResquest('apiV2.optin', [], [
+ 'email' => $email,
+ 'opt_in' => $opt_in
+ ]);
+
+ $response = static::$apiInterface->call($request);
+ return $response->status->equals(ApiStatus::OK());
+ }
+}
diff --git a/src/Providers/CrmClientV2Provider.php b/src/Providers/CrmClientV2Provider.php
index 28db888..57b6106 100644
--- a/src/Providers/CrmClientV2Provider.php
+++ b/src/Providers/CrmClientV2Provider.php
@@ -1,9 +1,12 @@
setHeaders($headers);
+ $this->setData($data);
+ $data = array_merge($request->data, $data);
+ $response = $this->processRequest($request, $headers, $data);
+ try {
+ if ($response->status->equals(ApiStatus::KO())) {
+ if (\is_int($response->apiError)) {
+ throw new CrmException($response->message, $response->apiError);
+ } else {
+ throw new ApiErrorException($response->apiError, $response->httpCode, $response->message);
+ }
+ }
+ if ($response->data and isset($response->data['api_token'])) {
+ static::$apiToken = $response->data['api_token'];
+ }
+ } catch (ApiErrorException $e) {
+ if ($e->getApiError()->equals(ApiError::needAuth()) and !$request->maxAttempted()) {
+ $request->incrementAttempt();
+ $this->authenticate();
+ $response = $this->call($request);
+ } else {
+ throw $e;
+ }
+ }
+ return $response;
+ }
+
+ /**
+ * Process request
+ *
+ * @param Request $request
+ * @param array $headers
+ * @param array $data
+ * @return \LDC\LDCCRM\Transport\Response
+ */
+ private function processRequest(Request $request, array $headers, array $data): Response
+ {
+ $request->setEndpoint(static::$endpoint);
+ $request->addHeaders($headers);
+ $request->addData($data);
+ return $this->getResponse($request->call());
+ }
+
+ /**
+ * Undocumented function
+ *
+ * @param \Psr\Http\Message\ResponseInterface
+ * @return \LDC\LDCCRM\Transport\Response
+ */
+ private function getResponse(ResponseInterface $response): Response
+ {
+ $status = in_array($response->getStatusCode(), [200, 201]) ?
+ ApiStatus::OK() : ApiStatus::KO();
+ return new Response($status, $response);
+ }
+
+ /**
+ * Init data array
+ *
+ * @param array $data
+ * @return void
+ */
+ private function setData(array &$data): void
+ {
+ $data = [
+ 'timestamp' => \time()
+ ];
+ if (static::$apiToken) {
+ $data['api_token'] = static::$apiToken;
+ }
+ }
+
+ /**
+ * Init headers array
+ *
+ * @param array $headers
+ * @return void
+ */
+ private function setHeaders(array &$headers): void
+ {
+ $headers = [
+ 'User-Agent' => sprintf('LDC CRM client version %s', Utils::getPackageInfo()['version']),
+ 'Accept' => 'application/json',
+ 'Content-Type' => 'application/json',
+ 'X-API-TIMESTAMP' => \time()
+ ];
+ }
+
+ /**
+ * This is used to authenticate the client
+ * allowing to call some methods
+ *
+ * @return void
+ * @throws \LDC\LDCCRM\Exceptions\LoginException
+ */
+ protected function authenticate(): bool
+ {
+ $request = Utils::getResquest('apiV2.authenticate');
+ $this->addBearerCredentials($request);
+ $response = $this->call($request);
+ if ($response->status->equals(ApiStatus::KO())) {
+ throw new LoginException($response->apiError->label, $response->apiError->value);
+ }
+ return true;
+ }
+
+ /**
+ * Inject bearer credentials into the request
+ *
+ * @param Request $request
+ * @return void
+ */
+ protected function addBearerCredentials(Request $request)
+ {
+ $request->setHidden([
+ 'headers' => ['Authorization' => sprintf('Bearer %s', static::$bearerToken)],
+ 'data' => ['bearer_pwd' => static::$bearerPwd]
+ ]);
+ }
+}
diff --git a/src/Transport/Request.php b/src/Transport/Request.php
new file mode 100644
index 0000000..4145eee
--- /dev/null
+++ b/src/Transport/Request.php
@@ -0,0 +1,256 @@
+hidden = function () {
+ return [];
+ };
+ $this->method = $method;
+ $this->uri = $uri;
+ $this->data = $data;
+ $this->headers = $headers;
+ $this->client = new Client([
+ RequestOptions::HEADERS => [
+ 'User-Agent' => sprintf(
+ 'LDC CRM Client v%s',
+ Utils::getPackageInfo()['version']
+ )
+ ]
+ ]);
+ }
+
+ public function __get($field)
+ {
+ if (\in_array($field, ['method', 'uri', 'data'])) {
+ return $this->{$field};
+ }
+ return null;
+ }
+
+ /**
+ * make the guzzle request
+ *
+ * @return void
+ */
+ private function makeRequest(): void
+ {
+ $this->request = function () {
+ $uri = $this->uri;
+ if ($this->method->equals(HttpMethods::get())) {
+ $uri = sprintf("%s?%s", $uri, http_build_query($this->data));
+ }
+ $headers = array_merge($this->headers, ($this->hidden)('headers'));
+ $data = array_merge($this->data, ($this->hidden)('data'));
+ return new Psr7Request(
+ \strtoupper($this->method),
+ sprintf('%s/%s', $this->endpoint, $uri),
+ $headers,
+ $this->method->equals(HttpMethods::get()) ? null : \json_encode($data)
+ );
+ };
+ }
+
+ /**
+ * Set the api endpoint to the request
+ *
+ * @param string $endpoint
+ * @return void
+ */
+ public function setEndpoint(string $endpoint): void
+ {
+ $this->endpoint = $endpoint;
+ }
+
+ /**
+ * Make the Http request
+ *
+ * @return ResponseInterface
+ */
+ public function call(): ResponseInterface
+ {
+ $this->makeRequest();
+ /** @var \GuzzleHttp\Psr7\Request */
+ $request = ($this->request)();
+ return $this->client->send($request, [
+ 'http_errors' => false // do not throw http errors
+ ]);
+ }
+
+ /**
+ * Add headers to the request
+ *
+ * @param array $headers
+ * @return void
+ */
+ public function addHeaders(array $headers)
+ {
+ $this->headers = \array_merge($this->headers, $headers);
+ }
+
+ /**
+ * Add data to the request
+ *
+ * @param array $data
+ * @return void
+ */
+ public function addData(array $data)
+ {
+ $this->data = \array_merge($this->data, $data);
+ }
+
+ /**
+ * Set hidden header and data
+ *
+ * @param array $array
+ * @return void
+ */
+ public function setHidden(array $array)
+ {
+ $this->hidden = function ($headersOrArray) use ($array) {
+ if (
+ $headersOrArray == 'headers' and
+ isset($array['headers']) and
+ is_array($array['headers'])
+ ) {
+ return $array['headers'];
+ }
+ if (
+ $headersOrArray == 'data' and
+ isset($array['data']) and
+ is_array($array['data'])
+ ) {
+ return $array['data'];
+ }
+ return [];
+ };
+ }
+
+
+ /**
+ * Get attempted calls
+ *
+ * @return integer
+ */
+ public function getAttempts(): int
+ {
+ return $this->attemps;
+ }
+
+ /**
+ * Does max attempts have been reached
+ *
+ * @return integer
+ */
+ public function maxAttempted(): bool
+ {
+ return $this->attemps;
+ }
+
+ /**
+ * Increment the attempt to call
+ *
+ * @return integer
+ */
+ public function incrementAttempt(): int
+ {
+ return $this->attemps = $this->attemps + 1;
+ }
+}
diff --git a/src/Transport/Response.php b/src/Transport/Response.php
new file mode 100644
index 0000000..ccc2c39
--- /dev/null
+++ b/src/Transport/Response.php
@@ -0,0 +1,173 @@
+response = $response;
+ $this->status = $status;
+ $this->httpCode = $response->getStatusCode();
+ $this->headers = $response->getHeaders();
+ /** @var \GuzzleHttp\Psr7\Stream */
+ $this->body = $response->getBody();
+
+ if (!in_array($response->getStatusCode(), [200, 201])) {
+ $this->message = $response->getReasonPhrase();
+ }
+
+ // Body should be json data
+ if (!($decodedJson = $this->tryDecodeJson($this->body->getContents()))) {
+ if (Utils::getConfig('app.env') === 'testing') {
+ dump((string)$this->body);
+ }
+ throw new CrmException('The Api should have returned JSON data');
+ }
+ $this->body = $decodedJson;
+
+ // Api Error
+ if ($this->status->equals(ApiStatus::KO())) {
+ // CRM Exception or Any Exception
+ if ($this->httpCode === 500) {
+ $this->apiError = $this->body['data']['code'];
+ } else {
+ $this->apiError = ApiError::make($this->body['data']['code']);
+ $this->message = $this->body['data']['message'];
+ if ($this->apiError->equals(ApiError::validationFailed())) {
+ $errors = new RecursiveIteratorIterator(
+ new RecursiveArrayIterator($this->body['data']['errors'])
+ );
+ foreach ($errors as $error) {
+ $this->message = "$this->message $error";
+ }
+ }
+ }
+ }
+
+ $this->checkVersion($this->body['version']);
+
+ return $this;
+ }
+
+ public function __get($field)
+ {
+ if (\in_array($field, [
+ 'status', 'httpCode', 'headers',
+ 'body', 'message', 'response', 'apiError'
+ ])) {
+ return $this->{$field};
+ }
+ if ($field === 'data' and isset($this->body[$field])) {
+ return $this->body[$field];
+ }
+ return null;
+ }
+
+ /**
+ * Try to decode json and return false if it is
+ * not a valid json
+ *
+ * @param string $string
+ * @return mixed
+ */
+ private function tryDecodeJson(string $string)
+ {
+ $data = json_decode($string, true);
+ return (json_last_error() == JSON_ERROR_NONE) ? $data : false;
+ }
+
+ private function checkVersion(string $version)
+ {
+ $packageInfo = Utils::getPackageInfo();
+ $ApackageInfo = explode('.', $packageInfo['version']);
+ $Aversion = \explode('.', $version);
+ if ($ApackageInfo[0] != $Aversion[0]) {
+ throw new CrmException(sprintf(
+ 'Incompatible major versions between CRM server %s and client %s',
+ $version,
+ $packageInfo['version']
+ ));
+ }
+ if ($ApackageInfo[1] != $Aversion[1]) {
+ $message = sprintf(
+ 'Minor version mismatch between CRM server %s and client %s, this could lead to errors',
+ $version,
+ $packageInfo['version']
+ );
+ if (\class_exists('\Illuminate\Support\Facades\Log')) {
+ \Illuminate\Support\Facades\Log::warning($message);
+ }
+ \syslog(\LOG_WARNING, $message);
+ }
+ }
+}
diff --git a/src/Utils.php b/src/Utils.php
new file mode 100644
index 0000000..cbcc99f
--- /dev/null
+++ b/src/Utils.php
@@ -0,0 +1,155 @@
+addNamespace('lang', dirname(dirname(__FILE__)) . '/resources/lang');
+ $fileLoader->load('en', 'validation', 'lang');
+ $translator = new Translator($fileLoader, 'en');
+ $translator->load('lang', 'validation', 'en');
+ $factory = new Factory($translator);
+
+ return $factory->make($data, $rules, $messages, $customAttributes);
+ }
+
+ /**
+ * Get config
+ *
+ * @param string $key
+ * @param string $default
+ * @return string|null
+ * @throws \Dotenv\Exception\InvalidPathException|\Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException
+ */
+ public static function getConfig(string $key, string $default = null): ?string
+ {
+ $value = null;
+ if (function_exists('config')) {
+ $value = \config($key, $default);
+ }
+
+ try {
+ if (!self::$config) {
+ $dotenv = Dotenv::createImmutable(__DIR__ . '/..');
+ self::$config = $dotenv->load();
+ }
+ } catch (\Dotenv\Exception\InvalidPathException $e) {
+ return $value;
+ }
+
+ if (isset(self::$config[$key])) {
+ $value = self::$config[$key];
+ }
+
+ return $value;
+ }
+
+ /**
+ * Generate a Request from the route name
+ *
+ * @param string $routeName
+ * @param array $query params to pass on to the route
+ * @param array $data http body params
+ * @return Request
+ */
+ public static function getResquest(string $routeName, array $query = [], array $data = []): Request
+ {
+ // convert bool to integer
+ $query = \array_map(function ($v) {
+ return is_bool($v) ? (int)$v : $v;
+ }, $query);
+ $data = \array_map(function ($v) {
+ return is_bool($v) ? (int)$v : $v;
+ }, $data);
+
+ $routes = \json_decode(\file_get_contents(__DIR__ . '/routes.json'), true);
+ if (!isset($routes[$routeName])) {
+ throw new \Exception("Unknown route $routeName from the crm");
+ }
+ $route = $routes[$routeName];
+ $matches = [];
+ $matchedIndex = [];
+ \preg_match_all('/{([\w-]*)}/', $route['uri'], $matches);
+ if (\count($matches[0])) {
+ foreach ($matches[0] as $k => $match) {
+ if (!isset($query[$matches[1][$k]])) {
+ throw new \Exception(sprintf('Missing required parameter %s', $matches[1][$k]));
+ }
+ $route['uri'] = str_replace($match, $query[$matches[1][$k]], $route['uri']);
+ $matchedIndex[$matches[1][$k]] = $query[$matches[1][$k]];
+ }
+ }
+ $query = \array_flip($query);
+ foreach ($matchedIndex as $key) {
+ unset($query[$key]);
+ }
+ $query = \array_flip($query);
+ if (count($query)) {
+ $route['uri'] = sprintf('%s?%s', $route['uri'], \http_build_query($query));
+ }
+ return new Request(HttpMethods::make($route['methods'][0]), $route['uri'], [], $data);
+ }
+
+ /**
+ * Get composer.json infos
+ *
+ * @return array
+ */
+ public static function getPackageInfo(): array
+ {
+ if (!static::$packageInfos) {
+ static::$packageInfos = \json_decode(\file_get_contents(__DIR__ . '/../composer.json'), true);
+ }
+ return static::$packageInfos;
+ }
+}
diff --git a/src/routes.json b/src/routes.json
new file mode 100644
index 0000000..802cffe
--- /dev/null
+++ b/src/routes.json
@@ -0,0 +1,71 @@
+{
+ "apiV2.ping": {
+ "uri": "api/v2/ping",
+ "methods": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "apiV2.authenticate": {
+ "uri": "api/v2/auth",
+ "methods": [
+ "POST"
+ ]
+ },
+ "apiV2.optin": {
+ "uri": "api/v2/optin",
+ "methods": [
+ "POST"
+ ]
+ },
+ "apiV2.customer.store": {
+ "uri": "api/v2/customer",
+ "methods": [
+ "POST"
+ ]
+ },
+ "apiV2.customer.show": {
+ "uri": "api/v2/customer/{customer}",
+ "methods": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "apiV2.customer.update": {
+ "uri": "api/v2/customer/{customer}",
+ "methods": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "apiV2.customer.destroy": {
+ "uri": "api/v2/customer/{customer}",
+ "methods": [
+ "DELETE"
+ ]
+ },
+ "apiV2.customer.authenticate": {
+ "uri": "api/v2/customer/authenticate",
+ "methods": [
+ "POST"
+ ]
+ },
+ "apiV2.customer.activate": {
+ "uri": "api/v2/customer/{customer}/activate",
+ "methods": [
+ "POST"
+ ]
+ },
+ "apiV2.arcadia.outgoingMailDefault": {
+ "uri": "api/v2/arcadia/outgoing-mail/{customer}/default",
+ "methods": [
+ "POST"
+ ]
+ },
+ "apiV2.arcadia.outgoingMailGame": {
+ "uri": "api/v2/arcadia/outgoing-mail/{customer}/game",
+ "methods": [
+ "POST"
+ ]
+ }
+}
\ No newline at end of file