From 99575548a111d14ee3e847c7cbf0821efb8a8b61 Mon Sep 17 00:00:00 2001 From: Andre Belafronte Date: Wed, 15 Mar 2023 16:15:26 -0300 Subject: [PATCH 1/6] refactor: compatibilidade com PHP 8 e WHMCS 8.6 #149 --- .gitignore | 2 +- composer.json | 2 +- composer.lock | 3252 ++++++++++ .../lib/Admin/Controller.php | 7 +- .../lib/Hooks/InvoiceCreation.php | 12 +- .../lib/Hooks/InvoicePaid.php | 8 +- .../lib/Legacy/Functions.php | 308 +- .../NFEioServiceInvoices/lib/Legacy/Hooks.php | 170 +- .../Models/ModuleConfiguration/Repository.php | 10 +- .../NFEioServiceInvoices/lib/NFEio/Nfe.php | 35 +- .../lib/vendor/autoload.php | 19 +- .../lib/vendor/composer/ClassLoader.php | 37 +- .../lib/vendor/composer/autoload_real.php | 35 +- .../lib/vendor/composer/autoload_static.php | 8 +- .../lib/vendor/composer/installed.json | 18 +- .../lib/vendor/composer/installed.php | 18 +- .../.github/workflows/php-compatibility.yml | 33 + .../whmcsexpert/whmcsexpert/composer.json | 9 +- .../whmcsexpert/whmcsexpert/composer.lock | 5609 +++++++++++++++++ .../src/WHMCSExpert/Addon/Storage.php | 14 +- .../WHMCSExpert/Gateway/GatewayStorage.php | 13 +- .../src/WHMCSExpert/Helper/Helper.php | 54 +- .../src/WHMCSExpert/Template/Template.php | 13 +- .../WHMCSExpert/mtLibs/MySQL/Exception.php | 7 +- .../WHMCSExpert/mtLibs/MySQL/PdoWrapper.php | 27 +- .../src/WHMCSExpert/mtLibs/MySQL/Query.php | 298 +- .../src/WHMCSExpert/mtLibs/MySQL/Result.php | 21 +- .../src/WHMCSExpert/mtLibs/Smarty.php | 21 +- .../WHMCSExpert/mtLibs/exceptions/Base.php | 10 +- .../WHMCSExpert/mtLibs/exceptions/Codes.php | 4 +- .../mtLibs/exceptions/SyntaxError.php | 7 +- .../WHMCSExpert/mtLibs/exceptions/System.php | 8 +- .../mtLibs/exceptions/Validation.php | 9 +- .../mtLibs/exceptions/WhmcsAPI.php | 7 +- .../src/WHMCSExpert/mtLibs/models/Base.php | 34 +- .../src/WHMCSExpert/mtLibs/models/Orm.php | 76 +- .../WHMCSExpert/mtLibs/models/Repository.php | 116 +- .../mtLibs/models/TableConstructor.php | 4 +- .../mtLibs/process/AbstractConfiguration.php | 40 +- .../mtLibs/process/AbstractController.php | 52 +- .../mtLibs/process/AbstractMainDriver.php | 118 +- .../mtLibs/process/MainInstance.php | 22 +- .../mtLibs/smarty_internal_resource_file.php | 41 +- 43 files changed, 9541 insertions(+), 1067 deletions(-) create mode 100644 composer.lock create mode 100644 modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/.github/workflows/php-compatibility.yml create mode 100644 modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.lock diff --git a/.gitignore b/.gitignore index a494781..f8cd337 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ composer.phar rsync-dev1.sh rsync-dev2.sh *.zip -composer.lock +composer.lock.bkp phpreport phpmetrics docs diff --git a/composer.json b/composer.json index e9f8cfc..ba6b84b 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "require": { - "whmcsexpert/whmcsexpert": "dev-dev", + "whmcsexpert/whmcsexpert": "^1.1.7", "plasticbrain/php-flash-messages": "^1", "guzzlehttp/psr7": "^1.8", "ext-curl": "*", diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..81372e5 --- /dev/null +++ b/composer.lock @@ -0,0 +1,3252 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "d9808e6b9e1d8bfa6e5328b40e055441", + "packages": [ + { + "name": "guzzlehttp/psr7", + "version": "1.9.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", + "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.9-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "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.9.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2022-06-20T21:43:03+00:00" + }, + { + "name": "nfe/nfe", + "version": "2.5", + "source": { + "type": "git", + "url": "https://github.com/nfe/client-php.git", + "reference": "eff0d8dc669976b50f00711ee6b8860b079fc3ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nfe/client-php/zipball/eff0d8dc669976b50f00711ee6b8860b079fc3ef", + "reference": "eff0d8dc669976b50f00711ee6b8860b079fc3ef", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.4" + }, + "require-dev": { + "simpletest/simpletest": "^1.1" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/NFe/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "NFe.io team and contributors", + "homepage": "https://github.com/nfe/client-php/contributors" + }, + { + "name": "Renato Alves", + "homepage": "http://ralv.es/" + } + ], + "description": "NFe.io PHP Library", + "homepage": "https://nfe.io", + "keywords": [ + "api", + "nfe", + "nfe.io", + "nfse", + "nota", + "nota fiscal" + ], + "support": { + "issues": "https://github.com/nfe/client-php/issues", + "source": "https://github.com/nfe/client-php/tree/master" + }, + "time": "2018-04-06T16:32:55+00:00" + }, + { + "name": "plasticbrain/php-flash-messages", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/plasticbrain/PhpFlashMessages.git", + "reference": "b565762619342057ce561de20d0f2f6e14f9aa77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/plasticbrain/PhpFlashMessages/zipball/b565762619342057ce561de20d0f2f6e14f9aa77", + "reference": "b565762619342057ce561de20d0f2f6e14f9aa77", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Plasticbrain\\FlashMessages\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike Everhart", + "email": "mike@plasticbrain.net" + } + ], + "description": "A modern take on PHP session-based flash messages", + "keywords": [ + "bootstrap", + "flash", + "messages", + "session" + ], + "support": { + "issues": "https://github.com/plasticbrain/PhpFlashMessages/issues", + "source": "https://github.com/plasticbrain/PhpFlashMessages/tree/master" + }, + "time": "2016-04-01T08:39:38+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" + }, + { + "name": "whmcsexpert/whmcsexpert", + "version": "v1.1.7", + "source": { + "type": "git", + "url": "https://github.com/whmcsexpert/whmcsexpert.git", + "reference": "bea1112fe3974b424fdb7223139cb33dd4cc0856" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/whmcsexpert/whmcsexpert/zipball/bea1112fe3974b424fdb7223139cb33dd4cc0856", + "reference": "bea1112fe3974b424fdb7223139cb33dd4cc0856", + "shasum": "" + }, + "require-dev": { + "illuminate/database": "v5.8.36", + "phpcompatibility/php-compatibility": "^9.3", + "phpdocumentor/phpdocumentor": "2.*", + "phpunit/phpunit": "@stable", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "WHMCSExpert\\": "src/WHMCSExpert/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andre Bellafronte", + "email": "andre@eunarede.com" + } + ], + "description": "WHMCS Expert Library", + "support": { + "issues": "https://github.com/whmcsexpert/whmcsexpert/issues", + "source": "https://github.com/whmcsexpert/whmcsexpert/tree/v1.1.7" + }, + "time": "2023-03-15T18:58:31+00:00" + } + ], + "packages-dev": [ + { + "name": "doctrine/inflector", + "version": "1.4.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", + "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector", + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/1.4.4" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2021-04-16T17:34:40+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.30 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:15:36+00:00" + }, + { + "name": "illuminate/container", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/container.git", + "reference": "b42e5ef939144b77f78130918da0ce2d9ee16574" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/container/zipball/b42e5ef939144b77f78130918da0ce2d9ee16574", + "reference": "b42e5ef939144b77f78130918da0ce2d9ee16574", + "shasum": "" + }, + "require": { + "illuminate/contracts": "5.8.*", + "illuminate/support": "5.8.*", + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Container\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Container package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-08-20T02:00:23+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "00fc6afee788fa07c311b0650ad276585f8aef96" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/00fc6afee788fa07c311b0650ad276585f8aef96", + "reference": "00fc6afee788fa07c311b0650ad276585f8aef96", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-07-30T13:57:21+00:00" + }, + { + "name": "illuminate/database", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/database.git", + "reference": "ac9ae2d82b8a6137400f17b3eea258be3518daa9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/database/zipball/ac9ae2d82b8a6137400f17b3eea258be3518daa9", + "reference": "ac9ae2d82b8a6137400f17b3eea258be3518daa9", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/container": "5.8.*", + "illuminate/contracts": "5.8.*", + "illuminate/support": "5.8.*", + "php": "^7.1.3" + }, + "suggest": { + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", + "illuminate/console": "Required to use the database commands (5.8.*).", + "illuminate/events": "Required to use the observers with Eloquent (5.8.*).", + "illuminate/filesystem": "Required to use the migrations (5.8.*).", + "illuminate/pagination": "Required to paginate the result set (5.8.*)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Database\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Database package.", + "homepage": "https://laravel.com", + "keywords": [ + "database", + "laravel", + "orm", + "sql" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-10-03T16:22:57+00:00" + }, + { + "name": "illuminate/support", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "df4af6a32908f1d89d74348624b57e3233eea247" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/df4af6a32908f1d89d74348624b57e3233eea247", + "reference": "df4af6a32908f1d89d74348624b57e3233eea247", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.1", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/contracts": "5.8.*", + "nesbot/carbon": "^1.26.3 || ^2.0", + "php": "^7.1.3" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "suggest": { + "illuminate/filesystem": "Required to use the composer class (5.8.*).", + "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "ramsey/uuid": "Required to use Str::uuid() (^3.7).", + "symfony/process": "Required to use the composer class (^4.2).", + "symfony/var-dumper": "Required to use the dd function (^4.2).", + "vlucas/phpdotenv": "Required to use the env helper (^3.3)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "files": [ + "helpers.php" + ], + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-12-12T14:16:47+00:00" + }, + { + "name": "kint-php/kint", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/kint-php/kint.git", + "reference": "1033fc4a5075e15b9b46be20c246069ab44bc243" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kint-php/kint/zipball/1033fc4a5075e15b9b46be20c246069ab44bc243", + "reference": "1033fc4a5075e15b9b46be20c246069ab44bc243", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3", + "phpspec/prophecy-phpunit": "^2", + "phpunit/phpunit": "^9", + "seld/phar-utils": "^1", + "symfony/finder": "^4.0 || ^5.0 || ^6.0", + "vimeo/psalm": "^5@dev" + }, + "suggest": { + "kint-php/kint-helpers": "Provides extra helper functions", + "kint-php/kint-twig": "Provides d() and s() functions in twig templates" + }, + "type": "library", + "autoload": { + "files": [ + "init.php" + ], + "psr-4": { + "Kint\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Vollebregt", + "homepage": "https://github.com/jnvsor" + }, + { + "name": "Contributors", + "homepage": "https://github.com/kint-php/kint/graphs/contributors" + } + ], + "description": "Kint - debugging tool for PHP developers", + "homepage": "https://kint-php.github.io/kint/", + "keywords": [ + "debug", + "kint", + "php" + ], + "support": { + "issues": "https://github.com/kint-php/kint/issues", + "source": "https://github.com/kint-php/kint/tree/5.0.5" + }, + "time": "2023-03-08T14:50:41+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.66.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "496712849902241f04902033b0441b269effe001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/496712849902241f04902033b0441b269effe001", + "reference": "496712849902241f04902033b0441b269effe001", + "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 || ^6.0" + }, + "require-dev": { + "doctrine/dbal": "^2.0 || ^3.1.4", + "doctrine/orm": "^2.7", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2023-01-29T18:53:47+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "time": "2023-03-05T19:49:14+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "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/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpmetrics/phpmetrics", + "version": "v2.8.2", + "source": { + "type": "git", + "url": "https://github.com/phpmetrics/PhpMetrics.git", + "reference": "4b77140a11452e63c7a9b98e0648320bf6710090" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpmetrics/PhpMetrics/zipball/4b77140a11452e63c7a9b98e0648320bf6710090", + "reference": "4b77140a11452e63c7a9b98e0648320bf6710090", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^3|^4", + "php": ">=5.5" + }, + "replace": { + "halleck45/php-metrics": "*", + "halleck45/phpmetrics": "*" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14", + "sebastian/comparator": ">=1.2.3", + "squizlabs/php_codesniffer": "^3.5", + "symfony/dom-crawler": "^3.0 || ^4.0 || ^5.0" + }, + "bin": [ + "bin/phpmetrics" + ], + "type": "library", + "autoload": { + "files": [ + "./src/functions.php" + ], + "psr-0": { + "Hal\\": "./src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Lépine", + "email": "lepinejeanfrancois@yahoo.fr", + "homepage": "http://www.lepine.pro", + "role": "Copyright Holder" + } + ], + "description": "Static analyzer tool for PHP : Coupling, Cyclomatic complexity, Maintainability Index, Halstead's metrics... and more !", + "homepage": "http://www.phpmetrics.org", + "keywords": [ + "analysis", + "qa", + "quality", + "testing" + ], + "support": { + "issues": "https://github.com/PhpMetrics/PhpMetrics/issues", + "source": "https://github.com/phpmetrics/PhpMetrics/tree/v2.8.2" + }, + "time": "2023-03-08T15:03:36+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.26", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.15", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-03-06T12:58:08+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "86e761949019ae83f49240b2f2123fb5ab3b2fc5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/86e761949019ae83f49240b2f2123fb5ab3b2fc5", + "reference": "86e761949019ae83f49240b2f2123fb5ab3b2fc5", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.5" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2023-03-09T06:34:10+00:00" + }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T06:03:37+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-02-14T08:28:10+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:53:40+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "6996affeea65705086939894b77110e9a7f80874" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/6996affeea65705086939894b77110e9a7f80874", + "reference": "6996affeea65705086939894b77110e9a7f80874", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^2.3" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/console": "<5.3", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.3" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-21T19:46:44+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-06-27T16:58:25+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "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/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + }, + { + "name": "tracy/tracy", + "version": "v2.7.6", + "source": { + "type": "git", + "url": "https://github.com/nette/tracy.git", + "reference": "7e7e73d52c7e9ff0fd29dbd5b1cfdc03f3947942" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/tracy/zipball/7e7e73d52c7e9ff0fd29dbd5b1cfdc03f3947942", + "reference": "7e7e73d52c7e9ff0fd29dbd5b1cfdc03f3947942", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-session": "*", + "php": ">=7.1" + }, + "conflict": { + "nette/di": "<3.0" + }, + "require-dev": { + "latte/latte": "^2.5", + "nette/di": "^3.0", + "nette/mail": "^3.0", + "nette/tester": "^2.2", + "nette/utils": "^3.0", + "phpstan/phpstan": "^0.12", + "psr/log": "^1.0" + }, + "suggest": { + "https://nette.org/donate": "Please support Tracy via a donation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "files": [ + "src/Tracy/shortcuts.php" + ], + "classmap": [ + "src" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.", + "homepage": "https://tracy.nette.org", + "keywords": [ + "Xdebug", + "debug", + "debugger", + "nette", + "profiler" + ], + "support": { + "issues": "https://github.com/nette/tracy/issues", + "source": "https://github.com/nette/tracy/tree/v2.7.6" + }, + "time": "2020-11-02T17:06:27+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "phpunit/phpunit": 0 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "ext-curl": "*", + "php": ">=5.6" + }, + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php b/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php index bc99c3d..53d9637 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php +++ b/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php @@ -285,9 +285,10 @@ public function legacyFunctions($vars) // create if ($_REQUEST['gnfe_create']) { - $invoice = localAPI('GetInvoice', ['invoiceid' => $_REQUEST['invoice_id']], false); - $client = localAPI('GetClientsDetails', ['clientid' => $invoice['userid'], 'stats' => false], false); - $nfe_for_invoice = $functions->gnfe_get_local_nfe($_REQUEST['invoice_id'], ['invoice_id', 'user_id', 'nfe_id', 'status', 'services_amount', 'environment', 'pdf', 'created_at', 'rpsSerialNumber']); + $nfe_for_invoice = $functions->gnfe_get_local_nfe( + $_REQUEST['invoice_id'], + ['invoice_id', 'user_id', 'nfe_id', 'status', 'services_amount', 'environment', 'pdf', 'created_at', 'rpsSerialNumber'] + ); if (!$nfe_for_invoice['id']) { $queue = $functions->gnfe_queue_nfe($_REQUEST['invoice_id'], true); if ($queue !== 'success') { diff --git a/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php b/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php index 71d8a3b..49d59bf 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php +++ b/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php @@ -2,6 +2,12 @@ namespace NFEioServiceInvoices\Hooks; +/** + * Class InvoiceCreation + * Classe responsável por executar ações quando uma fatura é criada. + * @author Andre Bellafronte + * @package NFEioServiceInvoices\Hooks + */ class InvoiceCreation { private $invoiceId; @@ -21,8 +27,8 @@ public function run() { $nfe = new \NFEioServiceInvoices\NFEio\Nfe(); $storage = new \WHMCSExpert\Addon\Storage($this->config->getStorageKey()); - $invoiceData = localAPI('GetInvoice', array('invoiceid' => $this->invoiceId)); - $userId = $invoiceData['userid']; + $invoiceData = \WHMCS\Billing\Invoice::find($this->invoiceId); + $userId = $invoiceData->userid; $clientRepository = new \NFEioServiceInvoices\Models\ClientConfiguration\Repository(); $clientIssueCondition = $clientRepository->getClientIssueCondition($userId); $moduleIssueCondition = strtolower($storage->get('issue_note_default_cond')); @@ -30,7 +36,7 @@ public function run() $generateTaxBill = false; $generateTaxBillWhen = 'quando a fatura é gerada'; - if ($invoiceData['total'] > 0.00 AND (!$issueNoteAfter OR $issueNoteAfter == 0) AND $this->invoiceStatus != 'Draft' ) { + if ($invoiceData->total > 0.00 AND (!$issueNoteAfter OR $issueNoteAfter == 0) AND $this->invoiceStatus != 'Draft' ) { $generateTaxBill = true; } diff --git a/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoicePaid.php b/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoicePaid.php index 3624606..67b5a3a 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoicePaid.php +++ b/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoicePaid.php @@ -17,10 +17,10 @@ public function run() { $nfe = new \NFEioServiceInvoices\NFEio\Nfe(); $storage = new \WHMCSExpert\Addon\Storage($this->config->getStorageKey()); - $invoiceData = localAPI('GetInvoice', array('invoiceid' => $this->invoiceId)); - $invoiceStatus = $invoiceData['status']; - $invoiceTotal = $invoiceData['total']; - $userId = $invoiceData['userid']; + $invoiceData = \WHMCS\Billing\Invoice::find($this->invoiceId); + $invoiceStatus = $invoiceData->status; + $invoiceTotal = $invoiceData->total; + $userId = $invoiceData->userid; $clientRepository = new \NFEioServiceInvoices\Models\ClientConfiguration\Repository(); $clientIssueCondition = $clientRepository->getClientIssueCondition($userId); $moduleIssueCondition = strtolower($storage->get('issue_note_default_cond')); diff --git a/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php b/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php index 45c2dd4..16650c3 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php +++ b/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php @@ -95,15 +95,15 @@ function gnfe_customer($user_id, $client) { if (($cpf and $cnpj) or (!$cpf and $cnpj)) { $custumer['doc_type'] = 2; $custumer['document'] = $cnpj; - if ($client['companyname']) { - $custumer['name'] = $client['companyname']; - } elseif (!$client['companyname']) { - $custumer['name'] = $client['firstname'] . ' ' . $client['lastname']; + if ($client->companyname) { + $custumer['name'] = $client->companyname; + } elseif (!$client->companyname) { + $custumer['name'] = $client->firstname . ' ' . $client->lastname; } } elseif ($cpf and !$cnpj) { $custumer['doc_type'] = 1; $custumer['document'] = $cpf; - $custumer['name'] = $client['firstname'] . ' ' . $client['lastname']; + $custumer['name'] = $client->firstname . ' ' . $client->lastname; } if ($insc_customfield_value != 'NF') { $custumer['insc_municipal'] = $insc_customfield_value; @@ -170,7 +170,7 @@ function gnfe_ibge($zip) { $city = json_decode(json_encode(json_decode($response))); if ($city->message || $err) { - logModuleCall('NFEioServiceInvoices', 'gnfe_ibge', $zip, $city->message, 'ERROR', ''); + logModuleCall('NFEioServiceInvoices', 'gnfe_ibge', $zip, $response, 'ERROR', ''); return 'ERROR'; } else { return $city->city->code; @@ -178,7 +178,7 @@ function gnfe_ibge($zip) { } function gnfe_queue_nfe($invoice_id, $create_all = false) { - $invoice = localAPI('GetInvoice', ['invoiceid' => $invoice_id], false); + $invoice = \WHMCS\Billing\Invoice::find($invoice_id); $itens = $this->get_product_invoice($invoice_id); $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); $_tableName = $serviceInvoicesRepo->tableName(); @@ -186,7 +186,7 @@ function gnfe_queue_nfe($invoice_id, $create_all = false) { foreach ($itens as $item) { $data = [ 'invoice_id' => $invoice_id, - 'user_id' => $invoice['userid'], + 'user_id' => $invoice->userid, 'nfe_id' => 'waiting', 'status' => 'Waiting', 'services_amount' => $item['amount'], @@ -222,42 +222,6 @@ function gnfe_queue_nfe($invoice_id, $create_all = false) { return 'success'; } - function gnfe_queue_nfe_edit($invoice_id, $gofasnfeio_id) { - $invoice = localAPI('GetInvoice', ['invoiceid' => $invoice_id], false); - $itens = $this->get_product_invoice($invoice_id); - $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); - $_tableName = $serviceInvoicesRepo->tableName(); - - foreach ($itens as $item) { - $data = [ - 'invoice_id' => $invoice_id, - 'user_id' => $invoice['userid'], - 'nfe_id' => 'waiting', - 'status' => 'Waiting', - 'services_amount' => $item['amount'], - 'environment' => 'waiting', - 'flow_status' => 'waiting', - 'pdf' => 'waiting', - 'created_at' => date('Y-m-d H:i:s'), - 'updated_at' => 'waiting', - 'rpsSerialNumber' => 'waiting', - 'service_code' => $item['code_service'], - ]; - - $nfe_for_invoice = $this->gnfe_get_local_nfe($invoice_id, ['status']); - - if ((string) $nfe_for_invoice['status'] === (string) 'Cancelled' or (string) $nfe_for_invoice['status'] === (string) 'Error') { - try { - $update_nfe = Capsule::table($_tableName)->where('invoice_id', '=', $invoice_id)->where('id', '=', $gofasnfeio_id)->update($data); - } catch (\Exception $e) { - return $e->getMessage(); - } - } - } - - return 'success'; - } - function gnfe_issue_nfe($postfields) { $webhook_url = Addon::getCallBackPath(); $gnfe_webhook_id = $this->gnfe_config('webhook_id'); @@ -318,6 +282,7 @@ function gnfe_issue_nfe($postfields) { $info = curl_getinfo($curl); curl_close($curl); + $error = $err ? $err : $response; logModuleCall('NFEioServiceInvoices', 'gnfe_issue_nfe - curl_init', $error, $info, '', ''); logModuleCall('NFEioServiceInvoices', 'gnfe_issue_nfe - CURLOPT_POSTFIELDS', json_encode($postfields), '', '', ''); @@ -328,17 +293,6 @@ function gnfe_issue_nfe($postfields) { } } - function gnfe_get_nfe($nf) { - $curl = curl_init(); - curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices/' . $nf); - curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: text/json', 'Accept: application/json', 'Authorization: ' . $this->gnfe_config('api_key')]); - curl_setopt($curl, CURLOPT_TIMEOUT, 30); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - $response = curl_exec($curl); - curl_close($curl); - - return json_decode($response); - } /** * Retorna os dados da compahia na NFE. @@ -376,55 +330,11 @@ function gnfe_get_company_info($set = false) { } } + /** - * Responsável por enviar o último RPS para a NFe. - * - * @param int $rpsNumber - * - * @return void + * Testa a conexão com a API da NFE. + * @return mixed */ - function gnfe_put_rps($company, $rpsNumber) { - $company['rpsNumber'] = intval($rpsNumber) + 1; - $requestBody = json_encode($company); - - $curl = curl_init(); - curl_setopt_array($curl, [ - CURLOPT_URL => 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id'), - CURLOPT_TIMEOUT => 30, - CURLOPT_CUSTOMREQUEST => 'PUT', - CURLOPT_POSTFIELDS => $requestBody, - CURLOPT_HTTPHEADER => [ - 'Content-Type: application/json', - 'Accept: application/json', - 'Authorization: ' . $this->gnfe_config('api_key') - ] - ]); - $response = json_decode(curl_exec($curl), true); - $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); - curl_close($curl); - - if ($httpCode !== 200) { - $response = - ' Http code: ' . $httpCode . '|' . - ' Resposta: ' . $response . '|' . - ' Consulte: https://nfe.io/docs/desenvolvedores/rest-api/nota-fiscal-de-servico-v1/#/Companies/Companies_Put'; - logModuleCall('NFEioServiceInvoices', 'gnfe_put_rps', $requestBody, $response, '', ''); - } else { - $nfe_rps = intval($this->gnfe_get_company_info('rpsNumber')); - $whmcs_rps = intval($this->gnfe_config('rps_number')); - - // Verifica se o RPS na NFe é maior ou igual ao RPS no WHMCS para garantir que a ação foi efetivada. - if ($nfe_rps >= $whmcs_rps) { - Capsule::table('tbladdonmodules') - ->where('module', '=', 'gofasnfeio') - ->where('setting', '=', 'rps_number') - ->update(['value' => 'RPS administrado pela NFe.']); - } else { - logModuleCall('NFEioServiceInvoices', 'gnfe_put_rps', $requestBody, 'Erro ao tentar passar tratativa de RPS para NFe. ' . $response, '', ''); - } - } - } - function gnfe_test_connection() { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices'); @@ -440,44 +350,6 @@ function gnfe_test_connection() { return $info; } - /** - * Pega o JSON da última nota fiscal emitida do banco de dados da NFe. - * - * @return array; - */ - function gnfe_get_nfes() { - $curl = curl_init(); - curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices?pageCount=1&pageIndex=1'); - curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: text/json', 'Accept: application/json', 'Authorization: ' . $this->gnfe_config('api_key')]); - curl_setopt($curl, CURLOPT_TIMEOUT, 30); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - $response = curl_exec($curl); - curl_close($curl); - return json_decode($response, true)['serviceInvoices']['0']; - } - - function gnfe_get_invoice_nfes($invoice_id) { - $nfes = []; - $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); - $_tableName = $serviceInvoicesRepo->tableName(); - // foreach( Capsule::table('tbladdonmodules') -> where( 'module', '=', 'gofasnfeio' ) -> get( array( 'setting', 'value') ) as $settings ) { - foreach (Capsule::table($_tableName)->where('invoice_id', '=', $invoice_id)->get(['invoice_id', 'user_id', 'nfe_id', 'status', 'services_amount', 'environment', 'flow_status', 'pdf', 'created_at', 'updated_at', 'rpsSerialNumber', 'rpsNumber']) as $nfe) { - $nfes = $nfe; - } - - $checkfields = json_decode(json_encode($nfes), true); - - if (!$checkfields) { - $fieldArray = ['status' => 'error', 'message' => 'database error']; - } elseif (count($checkfields) >= 1) { - $fieldArray = ['status' => 'success', 'result' => $checkfields]; - } else { - $fieldArray = ['status' => 'error', 'message' => 'nothing to show']; - } - - return $fieldArray; - } - function gnfe_delete_nfe($nf) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices/' . $nf); @@ -543,84 +415,6 @@ function gnfe_xml_nfe($nf) { return $result; } - function gnfe_whmcs_url() { - foreach (Capsule::table('tblconfiguration')->where('setting', '=', 'gnfewhmcsurl')->get(['value']) as $gnfewhmcsurl_) { - $gnfewhmcsurl = $gnfewhmcsurl_->value; - } - - return $gnfewhmcsurl; - } - - /** - * função duplicada - */ - /*function gnfe_xml_nfe($nf) { - $curl = curl_init(); - - curl_setopt_array($curl, [ - CURLOPT_URL => 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices/' . $nf . '/xml', - CURLOPT_RETURNTRANSFER => true, - CURLOPT_ENCODING => '', - CURLOPT_MAXREDIRS => 10, - CURLOPT_TIMEOUT => 0, - CURLOPT_FOLLOWLOCATION => true, - CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, - CURLOPT_CUSTOMREQUEST => 'GET', - CURLOPT_HTTPHEADER => [ - 'Content-Type: text/json', - 'Accept: application/json', - 'Authorization:' . $this->gnfe_config('api_key'), - ], - ]); - - $response = curl_exec($curl); - - curl_close($curl); - - return $response; - }*/ - - // TODO: adaptar para a URL do admin sem depender da tabela tblconfiguration - function gnfe_whmcs_admin_url() { - foreach (Capsule::table('tblconfiguration')->where('setting', '=', 'gnfewhmcsadminurl')->get(['value']) as $gnfewhmcsadminurl_) { - $gnfewhmcsadminurl = $gnfewhmcsadminurl_->value; - } - - return $gnfewhmcsadminurl; - } - - function gnfe_save_nfe($nfe, $user_id, $invoice_id, $pdf, $created_at, $updated_at) { - if ($nfe->servicesAmount == -1) { - return; - } - - $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); - $_tableName = $serviceInvoicesRepo->tableName(); - - $data = [ - 'invoice_id' => $invoice_id, - 'user_id' => $user_id, - 'nfe_id' => $nfe->id, - 'status' => $nfe->status, - 'services_amount' => $nfe->servicesAmount, - 'environment' => $nfe->environment, - 'flow_status' => $nfe->flowStatus, - 'pdf' => $pdf, - 'created_at' => $created_at, - 'updated_at' => $updated_at, - 'rpsSerialNumber' => $nfe->rpsSerialNumber, - 'rpsNumber' => $nfe->rpsNumber, - ]; - - try { - $save_nfe = Capsule::table($_tableName)->insert($data); - - return 'success'; - } catch (\Exception $e) { - return $e->getMessage(); - } - } - function gnfe_update_nfe($nfe, $user_id, $invoice_id, $pdf, $created_at, $updated_at, $id_gofasnfeio = false) { $data = [ 'invoice_id' => $invoice_id, @@ -812,29 +606,6 @@ function gnfe_nfe_flowStatus($flowStatus) { return $status; } - function gnfe_get_company() { - $curl = curl_init(); - curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id')); - curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: text/json', 'Accept: application/json', 'Authorization: ' . $this->gnfe_config('api_key')]); - curl_setopt($curl, CURLOPT_TIMEOUT, 30); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - $response = curl_exec($curl); - curl_close($curl); - - return json_decode($response, true); - } - - function gnfe_customer_service_code($item_id) { - $customfields = []; - foreach (Capsule::table('tblcustomfields')->where('type', '=', 'product')->where('fieldname', '=', 'Código de Serviço')->get(['fieldname', 'id']) as $customfield) { - $customfield_id = $customfield->id; - $insc_customfield_value = 'NF'; - foreach (Capsule::table('tblcustomfieldsvalues')->where('fieldid', '=', $customfield_id)->where('relid', '=', $item_id)->get(['value']) as $customfieldvalue) { - return $customfieldvalue->value; - } - } - } - function get_product_invoice($invoice_id) { $query = 'SELECT tblinvoiceitems.invoiceid ,tblinvoiceitems.type ,tblinvoiceitems.relid, tblinvoiceitems.description,tblinvoiceitems.amount FROM tblinvoiceitems WHERE tblinvoiceitems.invoiceid = :INVOICEID'; @@ -885,38 +656,6 @@ function get_product_invoice($invoice_id) { return $products_details; } - function dowload_doc_log() { - $days = 5; - - $configs = []; - foreach (Capsule::table('tbladdonmodules')->where('module','=','gofasnfeio')->get(['setting', 'value']) as $row) { - $configs[$row->setting] = $row->value; - } - - $lastCron = Capsule::table('tbladdonmodules')->where('setting', '=' ,'last_cron')->get(['value'])[0]; - - $results = localAPI('WhmcsDetails'); - $v = $results['whmcs']['version']; - $actual_link = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; - - $text = '-|date' . PHP_EOL . '-|action' . PHP_EOL . '-|request' . PHP_EOL . '-|response' . PHP_EOL . '-|status' . PHP_EOL; - $text .= 'version =' . $v . PHP_EOL . 'date emission =' . date('Y-m-d H:i:s') . PHP_EOL . 'url =' . $actual_link . PHP_EOL . 'conf_module = ' . json_encode($configs) . PHP_EOL . 'last_cron = ' . $lastCron->value . PHP_EOL; - - $dataAtual = toMySQLDate(getTodaysDate(false)) . ' 23:59:59'; - $dataAnterior = date('Y-m-d',mktime (0, 0, 0, date('m'), date('d') - $days, date('Y'))) . ' 23:59:59'; - - foreach (Capsule::table('tblmodulelog')->where('module','=','NFEioServiceInvoices')->orderBy('date')->whereBetween('date', [$dataAnterior, $dataAtual])->get(['date', 'action', 'request', 'response', 'arrdata']) as $log) { - $text .= PHP_EOL . '==========================================================================================================================================' . PHP_EOL; - $text .= '-|date = ' . $log->date . PHP_EOL . '-|action = ' . $log->action . PHP_EOL . '-|request = ' . ($log->request) . PHP_EOL . '-|response = ' . ($log->response) . PHP_EOL . '-|status = ' . ($log->arrdata); - } - $text .= PHP_EOL . '====================================================================FIM DO ARQUIVO======================================================================' . PHP_EOL; - - header('Content-type: text/plain'); - header('Content-Disposition: attachment; filename="default-filename.txt"'); - print $text; - exit(); - } - function update_status_nfe($invoice_id,$status) { $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); @@ -930,10 +669,9 @@ function update_status_nfe($invoice_id,$status) { } } -// ------------------------------------------------- NOVAS FUNÇÕES /** - * @var $vars vem do arquivo hooks.php. + * @var string $invoiceId vem do arquivo hooks.php. * @return string */ function gnfe_get_client_issue_invoice_cond_from_invoice_id($invoiceId) { @@ -941,10 +679,11 @@ function gnfe_get_client_issue_invoice_cond_from_invoice_id($invoiceId) { $clientConfigurationRepo = new \NFEioServiceInvoices\Models\ClientConfiguration\Repository(); $_table = $clientConfigurationRepo->tableName(); - $clientInvoiceId = localAPI('GetInvoice', ['invoiceid' => $invoiceId])['userid']; + + $clientId = \WHMCS\Billing\Invoice::find($invoiceId)->client->id; $clientCond = Capsule::table($_table) - ->where('client_id', '=', $clientInvoiceId) + ->where('client_id', '=', $clientId) ->where('key', '=', 'issue_nfe_cond') ->get(['value'])[0]->value; $clientCond = strtolower($clientCond); @@ -1057,13 +796,14 @@ function gnfe_insert_issue_nfe_cond_in_database() { } function emitNFE($invoices,$nfeio) { - $invoice = localAPI('GetInvoice', ['invoiceid' => $invoices->id], false); - $client = localAPI('GetClientsDetails', ['clientid' => $invoices->userid], false); + + $invoice = \WHMCS\Billing\Invoice::find($invoices->id); + $client = \WHMCS\User\Client::find($invoices->userid); $params = $this->gnfe_config(); //create second option from description nfe - foreach ($invoice['items']['item'] as $value) { + foreach ($invoice->items['item'] as $value) { $line_items[] = $value['description']; } @@ -1072,13 +812,13 @@ function emitNFE($invoices,$nfeio) { logModuleCall('NFEioServiceInvoices', 'gnfe_customer', $customer, '','', ''); if ($customer['doc_type'] == 2) { - if ($client['companyname'] != '') { - $name = $client['companyname']; + if ($client->companyname != '') { + $name = $client->companyname; } else { - $name = $client['fullname']; + $name = $client->fullname; } } elseif ($customer['doc_type'] == 1 || 'CPF e/ou CNPJ ausente.' == $customer || !$customer['doc_type']) { - $name = $client['fullname']; + $name = $client->fullname; } $name = htmlspecialchars_decode($name); diff --git a/modules/addons/NFEioServiceInvoices/lib/Legacy/Hooks.php b/modules/addons/NFEioServiceInvoices/lib/Legacy/Hooks.php index b0fd407..f13fc93 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Legacy/Hooks.php +++ b/modules/addons/NFEioServiceInvoices/lib/Legacy/Hooks.php @@ -26,153 +26,18 @@ public function __construct() $this->nf = new \NFEioServiceInvoices\NFEio\Nfe(); } - - - // TODO: falta funcao gnfe_whmcs_admin_url - function invoicecreation($vars) - { - $issueInvoiceCondition = $this->functions->gnfe_get_client_issue_invoice_cond_from_invoice_id($vars['invoiceid']); - - if ($issueInvoiceCondition === 'quando a fatura é gerada') { - logModuleCall('gofas_nfeio', 'quando a fatura é gerada invoicecreation', $issueInvoiceCondition , '', '', ''); - - $params = $this->functions->gnfe_config(); - $invoice = localAPI('GetInvoice', ['invoiceid' => $vars['invoiceid']], false); - - if ((float) $invoice['total'] > (float) '0.00' and $invoice['status'] != 'Draft') { - $nfe_for_invoice = $this->functions->gnfe_get_local_nfe($vars['invoiceid'], ['invoice_id', 'user_id', 'nfe_id', 'status', 'services_amount', 'environment', 'pdf', 'created_at']); - - if (!$nfe_for_invoice['id']) { - $client = localAPI('GetClientsDetails', ['clientid' => $invoice['userid'], 'stats' => false], false); - - foreach ($invoice['items']['item'] as $value) { - $line_items[] = $value['description']; //substr( $value['description'], 0, 100); - } - $queue = $this->functions->gnfe_queue_nfe($vars['invoiceid'], true); - - if ($queue !== 'success') { - logModuleCall('gofas_nfeio', 'invoicecreation', $vars['invoiceid'], $queue, 'ERROR', ''); - if ('adminarea' === $vars['source']) { - header('Location: ' . gnfe_whmcs_admin_url() . 'invoices.php?action=edit&id=' . $vars['invoiceid'] . '&gnfe_error=Erro ao criar nota fiscal: ' . $queue); - exit; - } - } else { - logModuleCall('gofas_nfeio', 'invoicecreation', $vars['invoiceid'], $queue, 'OK', ''); - } - } - } - } elseif ($issueInvoiceCondition === 'quando a fatura é paga') { - logModuleCall('gofas_nfeio', 'quando a fatura é paga invoicecreation', '', '', '', ''); - - return; - } else { - logModuleCall('gofas_nfeio', 'seguir configuração do módulo nfe.io invoicecreation', '', '', '', ''); - $params = $this->functions->gnfe_config(); - if (stripos($params['issue_note_default_cond'], 'Gerada') && (string) $vars['status'] != 'Draft' && (!$params['issue_note_after'] || 0 == $params['issue_note_after'])) { - $invoice = localAPI('GetInvoice', ['invoiceid' => $vars['invoiceid']], false); - - if ((float) $invoice['total'] > (float) '0.00' and $invoice['status'] != 'Draft') { - $nfe_for_invoice = $this->functions->gnfe_get_local_nfe($vars['invoiceid'], ['invoice_id', 'user_id', 'nfe_id', 'status', 'services_amount', 'environment', 'pdf', 'created_at']); - - if (!$nfe_for_invoice['id']) { - $client = localAPI('GetClientsDetails', ['clientid' => $invoice['userid'], 'stats' => false], false); - - foreach ($invoice['items']['item'] as $value) { - $line_items[] = $value['description']; //substr( $value['description'], 0, 100); - } - $queue = $this->functions->gnfe_queue_nfe($vars['invoiceid'], true); - - if ($queue !== 'success') { - logModuleCall('gofas_nfeio', 'invoicecreation', $vars['invoiceid'], $queue, 'ERROR', ''); - if ('adminarea' === $vars['source']) { - header('Location: ' . gnfe_whmcs_admin_url() . 'invoices.php?action=edit&id=' . $vars['invoiceid'] . '&gnfe_error=Erro ao criar nota fiscal: ' . $queue); - exit; - } - } else { - logModuleCall('gofas_nfeio', 'invoicecreation', $vars['invoiceid'], $queue, 'OK', ''); - } - } - } - } - } - - } - - // TODO: falta funcao gnfe_whmcs_admin_url - // TODO: falta os redirecionamentos - function invoicepaid($vars) - { - $params = $this->functions->gnfe_config(); - $issueInvoiceCondition = $this->functions->gnfe_get_client_issue_invoice_cond_from_invoice_id($vars['invoiceid']); - - // Uma fatura é paga - if ($issueInvoiceCondition === 'quando a fatura é paga') { - $invoice = localAPI('GetInvoice', ['invoiceid' => $vars['invoiceid']], false); - - if ((float) $invoice['total'] > 0.00 and $invoice['status'] != 'Draft') { - $nfe_for_invoice = $this->functions->gnfe_get_local_nfe($vars['invoiceid'], ['id']); - - if (!$nfe_for_invoice['id']) { - $client = localAPI('GetClientsDetails', ['clientid' => $invoice['userid'], 'stats' => false], false); - - foreach ($invoice['items']['item'] as $value) { - $line_items[] = $value['description']; //substr( $value['description'], 0, 100); - } - - $queue = $this->nf->queue($vars['invoiceid']); - if (!$queue['success']) { - if ($vars['source'] === 'adminarea') { - header('Location: ' . gnfe_whmcs_admin_url() . 'invoices.php?action=edit&id=' . $vars['invoiceid'] . '&gnfe_error=Erro ao criar nota fiscal: ' . $queue); - exit; - } - } else { - logModuleCall('gofas_nfeio', 'invoicepaid', $vars['invoiceid'], $queue, 'OK', ''); - } - } - } - } elseif ($issueInvoiceCondition === 'quando a fatura é gerada') { - return; - } else { - if (stripos($params['issue_note_default_cond'], 'Paga') && $vars['status'] != 'Draft' && (!$params['issue_note_after'] || 0 == $params['issue_note_after'] || stripos(strtolower($issueNfeUser),'paga'))) { - $invoice = localAPI('GetInvoice', ['invoiceid' => $vars['invoiceid']], false); - - if ((float) $invoice['total'] > 0.00 and $invoice['status'] != 'Draft') { - $nfe_for_invoice = $this->functions->gnfe_get_local_nfe($vars['invoiceid'], ['id']); - - if (!$nfe_for_invoice['id']) { - $client = localAPI('GetClientsDetails', ['clientid' => $invoice['userid'], 'stats' => false], false); - - foreach ($invoice['items']['item'] as $value) { - $line_items[] = $value['description']; //substr( $value['description'], 0, 100); - } - - $queue = $this->nf->queue($vars['invoiceid']); - if (!$queue['success']) { - logModuleCall('gofas_nfeio', 'invoicepaid', $vars['invoiceid'], $queue, 'ERROR', ''); - if ($vars['source'] === 'adminarea') { - header('Location: ' . gnfe_whmcs_admin_url() . 'invoices.php?action=edit&id=' . $vars['invoiceid'] . '&gnfe_error=Erro ao criar nota fiscal: ' . $queue); - exit; - } - } else { - logModuleCall('gofas_nfeio', 'invoicepaid', $vars['invoiceid'], $queue, 'OK', ''); - } - } - } - } - } - } - function invoicecancelled($vars) { $params = $this->functions->gnfe_config(); if ($params['cancel_invoice_cancel_nfe']) { $nfe_for_invoice = $this->functions->gnfe_get_local_nfe($vars['invoiceid'], ['nfe_id', 'status', 'services_amount', 'environment']); if ($nfe_for_invoice['status'] === (string) 'Issued') { - $invoice = localAPI('GetInvoice', ['invoiceid' => $vars['invoiceid']], false); + $invoice = \WHMCS\Billing\Invoice::find($vars['invoiceid']); + $clientId = $invoice->userid; $delete_nfe = $this->functions->gnfe_delete_nfe($nfe_for_invoice['nfe_id']); if (!$delete_nfe->message) { logModuleCall('gofas_nfeio', 'invoicecancelled', $nfe_for_invoice['nfe_id'], $delete_nfe, 'OK', ''); - $gnfe_update_nfe = $this->functions->gnfe_update_nfe((object) ['id' => $nfe_for_invoice['nfe_id'], 'status' => 'Cancelled', 'servicesAmount' => $nfe_for_invoice['services_amount'], 'environment' => $nfe_for_invoice['environment'], 'flow_status' => $nfe_for_invoice['flow_status']], $invoice['userid'], $vars['invoiceid'], 'n/a', $nfe_for_invoice['created_at'], date('Y-m-d H:i:s')); + $gnfe_update_nfe = $this->functions->gnfe_update_nfe((object) ['id' => $nfe_for_invoice['nfe_id'], 'status' => 'Cancelled', 'servicesAmount' => $nfe_for_invoice['services_amount'], 'environment' => $nfe_for_invoice['environment'], 'flow_status' => $nfe_for_invoice['flow_status']], $clientId, $vars['invoiceid'], 'n/a', $nfe_for_invoice['created_at'], date('Y-m-d H:i:s')); } else { logModuleCall('gofas_nfeio', 'invoicecancelled', $nfe_for_invoice['nfe_id'], $delete_nfe, 'ERROR', ''); } @@ -180,35 +45,6 @@ function invoicecancelled($vars) } } - function aftercronjob() - { - $storageKey = $this->config->getStorageKey(); - $serviceInvoicesTable = $this->serviceInvoicesRepo->tableName(); - $params = $this->functions->gnfe_config(); - $dataAtual = date('Y-m-d H:i:s'); - - if (Capsule::table('tbladdonmodules')->where('setting','=','last_cron')->count() == 0) { - Capsule::table('tbladdonmodules')->insert(['module' => $storageKey, 'setting' => 'last_cron', 'value' => $dataAtual]); - } else { - Capsule::table('tbladdonmodules')->where('setting','=','last_cron')->update(['value' => $dataAtual]); - } - - $hasNfWaiting = Capsule::table($serviceInvoicesTable)->whereBetween('created_at', [$params['initial_date'], $dataAtual])->where('status', '=', 'Waiting')->count(); - - if ($hasNfWaiting) { - $queryNf = Capsule::table($serviceInvoicesTable)->orderBy('id', 'desc')->whereBetween('created_at', [$params['initial_date'], $dataAtual])->where('status', '=', 'Waiting')->get(['id', 'invoice_id', 'services_amount']); - foreach ($queryNf as $waiting) { - - $getQuery = Capsule::table('tblinvoices')->where('id', '=', $waiting->invoice_id)->get(['id', 'userid', 'total']); - logModuleCall('nfeio', 'aftercronjob - getQuery 1', $waiting, $getQuery); - - foreach ($getQuery as $invoices) { - $this->functions->emitNFE($invoices, $waiting); - } - } - } - } - function productdelete($vars) { $productCodeTable = $this->productCodeRepo->tableName(); diff --git a/modules/addons/NFEioServiceInvoices/lib/Models/ModuleConfiguration/Repository.php b/modules/addons/NFEioServiceInvoices/lib/Models/ModuleConfiguration/Repository.php index 41332da..45fdb1b 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Models/ModuleConfiguration/Repository.php +++ b/modules/addons/NFEioServiceInvoices/lib/Models/ModuleConfiguration/Repository.php @@ -313,6 +313,8 @@ class Repository extends \WHMCSExpert\mtLibs\models\Repository 'NFEioEnvironment', ); + public $serviceInvoicesIssueConditions = 'Quando a fatura é gerada,Quando a fatura é paga,Seguir configuração do módulo NFE.io'; + /** * Retorna coleção dos campos que podem ser migrados como chaves. * @@ -357,7 +359,8 @@ public function initDefaultValues() $storage = new \WHMCSExpert\Addon\Storage($storageKey); // inicia valores para chave issue_note_conditions - $functions->gnfe_insert_issue_nfe_cond_in_database(); + $storage->set('issue_note_conditions', $this->serviceInvoicesIssueConditions); + // $functions->gnfe_insert_issue_nfe_cond_in_database(); // define 'on' como padrão para discount_items $storage->set('discount_items', 'on'); // inicia valor para a chave initial_date @@ -438,4 +441,9 @@ public function missingMandatoryFields($vars) return array_diff_key($this->getMandatoryFields(), $vars); } + + public function seed_service_invoices_issue_conditions() + { + $previousConditions = $this->get('issue_note_conditions'); + } } \ No newline at end of file diff --git a/modules/addons/NFEioServiceInvoices/lib/NFEio/Nfe.php b/modules/addons/NFEioServiceInvoices/lib/NFEio/Nfe.php index 3c868fd..e0f5f6b 100644 --- a/modules/addons/NFEioServiceInvoices/lib/NFEio/Nfe.php +++ b/modules/addons/NFEioServiceInvoices/lib/NFEio/Nfe.php @@ -333,43 +333,42 @@ public function emit( $data ) $issAmountWithheld = $data->iss_held; $description = $data->nfe_description; $environment = $data->environment; - - $clientData = localAPI('GetClientsDetails', ['clientid' => $clientId]); + $clientData = \WHMCS\User\Client::find($clientId); $customer = $this->legacyFunctions->gnfe_customer($clientId, $clientData); logModuleCall('NFEioServiceInvoices', 'get_client_details', $clientData, $customer); $emailNfeConfig = (bool) $this->storage->get('gnfe_email_nfe_config'); - $client_email = $emailNfeConfig ? $clientData['email'] : ''; + $client_email = $emailNfeConfig ? $clientData->email : ''; if ($customer['doc_type'] == 2) { - if ($clientData['companyname'] != '') { - $name = $clientData['companyname']; + if ($clientData->companyname != '') { + $name = $clientData->companyname; } else { - $name = $clientData['fullname']; + $name = $clientData->fullname; } } elseif ($customer['doc_type'] == 1 || 'CPF e/ou CNPJ ausente.' == $customer || !$customer['doc_type']) { - $name = $clientData['fullname']; + $name = $clientData->fullname; } $name = htmlspecialchars_decode($name); //define address - if (strpos($clientData['address1'], ',')) { - $array_adress = explode(',', $clientData['address1']); + if (strpos($clientData->address1, ',')) { + $array_adress = explode(',', $clientData->address1); $street = $array_adress[0]; $number = $array_adress[1]; } else { - $street = str_replace(',', '', preg_replace('/[0-9]+/i', '', $clientData['address1'])); - $number = preg_replace('/[^0-9]/', '', $clientData['address1']); + $street = str_replace(',', '', preg_replace('/[0-9]+/i', '', $clientData->address1)); + $number = preg_replace('/[^0-9]/', '', $clientData->address1); } - if ($clientData['postcode'] == null || $clientData['postcode'] == '') + if ($clientData->postcode == null || $clientData->postcode == '') { $this->legacyFunctions->update_status_nfe($invoiceId, 'Error_cep'); return; } - $ibgeCode = $this->legacyFunctions->gnfe_ibge(preg_replace('/[^0-9]/', '', $clientData['postcode'])); + $ibgeCode = $this->legacyFunctions->gnfe_ibge(preg_replace('/[^0-9]/', '', $clientData->postcode)); if ($ibgeCode == 'ERROR') { $this->legacyFunctions->update_status_nfe($invoiceId, 'Error_cep'); @@ -389,17 +388,17 @@ public function emit( $data ) 'name' => $name, 'email' => $client_email, 'address' => [ - 'country' => $this->legacyFunctions->gnfe_country_code($clientData['countrycode']), - 'postalCode' => preg_replace('/[^0-9]/', '', $clientData['postcode']), + 'country' => $this->legacyFunctions->gnfe_country_code($clientData->country), + 'postalCode' => preg_replace('/[^0-9]/', '', $clientData->postcode), 'street' => $street, 'number' => $number, 'additionalInformation' => '', - 'district' => $clientData['address2'], + 'district' => $clientData->address2, 'city' => [ 'code' => $ibgeCode, - 'name' => $clientData['city'], + 'name' => $clientData->city, ], - 'state' => $clientData['state'] + 'state' => $clientData->state ] ] ]; diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/autoload.php b/modules/addons/NFEioServiceInvoices/lib/vendor/autoload.php index 8049413..4bde6f4 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/autoload.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/autoload.php @@ -3,10 +3,23 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit1de3c5c1f42639f81e31bcbdbce9417c::getLoader(); +return ComposerAutoloaderInit4b5838bae01bef972b086a65b416139a::getLoader(); diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/ClassLoader.php b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/ClassLoader.php index afef3fa..fd56bd7 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/ClassLoader.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/ClassLoader.php @@ -42,6 +42,9 @@ */ class ClassLoader { + /** @var \Closure(string):void */ + private static $includeFile; + /** @var ?string */ private $vendorDir; @@ -106,6 +109,7 @@ class ClassLoader public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; + self::initializeIncludeClosure(); } /** @@ -425,7 +429,7 @@ public function unregister() public function loadClass($class) { if ($file = $this->findFile($class)) { - includeFile($file); + (self::$includeFile)($file); return true; } @@ -555,18 +559,23 @@ private function findFileWithExtension($class, $ext) return false; } -} -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - * @private - */ -function includeFile($file) -{ - include $file; + private static function initializeIncludeClosure(): void + { + if (self::$includeFile !== null) { + return; + } + + /** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + */ + self::$includeFile = static function($file) { + include $file; + }; + } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_real.php b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_real.php index 2b1caee..c5d547d 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_real.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit1de3c5c1f42639f81e31bcbdbce9417c +class ComposerAutoloaderInit4b5838bae01bef972b086a65b416139a { private static $loader; @@ -24,34 +24,27 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit1de3c5c1f42639f81e31bcbdbce9417c', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit4b5838bae01bef972b086a65b416139a', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit1de3c5c1f42639f81e31bcbdbce9417c', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit4b5838bae01bef972b086a65b416139a', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit1de3c5c1f42639f81e31bcbdbce9417c::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit4b5838bae01bef972b086a65b416139a::getInitializer($loader)); $loader->register(true); - $includeFiles = \Composer\Autoload\ComposerStaticInit1de3c5c1f42639f81e31bcbdbce9417c::$files; - foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire1de3c5c1f42639f81e31bcbdbce9417c($fileIdentifier, $file); + $filesToLoad = \Composer\Autoload\ComposerStaticInit4b5838bae01bef972b086a65b416139a::$files; + $requireFile = static function ($fileIdentifier, $file) { + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; + } + }; + foreach ($filesToLoad as $fileIdentifier => $file) { + ($requireFile)($fileIdentifier, $file); } return $loader; } } - -/** - * @param string $fileIdentifier - * @param string $file - * @return void - */ -function composerRequire1de3c5c1f42639f81e31bcbdbce9417c($fileIdentifier, $file) -{ - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - - require $file; - } -} diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_static.php b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_static.php index 7c5ec63..29b5e65 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_static.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit1de3c5c1f42639f81e31bcbdbce9417c +class ComposerStaticInit4b5838bae01bef972b086a65b416139a { public static $files = array ( '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', @@ -161,9 +161,9 @@ class ComposerStaticInit1de3c5c1f42639f81e31bcbdbce9417c public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit1de3c5c1f42639f81e31bcbdbce9417c::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit1de3c5c1f42639f81e31bcbdbce9417c::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit1de3c5c1f42639f81e31bcbdbce9417c::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit4b5838bae01bef972b086a65b416139a::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit4b5838bae01bef972b086a65b416139a::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit4b5838bae01bef972b086a65b416139a::$classMap; }, null, ClassLoader::class); } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.json b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.json index 3fcafd3..07c8fbb 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.json +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.json @@ -329,25 +329,27 @@ }, { "name": "whmcsexpert/whmcsexpert", - "version": "dev-dev", - "version_normalized": "dev-dev", + "version": "v1.1.7", + "version_normalized": "1.1.7.0", "source": { "type": "git", "url": "https://github.com/whmcsexpert/whmcsexpert.git", - "reference": "2ab629648dcb7133d24defe305b8b5f74a0d3953" + "reference": "bea1112fe3974b424fdb7223139cb33dd4cc0856" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/whmcsexpert/whmcsexpert/zipball/2ab629648dcb7133d24defe305b8b5f74a0d3953", - "reference": "2ab629648dcb7133d24defe305b8b5f74a0d3953", + "url": "https://api.github.com/repos/whmcsexpert/whmcsexpert/zipball/bea1112fe3974b424fdb7223139cb33dd4cc0856", + "reference": "bea1112fe3974b424fdb7223139cb33dd4cc0856", "shasum": "" }, "require-dev": { "illuminate/database": "v5.8.36", + "phpcompatibility/php-compatibility": "^9.3", "phpdocumentor/phpdocumentor": "2.*", - "phpunit/phpunit": "@stable" + "phpunit/phpunit": "@stable", + "squizlabs/php_codesniffer": "^3.7" }, - "time": "2021-10-16T22:00:59+00:00", + "time": "2023-03-15T18:58:31+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -368,7 +370,7 @@ "description": "WHMCS Expert Library", "support": { "issues": "https://github.com/whmcsexpert/whmcsexpert/issues", - "source": "https://github.com/whmcsexpert/whmcsexpert/tree/dev" + "source": "https://github.com/whmcsexpert/whmcsexpert/tree/v1.1.7" }, "install-path": "../whmcsexpert/whmcsexpert" } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.php b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.php index e907655..72e54cc 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/composer/installed.php @@ -1,9 +1,9 @@ array( 'name' => '__root__', - 'pretty_version' => 'dev-next', - 'version' => 'dev-next', - 'reference' => 'e485903ef59c368cf0c1db7b28aed1ea99fece24', + 'pretty_version' => 'dev-main', + 'version' => 'dev-main', + 'reference' => 'fc89a90afee0f7c3571c4058b181eb0c9c2ab454', 'type' => 'library', 'install_path' => __DIR__ . '/../../../../../../', 'aliases' => array(), @@ -11,9 +11,9 @@ ), 'versions' => array( '__root__' => array( - 'pretty_version' => 'dev-next', - 'version' => 'dev-next', - 'reference' => 'e485903ef59c368cf0c1db7b28aed1ea99fece24', + 'pretty_version' => 'dev-main', + 'version' => 'dev-main', + 'reference' => 'fc89a90afee0f7c3571c4058b181eb0c9c2ab454', 'type' => 'library', 'install_path' => __DIR__ . '/../../../../../../', 'aliases' => array(), @@ -71,9 +71,9 @@ 'dev_requirement' => false, ), 'whmcsexpert/whmcsexpert' => array( - 'pretty_version' => 'dev-dev', - 'version' => 'dev-dev', - 'reference' => '2ab629648dcb7133d24defe305b8b5f74a0d3953', + 'pretty_version' => 'v1.1.7', + 'version' => '1.1.7.0', + 'reference' => 'bea1112fe3974b424fdb7223139cb33dd4cc0856', 'type' => 'library', 'install_path' => __DIR__ . '/../whmcsexpert/whmcsexpert', 'aliases' => array(), diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/.github/workflows/php-compatibility.yml b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/.github/workflows/php-compatibility.yml new file mode 100644 index 0000000..c93f3c3 --- /dev/null +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/.github/workflows/php-compatibility.yml @@ -0,0 +1,33 @@ +name: PHP Compatibility + +on: + push: + branches: '*' + pull_request: + branches: '*' + +jobs: + test: + name: Test @ PHP ${{ matrix.php-version }} - x86 - ubuntu-latest + if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.actor != 'dependabot[bot]') + strategy: + matrix: + php-version: + - "7.4" + - "8.0" + - "8.1" + - "8.2" + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install Dependencies::PHP${{ matrix.php-version }} + run: | + echo "$HOME/.composer/vendor/bin" >> $GITHUB_PATH + composer global config --no-plugins allow-plugins.dealerdirect/phpcodesniffer-composer-installer true + composer global require dealerdirect/phpcodesniffer-composer-installer roave/security-advisories:dev-master squizlabs/php_codesniffer phpcompatibility/php-compatibility + # TODO migrate the below to gulp calls + - name: Check PHP Compatibility + run: phpcs --standard=PHPCompatibility -s -q -n --colors --runtime-set testVersion ${{ matrix.php-version }} --extensions=php,inc,lib --ignore=sdk,node_modules,vendor,templates_c --severity=3 ./src + - name: Check PSR12 Standard + run: phpcs --standard=PSR12 -s -q -n --colors --extensions=php,inc,lib --ignore=sdk,node_modules,vendor,templates_c --severity=3 ./src \ No newline at end of file diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.json b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.json index 4d18922..e200a99 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.json +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.json @@ -10,13 +10,18 @@ } ], "config": { - "optimize-autoloader": true + "optimize-autoloader": true, + "allow-plugins": { + "kylekatarnls/update-helper": true + } }, "minimum-stability": "beta", "require-dev": { "phpunit/phpunit": "@stable", "phpdocumentor/phpdocumentor": "2.*", - "illuminate/database": "v5.8.36" + "illuminate/database": "v5.8.36", + "phpcompatibility/php-compatibility": "^9.3", + "squizlabs/php_codesniffer": "^3.7" }, "autoload": { "psr-4": { diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.lock b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.lock new file mode 100644 index 0000000..5a0db3b --- /dev/null +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/composer.lock @@ -0,0 +1,5609 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "fba559b123f8ea583609693900cd1b0b", + "packages": [], + "packages-dev": [ + { + "name": "cilex/cilex", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/Cilex/Cilex.git", + "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Cilex/Cilex/zipball/7acd965a609a56d0345e8b6071c261fbdb926cb5", + "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5", + "shasum": "" + }, + "require": { + "cilex/console-service-provider": "1.*", + "php": ">=5.3.3", + "pimple/pimple": "~1.0", + "symfony/finder": "~2.1", + "symfony/process": "~2.1" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*", + "symfony/validator": "~2.1" + }, + "suggest": { + "monolog/monolog": ">=1.0.0", + "symfony/validator": ">=1.0.0", + "symfony/yaml": ">=1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Cilex": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "description": "The PHP micro-framework for Command line tools based on the Symfony2 Components", + "homepage": "http://cilex.github.com", + "keywords": [ + "cli", + "microframework" + ], + "support": { + "issues": "https://github.com/Cilex/Cilex/issues", + "source": "https://github.com/Cilex/Cilex/tree/master" + }, + "time": "2014-03-29T14:03:13+00:00" + }, + { + "name": "cilex/console-service-provider", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/Cilex/console-service-provider.git", + "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Cilex/console-service-provider/zipball/25ee3d1875243d38e1a3448ff94bdf944f70d24e", + "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "pimple/pimple": "1.*@dev", + "symfony/console": "~2.1" + }, + "require-dev": { + "cilex/cilex": "1.*@dev", + "silex/silex": "1.*@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Cilex\\Provider\\Console": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "description": "Console Service Provider", + "keywords": [ + "cilex", + "console", + "pimple", + "service-provider", + "silex" + ], + "support": { + "issues": "https://github.com/Cilex/console-service-provider/issues", + "source": "https://github.com/Cilex/console-service-provider/tree/master" + }, + "time": "2012-12-19T10:50:58+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "support": { + "issues": "https://github.com/container-interop/container-interop/issues", + "source": "https://github.com/container-interop/container-interop/tree/master" + }, + "abandoned": "psr/container", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.14.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1 || ^2", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.14.3" + }, + "time": "2023-02-01T09:20:38+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + }, + "time": "2022-05-02T15:47:09+00:00" + }, + { + "name": "doctrine/inflector", + "version": "1.4.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", + "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector", + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/1.4.4" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2021-04-16T17:34:40+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.30 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:15:36+00:00" + }, + { + "name": "doctrine/lexer", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^4.11 || ^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/2.1.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-12-14T08:49:07+00:00" + }, + { + "name": "erusev/parsedown", + "version": "1.8.0-beta-7", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown.git", + "reference": "fe7a50eceb4a3c867cc9fa9c0aa906b1067d1955" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/fe7a50eceb4a3c867cc9fa9c0aa906b1067d1955", + "reference": "fe7a50eceb4a3c867cc9fa9c0aa906b1067d1955", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "support": { + "issues": "https://github.com/erusev/parsedown/issues", + "source": "https://github.com/erusev/parsedown/tree/1.8.0-beta-7" + }, + "time": "2019-03-17T18:47:21+00:00" + }, + { + "name": "herrera-io/json", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/kherge-php/json.git", + "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kherge-php/json/zipball/60c696c9370a1e5136816ca557c17f82a6fa83f1", + "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1", + "shasum": "" + }, + "require": { + "ext-json": "*", + "justinrainbow/json-schema": ">=1.0,<2.0-dev", + "php": ">=5.3.3", + "seld/jsonlint": ">=1.0,<2.0-dev" + }, + "require-dev": { + "herrera-io/phpunit-test-case": "1.*", + "mikey179/vfsstream": "1.1.0", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "src/lib/json_version.php" + ], + "psr-0": { + "Herrera\\Json": "src/lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kevin Herrera", + "email": "kevin@herrera.io", + "homepage": "http://kevin.herrera.io" + } + ], + "description": "A library for simplifying JSON linting and validation.", + "homepage": "http://herrera-io.github.com/php-json", + "keywords": [ + "json", + "lint", + "schema", + "validate" + ], + "support": { + "issues": "https://github.com/herrera-io/php-json/issues", + "source": "https://github.com/kherge-php/json/tree/1.0.3" + }, + "abandoned": "kherge/json", + "time": "2013-10-30T16:51:34+00:00" + }, + { + "name": "herrera-io/phar-update", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/kherge-archive/php-phar-update.git", + "reference": "00a79e1d5b8cf3c080a2e3becf1ddf7a7fea025b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kherge-archive/php-phar-update/zipball/00a79e1d5b8cf3c080a2e3becf1ddf7a7fea025b", + "reference": "00a79e1d5b8cf3c080a2e3becf1ddf7a7fea025b", + "shasum": "" + }, + "require": { + "herrera-io/json": "1.*", + "kherge/version": "1.*", + "php": ">=5.3.3" + }, + "require-dev": { + "herrera-io/phpunit-test-case": "1.*", + "mikey179/vfsstream": "1.1.0", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "src/lib/constants.php" + ], + "psr-0": { + "Herrera\\Phar\\Update": "src/lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kevin Herrera", + "email": "kevin@herrera.io", + "homepage": "http://kevin.herrera.io" + } + ], + "description": "A library for self-updating Phars.", + "homepage": "http://herrera-io.github.com/php-phar-update", + "keywords": [ + "phar", + "update" + ], + "support": { + "issues": "https://github.com/herrera-io/php-phar-update/issues", + "source": "https://github.com/kherge-archive/php-phar-update/tree/1.0.3" + }, + "abandoned": true, + "time": "2013-10-30T17:23:01+00:00" + }, + { + "name": "illuminate/container", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/container.git", + "reference": "b42e5ef939144b77f78130918da0ce2d9ee16574" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/container/zipball/b42e5ef939144b77f78130918da0ce2d9ee16574", + "reference": "b42e5ef939144b77f78130918da0ce2d9ee16574", + "shasum": "" + }, + "require": { + "illuminate/contracts": "5.8.*", + "illuminate/support": "5.8.*", + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Container\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Container package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-08-20T02:00:23+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "00fc6afee788fa07c311b0650ad276585f8aef96" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/00fc6afee788fa07c311b0650ad276585f8aef96", + "reference": "00fc6afee788fa07c311b0650ad276585f8aef96", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-07-30T13:57:21+00:00" + }, + { + "name": "illuminate/database", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/database.git", + "reference": "ac9ae2d82b8a6137400f17b3eea258be3518daa9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/database/zipball/ac9ae2d82b8a6137400f17b3eea258be3518daa9", + "reference": "ac9ae2d82b8a6137400f17b3eea258be3518daa9", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/container": "5.8.*", + "illuminate/contracts": "5.8.*", + "illuminate/support": "5.8.*", + "php": "^7.1.3" + }, + "suggest": { + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", + "illuminate/console": "Required to use the database commands (5.8.*).", + "illuminate/events": "Required to use the observers with Eloquent (5.8.*).", + "illuminate/filesystem": "Required to use the migrations (5.8.*).", + "illuminate/pagination": "Required to paginate the result set (5.8.*)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Database\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Database package.", + "homepage": "https://laravel.com", + "keywords": [ + "database", + "laravel", + "orm", + "sql" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-10-03T16:22:57+00:00" + }, + { + "name": "illuminate/support", + "version": "v5.8.36", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "df4af6a32908f1d89d74348624b57e3233eea247" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/df4af6a32908f1d89d74348624b57e3233eea247", + "reference": "df4af6a32908f1d89d74348624b57e3233eea247", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.1", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/contracts": "5.8.*", + "nesbot/carbon": "^1.26.3 || ^2.0", + "php": "^7.1.3" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "suggest": { + "illuminate/filesystem": "Required to use the composer class (5.8.*).", + "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "ramsey/uuid": "Required to use Str::uuid() (^3.7).", + "symfony/process": "Required to use the composer class (^4.2).", + "symfony/var-dumper": "Required to use the dd function (^4.2).", + "vlucas/phpdotenv": "Required to use the env helper (^3.3)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "files": [ + "helpers.php" + ], + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2019-12-12T14:16:47+00:00" + }, + { + "name": "jms/metadata", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/metadata.git", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/e5854ab1aa643623dc64adde718a8eec32b957a8", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "doctrine/cache": "~1.0", + "symfony/cache": "~3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Metadata\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + }, + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Class/method/property metadata management in PHP", + "keywords": [ + "annotations", + "metadata", + "xml", + "yaml" + ], + "support": { + "issues": "https://github.com/schmittjoh/metadata/issues", + "source": "https://github.com/schmittjoh/metadata/tree/1.x" + }, + "time": "2018-10-26T12:40:10+00:00" + }, + { + "name": "jms/parser-lib", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/parser-lib.git", + "reference": "4f45952f9fa97d67adc5dd69e7d622fc89a7675d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/4f45952f9fa97d67adc5dd69e7d622fc89a7675d", + "reference": "4f45952f9fa97d67adc5dd69e7d622fc89a7675d", + "shasum": "" + }, + "require": { + "phpoption/phpoption": ">=0.9,<2.0-dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "description": "A library for easily creating recursive-descent parsers.", + "support": { + "issues": "https://github.com/schmittjoh/parser-lib/issues", + "source": "https://github.com/schmittjoh/parser-lib/tree/1.0.1" + }, + "time": "2022-03-19T09:24:56+00:00" + }, + { + "name": "jms/serializer", + "version": "0.16.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/serializer.git", + "reference": "c8a171357ca92b6706e395c757f334902d430ea9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/c8a171357ca92b6706e395c757f334902d430ea9", + "reference": "c8a171357ca92b6706e395c757f334902d430ea9", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "jms/metadata": "~1.1", + "jms/parser-lib": "1.*", + "php": ">=5.3.2", + "phpcollection/phpcollection": "~0.1" + }, + "require-dev": { + "doctrine/orm": "~2.1", + "doctrine/phpcr-odm": "~1.0.1", + "jackalope/jackalope-doctrine-dbal": "1.0.*", + "propel/propel1": "~1.7", + "symfony/filesystem": "2.*", + "symfony/form": "~2.1", + "symfony/translation": "~2.0", + "symfony/validator": "~2.0", + "symfony/yaml": "2.*", + "twig/twig": ">=1.8,<2.0-dev" + }, + "suggest": { + "symfony/yaml": "Required if you'd like to serialize data to YAML format." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.15-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\Serializer": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", + "homepage": "http://jmsyst.com/libs/serializer", + "keywords": [ + "deserialization", + "jaxb", + "json", + "serialization", + "xml" + ], + "support": { + "issues": "https://github.com/schmittjoh/serializer/issues", + "source": "https://github.com/schmittjoh/serializer/tree/master" + }, + "time": "2014-03-18T08:39:00+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/cc84765fb7317f6b07bd8ac78364747f95b86341", + "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341", + "shasum": "" + }, + "require": { + "php": ">=5.3.29" + }, + "require-dev": { + "json-schema/json-schema-test-suite": "1.1.0", + "phpdocumentor/phpdocumentor": "~2", + "phpunit/phpunit": "~3.7" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "support": { + "issues": "https://github.com/justinrainbow/json-schema/issues", + "source": "https://github.com/justinrainbow/json-schema/tree/master" + }, + "time": "2016-01-25T15:43:01+00:00" + }, + { + "name": "kherge/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/kherge-archive/Version.git", + "reference": "f07cf83f8ce533be8f93d2893d96d674bbeb7e30" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kherge-archive/Version/zipball/f07cf83f8ce533be8f93d2893d96d674bbeb7e30", + "reference": "f07cf83f8ce533be8f93d2893d96d674bbeb7e30", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "KevinGH\\Version": "src/lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kevin Herrera", + "email": "me@kevingh.com" + } + ], + "description": "A parsing and comparison library for semantic versioning.", + "homepage": "http://github.com/kherge/Version", + "support": { + "issues": "https://github.com/kherge-archive/Version/issues", + "source": "https://github.com/kherge-archive/Version/tree/1.0.1" + }, + "abandoned": true, + "time": "2012-08-16T17:13:03+00:00" + }, + { + "name": "kylekatarnls/update-helper", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/kylekatarnls/update-helper.git", + "reference": "429be50660ed8a196e0798e5939760f168ec8ce9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kylekatarnls/update-helper/zipball/429be50660ed8a196e0798e5939760f168ec8ce9", + "reference": "429be50660ed8a196e0798e5939760f168ec8ce9", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1.0 || ^2.0.0", + "php": ">=5.3.0" + }, + "require-dev": { + "codeclimate/php-test-reporter": "dev-master", + "composer/composer": "2.0.x-dev || ^2.0.0-dev", + "phpunit/phpunit": ">=4.8.35 <6.0" + }, + "type": "composer-plugin", + "extra": { + "class": "UpdateHelper\\ComposerPlugin" + }, + "autoload": { + "psr-0": { + "UpdateHelper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Update helper", + "support": { + "issues": "https://github.com/kylekatarnls/update-helper/issues", + "source": "https://github.com/kylekatarnls/update-helper/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2020-04-07T20:44:10+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.27.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "904713c5929655dc9b97288b69cfeedad610c9a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1", + "reference": "904713c5929655dc9b97288b69cfeedad610c9a1", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpstan/phpstan": "^0.12.59", + "phpunit/phpunit": "~4.5", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/1.27.1" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2022-06-09T08:53:42+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2022-03-03T13:19:32+00:00" + }, + { + "name": "nesbot/carbon", + "version": "1.39.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "4be0c005164249208ce1b5ca633cd57bdd42ff33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4be0c005164249208ce1b5ca633cd57bdd42ff33", + "reference": "4be0c005164249208ce1b5ca633cd57bdd42ff33", + "shasum": "" + }, + "require": { + "kylekatarnls/update-helper": "^1.1", + "php": ">=5.3.9", + "symfony/translation": "~2.6 || ~3.0 || ~4.0" + }, + "require-dev": { + "composer/composer": "^1.2", + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "^4.8.35 || ^5.7" + }, + "bin": [ + "bin/upgrade-carbon" + ], + "type": "library", + "extra": { + "update-helper": "Carbon\\Upgrade", + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "time": "2019-10-14T05:51:36+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "time": "2023-03-05T19:49:14+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "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/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpcollection/phpcollection", + "version": "0.6.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-collection.git", + "reference": "56d18c8c2c0400f2838703246ac7de919a605763" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/56d18c8c2c0400f2838703246ac7de919a605763", + "reference": "56d18c8c2c0400f2838703246ac7de919a605763", + "shasum": "" + }, + "require": { + "phpoption/phpoption": "1.*" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.4-dev" + } + }, + "autoload": { + "psr-0": { + "PhpCollection": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "General-Purpose Collection Library for PHP", + "keywords": [ + "collection", + "list", + "map", + "sequence", + "set" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-collection/issues", + "source": "https://github.com/schmittjoh/php-collection/tree/0.6.0" + }, + "time": "2022-03-21T13:02:41+00:00" + }, + { + "name": "phpcompatibility/php-compatibility", + "version": "9.3.5", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" + }, + "conflict": { + "squizlabs/php_codesniffer": "2.6.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "homepage": "https://github.com/wimg", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" + } + ], + "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", + "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", + "keywords": [ + "compatibility", + "phpcs", + "standards" + ], + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", + "source": "https://github.com/PHPCompatibility/PHPCompatibility" + }, + "time": "2019-12-27T09:44:58+00:00" + }, + { + "name": "phpdocumentor/fileset", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/Fileset.git", + "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/Fileset/zipball/bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0", + "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/finder": "~2.1" + }, + "require-dev": { + "phpunit/phpunit": "~3.7" + }, + "type": "library", + "autoload": { + "psr-0": { + "phpDocumentor": [ + "src/", + "tests/unit/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Fileset component for collecting a set of files given directories and file paths", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "files", + "fileset", + "phpdoc" + ], + "support": { + "issues": "https://github.com/phpDocumentor/Fileset/issues", + "source": "https://github.com/phpDocumentor/Fileset/tree/master" + }, + "abandoned": true, + "time": "2013-08-06T21:07:42+00:00" + }, + { + "name": "phpdocumentor/graphviz", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/GraphViz.git", + "reference": "a906a90a9f230535f25ea31caf81b2323956283f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/GraphViz/zipball/a906a90a9f230535f25ea31caf81b2323956283f", + "reference": "a906a90a9f230535f25ea31caf81b2323956283f", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "phpDocumentor": [ + "src/", + "tests/unit" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "support": { + "issues": "https://github.com/phpDocumentor/GraphViz/issues", + "source": "https://github.com/phpDocumentor/GraphViz/tree/master" + }, + "time": "2016-02-02T13:00:08+00:00" + }, + { + "name": "phpdocumentor/phpdocumentor", + "version": "v2.8.5", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/phpDocumentor.git", + "reference": "adfb4affa80e8cc0134616f2d2d264dd25c243eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/phpDocumentor/zipball/adfb4affa80e8cc0134616f2d2d264dd25c243eb", + "reference": "adfb4affa80e8cc0134616f2d2d264dd25c243eb", + "shasum": "" + }, + "require": { + "cilex/cilex": "~1.0", + "erusev/parsedown": "~1.0", + "herrera-io/phar-update": "1.0.3", + "jms/serializer": "~0.12", + "monolog/monolog": "~1.6", + "php": ">=5.3.3", + "phpdocumentor/fileset": "~1.0", + "phpdocumentor/graphviz": "~1.0", + "phpdocumentor/reflection": "~1.0", + "phpdocumentor/reflection-docblock": "~2.0", + "symfony/config": "~2.3", + "symfony/console": "~2.3", + "symfony/event-dispatcher": "~2.1", + "symfony/process": "~2.0", + "symfony/stopwatch": "~2.3", + "symfony/validator": "~2.2", + "twig/twig": "~1.3", + "zendframework/zend-cache": "~2.1", + "zendframework/zend-config": "~2.1", + "zendframework/zend-filter": "~2.1", + "zendframework/zend-i18n": "~2.1", + "zendframework/zend-serializer": "~2.1", + "zendframework/zend-servicemanager": "~2.1", + "zendframework/zend-stdlib": "~2.1", + "zetacomponents/document": ">=1.3.1" + }, + "require-dev": { + "behat/behat": "~3.0", + "mikey179/vfsstream": "~1.2", + "mockery/mockery": "~0.9@dev", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.4", + "symfony/expression-language": "~2.4" + }, + "suggest": { + "ext-twig": "Enabling the twig extension improves the generation of twig based templates.", + "ext-xslcache": "Enabling the XSLCache extension improves the generation of xml based templates." + }, + "bin": [ + "bin/phpdoc.php", + "bin/phpdoc" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "2.9-dev" + } + }, + "autoload": { + "psr-0": { + "phpDocumentor": [ + "src/", + "tests/unit/" + ], + "Cilex\\Provider": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Documentation Generator for PHP", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "api", + "application", + "dga", + "documentation", + "phpdoc" + ], + "support": { + "issues": "https://github.com/phpDocumentor/phpDocumentor/issues", + "source": "https://github.com/phpDocumentor/phpDocumentor/tree/v2.8.5" + }, + "time": "2015-07-28T06:36:40+00:00" + }, + { + "name": "phpdocumentor/reflection", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/Reflection.git", + "reference": "7fa71b389e718ea5c33fa0cf0eb45280a4513b7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/7fa71b389e718ea5c33fa0cf0eb45280a4513b7d", + "reference": "7fa71b389e718ea5c33fa0cf0eb45280a4513b7d", + "shasum": "" + }, + "require": { + "nikic/php-parser": ">=0.9", + "php": ">=5.3.3", + "phpdocumentor/reflection-docblock": "2.*@dev", + "psr/log": "~1.0" + }, + "require-dev": { + "behat/behat": "~2.4", + "mockery/mockery": ">=0.7.0", + "phpunit/phpunit": "~3.7" + }, + "type": "library", + "autoload": { + "psr-0": { + "phpDocumentor": [ + "src/", + "tests/unit/", + "tests/mocks/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Reflection library to do Static Analysis for PHP Projects", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/Reflection/issues", + "source": "https://github.com/phpDocumentor/Reflection/tree/master" + }, + "time": "2014-02-16T15:05:27+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "phpDocumentor": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/2.x" + }, + "time": "2016-01-25T08:17:30+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dd3a383e599f49777d8b628dadbb90cae435b87e", + "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2023-02-25T19:38:58+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.26", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.15", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-03-06T12:58:08+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "9125ee085b6d95e78277dc07aa1f46f9e0607b8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9125ee085b6d95e78277dc07aa1f46f9e0607b8d", + "reference": "9125ee085b6d95e78277dc07aa1f46f9e0607b8d", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.4" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2023-02-27T13:06:37+00:00" + }, + { + "name": "pimple/pimple", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", + "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "support": { + "issues": "https://github.com/silexphp/Pimple/issues", + "source": "https://github.com/silexphp/Pimple/tree/v1.1.1" + }, + "time": "2013-11-22T08:30:29+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+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": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T06:03:37+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-02-14T08:28:10+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.9.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "4211420d25eba80712bff236a98960ef68b866b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7", + "reference": "4211420d25eba80712bff236a98960ef68b866b7", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "time": "2022-04-01T13:37:23+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.7.2", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", + "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2023-02-22T23:07:41+00:00" + }, + { + "name": "symfony/config", + "version": "v2.8.52", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "7dd5f5040dc04c118d057fb5886563963eb70011" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/7dd5f5040dc04c118d057fb5886563963eb70011", + "reference": "7dd5f5040dc04c118d057fb5886563963eb70011", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/filesystem": "~2.3|~3.0.0", + "symfony/polyfill-ctype": "~1.8" + }, + "require-dev": { + "symfony/yaml": "~2.7|~3.0.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v2.8.50" + }, + "time": "2018-11-26T09:38:12+00:00" + }, + { + "name": "symfony/console", + "version": "v2.8.52", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", + "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/debug": "^2.7.2|~3.0.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" + }, + "suggest": { + "psr/log-implementation": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/console/tree/v2.8.52" + }, + "time": "2018-11-20T15:55:20+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", + "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/3.0" + }, + "abandoned": "symfony/error-handler", + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v2.8.52", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0", + "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.6|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v2.8.50" + }, + "time": "2018-11-21T14:20:20+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b2da5009d9bacbd91d83486aa1f44c793a8c380d", + "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/3.0" + }, + "time": "2016-07-20T05:43:46+00:00" + }, + { + "name": "symfony/finder", + "version": "v2.8.52", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "1444eac52273e345d9b95129bf914639305a9ba4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/1444eac52273e345d9b95129bf914639305a9ba4", + "reference": "1444eac52273e345d9b95129bf914639305a9ba4", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v2.8.50" + }, + "time": "2018-11-11T11:18:13+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/process", + "version": "v2.8.52", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/c3591a09c78639822b0b290d44edb69bf9f05dc8", + "reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v2.8.50" + }, + "time": "2018-11-11T11:18:13+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v2.8.52", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "752586c80af8a85aeb74d1ae8202411c68836663" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/752586c80af8a85aeb74d1ae8202411c68836663", + "reference": "752586c80af8a85aeb74d1ae8202411c68836663", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Stopwatch Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v2.8.52" + }, + "time": "2018-11-11T11:18:13+00:00" + }, + { + "name": "symfony/translation", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/eee6c664853fd0576f21ae25725cfffeafe83f26", + "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/3.0" + }, + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/validator", + "version": "v2.8.52", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "d5d2090bba3139d8ddb79959fbf516e87238fe3a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/d5d2090bba3139d8ddb79959fbf516e87238fe3a", + "reference": "d5d2090bba3139d8ddb79959fbf516e87238fe3a", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation": "~2.4|~3.0.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "egulias/email-validator": "^1.2.1", + "symfony/config": "~2.2|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/http-foundation": "~2.3|~3.0.0", + "symfony/intl": "~2.7.25|^2.8.18|~3.2.5", + "symfony/property-access": "~2.3|~3.0.0", + "symfony/yaml": "^2.0.5|~3.0.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "symfony/config": "", + "symfony/expression-language": "For using the 2.4 Expression validator", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For using the 2.4 Validator API", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Validator\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Validator Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/validator/tree/v2.8.50" + }, + "time": "2018-11-14T14:06:48+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "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/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + }, + { + "name": "twig/twig", + "version": "v1.44.7", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "0887422319889e442458e48e2f3d9add1a172ad5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/0887422319889e442458e48e2f3d9add1a172ad5", + "reference": "0887422319889e442458e48e2f3d9add1a172ad5", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.44-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v1.44.7" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2022-09-28T08:38:36+00:00" + }, + { + "name": "zendframework/zend-cache", + "version": "2.8.3", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-cache.git", + "reference": "edde41f1ee5c28e01701a032f434d03751b65df4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-cache/zipball/edde41f1ee5c28e01701a032f434d03751b65df4", + "reference": "edde41f1ee5c28e01701a032f434d03751b65df4", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "psr/cache": "^1.0", + "psr/simple-cache": "^1.0", + "zendframework/zend-eventmanager": "^2.6.3 || ^3.2", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "^0.16", + "phpbench/phpbench": "^0.13", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-serializer": "^2.6", + "zendframework/zend-session": "^2.7.4" + }, + "suggest": { + "ext-apc": "APC or compatible extension, to use the APC storage adapter", + "ext-apcu": "APCU >= 5.1.0, to use the APCu storage adapter", + "ext-dba": "DBA, to use the DBA storage adapter", + "ext-memcache": "Memcache >= 2.0.0 to use the Memcache storage adapter", + "ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter", + "ext-mongo": "Mongo, to use MongoDb storage adapter", + "ext-mongodb": "MongoDB, to use the ExtMongoDb storage adapter", + "ext-redis": "Redis, to use Redis storage adapter", + "ext-wincache": "WinCache, to use the WinCache storage adapter", + "ext-xcache": "XCache, to use the XCache storage adapter", + "mongodb/mongodb": "Required for use with the ext-mongodb adapter", + "mongofill/mongofill": "Alternative to ext-mongo - a pure PHP implementation designed as a drop in replacement", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-session": "Zend\\Session component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + }, + "zf": { + "component": "Zend\\Cache", + "config-provider": "Zend\\Cache\\ConfigProvider" + } + }, + "autoload": { + "files": [ + "autoload/patternPluginManagerPolyfill.php" + ], + "psr-4": { + "Zend\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output", + "keywords": [ + "ZendFramework", + "cache", + "psr-16", + "psr-6", + "zf" + ], + "support": { + "chat": "https://zendframework-slack.herokuapp.com", + "docs": "https://docs.zendframework.com/zend-cache/", + "forum": "https://discourse.zendframework.com/c/questions/components", + "issues": "https://github.com/zendframework/zend-cache/issues", + "rss": "https://github.com/zendframework/zend-cache/releases.atom", + "source": "https://github.com/zendframework/zend-cache" + }, + "abandoned": "laminas/laminas-cache", + "time": "2019-08-28T21:34:32+00:00" + }, + { + "name": "zendframework/zend-config", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-config.git", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.5", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", + "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Config\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a nested object property based user interface for accessing this configuration data within application code", + "homepage": "https://github.com/zendframework/zend-config", + "keywords": [ + "config", + "zf2" + ], + "support": { + "issues": "https://github.com/zendframework/zend-config/issues", + "source": "https://github.com/zendframework/zend-config/tree/release-2.6.0" + }, + "abandoned": "laminas/laminas-config", + "time": "2016-02-04T23:01:10+00:00" + }, + { + "name": "zendframework/zend-eventmanager", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "a5e2583a211f73604691586b8406ff7296a946dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd", + "reference": "a5e2583a211f73604691586b8406ff7296a946dd", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "^0.1", + "container-interop/container-interop": "^1.1.0", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0" + }, + "suggest": { + "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev", + "dev-develop": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "event", + "eventmanager", + "events", + "zf2" + ], + "support": { + "issues": "https://github.com/zendframework/zend-eventmanager/issues", + "source": "https://github.com/zendframework/zend-eventmanager/tree/master" + }, + "abandoned": "laminas/laminas-eventmanager", + "time": "2018-04-25T15:33:34+00:00" + }, + { + "name": "zendframework/zend-filter", + "version": "2.9.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-filter.git", + "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/d78f2cdde1c31975e18b2a0753381ed7b61118ef", + "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "conflict": { + "zendframework/zend-validator": "<2.10.1" + }, + "require-dev": { + "pear/archive_tar": "^1.4.3", + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-factory": "^1.0", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-crypt": "^3.2.1", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-uri": "^2.6" + }, + "suggest": { + "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters", + "zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters", + "zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality", + "zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Filter", + "config-provider": "Zend\\Filter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Filter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Programmatically filter and normalize data and files", + "keywords": [ + "ZendFramework", + "filter", + "zf" + ], + "support": { + "chat": "https://zendframework-slack.herokuapp.com", + "docs": "https://docs.zendframework.com/zend-filter/", + "forum": "https://discourse.zendframework.com/c/questions/components", + "issues": "https://github.com/zendframework/zend-filter/issues", + "rss": "https://github.com/zendframework/zend-filter/releases.atom", + "source": "https://github.com/zendframework/zend-filter" + }, + "abandoned": "laminas/laminas-filter", + "time": "2019-08-19T07:08:04+00:00" + }, + { + "name": "zendframework/zend-hydrator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-hydrator.git", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0@dev", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-inputfilter": "^2.6", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, to support aggregate hydrator usage", + "zendframework/zend-filter": "^2.6, to support naming strategy hydrator usage", + "zendframework/zend-serializer": "^2.6.1, to use the SerializableStrategy", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, to support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-1.0": "1.0-dev", + "dev-release-1.1": "1.1-dev", + "dev-master": "2.0-dev", + "dev-develop": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Hydrator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-hydrator", + "keywords": [ + "hydrator", + "zf2" + ], + "support": { + "issues": "https://github.com/zendframework/zend-hydrator/issues", + "source": "https://github.com/zendframework/zend-hydrator/tree/release-1.1" + }, + "abandoned": "laminas/laminas-hydrator", + "time": "2016-02-18T22:38:26+00:00" + }, + { + "name": "zendframework/zend-i18n", + "version": "2.10.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-i18n.git", + "reference": "84038e6a1838b611dcc491b1c40321fa4c3a123c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/84038e6a1838b611dcc491b1c40321fa4c3a123c", + "reference": "84038e6a1838b611dcc491b1c40321fa4c3a123c", + "shasum": "" + }, + "require": { + "ext-intl": "*", + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.3" + }, + "suggest": { + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", + "zendframework/zend-filter": "You should install this package to use the provided filters", + "zendframework/zend-i18n-resources": "Translation resources", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-validator": "You should install this package to use the provided validators", + "zendframework/zend-view": "You should install this package to use the provided view helpers" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\I18n", + "config-provider": "Zend\\I18n\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\I18n\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Provide translations for your application, and filter and validate internationalized values", + "keywords": [ + "ZendFramework", + "i18n", + "zf" + ], + "support": { + "chat": "https://zendframework-slack.herokuapp.com", + "docs": "https://docs.zendframework.com/zend-i18n/", + "forum": "https://discourse.zendframework.com/c/questions/components", + "issues": "https://github.com/zendframework/zend-i18n/issues", + "rss": "https://github.com/zendframework/zend-i18n/releases.atom", + "source": "https://github.com/zendframework/zend-i18n" + }, + "abandoned": "laminas/laminas-i18n", + "time": "2019-12-12T14:08:22+00:00" + }, + { + "name": "zendframework/zend-json", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-json.git", + "reference": "e9ddb1192d93fe7fff846ac895249c39db75132b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-json/zipball/e9ddb1192d93fe7fff846ac895249c39db75132b", + "reference": "e9ddb1192d93fe7fff846ac895249c39db75132b", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "suggest": { + "zendframework/zend-json-server": "For implementing JSON-RPC servers", + "zendframework/zend-xml2json": "For converting XML documents to JSON" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev", + "dev-develop": "3.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Json\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", + "keywords": [ + "ZendFramework", + "json", + "zf" + ], + "support": { + "chat": "https://zendframework-slack.herokuapp.com", + "docs": "https://docs.zendframework.com/zend-json/", + "forum": "https://discourse.zendframework.com/c/questions/components", + "issues": "https://github.com/zendframework/zend-json/issues", + "rss": "https://github.com/zendframework/zend-json/releases.atom", + "source": "https://github.com/zendframework/zend-json" + }, + "abandoned": "laminas/laminas-json", + "time": "2019-10-09T13:56:13+00:00" + }, + { + "name": "zendframework/zend-serializer", + "version": "2.9.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-serializer.git", + "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21", + "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-json": "^2.5 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-math": "^2.6 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-math": "(^2.6 || ^3.0) To support Python Pickle serialization", + "zendframework/zend-servicemanager": "(^2.7.5 || ^3.0.3) To support plugin manager support" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Serializer", + "config-provider": "Zend\\Serializer\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Serializer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Serialize and deserialize PHP structures to a variety of representations", + "keywords": [ + "ZendFramework", + "serializer", + "zf" + ], + "support": { + "chat": "https://zendframework-slack.herokuapp.com", + "docs": "https://docs.zendframework.com/zend-serializer/", + "forum": "https://discourse.zendframework.com/c/questions/components", + "issues": "https://github.com/zendframework/zend-serializer/issues", + "rss": "https://github.com/zendframework/zend-serializer/releases.atom", + "source": "https://github.com/zendframework/zend-serializer" + }, + "abandoned": "laminas/laminas-serializer", + "time": "2019-10-19T08:06:30+00:00" + }, + { + "name": "zendframework/zend-servicemanager", + "version": "2.7.11", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-servicemanager.git", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "dev-master", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-di": "~2.5", + "zendframework/zend-mvc": "~2.5" + }, + "suggest": { + "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", + "zendframework/zend-di": "Zend\\Di component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ServiceManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-servicemanager", + "keywords": [ + "servicemanager", + "zf2" + ], + "support": { + "issues": "https://github.com/zendframework/zend-servicemanager/issues", + "source": "https://github.com/zendframework/zend-servicemanager/tree/release-2.7.11" + }, + "abandoned": "laminas/laminas-servicemanager", + "time": "2018-06-22T14:49:54+00:00" + }, + { + "name": "zendframework/zend-stdlib", + "version": "2.7.7", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-hydrator": "~1.1" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-config": "~2.5", + "zendframework/zend-eventmanager": "~2.5", + "zendframework/zend-filter": "~2.5", + "zendframework/zend-inputfilter": "~2.5", + "zendframework/zend-serializer": "~2.5", + "zendframework/zend-servicemanager": "~2.5" + }, + "suggest": { + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-filter": "To support naming strategy hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-2.7": "2.7-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-stdlib", + "keywords": [ + "stdlib", + "zf2" + ], + "support": { + "issues": "https://github.com/zendframework/zend-stdlib/issues", + "source": "https://github.com/zendframework/zend-stdlib/tree/release-2.7" + }, + "abandoned": "laminas/laminas-stdlib", + "time": "2016-04-12T21:17:31+00:00" + }, + { + "name": "zetacomponents/base", + "version": "1.9.4", + "source": { + "type": "git", + "url": "https://github.com/zetacomponents/Base.git", + "reference": "b6ae5f6177f6e51c5fc3514800e1c3fb076ec4be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zetacomponents/Base/zipball/b6ae5f6177f6e51c5fc3514800e1c3fb076ec4be", + "reference": "b6ae5f6177f6e51c5fc3514800e1c3fb076ec4be", + "shasum": "" + }, + "require-dev": { + "phpunit/php-invoker": "^2.0|^3.1", + "phpunit/phpunit": "~9.0", + "zetacomponents/coding-standard": "dev-main", + "zetacomponents/unit-test": "~1.2.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Sergey Alexeev" + }, + { + "name": "Sebastian Bergmann" + }, + { + "name": "Jan Borsodi" + }, + { + "name": "Raymond Bosman" + }, + { + "name": "Frederik Holljen" + }, + { + "name": "Kore Nordmann" + }, + { + "name": "Derick Rethans" + }, + { + "name": "Vadym Savchuk" + }, + { + "name": "Tobias Schlitt" + }, + { + "name": "Alexandru Stanoi" + } + ], + "description": "The Base package provides the basic infrastructure that all packages rely on. Therefore every component relies on this package.", + "homepage": "https://github.com/zetacomponents", + "support": { + "issues": "https://github.com/zetacomponents/Base/issues", + "source": "https://github.com/zetacomponents/Base/tree/1.9.4" + }, + "time": "2022-11-30T16:16:25+00:00" + }, + { + "name": "zetacomponents/document", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/zetacomponents/Document.git", + "reference": "196884f00871ea7dcbca9ab8bc85716f626e9cc3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zetacomponents/Document/zipball/196884f00871ea7dcbca9ab8bc85716f626e9cc3", + "reference": "196884f00871ea7dcbca9ab8bc85716f626e9cc3", + "shasum": "" + }, + "require": { + "zetacomponents/base": "~1.8" + }, + "require-dev": { + "phpunit/phpunit": "~8.0", + "zetacomponents/unit-test": "*" + }, + "type": "library", + "autoload": { + "classmap": [ + "src" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Sebastian Bergmann" + }, + { + "name": "Kore Nordmann" + }, + { + "name": "Derick Rethans" + }, + { + "name": "Tobias Schlitt" + }, + { + "name": "Alexandru Stanoi" + } + ], + "description": "The Document components provides a general conversion framework for different semantic document markup languages like XHTML, Docbook, RST and similar.", + "homepage": "https://github.com/zetacomponents", + "support": { + "issues": "https://github.com/zetacomponents/Document/issues", + "source": "https://github.com/zetacomponents/Document/tree/1.3.3" + }, + "time": "2022-02-11T17:26:31+00:00" + } + ], + "aliases": [], + "minimum-stability": "beta", + "stability-flags": { + "phpunit/phpunit": 0 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Addon/Storage.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Addon/Storage.php index 4e956ee..6722636 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Addon/Storage.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Addon/Storage.php @@ -7,7 +7,6 @@ class Storage { - /** * @var AbstractModule */ @@ -56,15 +55,10 @@ public function __construct($key) public function get($key = null, $default = null) { if (is_null($key)) { - return $this->data; - } else { - return Arr::get($this->data, $key); - } - } /** @@ -155,9 +149,7 @@ protected function persistData() $storageKey = $this->getStorageKey(); foreach ($this->dataUpdate as $mainKey) { - if (isset($this->data[$mainKey])) { - $data = $this->data[$mainKey]; $row = Capsule::table('tbladdonmodules')->select('id')->where(['module' => $storageKey, 'setting' => $mainKey])->first(); // Determine method @@ -175,9 +167,7 @@ protected function persistData() $this->dataUpdate = []; foreach ($this->dataRemove as $mainKey) { - if (isset($this->data[$mainKey])) { - Capsule::table('tbladdonmodules')->where([['module', $storageKey], ['setting', $mainKey]])->delete(); unset($this->data[$mainKey]); @@ -198,12 +188,12 @@ protected function persistData() */ protected function getStorageKey() { - return $this->storageKey; + return $this->storageKey; } public function setStorageKey($key) { - $this->storageKey = $key; + $this->storageKey = $key; } /** diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Gateway/GatewayStorage.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Gateway/GatewayStorage.php index 2ab7d7c..4343d23 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Gateway/GatewayStorage.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Gateway/GatewayStorage.php @@ -7,7 +7,6 @@ class GatewayStorage extends Fo { - /** * @var AbstractModule */ @@ -57,7 +56,7 @@ public function __construct() */ public function setGateway($gateway) { - $this->storageKey = $gateway; + $this->storageKey = $gateway; } /** @@ -75,9 +74,9 @@ public function get($key, $default = null) public function getAll() { - $this->loadData(); + $this->loadData(); - return $this->data; + return $this->data; } /** @@ -168,9 +167,7 @@ protected function persistData() $storageKey = $this->getStorageKey(); foreach ($this->dataUpdate as $mainKey) { - if (isset($this->data[$mainKey])) { - $data = $this->data[$mainKey]; $row = Capsule::table('tblpaymentgateways')->select('id')->where(['gateway' => $storageKey, 'setting' => $mainKey])->first(); // Determine method @@ -188,9 +185,7 @@ protected function persistData() $this->dataUpdate = []; foreach ($this->dataRemove as $mainKey) { - if (isset($this->data[$mainKey])) { - Capsule::table('tblpaymentgateways')->where([['gateway', $storageKey], ['setting', $mainKey]])->delete(); unset($this->data[$mainKey]); @@ -211,7 +206,7 @@ protected function persistData() */ protected function getStorageKey() { - return $this->storageKey; + return $this->storageKey; } /** diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Helper/Helper.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Helper/Helper.php index dc78f5b..71de7e2 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Helper/Helper.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Helper/Helper.php @@ -13,16 +13,16 @@ class Helper * @return float WHMCS version * @see https://github.com/logical-and/whmcs-module-framework/blob/master/src/Helper.php#L134 */ - public static function getWHMCSVersion() - { - global $CONFIG; - // convert to true float - $version = $CONFIG['Version']; - $version = explode('.', $version); - $version = rtrim(($version[0] . '.' . join('', array_slice($version, 1))), '.'); + public static function getWHMCSVersion() + { + global $CONFIG; + // convert to true float + $version = $CONFIG['Version']; + $version = explode('.', $version); + $version = rtrim(($version[0] . '.' . join('', array_slice($version, 1))), '.'); - return (float) $version; - } + return (float) $version; + } /** * Produce absolute url for given path and arguments @@ -31,31 +31,29 @@ public static function getWHMCSVersion() * @param array $args * @return string */ - public static function getPathUrl($path, array $args = []) - { - global $CONFIG; - $systemUrl = $CONFIG['SystemURL']; + public static function getPathUrl($path, array $args = []) + { + global $CONFIG; + $systemUrl = $CONFIG['SystemURL']; - return rtrim($systemUrl, '/') . + return rtrim($systemUrl, '/') . '/' . ltrim($path, '/') . (!$args ? '' : ('?' . http_build_query($args))); - } + } /** * Get the root dir * @return string root dir */ - public static function getRootDir() - { - return rtrim(ROOTDIR, '/'); - } - - public function getDirectory() - { - // $directory = SymlinkDetective::detectPath(dirname($file)); - // return $directory; - return dirname(\Composer\Factory::getComposerFile()); - } - - + public static function getRootDir() + { + return rtrim(ROOTDIR, '/'); + } + + public function getDirectory() + { + // $directory = SymlinkDetective::detectPath(dirname($file)); + // return $directory; + return dirname(\Composer\Factory::getComposerFile()); + } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Template/Template.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Template/Template.php index 4aa171f..8d99617 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Template/Template.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/Template/Template.php @@ -3,6 +3,7 @@ namespace WHMCSExpert\Template; use Smarty; + // use WHMCSExpert\Helper\Helper; @@ -24,12 +25,12 @@ public function __construct($templateDir) { // $this->_helper = new Helper; - $this->_smarty = new Smarty; - $this->_smarty->caching = false; - $this->_smarty->compile_check = true; - $this->_smarty->debugging = false; - $this->_smarty->template_dir = $templateDir; - $this->_smarty->compile_dir = $GLOBALS['templates_compiledir']; + $this->_smarty = new Smarty(); + $this->_smarty->caching = false; + $this->_smarty->compile_check = true; + $this->_smarty->debugging = false; + $this->_smarty->template_dir = $templateDir; + $this->_smarty->compile_dir = $GLOBALS['templates_compiledir']; // $this->_smarty->cache_dir = dirname(dirname(__DIR__)) . '/templates/cache'; // return $this->smarty = $smarty; diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Exception.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Exception.php index 1f5c71d..47e4d75 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Exception.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Exception.php @@ -1,15 +1,18 @@ _query = $query; $code = (int) $code; parent::__construct($message, $code, $previous); diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/PdoWrapper.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/PdoWrapper.php index d6e10ab..560cd2c 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/PdoWrapper.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/PdoWrapper.php @@ -1,14 +1,16 @@ getPdo() ->prepare($query); @@ -16,31 +18,36 @@ public static function query($query, $params=array()) { return $statement; } - public static function realEscapeString($string) { + public static function realEscapeString($string) + { return substr(DB::connection()->getPdo()->quote($string), 1, -1); } - public static function fetchAssoc($query) { + public static function fetchAssoc($query) + { return $query->fetch(\PDO::FETCH_ASSOC); } - public static function fetchArray($query) { + public static function fetchArray($query) + { return $query->fetch(\PDO::FETCH_BOTH); } - public static function fetchObject($query) { + public static function fetchObject($query) + { return $query->fetch(\PDO::FETCH_OBJ); } - public static function numRows($query) { + public static function numRows($query) + { $query->fetch(\PDO::FETCH_BOTH); return $query->rowCount(); } - public static function insertId() { + public static function insertId() + { return DB::connection() ->getPdo() ->lastInsertId(); } - } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Query.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Query.php index aba76c7..9817d0c 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Query.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Query.php @@ -1,6 +1,7 @@ */ - public static function useCurrentConnection(){ + public static function useCurrentConnection() + { //Use by default PDO in WHMCS 6 and 7 - if(class_exists('\Illuminate\Database\Capsule\Manager') && \Illuminate\Database\Capsule\Manager::connection()->getPdo()) - { + if (class_exists('\Illuminate\Database\Capsule\Manager') && \Illuminate\Database\Capsule\Manager::connection()->getPdo()) { self::$usePDO = true; + self::$_instance = new self(); self::$_instance->connection['default'] = \Illuminate\Database\Capsule\Manager::connection()->getPdo(); - } - else - { + } else { self::$_instance = new self(); self::$_instance->connection['default'] = false; } @@ -82,9 +88,9 @@ public static function useCurrentConnection(){ * @throws main\exception\System * @return boolean */ - public static function connectFromFile($file){ - if(!file_exists($file)) - { + public static function connectFromFile($file) + { + if (!file_exists($file)) { throw new main\mtLibs\exceptions\System('DB Connection File does not exits', main\mtLibs\exceptions\Codes::MYSQL_MISING_CONFIG_FILE); } @@ -92,21 +98,18 @@ public static function connectFromFile($file){ include $file; - foreach($config as $connectionName => $config) - { - if ($config['host']) - { - if(!extension_loaded('PDO')) - { - throw new main\mtLibs\exceptions\System('Missing PDO Extension', main\mtLibs\exceptions\Codes::MYSQL_MISING_PDO_EXTENSION); + foreach ($config as $connectionName => $config) { + if ($config['host']) { + if (!extension_loaded('PDO')) { + throw new main\mtLibs\exceptions\System('Missing PDO Extension', main\mtLibs\exceptions\Codes::MYSQL_MISING_PDO_EXTENSION); } - try{ - self::$_instance->connection[$connectionName] = new \PDO("mysql:host=".$config['host'].";dbname=".$config['name'], $config['user'], $config['pass']); + try { + self::$_instance->connection[$connectionName] = new \PDO("mysql:host=" . $config['host'] . ";dbname=" . $config['name'], $config['user'], $config['pass']); self::$_instance->connection[$connectionName]->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } catch (\Exception $ex) { - throw new main\mtLibs\exceptions\System('SQL Connection Error',exceptions\Codes::MYSQL_CONNECTION_FAILED); + throw new main\mtLibs\exceptions\System('SQL Connection Error', exceptions\Codes::MYSQL_CONNECTION_FAILED); } } } @@ -118,9 +121,9 @@ public static function connectFromFile($file){ * Disconnect all mysql connection * */ - static function dropAllConnection(){ - foreach(self::I()->connection as $name => &$connection) - { + static function dropAllConnection() + { + foreach (self::I()->connection as $name => &$connection) { $connection = null; unset(self::I()->connection[$name]); } @@ -135,44 +138,37 @@ static function dropAllConnection(){ * @return result * @throws main\mtLibs\exceptions\System */ - static function query($query,array $params=array(), $connectionName = 'default') + static function query($query, array $params = array(), $connectionName = 'default') { - if(!isset(self::$_instance->connection[$connectionName])) - { - throw new main\mtLibs\exceptions\System("Connection ".$connectionName.' not exits', main\mtLibs\exceptions\Codes::MYSQL_MISING_CONNECTION); + if (!isset(self::$_instance->connection[$connectionName])) { + throw new main\mtLibs\exceptions\System("Connection " . $connectionName . ' not exits', main\mtLibs\exceptions\Codes::MYSQL_MISING_CONNECTION); } $newParams = array(); - foreach($params as $name => $value) - { - $newParams[':'.$name] = $value; + foreach ($params as $name => $value) { + $newParams[':' . $name] = $value; } $params = $newParams; - try{ + try { $sth = self::$_instance->connection[$connectionName]->prepare($query); $a = $sth->execute($params); } catch (\Exception $ex) { $dQuery = $query; - foreach($params as $n => $v) - { - $dQuery = str_replace($n, "'".$v."'", $dQuery); + foreach ($params as $n => $v) { + $dQuery = str_replace($n, "'" . $v . "'", $dQuery); } - throw new Exception('Error in SQL Query:'.$ex->getMessage(),$dQuery,$ex); + throw new Exception('Error in SQL Query:' . $ex->getMessage(), $dQuery, $ex); } - if(strpos($query, 'insert') !== false || strpos($query, 'INSERT')!== false ) - { + if (strpos($query, 'insert') !== false || strpos($query, 'INSERT') !== false) { $id = self::$_instance->connection[$connectionName]->lastInsertId(); - } - else - { + } else { $id = null; } - return new Result($sth,$id); - + return new Result($sth, $id); } /** @@ -194,17 +190,16 @@ static function dropInstance($connectionName = 'default') * @throws \exception\System * @return int id of new record */ - static function insert($table,array $data, $connectionName = 'default') + static function insert($table, array $data, $connectionName = 'default') { $cols = array(); $valuesLabels = array(); $values = array(); $i = 0; - foreach($data as $col => $value) - { + foreach ($data as $col => $value) { $cols[] = $col; - $colName = 'col'.$i; - $valuesLabels[] = ':'.$colName; + $colName = 'col' . $i; + $valuesLabels[] = ':' . $colName; $values[$colName] = $value; $i++; @@ -215,7 +210,7 @@ static function insert($table,array $data, $connectionName = 'default') $sql = "INSERT INTO $table (`$cols`) VALUES ($valuesLabels)"; - $val = self::query($sql,$values,$connectionName)->getID(); + $val = self::query($sql, $values, $connectionName)->getID(); return $val; } @@ -229,17 +224,16 @@ static function insert($table,array $data, $connectionName = 'default') * @throws \exception\System * @return int id of new record */ - static function insertOnDuplicateUpdate($table,array $data, array $update, $connectionName = 'default') + static function insertOnDuplicateUpdate($table, array $data, array $update, $connectionName = 'default') { $cols = array(); $valuesLabels = array(); $values = array(); $i = 0; - foreach($data as $col => $value) - { + foreach ($data as $col => $value) { $cols[] = $col; - $colName = 'col'.$i; - $valuesLabels[] = ':'.$colName; + $colName = 'col' . $i; + $valuesLabels[] = ':' . $colName; $values[$colName] = $value; $i++; @@ -256,8 +250,7 @@ static function insertOnDuplicateUpdate($table,array $data, array $update, $conn $cols = array(); $valuesLabels = array(); - foreach($update as $col => $value) - { + foreach ($update as $col => $value) { $colName = preg_replace("/[^A-Za-z0-9]/", '', $col); $cols[] = "`$col` = :$colName:"; @@ -267,7 +260,7 @@ static function insertOnDuplicateUpdate($table,array $data, array $update, $conn $sql .= implode(",", $cols); - $val = self::query($sql,$values,$connectionName)->getID(); + $val = self::query($sql, $values, $connectionName)->getID(); return $val; } @@ -282,15 +275,14 @@ static function insertOnDuplicateUpdate($table,array $data, array $update, $conn * @throws \exception\System * @return result */ - static function update($table,array $data,array $condition) + static function update($table, array $data, array $condition) { - $conditionParsed = self::parseConditions($condition,$values); + $conditionParsed = self::parseConditions($condition, $values); $cols = array(); $valuesLabels = array(); - foreach($data as $col => $value) - { + foreach ($data as $col => $value) { $colName = preg_replace("/[^A-Za-z0-9]/", '', $col); $cols[] = "`$col` = :$colName"; @@ -302,12 +294,11 @@ static function update($table,array $data,array $condition) $sql = "UPDATE $table SET $cols "; - if($conditionParsed) - { - $sql .= " WHERE ".$conditionParsed; + if ($conditionParsed) { + $sql .= " WHERE " . $conditionParsed; } - return self::query($sql,$values); + return self::query($sql, $values); } /** @@ -319,18 +310,17 @@ static function update($table,array $data,array $condition) * @throws \exception\System * @return result */ - static function delete($table,array $condition) + static function delete($table, array $condition) { $sql = "DELETE FROM $table"; - $conditionParsed = self::parseConditions($condition,$values); + $conditionParsed = self::parseConditions($condition, $values); - if($conditionParsed) - { - $sql .= " WHERE ".$conditionParsed; + if ($conditionParsed) { + $sql .= " WHERE " . $conditionParsed; } - return self::query($sql,$values); + return self::query($sql, $values); } /** @@ -340,90 +330,64 @@ static function delete($table,array $condition) * @param type $values * @return type */ - static function parseConditions($condition,&$values, $prefix = null, &$i = 0){ + static function parseConditions($condition, &$values, $prefix = null, &$i = 0) + { $conditionParsed = array(); $values = array(); - foreach($condition as $col => $value) - { - if(is_string($col)) - { - if(is_array($value)) - { + foreach ($condition as $col => $value) { + if (is_string($col)) { + if (is_array($value)) { $conditionTmp = array(); - foreach($value as $v) - { - $colName = ':cond'.$i; + foreach ($value as $v) { + $colName = ':cond' . $i; $conditionTmp[] = $colName; - $values['cond'.$i] = $v; + $values['cond' . $i] = $v; $i++; } - if($prefix) - { - $conditionParsed[] = "`$prefix`.`$col` in (".implode(',',$conditionTmp).')'; - } - else - { - $conditionParsed[] = "`$col` in (".implode(',',$conditionTmp).')'; + if ($prefix) { + $conditionParsed[] = "`$prefix`.`$col` in (" . implode(',', $conditionTmp) . ')'; + } else { + $conditionParsed[] = "`$col` in (" . implode(',', $conditionTmp) . ')'; } - } - else - { - $colName = ':cond'.$i; - if($prefix) - { + } else { + $colName = ':cond' . $i; + if ($prefix) { $conditionParsed[] = "`$prefix`.`$col` = $colName"; - } - else - { + } else { $conditionParsed[] = "`$col` = $colName"; } - $values['cond'.$i] = $value; + $values['cond' . $i] = $value; $i++; } - } - elseif(is_array($value) && isset($value['customQuery'])) - { + } elseif (is_array($value) && isset($value['customQuery'])) { $conditionParsed[] = $value['customQuery']; - foreach ($value['params'] as $n => $v) - { + foreach ($value['params'] as $n => $v) { $values[$n] = $v; } - } - else - { + } else { $conditionParsed[] = $value; } - } return implode(' AND ', $conditionParsed); } - static function formatSelectFields($cols,$prefix = null){ - foreach($cols as $name => &$value) - { - if(!is_int($name)) - { - if($prefix) - { + static function formatSelectFields($cols, $prefix = null) + { + foreach ($cols as $name => &$value) { + if (!is_int($name)) { + if ($prefix) { $value = "`$prefix`.`$name` as '$value'"; - } - else - { + } else { $value = "`$name` as '$value'"; } - } - else - { - if($prefix) - { + } else { + if ($prefix) { $value = "`$prefix`.`$value`"; - } - else - { + } else { $value = "`$value`"; } } @@ -433,38 +397,30 @@ static function formatSelectFields($cols,$prefix = null){ return implode(",", $cols); } - static function formatOrderBy($orderBy,$prefix = null){ - if(empty($orderBy)) - { + static function formatOrderBy($orderBy, $prefix = null) + { + if (empty($orderBy)) { return; } $tmp = array(); - foreach($orderBy as $col => $vect) - { - if($prefix) - { - $tmp[] = "`$prefix`.`$col` ".(($vect=='ASC'||$vect=='asc')?'ASC':'DESC'); - } - else - { - $tmp[] = "`$col` ".(($vect=='ASC'||$vect=='asc')?'ASC':'DESC'); + foreach ($orderBy as $col => $vect) { + if ($prefix) { + $tmp[] = "`$prefix`.`$col` " . (($vect == 'ASC' || $vect == 'asc') ? 'ASC' : 'DESC'); + } else { + $tmp[] = "`$col` " . (($vect == 'ASC' || $vect == 'asc') ? 'ASC' : 'DESC'); } } - return " ORDER BY ".implode(',', $tmp); + return " ORDER BY " . implode(',', $tmp); } - static function formarLimit($limit,$offset) + static function formarLimit($limit, $offset) { - if($limit) - { - if($offset) - { + if ($limit) { + if ($offset) { return " LIMIT $offset , $limit "; - } - else - { + } else { return " LIMIT 0 , $limit "; } } @@ -482,18 +438,17 @@ static function formarLimit($limit,$offset) * @throws \exception\System * @return result */ - static function select(array $cols,$table,array $condition = array(),array $orderBy = array(),$limit = null,$offset = 0, $connectionName = 'default') + static function select(array $cols, $table, array $condition = array(), array $orderBy = array(), $limit = null, $offset = 0, $connectionName = 'default') { $cols = self::formatSelectFields($cols); $sql = "SELECT $cols FROM $table"; - $conditionParsed = self::parseConditions($condition,$values); + $conditionParsed = self::parseConditions($condition, $values); - if($conditionParsed) - { - $sql .= " WHERE ".$conditionParsed; + if ($conditionParsed) { + $sql .= " WHERE " . $conditionParsed; } $sql .= self::formatOrderBy($orderBy); @@ -501,7 +456,7 @@ static function select(array $cols,$table,array $condition = array(),array $orde $sql .= self::formarLimit($limit, $offset); - return self::query($sql,$values); + return self::query($sql, $values); } /** @@ -516,40 +471,33 @@ static function select(array $cols,$table,array $condition = array(),array $orde * @throws \exception\System * @return result */ - static function count($colsName,$table,array $condition = array(),array $orderBy = array(),$limit = null,$offset = 0, $connectionName = 'default') + static function count($colsName, $table, array $condition = array(), array $orderBy = array(), $limit = null, $offset = 0, $connectionName = 'default') { $sql = "SELECT count($colsName) as count FROM $table"; - $conditionParsed = self::parseConditions($condition,$values); + $conditionParsed = self::parseConditions($condition, $values); - if($conditionParsed) - { - $sql .= " WHERE ".$conditionParsed; + if ($conditionParsed) { + $sql .= " WHERE " . $conditionParsed; } - if($orderBy) - { + if ($orderBy) { $sql .= " ORDER BY "; $tmp = array(); - foreach($orderBy as $col => $vect) - { + foreach ($orderBy as $col => $vect) { $tmp[] = "`$col` $vect"; } $sql .= implode(',', $tmp); } - if($limit) - { - if($offset) - { + if ($limit) { + if ($offset) { $sql .= " LIMIT $offset , $limit "; - } - else - { + } else { $sql .= " LIMIT 0 , $limit "; } } - return self::query($sql,$values)->fetchColumn('count'); + return self::query($sql, $values)->fetchColumn('count'); } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Result.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Result.php index a75a0bc..fe6c45d 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Result.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/MySQL/Result.php @@ -1,14 +1,15 @@ result->fetch(\PDO::FETCH_BOTH); - if($name) - { + if ($name) { return $data[$name]; - } - else - { + } else { return $data[0]; } } @@ -88,5 +86,4 @@ function getID() { return $this->id; } - } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/Smarty.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/Smarty.php index f853b17..5d25c8c 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/Smarty.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/Smarty.php @@ -1,6 +1,7 @@ _smarty->template_dir)) { if (strlen(self::I()->_smarty->template_dir[0]) > 3) { - $file = self::I()->_smarty->template_dir[0].DS.$template.'.tpl'; + $file = self::I()->_smarty->template_dir[0] . DS . $template . '.tpl'; } else { - $file = $template.'.tpl'; + $file = $template . '.tpl'; } } else { if (strlen(self::I()->_smarty->template_dir) > 3) { - $file = self::I()->_smarty->template_dir.DS.$template.'.tpl'; + $file = self::I()->_smarty->template_dir . DS . $template . '.tpl'; } else { - $file = $template.'.tpl'; + $file = $template . '.tpl'; } } @@ -120,10 +121,10 @@ public function view($template, $vars = array(), $customDir = false) } if (!file_exists($file)) { - throw new exceptions\System('Unable to find Template:'.$file); + throw new exceptions\System('Unable to find Template:' . $file); } - return self::I()->_smarty->fetch($template.'.tpl', uniqid()); + return self::I()->_smarty->fetch($template . '.tpl', uniqid()); } protected function clear() diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Base.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Base.php index 447bf09..cd8b4b5 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Base.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Base.php @@ -1,6 +1,7 @@ _token = md5(microtime()); } - public function getToken(){ + public function getToken() + { return $this->_token; } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Codes.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Codes.php index cdb1780..c863252 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Codes.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/Codes.php @@ -1,6 +1,7 @@ _type = $type; $this->_code = $code; $this->_line = $line; diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/System.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/System.php index dd6b707..b8bbb1d 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/System.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/System.php @@ -1,15 +1,17 @@ fields = $fields; parent::__construct($message); } - function getFields(){ + function getFields() + { return $this->fields; } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/WhmcsAPI.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/WhmcsAPI.php index d44d549..817af22 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/WhmcsAPI.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/exceptions/WhmcsAPI.php @@ -2,13 +2,14 @@ namespace WHMCSExpert\mtLibs\exceptions; - /** * Description of whmcsAPI * */ -class WhmcsAPI extends System{ - function __construct($message, $code = 0, $previous = null) { +class WhmcsAPI extends System +{ + function __construct($message, $code = 0, $previous = null) + { parent::__construct($message, $code, $previous); } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Base.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Base.php index e165be7..ae12756 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Base.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Base.php @@ -64,7 +64,8 @@ function toArray($container = true) $fields = get_class_vars($className); - foreach (explode('\\', $className) as $className) ; + foreach (explode('\\', $className) as $className) { + } $data = array(); @@ -87,35 +88,6 @@ function toArray($container = true) } } - /** - * Encrypt String using Hash from configration - * - * @param string $input - * @return string - */ - function encrypt($input) - { - if (empty($input)) { - return false; - } - - return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, main\mtLibs\process\MainInstance::I()->getEncryptKey(), $input, MCRYPT_MODE_ECB)); - } - - /** - * Decrypt String using Hash from configration - * - * @param string $input - * @return string - */ - function decrypt($input) - { - if (empty($input)) { - return false; - } - - return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, main\mtLibs\process\MainInstance::I()->getEncryptKey(), base64_decode($input), MCRYPT_MODE_ECB)); - } function serialize($input) { @@ -126,4 +98,4 @@ function unserialize($input) { return unserialize(base64_decode($input)); } -} \ No newline at end of file +} diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Orm.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Orm.php index a19dec6..2952af5 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Orm.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Orm.php @@ -1,6 +1,7 @@ name); + '/([A-Z])/D', + function ($params) { + return '_' . strtolower($params[0]); + }, + $property->name + ); } static::$tableStructure[$class]['columns'][$property->name] = $configs; @@ -76,9 +86,13 @@ static function getTableStructure($force = false) foreach (explode(',', $result[1]) as $setting) { $tmp = explode('=', $setting); if (isset($tmp[1])) { - if ($tmp[1] == 'false') $configs[$tmp[0]] = false; - elseif ($tmp[1] == 'true') $configs[$tmp[0]] = true; - else $configs[$tmp[0]] = $tmp[1]; + if ($tmp[1] == 'false') { + $configs[$tmp[0]] = false; + } elseif ($tmp[1] == 'true') { + $configs[$tmp[0]] = true; + } else { + $configs[$tmp[0]] = $tmp[1]; + } } else { $configs[$tmp[0]] = true; } @@ -128,9 +142,9 @@ static function getProperyColumn($property) protected function getRawData($id, $haveToExits = true) { $data = main\mtLibs\MySQL\Query::select( - self::fieldDeclaration() - , self::tableName() - , array( + self::fieldDeclaration(), + self::tableName(), + array( 'id' => $id ) )->fetch(); @@ -145,8 +159,9 @@ protected function getRawData($id, $haveToExits = true) function __construct($id = false, $data = array()) { - if ($id !== false) + if ($id !== false) { $this->id = (int)$id; + } if ($id !== false && empty($data)) { $data = $this->getRawData($id); @@ -161,9 +176,13 @@ function save($data = array()) { foreach (self::fieldDeclaration() as $mysqlName => $field) { - if (isset($data[$field])) continue; + if (isset($data[$field])) { + continue; + } - if (!property_exists($this, $field)) continue; + if (!property_exists($this, $field)) { + continue; + } if (is_numeric($mysqlName)) { $data[$field] = $this->{$field}; @@ -174,16 +193,16 @@ function save($data = array()) if ($this->id) { main\mtLibs\MySQL\Query::update( - self::tableName() - , $data - , array( + self::tableName(), + $data, + array( 'id' => $this->id ) ); } else { $this->id = main\mtLibs\MySQL\Query::insert( - self::tableName() - , $data + self::tableName(), + $data ); } } @@ -192,8 +211,8 @@ function delete() { if ($this->id) { main\mtLibs\MySQL\Query::delete( - self::tableName() - , array( + self::tableName(), + array( 'id' => $this->id ) ); @@ -269,5 +288,4 @@ function setProperties($data) throw new main\mtLibs\exceptions\System(sprintf('Object property "%s" does not exist ', $k), main\mtLibs\exceptions\Codes::MISING_OBJECT_PROPERTY); } } - -} \ No newline at end of file +} diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Repository.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Repository.php index a4e6890..ae2f3ef 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Repository.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/Repository.php @@ -3,7 +3,7 @@ namespace WHMCSExpert\mtLibs\models; use WHMCSExpert as main; -use \WHMCSExpert\mtLibs\MySQL\PdoWrapper; +use WHMCSExpert\mtLibs\MySQL\PdoWrapper; abstract class Repository { @@ -14,23 +14,29 @@ abstract class Repository abstract function getModelClass(); - public function __construct($columns = array(), $search = array()) { - if (!empty($columns)) + public function __construct($columns = array(), $search = array()) + { + if (!empty($columns)) { $this->columns = $columns; + } - if (!empty($search)) + if (!empty($search)) { $this->search = $search; + } } - public function fieldDeclaration(){ + public function fieldDeclaration() + { return forward_static_call(array($this->getModelClass(),'fieldDeclaration')); } - function getPropertyColumn($property){ - return forward_static_call(array($this->getModelClass(),'getPropertyColumn'),$property); + function getPropertyColumn($property) + { + return forward_static_call(array($this->getModelClass(),'getPropertyColumn'), $property); } - public function tableName(){ + public function tableName() + { return forward_static_call(array($this->getModelClass(),'tableName')); } @@ -44,8 +50,9 @@ public function offset($offset) $this->_offest = $offset; } - public function sortBy($field,$vect){ - $column = forward_static_call(array($this->getModelClass(),'getPropertyColumn'),$field); + public function sortBy($field, $vect) + { + $column = forward_static_call(array($this->getModelClass(),'getPropertyColumn'), $field); $this->_order[$column] = $vect; } @@ -53,62 +60,58 @@ public function sortBy($field,$vect){ * * @return orm */ - function get(){ + function get() + { $result = main\mtLibs\MySQL\Query::select( - self::fieldDeclaration() - , self::tableName() - , $this->_filters - , $this->_order - , $this->_limit - , $this->_offest + self::fieldDeclaration(), + self::tableName(), + $this->_filters, + $this->_order, + $this->_limit, + $this->_offest ); $output = array(); $class = $this->getModelClass(); - while($row = $result->fetch()) - { - $output[] = new $class($row['id'],$row); + while ($row = $result->fetch()) { + $output[] = new $class($row['id'], $row); } return $output; } - function count(){ + function count() + { $fields = $this->fieldDeclaration(); $first = key($fields); - if(is_numeric($first)) - { + if (is_numeric($first)) { $first = $fields[$first]; } return main\mtLibs\MySQL\Query::count( - $first - , $this->tableName() - , $this->_filters - , array() - , $this->_limit - , $this->_offest + $first, + $this->tableName(), + $this->_filters, + array(), + $this->_limit, + $this->_offest ); } - function delete(){ - return main\mtLibs\MySQL\Query::delete( - self::tableName() - , $this->_filters - ); - } /** * * @param array $ids * @return main\mtLibs\models\Repository */ - public function idIn(array $ids) { + public function idIn(array $ids) + { - foreach ($ids as &$id) + foreach ($ids as &$id) { $id = (int) $id; + } if (!empty($ids)) { $this->_filters['id'] = $ids; @@ -121,7 +124,8 @@ public function idIn(array $ids) { * * @return Repository */ - public function resetFilters() { + public function resetFilters() + { $this->_filters = array(); $this->_order = array(); $this->_limit = null; @@ -133,23 +137,25 @@ public function resetFilters() { * @return orm * @throws main\mtLibs\exceptions\System */ - public function fetchOne() { + public function fetchOne() + { $result = main\mtLibs\MySQL\Query::select( - self::fieldDeclaration() - , self::tableName() - , $this->_filters - , $this->_order - , 1 - , 0 + self::fieldDeclaration(), + self::tableName(), + $this->_filters, + $this->_order, + 1, + 0 ); $class = $this->getModelClass(); $row = $result->fetch(); - if(empty($row)){ + if (empty($row)) { $criteria = array(); - foreach($this->_filters as $k => $v) - $criteria[]= "{$k}: $v"; + foreach ($this->_filters as $k => $v) { + $criteria[] = "{$k}: $v"; + } $criteria = implode(", ", $criteria); throw new main\mtLibs\exceptions\System("Unable to find '{$class}' with criteria: ({$criteria}) "); } @@ -157,19 +163,23 @@ public function fetchOne() { return new $class($row['id'], $row); } - public function setSearch($search) { - if (!$search) + public function setSearch($search) + { + if (!$search) { return; + } $search = main\mtLibs\MySQL\PdoWrapper::realEscapeString($search); $filter = array(); foreach ($this->search as $value) { $value = str_replace('?', $search, $value); $filter[] = " $value "; } - if (empty($filter)) + if (empty($filter)) { return false; + } $sql = implode("OR", $filter); - if ($sql) + if ($sql) { $this->_filters[] = ' (' . $sql . ') '; + } } -} \ No newline at end of file +} diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/TableConstructor.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/TableConstructor.php index 61f325c..6a7be85 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/TableConstructor.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/models/TableConstructor.php @@ -339,8 +339,6 @@ function dropModels($models) $sql = "select COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME from information_schema.KEY_COLUMN_USAGE where TABLE_NAME = 'table to be checked';"; - } - } -} \ No newline at end of file +} diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractConfiguration.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractConfiguration.php index b7e8e2b..27a4d0d 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractConfiguration.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractConfiguration.php @@ -2,9 +2,8 @@ namespace WHMCSExpert\mtLibs\process; - -abstract class AbstractConfiguration{ - +abstract class AbstractConfiguration +{ public $debug = false; public $systemName = false; @@ -39,18 +38,20 @@ abstract class AbstractConfiguration{ private $_customConfigs = array(); - public function __isset($name) { + public function __isset($name) + { return isset($this->_customConfigs[$name]); } - public function __get($name) { - if(isset($this->_customConfigs[$name])) - { + public function __get($name) + { + if (isset($this->_customConfigs[$name])) { return $this->_customConfigs[$name]; } } - public function __set($name, $value) { + public function __set($name, $value) + { $this->_customConfigs[$name] = $value; } @@ -281,7 +282,7 @@ public function getLocalKeyDays() /** * @param int $allowCheckFailDays */ - public function setAllowCheckFailDays( int $allowCheckFailDays) + public function setAllowCheckFailDays(int $allowCheckFailDays) { $this->allowCheckFailDays = $allowCheckFailDays; } @@ -310,31 +311,38 @@ public function getModelRegister() return $this->modelRegister; } - public function getAddonMenu(){ + public function getAddonMenu() + { return array(); } - public function getAddonWHMCSConfig(){ + public function getAddonWHMCSConfig() + { return array(); } - public function getServerConfigController(){ + public function getServerConfigController() + { return 'configuration'; } - public function getServerActionsController(){ + public function getServerActionsController() + { return 'actions'; } - public function getServerCAController(){ + public function getServerCAController() + { return 'home'; } - public function getAddonAdminController(){ + public function getAddonAdminController() + { return 'actions'; } - public function getAddonCAController(){ + public function getAddonCAController() + { return 'home'; } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractController.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractController.php index 2253b36..362af43 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractController.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractController.php @@ -1,6 +1,7 @@ mgToken = $input['mg-token']; } } @@ -25,7 +27,8 @@ function __construct($input = null) { * @author Michal Czech * @return string */ - function genToken(){ + function genToken() + { return md5(time()); } @@ -36,14 +39,13 @@ function genToken(){ * @param string $token * @return boolean */ - function checkToken($token = null){ - if($token === null) - { + function checkToken($token = null) + { + if ($token === null) { $token = $this->mgToken; } - if($_SESSION['mg-token'] === $token) - { + if ($_SESSION['mg-token'] === $token) { return false; } @@ -52,15 +54,14 @@ function checkToken($token = null){ return true; } - function dataTablesParseRow($template,$data){ - $row = main\mtLibs\Smarty::I()->view($template,$data); + function dataTablesParseRow($template, $data) + { + $row = main\mtLibs\Smarty::I()->view($template, $data); $output = array(); - if(preg_match_all('/\(?P.*?)\<\/td\>/s', $row, $result)) - { - foreach($result['col'] as $col) - { + if (preg_match_all('/\(?P.*?)\<\/td\>/s', $row, $result)) { + foreach ($result['col'] as $col) { $output[] = $col; } } @@ -68,26 +69,27 @@ function dataTablesParseRow($template,$data){ return $output; } - function registerErrors($errors){ + function registerErrors($errors) + { $this->registredValidationErros = $errors; } - function getFieldError($field,$langspace='validationErrors'){ - if(!isset($this->registredValidationErros[$field])) - { + function getFieldError($field, $langspace = 'validationErrors') + { + if (!isset($this->registredValidationErros[$field])) { return false; } $message = array(); - foreach($this->registredValidationErros[$field] as $type) - { - $message[] = main\mtLibs\Lang::absoluteT($langspace,$type); + foreach ($this->registredValidationErros[$field] as $type) { + $message[] = main\mtLibs\Lang::absoluteT($langspace, $type); } - return implode(',',$message); + return implode(',', $message); } - public function isActive(){ + public function isActive() + { return true; } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractMainDriver.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractMainDriver.php index ecc284f..c4e6fbe 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractMainDriver.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/AbstractMainDriver.php @@ -2,7 +2,7 @@ namespace WHMCSExpert\mtLibs\process; -use \WHMCSExpert as main; +use WHMCSExpert as main; use WHMCSExpert\mtLibs; /** @@ -10,13 +10,14 @@ * * @SuppressWarnings(PHPMD) */ -abstract class AbstractMainDriver{ +abstract class AbstractMainDriver +{ /** * Single Ton Instance * * */ - static private $_instance; + private static $_instance; /** * This Var define Debug Mode in Module @@ -65,17 +66,23 @@ abstract class AbstractMainDriver{ /** * Disable Contruct && Clone */ - private final function __construct() {;} - private final function __clone() {;} + final function __construct() + { + ; + } + final function __clone() + { + ; + } /** * Get SingleTon Instance * * @return AbstractMainDriver */ - public static function I($force = false, $configs = array()){ - if(empty(self::$_instance) || $force) - { + public static function I($force = false, $configs = array()) + { + if (empty(self::$_instance) || $force) { $class = get_called_class(); MainInstance::setInstanceName($class); @@ -85,24 +92,21 @@ public static function I($force = false, $configs = array()){ self::$_instance->_mainNamespace = (new \ReflectionClass($class))->getNamespaceName(); self::$_instance->_mainDIR = call_user_func(array($class,'getMainDIR')); - $class= self::$_instance->_mainNamespace.'\Configuration'; + $class = self::$_instance->_mainNamespace . '\Configuration'; self::$_instance->_configuration = new $class(); - foreach($configs as $name => $value) - { + foreach ($configs as $name => $value) { self::$_instance->_configuration->{$name} = $value; } self::$_instance->isLoaded = true; - if(!empty(self::$_instance->_configuration->debug)) - { + if (!empty(self::$_instance->_configuration->debug)) { self::$_instance->_debug = true; } main\mtLibs\MySQL\Query::useCurrentConnection(); - } return self::$_instance; @@ -111,19 +115,21 @@ public static function I($force = false, $configs = array()){ * * @return main\Configuration */ - function configuration(){ + function configuration() + { return $this->_configuration; } - public function isAdmin($status = null){ - if($status !== null) - { + public function isAdmin($status = null) + { + if ($status !== null) { $this->_isAdmin = $status; } return $this->_isAdmin; } - public function isDebug(){ + public function isDebug() + { return $this->_debug; } @@ -132,7 +138,8 @@ public function isDebug(){ * * @return string */ - function getMainNamespace(){ + function getMainNamespace() + { return $this->_mainNamespace; } @@ -141,18 +148,19 @@ function getMainNamespace(){ * * @return string */ - public function getEncryptKey(){ + public function getEncryptKey() + { - if(empty($this->encryptSecureKey)) - { - $this->encryptSecureKey = hash('sha256', $GLOBALS['cc_encryption_hash'].$this->configuration()->encryptHash,TRUE); + if (empty($this->encryptSecureKey)) { + $this->encryptSecureKey = hash('sha256', $GLOBALS['cc_encryption_hash'] . $this->configuration()->encryptHash, true); } return $this->encryptSecureKey; } - function setMainLangContext(){ - mtLibs\Lang::setContext($this->getType().($this->isAdmin()?'AA':'CA')); + function setMainLangContext() + { + mtLibs\Lang::setContext($this->getType() . ($this->isAdmin() ? 'AA' : 'CA')); } /** @@ -165,52 +173,50 @@ function setMainLangContext(){ * @throws main\mtLibs\exceptions\System * @throws main\mtLibs\exceptions\System */ - function runControler($controller,$action = 'index',$input = array(), $type = 'HTML'){ - try{ - $className = $this->getMainNamespace()."\\controllers\\".$this->getType()."\\".($this->_isAdmin?'admin':'clientarea')."\\".$controller; + function runControler($controller, $action = 'index', $input = array(), $type = 'HTML') + { + try { + $className = $this->getMainNamespace() . "\\controllers\\" . $this->getType() . "\\" . ($this->_isAdmin ? 'admin' : 'clientarea') . "\\" . $controller; - if(!class_exists($className)) - { + if (!class_exists($className)) { throw new main\mtLibs\exceptions\System("Unable to find page"); } $controllerOBJ = new $className($input); // display the page or not - if(method_exists($controllerOBJ, "isActive") && !$controllerOBJ->{"isActive"}()) + if (method_exists($controllerOBJ, "isActive") && !$controllerOBJ->{"isActive"}()) { throw new mtLibs\exceptions\System("No access to this page"); + } - if(!method_exists($controllerOBJ, $action.$type)) - { - throw new main\mtLibs\exceptions\System("Unable to find Action: ".$action.$type); + if (!method_exists($controllerOBJ, $action . $type)) { + throw new main\mtLibs\exceptions\System("Unable to find Action: " . $action . $type); } - main\mtLibs\Lang::stagCurrentContext('generate'.$controller); + main\mtLibs\Lang::stagCurrentContext('generate' . $controller); - main\mtLibs\Lang::addToContext(lcfirst ($controller)); + main\mtLibs\Lang::addToContext(lcfirst($controller)); - main\mtLibs\Smarty::I()->setTemplateDir(self::I()->getModuleTemplatesDir().DS.'pages'.DS.lcfirst ($controller)); + main\mtLibs\Smarty::I()->setTemplateDir(self::I()->getModuleTemplatesDir() . DS . 'pages' . DS . lcfirst($controller)); - $result = $controllerOBJ->{$action.$type}($input); + $result = $controllerOBJ->{$action . $type}($input); - switch ($type) - { + switch ($type) { case 'HTML': - if(empty($result['tpl'])) - { + if (empty($result['tpl'])) { throw new main\mtLibs\exceptions\System("Provide Template Name"); } - $success = isset($result['vars']['success'])?$result['vars']['success']:false; - $error = isset($result['vars']['error'])?$result['vars']['error']:false; + $success = isset($result['vars']['success']) ? $result['vars']['success'] : false; + $error = isset($result['vars']['error']) ? $result['vars']['error'] : false; $result = main\mtLibs\Smarty::I()->view($result['tpl'], $result['vars']); - break; + break; default: - $success = isset($result['success'])?$result['success']:false; - $error = isset($result['error'])?$result['error']:false; + $success = isset($result['success']) ? $result['success'] : false; + $error = isset($result['error']) ? $result['error'] : false; } - main\mtLibs\Lang::unstagContext('generate'.$controller); + main\mtLibs\Lang::unstagContext('generate' . $controller); return array( $result @@ -218,7 +224,7 @@ function runControler($controller,$action = 'index',$input = array(), $type = 'H ,$error ); } catch (\Exception $ex) { - main\mtLibs\Lang::unstagContext('generate'.$controller); + main\mtLibs\Lang::unstagContext('generate' . $controller); throw $ex; return false; } @@ -231,8 +237,7 @@ function runControler($controller,$action = 'index',$input = array(), $type = 'H */ static function dump($input) { - if(self::I()->isDebug()) - { + if (self::I()->isDebug()) { echo "
";
             print_r($input);
             echo "
"; @@ -242,14 +247,17 @@ static function dump($input) abstract public function getAssetsURL(); abstract public function getType(); - public static function getMainDIR(){ + public static function getMainDIR() + { return false; } - public static function getUrl(){ + public static function getUrl() + { return false; } - public function isActive(){ + public function isActive() + { return true; } } diff --git a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/MainInstance.php b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/MainInstance.php index 54b4bf9..91746d0 100644 --- a/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/MainInstance.php +++ b/modules/addons/NFEioServiceInvoices/lib/vendor/whmcsexpert/whmcsexpert/src/WHMCSExpert/mtLibs/process/MainInstance.php @@ -1,26 +1,30 @@ timestamp) - { - if (function_exists('ioncube_read_file')) - { - $res = ioncube_read_file($source->filepath); - if (is_int($res)) $res = false; - return $res; - } - else - { - return file_get_contents($source->filepath); - } - } - if ($source instanceof Smarty_Config_Source) - { - throw new SmartyException("Unable to read config {$source->type} '{$source->name}'"); - } - throw new SmartyException("Unable to read template {$source->type} '{$source->name}'"); - } - + public function getContent(Smarty_Template_Source $source) + { + if ($source->timestamp) { + if (function_exists('ioncube_read_file')) { + $res = ioncube_read_file($source->filepath); + if (is_int($res)) { + $res = false; + } + return $res; + } else { + return file_get_contents($source->filepath); + } + } + if ($source instanceof Smarty_Config_Source) { + throw new SmartyException("Unable to read config {$source->type} '{$source->name}'"); + } + throw new SmartyException("Unable to read template {$source->type} '{$source->name}'"); + } } From b3b519a25707b54a801b2c0bc683124cc486ea31 Mon Sep 17 00:00:00 2001 From: Andre Belafronte Date: Wed, 15 Mar 2023 16:24:17 -0300 Subject: [PATCH 2/6] ci: github action para matrix de compatibilidade com PHP --- .github/workflows/php-compatibility.yml | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/php-compatibility.yml diff --git a/.github/workflows/php-compatibility.yml b/.github/workflows/php-compatibility.yml new file mode 100644 index 0000000..a4a4c6f --- /dev/null +++ b/.github/workflows/php-compatibility.yml @@ -0,0 +1,32 @@ +name: PHP Compatibility + +on: + push: + branches: '*' + pull_request: + branches: '*' + +jobs: + test: + name: Test @ PHP ${{ matrix.php-version }} - x86 - ubuntu-latest + if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.actor != 'dependabot[bot]') + strategy: + matrix: + php-version: + - "7.4" + - "8.0" + - "8.1" + - "8.2" + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install Dependencies::PHP${{ matrix.php-version }} + run: | + echo "$HOME/.composer/vendor/bin" >> $GITHUB_PATH + composer global config --no-plugins allow-plugins.dealerdirect/phpcodesniffer-composer-installer true + composer global require dealerdirect/phpcodesniffer-composer-installer roave/security-advisories:dev-master squizlabs/php_codesniffer phpcompatibility/php-compatibility + - name: Check PHP Compatibility + run: phpcs --standard=PHPCompatibility -s -q -n --colors --runtime-set testVersion ${{ matrix.php-version }} --extensions=php,inc,lib --ignore=sdk,node_modules,vendor,templates_c,lang,Legacy,templates,Migrations --severity=3 ./modules/addons/NFEioServiceInvoices + - name: Check PSR12 Standard + run: phpcs --standard=PSR12 -s -q -n --colors --extensions=php,inc,lib --ignore=sdk,node_modules,vendor,templates_c,lang,Legacy,templates,Migrations --severity=3 ./modules/addons/NFEioServiceInvoices \ No newline at end of file From 027a17ff8b8c430ea95780847e4fd3db31a92645 Mon Sep 17 00:00:00 2001 From: Andre Belafronte Date: Wed, 15 Mar 2023 19:43:57 -0300 Subject: [PATCH 3/6] style: phpcbf style fix --- composer.json | 3 +- composer.lock | 59 +++++- .../addons/NFEioServiceInvoices/Loader.php | 11 +- .../NFEioServiceInvoices.php | 15 +- .../addons/NFEioServiceInvoices/callback.php | 3 +- modules/addons/NFEioServiceInvoices/hooks.php | 125 +++++++------ .../addons/NFEioServiceInvoices/lib/Addon.php | 9 +- .../lib/Admin/AdminDispatcher.php | 5 +- .../lib/Admin/Controller.php | 75 +++++--- .../lib/Client/ClientDispatcher.php | 5 +- .../lib/Client/Controller.php | 25 ++- .../lib/Helpers/Invoices.php | 22 ++- .../lib/Hooks/AfterCronJob.php | 17 +- .../lib/Hooks/DailyCronJob.php | 5 +- .../lib/Hooks/InvoiceCreation.php | 3 +- .../lib/Legacy/Functions.php | 173 ++++++++++-------- .../lib/Migrations/Migrations.php | 43 +++-- .../lib/Models/Aliquots/Repository.php | 35 ++-- .../Models/ClientConfiguration/Repository.php | 37 ++-- .../Models/ModuleConfiguration/Repository.php | 16 +- .../lib/Models/ProductCode/Repository.php | 47 ++--- .../lib/Models/ServiceInvoices/Repository.php | 100 +++++----- .../NFEioServiceInvoices/lib/NFEio/Nfe.php | 91 ++++----- .../lib/vendor/autoload.php | 2 +- .../lib/vendor/composer/autoload_real.php | 10 +- .../lib/vendor/composer/autoload_static.php | 8 +- .../lib/vendor/composer/installed.php | 12 +- 27 files changed, 565 insertions(+), 391 deletions(-) diff --git a/composer.json b/composer.json index ba6b84b..8378c10 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,8 @@ "kint-php/kint": "*", "tracy/tracy": "2.7.6", "phpmetrics/phpmetrics": "^2.7", - "illuminate/database": "v5.8.36" + "illuminate/database": "v5.8.36", + "squizlabs/php_codesniffer": "^3.7" }, "config": { "vendor-dir": "modules/addons/NFEioServiceInvoices/lib/vendor", diff --git a/composer.lock b/composer.lock index 81372e5..2bccf72 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": "d9808e6b9e1d8bfa6e5328b40e055441", + "content-hash": "9897988dffebd0816f5a06a49ad9ddcf", "packages": [ { "name": "guzzlehttp/psr7", @@ -2700,6 +2700,63 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.7.2", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", + "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2023-02-22T23:07:41+00:00" + }, { "name": "symfony/deprecation-contracts", "version": "v2.5.2", diff --git a/modules/addons/NFEioServiceInvoices/Loader.php b/modules/addons/NFEioServiceInvoices/Loader.php index 0bda3be..5ddd2e8 100644 --- a/modules/addons/NFEioServiceInvoices/Loader.php +++ b/modules/addons/NFEioServiceInvoices/Loader.php @@ -5,14 +5,14 @@ use \WHMCSExpert as main; -if (!defined('DS')) define('DS', DIRECTORY_SEPARATOR); +if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); +} require_once __DIR__ . DS . 'lib' . DS . 'vendor' . DS . 'autoload.php'; /** * Module Class Loader - * */ if (!class_exists(__NAMESPACE__ . '\Loader')) { @@ -71,7 +71,7 @@ function __construct($dir = null) /** * Load Class File * - * @param string $className + * @param string $className * @return bool * @throws main\mgLibs\exceptions\base * @throws \Exception @@ -113,7 +113,7 @@ static function loader($className) } if ($foundFile) { - require_once $foundFile; + include_once $foundFile; if (!class_exists(__NAMESPACE__ . $originClassName) && !interface_exists(__NAMESPACE__ . $originClassName)) { $error['message'] = 'Unable to find class:' . $originClassName . ' in file:' . $foundFile; @@ -156,8 +156,7 @@ static function listClassesInNamespace($className) if ($handle = opendir($foundFile)) { while (false !== ($entry = readdir($handle))) { - if ( - $entry != "." + if ($entry != "." && $entry != ".." && strpos($entry, '.php') === (strlen($entry) - 4) ) { diff --git a/modules/addons/NFEioServiceInvoices/NFEioServiceInvoices.php b/modules/addons/NFEioServiceInvoices/NFEioServiceInvoices.php index c1d214c..ab25fe0 100644 --- a/modules/addons/NFEioServiceInvoices/NFEioServiceInvoices.php +++ b/modules/addons/NFEioServiceInvoices/NFEioServiceInvoices.php @@ -23,14 +23,15 @@ * @see https://developers.whmcs.com/addon-modules/ * * @copyright Copyright (c) WHMCS Limited 2017 - * @license http://www.whmcs.com/license/ WHMCS Eula + * @license http://www.whmcs.com/license/ WHMCS Eula */ if (!defined("WHMCS")) { die("This file cannot be accessed directly"); } -if(!defined('DS'))define('DS',DIRECTORY_SEPARATOR); +if(!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); +} use \WHMCS\Database\Capsule; @@ -54,7 +55,7 @@ */ function NFEioServiceInvoices_config() { - require_once __DIR__.DS.'Loader.php'; + include_once __DIR__.DS.'Loader.php'; new \NFEioServiceInvoices\Loader(); return \NFEioServiceInvoices\Addon::config(); } @@ -73,7 +74,7 @@ function NFEioServiceInvoices_config() function NFEioServiceInvoices_activate() { - require_once __DIR__.DS.'Loader.php'; + include_once __DIR__.DS.'Loader.php'; new NFEioServiceInvoices\Loader(); return \NFEioServiceInvoices\Addon::activate(); } @@ -91,7 +92,7 @@ function NFEioServiceInvoices_activate() */ function NFEioServiceInvoices_deactivate() { - require_once __DIR__.DS.'Loader.php'; + include_once __DIR__.DS.'Loader.php'; new NFEioServiceInvoices\Loader(); return \NFEioServiceInvoices\Addon::deactivate(); } @@ -108,7 +109,7 @@ function NFEioServiceInvoices_deactivate() */ function NFEioServiceInvoices_upgrade($vars) { - require_once __DIR__.DS.'Loader.php'; + include_once __DIR__.DS.'Loader.php'; new NFEioServiceInvoices\Loader(); \NFEioServiceInvoices\Addon::upgrade($vars); @@ -128,7 +129,7 @@ function NFEioServiceInvoices_upgrade($vars) */ function NFEioServiceInvoices_output($vars) { - require_once __DIR__.DS.'Loader.php'; + include_once __DIR__.DS.'Loader.php'; new \NFEioServiceInvoices\Loader(); \NFEioServiceInvoices\Addon::I()->isAdmin(true); \NFEioServiceInvoices\Addon::I(false, $vars); diff --git a/modules/addons/NFEioServiceInvoices/callback.php b/modules/addons/NFEioServiceInvoices/callback.php index 9cd728a..4d9a175 100644 --- a/modules/addons/NFEioServiceInvoices/callback.php +++ b/modules/addons/NFEioServiceInvoices/callback.php @@ -1,6 +1,7 @@ run(); -}); - -add_hook('InvoicePaid', 1, function ($vars) { - $hook = new \NFEioServiceInvoices\Hooks\InvoicePaid($vars); - $hook->run(); -}); - -add_hook('InvoiceCancelled', 1, function ($vars) { - $legacyHooks = new \NFEioServiceInvoices\Legacy\Hooks(); - $legacyHooks->invoicecancelled($vars); -}); - -add_hook('DailyCronJob', 1, function ($vars) { - $hook = new \NFEioServiceInvoices\Hooks\DailyCronJob(); - $hook->run(); -}); - -add_hook('AfterCronJob', 1, function ($vars) { - $hook = new \NFEioServiceInvoices\Hooks\AfterCronJob(); - $hook->run(); -}); - -add_hook('ProductDelete', 1, function ($vars) { - $legacyHooks = new \NFEioServiceInvoices\Legacy\Hooks(); - $legacyHooks->productdelete($vars); -}); - -add_hook('AdminClientProfileTabFieldsSave', 1, function($vars) { - $functions = new \NFEioServiceInvoices\Legacy\Functions(); - $functions->gnfe_save_client_issue_invoice_cond($vars['userid'], $_REQUEST['issue_note_cond']); -}); - -add_hook('AdminClientProfileTabFields', 1, function($vars) { - $legacyHooks = new \NFEioServiceInvoices\Legacy\Hooks(); - return $legacyHooks->customclientissueinvoice($vars); -}); - -add_hook('AdminInvoicesControlsOutput', 1, function ($vars) { - $hook = new \NFEioServiceInvoices\Hooks\AdminInvoicesControlsOutput($vars); - $hook->run(); - -}); - -add_hook('ClientAreaPageViewInvoice', 1, function($vars) { - $hook = new \NFEioServiceInvoices\Hooks\ClientAreaPageViewInvoice($vars); - return $hook->run(); -}); \ No newline at end of file +add_hook( + 'InvoiceCreation', 1, function ($vars) { + $hook = new \NFEioServiceInvoices\Hooks\InvoiceCreation($vars); + $hook->run(); + } +); + +add_hook( + 'InvoicePaid', 1, function ($vars) { + $hook = new \NFEioServiceInvoices\Hooks\InvoicePaid($vars); + $hook->run(); + } +); + +add_hook( + 'InvoiceCancelled', 1, function ($vars) { + $legacyHooks = new \NFEioServiceInvoices\Legacy\Hooks(); + $legacyHooks->invoicecancelled($vars); + } +); + +add_hook( + 'DailyCronJob', 1, function ($vars) { + $hook = new \NFEioServiceInvoices\Hooks\DailyCronJob(); + $hook->run(); + } +); + +add_hook( + 'AfterCronJob', 1, function ($vars) { + $hook = new \NFEioServiceInvoices\Hooks\AfterCronJob(); + $hook->run(); + } +); + +add_hook( + 'ProductDelete', 1, function ($vars) { + $legacyHooks = new \NFEioServiceInvoices\Legacy\Hooks(); + $legacyHooks->productdelete($vars); + } +); + +add_hook( + 'AdminClientProfileTabFieldsSave', 1, function ($vars) { + $functions = new \NFEioServiceInvoices\Legacy\Functions(); + $functions->gnfe_save_client_issue_invoice_cond($vars['userid'], $_REQUEST['issue_note_cond']); + } +); + +add_hook( + 'AdminClientProfileTabFields', 1, function ($vars) { + $legacyHooks = new \NFEioServiceInvoices\Legacy\Hooks(); + return $legacyHooks->customclientissueinvoice($vars); + } +); + +add_hook( + 'AdminInvoicesControlsOutput', 1, function ($vars) { + $hook = new \NFEioServiceInvoices\Hooks\AdminInvoicesControlsOutput($vars); + $hook->run(); + + } +); + +add_hook( + 'ClientAreaPageViewInvoice', 1, function ($vars) { + $hook = new \NFEioServiceInvoices\Hooks\ClientAreaPageViewInvoice($vars); + return $hook->run(); + } +); \ No newline at end of file diff --git a/modules/addons/NFEioServiceInvoices/lib/Addon.php b/modules/addons/NFEioServiceInvoices/lib/Addon.php index 447c25a..47f38e7 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Addon.php +++ b/modules/addons/NFEioServiceInvoices/lib/Addon.php @@ -9,13 +9,13 @@ /** * Description of Addon * - * * @SuppressWarnings(PHPMD) */ class Addon extends \WHMCSExpert\mtLibs\process\AbstractMainDriver { - public function loadAddonData() { + public function loadAddonData() + { $response = new \stdClass(); @@ -35,8 +35,6 @@ public function loadAddonData() { /** * Load Addon WHMCS Configuration - * - * */ public function loadAddonConfiguration() { @@ -62,7 +60,7 @@ public function loadAddonConfiguration() /** * Return Tempalates Path * - * @param boolean $relative + * @param boolean $relative * @return string */ public static function getModuleTemplatesDir($relative = false) @@ -168,6 +166,7 @@ public static function genJSONUrl($page) /** * Retorna o caminho absoluto do módulo + * * @return string https://dominio.com/diretorio/modules/addons/modulo/ */ public static function getAddonPath() diff --git a/modules/addons/NFEioServiceInvoices/lib/Admin/AdminDispatcher.php b/modules/addons/NFEioServiceInvoices/lib/Admin/AdminDispatcher.php index 9c87841..b00c309 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Admin/AdminDispatcher.php +++ b/modules/addons/NFEioServiceInvoices/lib/Admin/AdminDispatcher.php @@ -5,13 +5,14 @@ /** * Sample Admin Area Dispatch Handler */ -class AdminDispatcher { +class AdminDispatcher +{ /** * Dispatch request. * * @param string $action - * @param array $parameters + * @param array $parameters * * @return string */ diff --git a/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php b/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php index 53d9637..86be2e3 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php +++ b/modules/addons/NFEioServiceInvoices/lib/Admin/Controller.php @@ -2,9 +2,10 @@ namespace NFEioServiceInvoices\Admin; -if (!defined('DS')) define('DS', DIRECTORY_SEPARATOR); +if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); +} -require_once(dirname(dirname(__DIR__)) . DS . 'Loader.php'); +require_once dirname(dirname(__DIR__)) . DS . 'Loader.php'; use NFEioServiceInvoices\CustomFields; use NFEioServiceInvoices\Helpers\Versions; @@ -18,7 +19,8 @@ /** * Sample Admin Area Controller */ -class Controller { +class Controller +{ /** @@ -47,8 +49,10 @@ public function index($vars) $oldVersion = Versions::getOldNfeioModuleVersion(); // se tiver registro de versão antiga define mensagem if ($oldVersion) { - $msg->error("Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. -
Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true); + $msg->error( + "Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. +
Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true + ); } if ($msg->hasMessages()) { @@ -65,7 +69,7 @@ public function index($vars) /** * Exibe a página de configuração do módulo associando qualquer variável padrão ou personalizada ao tpl. * - * @param $vars array parametros do WHMCS + * @param $vars array parametros do WHMCS * @return string|void template de visualização com parametros */ public function configuration($vars) @@ -95,8 +99,10 @@ public function configuration($vars) $oldVersion = Versions::getOldNfeioModuleVersion(); // se tiver registro de versão antiga define mensagem if ($oldVersion) { - $msg->error("Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. -
Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true); + $msg->error( + "Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. +
Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true + ); } if ($msg->hasMessages()) { @@ -112,6 +118,7 @@ public function configuration($vars) /** * Salva as configurações do módulo + * * @param $vars array Parametros do WHMCS */ public function configurationSave($vars) @@ -175,12 +182,18 @@ public function configurationSave($vars) // discount_items $storage->set('discount_items', $discount_items); - if ($api_key) { $storage->set('api_key', $api_key); } - if ($company_id) { $storage->set('company_id', $company_id); } - if ($service_code) { $storage->set('service_code', $service_code); } - if ($rps_number) { $storage->set('rps_number', $rps_number); } - if ($issue_note_default_cond) { $storage->set('issue_note_default_cond', $issue_note_default_cond); } - if ($invoice_details) { $storage->set('InvoiceDetails', $invoice_details); } + if ($api_key) { $storage->set('api_key', $api_key); + } + if ($company_id) { $storage->set('company_id', $company_id); + } + if ($service_code) { $storage->set('service_code', $service_code); + } + if ($rps_number) { $storage->set('rps_number', $rps_number); + } + if ($issue_note_default_cond) { $storage->set('issue_note_default_cond', $issue_note_default_cond); + } + if ($invoice_details) { $storage->set('InvoiceDetails', $invoice_details); + } //if ($footer) { $storage->set('footer', $footer); } $msg->success("Informações atualizadas com sucesso!", "{$moduleLink}&action={$action}"); @@ -193,7 +206,8 @@ public function configurationSave($vars) /** * Exibe a página de configuração de código de serviços e seus parametros - * @param $vars parametros do WHMCS + * + * @param $vars parametros do WHMCS * @return string|void template */ public function servicesCode($vars) @@ -219,8 +233,10 @@ public function servicesCode($vars) $oldVersion = Versions::getOldNfeioModuleVersion(); // se tiver registro de versão antiga define mensagem if ($oldVersion) { - $msg->error("Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. -
Caso você tenha acabado de concluir uma migração para a última versão, desative e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de nptas.", '', true); + $msg->error( + "Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. +
Caso você tenha acabado de concluir uma migração para a última versão, desative e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de nptas.", '', true + ); } if ($msg->hasMessages()) { @@ -236,6 +252,7 @@ public function servicesCode($vars) /** * Salva os códigos de serviços do post + * * @param $vars */ public function servicesCodeSave($vars) @@ -271,6 +288,7 @@ public function servicesCodeSave($vars) /** * Funções legadas da area administrativa + * * @param $vars */ public function legacyFunctions($vars) @@ -376,8 +394,10 @@ public function aliquots($vars) $oldVersion = Versions::getOldNfeioModuleVersion(); // se tiver registro de versão antiga define mensagem if ($oldVersion) { - $msg->error("Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. -
Caso você tenha acabado de concluir uma migração para a última versão, desative e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de nptas.", '', true); + $msg->error( + "Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. +
Caso você tenha acabado de concluir uma migração para a última versão, desative e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de nptas.", '', true + ); } if ($msg->hasMessages()) { @@ -421,9 +441,10 @@ public function aliquotsSave($vars) /** * Reemite as notas fiscais para uma determinada fatura + * * @version 2.1 - * @author Andre Bellafronte - * @param $vars array variáveis do WHMCS + * @author Andre Bellafronte + * @param $vars array variáveis do WHMCS */ public function reissueNf($vars) { @@ -484,8 +505,10 @@ public function support($vars) $oldVersion = Versions::getOldNfeioModuleVersion(); // se tiver registro de versão antiga define mensagem if ($oldVersion) { - $msg->error("Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. -
Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true); + $msg->error( + "Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo com uma nova versão. +
Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true + ); } if ($msg->hasMessages()) { @@ -514,8 +537,10 @@ public function about($vars) $oldVersion = Versions::getOldNfeioModuleVersion(); // se tiver registro de versão antiga define mensagem if ($oldVersion) { - $msg->error("Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo a uma nova versão. - Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true); + $msg->error( + "Atenção: Você está rodando uma versão antiga do módulo ({$oldVersion}) em paralelo a uma nova versão. + Caso você tenha acabado de concluir uma migração para a última versão, desative a versão anterior e remova o antigo diretório addons/gofasnfe imediatamente para evitar duplicidade na geração de notas.", '', true + ); } if ($msg->hasMessages()) { diff --git a/modules/addons/NFEioServiceInvoices/lib/Client/ClientDispatcher.php b/modules/addons/NFEioServiceInvoices/lib/Client/ClientDispatcher.php index bc5d5e5..157ad8f 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Client/ClientDispatcher.php +++ b/modules/addons/NFEioServiceInvoices/lib/Client/ClientDispatcher.php @@ -5,13 +5,14 @@ /** * Sample Client Area Dispatch Handler */ -class ClientDispatcher { +class ClientDispatcher +{ /** * Dispatch request. * * @param string $action - * @param array $parameters + * @param array $parameters * * @return array */ diff --git a/modules/addons/NFEioServiceInvoices/lib/Client/Controller.php b/modules/addons/NFEioServiceInvoices/lib/Client/Controller.php index a4a111d..060446b 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Client/Controller.php +++ b/modules/addons/NFEioServiceInvoices/lib/Client/Controller.php @@ -3,23 +3,27 @@ namespace NFEioServiceInvoices\Client; -if (!defined('DS')) define('DS', DIRECTORY_SEPARATOR); +if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); +} -require_once(dirname(dirname(__DIR__)) . DS . 'Loader.php'); +require_once dirname(dirname(__DIR__)) . DS . 'Loader.php'; /** * Classe responsável pelos controllers da area do cliente + * * @version 2.1 - * @author Andre Bellafronte + * @author Andre Bellafronte */ -class Controller { +class Controller +{ /** * Método para download da NF em PDF na area do cliente. + * * @version 2.1 - * @author Andre Bellafronte - * @param $vars array variável WHMCS - * @return void PDF + * @author Andre Bellafronte + * @param $vars array variável WHMCS + * @return void PDF */ public function downloadNfPdf($vars) { @@ -38,10 +42,11 @@ public function downloadNfPdf($vars) /** * Método para download da NF em XML na area do cliente. + * * @version 2.1 - * @author Andre Bellafronte - * @param $vars array variável WHMCS - * @return void XML + * @author Andre Bellafronte + * @param $vars array variável WHMCS + * @return void XML */ public function downloadNfXml($vars) { diff --git a/modules/addons/NFEioServiceInvoices/lib/Helpers/Invoices.php b/modules/addons/NFEioServiceInvoices/lib/Helpers/Invoices.php index ef5da20..261f86c 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Helpers/Invoices.php +++ b/modules/addons/NFEioServiceInvoices/lib/Helpers/Invoices.php @@ -31,12 +31,12 @@ public static function generateNfServiceDescription($invoiceId, $description) $invoiceUrl = (bool) $storage->get('send_invoice_url'); switch ($invoiceDetails) { - case 'Número da fatura': - $description = "Nota referente a fatura #{$invoiceId}"; - break; - case 'Número da fatura + Nome dos serviços': - $description = "Nota referente a fatura #{$invoiceId}" . "\n" . $description; - break; + case 'Número da fatura': + $description = "Nota referente a fatura #{$invoiceId}"; + break; + case 'Número da fatura + Nome dos serviços': + $description = "Nota referente a fatura #{$invoiceId}" . "\n" . $description; + break; } if ($invoiceUrl) { @@ -54,8 +54,9 @@ public static function generateNfServiceDescription($invoiceId, $description) /** * Calcula o valor de retenção para o ISS - * @param $amount - * @param $issHeld + * + * @param $amount + * @param $issHeld * @return float */ public static function getIssHeldAmount($amount, $issHeld) @@ -67,8 +68,9 @@ public static function getIssHeldAmount($amount, $issHeld) /** * Verifica se uma determinada fatura existe no banco de dados com base no seu ID. - * @param $invoiceId integer ID da fatura - * @return bool true se tiver false se não existir + * + * @param $invoiceId integer ID da fatura + * @return bool true se tiver false se não existir * @version 2.1 */ public static function hasInvoice($invoiceId) diff --git a/modules/addons/NFEioServiceInvoices/lib/Hooks/AfterCronJob.php b/modules/addons/NFEioServiceInvoices/lib/Hooks/AfterCronJob.php index 658ad18..7d5b678 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Hooks/AfterCronJob.php +++ b/modules/addons/NFEioServiceInvoices/lib/Hooks/AfterCronJob.php @@ -6,8 +6,9 @@ /** * Classe com execução das rotinas para o gatilho aftercronjob - * @see https://developers.whmcs.com/hooks-reference/cron/#aftercronjob - * @author Andre Bellafronte + * + * @see https://developers.whmcs.com/hooks-reference/cron/#aftercronjob + * @author Andre Bellafronte * @version 2.1.0 */ class AfterCronJob @@ -46,13 +47,15 @@ public function run() $storage->set('last_cron', $dataAtual); $hasNfWaiting = Capsule::table($serviceInvoicesTable)->whereBetween('created_at', [$initialDate, $dataAtual])->where('status', '=', 'Waiting')->count(); - logModuleCall('NFEioServiceInvoices', 'Hook - AfterCronJob', "{$hasNfWaiting} notas a serem geradas", array( + logModuleCall( + 'NFEioServiceInvoices', 'Hook - AfterCronJob', "{$hasNfWaiting} notas a serem geradas", array( [ 'total de notas' => $hasNfWaiting, 'data atual' => $dataAtual, 'data inicial' => $initialDate, ] - )); + ) + ); if ($hasNfWaiting) { @@ -64,9 +67,11 @@ public function run() $this->nf->emit($invoice); - /**foreach ($getQuery as $invoices) { + /** +* foreach ($getQuery as $invoices) { $this->nf->emit($invoices, $waiting); - }*/ + } +*/ } diff --git a/modules/addons/NFEioServiceInvoices/lib/Hooks/DailyCronJob.php b/modules/addons/NFEioServiceInvoices/lib/Hooks/DailyCronJob.php index e7831a6..5916184 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Hooks/DailyCronJob.php +++ b/modules/addons/NFEioServiceInvoices/lib/Hooks/DailyCronJob.php @@ -6,8 +6,9 @@ /** * Classe com execução das rotinas para o gatilho dailycronjob - * @see https://developers.whmcs.com/hooks-reference/cron/#dailycronjob - * @author Andre Bellafronte + * + * @see https://developers.whmcs.com/hooks-reference/cron/#dailycronjob + * @author Andre Bellafronte * @version 2.1.0 */ class DailyCronJob diff --git a/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php b/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php index 49d59bf..f677f87 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php +++ b/modules/addons/NFEioServiceInvoices/lib/Hooks/InvoiceCreation.php @@ -5,7 +5,8 @@ /** * Class InvoiceCreation * Classe responsável por executar ações quando uma fatura é criada. - * @author Andre Bellafronte + * + * @author Andre Bellafronte * @package NFEioServiceInvoices\Hooks */ class InvoiceCreation diff --git a/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php b/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php index 16650c3..d7e7a9a 100644 --- a/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php +++ b/modules/addons/NFEioServiceInvoices/lib/Legacy/Functions.php @@ -8,7 +8,8 @@ class Functions { - function gnfe_config($set = false) { + function gnfe_config($set = false) + { $_storageKey = Addon::I()->configuration()->storageKey; @@ -28,7 +29,8 @@ function gnfe_config($set = false) { } } - function gnfe_customer($user_id, $client) { + function gnfe_customer($user_id, $client) + { //Determine custom fields id $CPF_id = $this->gnfe_config('cpf_camp'); $CNPJ_id = $this->gnfe_config('cnpj_camp'); @@ -53,9 +55,9 @@ function gnfe_customer($user_id, $client) { $cnpj_customfield_value = preg_replace('/[^0-9]/', '', $customfieldvalue->value); } } - logModuleCall('NFEioServiceInvoices', 'gnfe_customer-cpf', $cpf_customfield_value, '','', ''); - logModuleCall('NFEioServiceInvoices', 'gnfe_customer-cnpj', $cnpj_customfield_value, '','', ''); - logModuleCall('NFEioServiceInvoices', 'gnfe_customer-municipal', $insc_customfield_value, '','', ''); + logModuleCall('NFEioServiceInvoices', 'gnfe_customer-cpf', $cpf_customfield_value, '', '', ''); + logModuleCall('NFEioServiceInvoices', 'gnfe_customer-cnpj', $cnpj_customfield_value, '', '', ''); + logModuleCall('NFEioServiceInvoices', 'gnfe_customer-municipal', $insc_customfield_value, '', '', ''); // Cliente possui CPF e CNPJ // CPF com 1 nº a menos, adiciona 0 antes do documento @@ -119,7 +121,8 @@ function gnfe_customer($user_id, $client) { } } - function gnfe_customfields() { + function gnfe_customfields() + { //Determine custom fields id $customfields = []; foreach (Capsule::table('tblcustomfields')->where('type', '=', 'client')->get(['fieldname', 'id']) as $customfield) { @@ -131,7 +134,8 @@ function gnfe_customfields() { return $customfields; } - function gnfe_customfields_dropdow() { + function gnfe_customfields_dropdow() + { //Determine custom fields id $customfields_array = []; foreach (Capsule::table('tblcustomfields')->where('type', '=', 'client')->get(['fieldname', 'id']) as $customfield) { @@ -152,13 +156,15 @@ function gnfe_customfields_dropdow() { return $dropFieldArray; } - function gnfe_country_code($country) { + function gnfe_country_code($country) + { $array = ['BD' => 'BGD', 'BE' => 'BEL', 'BF' => 'BFA', 'BG' => 'BGR', 'BA' => 'BIH', 'BB' => 'BRB', 'WF' => 'WLF', 'BL' => 'BLM', 'BM' => 'BMU', 'BN' => 'BRN', 'BO' => 'BOL', 'BH' => 'BHR', 'BI' => 'BDI', 'BJ' => 'BEN', 'BT' => 'BTN', 'JM' => 'JAM', 'BV' => 'BVT', 'BW' => 'BWA', 'WS' => 'WSM', 'BQ' => 'BES', 'BR' => 'BRA', 'BS' => 'BHS', 'JE' => 'JEY', 'BY' => 'BLR', 'BZ' => 'BLZ', 'RU' => 'RUS', 'RW' => 'RWA', 'RS' => 'SRB', 'TL' => 'TLS', 'RE' => 'REU', 'TM' => 'TKM', 'TJ' => 'TJK', 'RO' => 'ROU', 'TK' => 'TKL', 'GW' => 'GNB', 'GU' => 'GUM', 'GT' => 'GTM', 'GS' => 'SGS', 'GR' => 'GRC', 'GQ' => 'GNQ', 'GP' => 'GLP', 'JP' => 'JPN', 'GY' => 'GUY', 'GG' => 'GGY', 'GF' => 'GUF', 'GE' => 'GEO', 'GD' => 'GRD', 'GB' => 'GBR', 'GA' => 'GAB', 'SV' => 'SLV', 'GN' => 'GIN', 'GM' => 'GMB', 'GL' => 'GRL', 'GI' => 'GIB', 'GH' => 'GHA', 'OM' => 'OMN', 'TN' => 'TUN', 'JO' => 'JOR', 'HR' => 'HRV', 'HT' => 'HTI', 'HU' => 'HUN', 'HK' => 'HKG', 'HN' => 'HND', 'HM' => 'HMD', 'VE' => 'VEN', 'PR' => 'PRI', 'PS' => 'PSE', 'PW' => 'PLW', 'PT' => 'PRT', 'SJ' => 'SJM', 'PY' => 'PRY', 'IQ' => 'IRQ', 'PA' => 'PAN', 'PF' => 'PYF', 'PG' => 'PNG', 'PE' => 'PER', 'PK' => 'PAK', 'PH' => 'PHL', 'PN' => 'PCN', 'PL' => 'POL', 'PM' => 'SPM', 'ZM' => 'ZMB', 'EH' => 'ESH', 'EE' => 'EST', 'EG' => 'EGY', 'ZA' => 'ZAF', 'EC' => 'ECU', 'IT' => 'ITA', 'VN' => 'VNM', 'SB' => 'SLB', 'ET' => 'ETH', 'SO' => 'SOM', 'ZW' => 'ZWE', 'SA' => 'SAU', 'ES' => 'ESP', 'ER' => 'ERI', 'ME' => 'MNE', 'MD' => 'MDA', 'MG' => 'MDG', 'MF' => 'MAF', 'MA' => 'MAR', 'MC' => 'MCO', 'UZ' => 'UZB', 'MM' => 'MMR', 'ML' => 'MLI', 'MO' => 'MAC', 'MN' => 'MNG', 'MH' => 'MHL', 'MK' => 'MKD', 'MU' => 'MUS', 'MT' => 'MLT', 'MW' => 'MWI', 'MV' => 'MDV', 'MQ' => 'MTQ', 'MP' => 'MNP', 'MS' => 'MSR', 'MR' => 'MRT', 'IM' => 'IMN', 'UG' => 'UGA', 'TZ' => 'TZA', 'MY' => 'MYS', 'MX' => 'MEX', 'IL' => 'ISR', 'FR' => 'FRA', 'IO' => 'IOT', 'SH' => 'SHN', 'FI' => 'FIN', 'FJ' => 'FJI', 'FK' => 'FLK', 'FM' => 'FSM', 'FO' => 'FRO', 'NI' => 'NIC', 'NL' => 'NLD', 'NO' => 'NOR', 'NA' => 'NAM', 'VU' => 'VUT', 'NC' => 'NCL', 'NE' => 'NER', 'NF' => 'NFK', 'NG' => 'NGA', 'NZ' => 'NZL', 'NP' => 'NPL', 'NR' => 'NRU', 'NU' => 'NIU', 'CK' => 'COK', 'XK' => 'XKX', 'CI' => 'CIV', 'CH' => 'CHE', 'CO' => 'COL', 'CN' => 'CHN', 'CM' => 'CMR', 'CL' => 'CHL', 'CC' => 'CCK', 'CA' => 'CAN', 'CG' => 'COG', 'CF' => 'CAF', 'CD' => 'COD', 'CZ' => 'CZE', 'CY' => 'CYP', 'CX' => 'CXR', 'CR' => 'CRI', 'CW' => 'CUW', 'CV' => 'CPV', 'CU' => 'CUB', 'SZ' => 'SWZ', 'SY' => 'SYR', 'SX' => 'SXM', 'KG' => 'KGZ', 'KE' => 'KEN', 'SS' => 'SSD', 'SR' => 'SUR', 'KI' => 'KIR', 'KH' => 'KHM', 'KN' => 'KNA', 'KM' => 'COM', 'ST' => 'STP', 'SK' => 'SVK', 'KR' => 'KOR', 'SI' => 'SVN', 'KP' => 'PRK', 'KW' => 'KWT', 'SN' => 'SEN', 'SM' => 'SMR', 'SL' => 'SLE', 'SC' => 'SYC', 'KZ' => 'KAZ', 'KY' => 'CYM', 'SG' => 'SGP', 'SE' => 'SWE', 'SD' => 'SDN', 'DO' => 'DOM', 'DM' => 'DMA', 'DJ' => 'DJI', 'DK' => 'DNK', 'VG' => 'VGB', 'DE' => 'DEU', 'YE' => 'YEM', 'DZ' => 'DZA', 'US' => 'USA', 'UY' => 'URY', 'YT' => 'MYT', 'UM' => 'UMI', 'LB' => 'LBN', 'LC' => 'LCA', 'LA' => 'LAO', 'TV' => 'TUV', 'TW' => 'TWN', 'TT' => 'TTO', 'TR' => 'TUR', 'LK' => 'LKA', 'LI' => 'LIE', 'LV' => 'LVA', 'TO' => 'TON', 'LT' => 'LTU', 'LU' => 'LUX', 'LR' => 'LBR', 'LS' => 'LSO', 'TH' => 'THA', 'TF' => 'ATF', 'TG' => 'TGO', 'TD' => 'TCD', 'TC' => 'TCA', 'LY' => 'LBY', 'VA' => 'VAT', 'VC' => 'VCT', 'AE' => 'ARE', 'AD' => 'AND', 'AG' => 'ATG', 'AF' => 'AFG', 'AI' => 'AIA', 'VI' => 'VIR', 'IS' => 'ISL', 'IR' => 'IRN', 'AM' => 'ARM', 'AL' => 'ALB', 'AO' => 'AGO', 'AQ' => 'ATA', 'AS' => 'ASM', 'AR' => 'ARG', 'AU' => 'AUS', 'AT' => 'AUT', 'AW' => 'ABW', 'IN' => 'IND', 'AX' => 'ALA', 'AZ' => 'AZE', 'IE' => 'IRL', 'ID' => 'IDN', 'UA' => 'UKR', 'QA' => 'QAT', 'MZ' => 'MOZ']; return $array[$country]; } - function gnfe_ibge($zip) { + function gnfe_ibge($zip) + { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://open.nfe.io/v1/cities/' . $zip . '/postalcode'); curl_setopt($curl, CURLOPT_TIMEOUT, 30); @@ -177,7 +183,8 @@ function gnfe_ibge($zip) { } } - function gnfe_queue_nfe($invoice_id, $create_all = false) { + function gnfe_queue_nfe($invoice_id, $create_all = false) + { $invoice = \WHMCS\Billing\Invoice::find($invoice_id); $itens = $this->get_product_invoice($invoice_id); $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); @@ -203,7 +210,7 @@ function gnfe_queue_nfe($invoice_id, $create_all = false) { if (!$nfe_for_invoice['status'] || $create_all) { $create_all = true; try { - $service_code_row = Capsule::table($_tableName)->where('service_code', '=', $item['code_service'])->where('invoice_id', '=', $invoice_id)->where('status','=','waiting')->get(['id', 'services_amount']); + $service_code_row = Capsule::table($_tableName)->where('service_code', '=', $item['code_service'])->where('invoice_id', '=', $invoice_id)->where('status', '=', 'waiting')->get(['id', 'services_amount']); if (count($service_code_row) == 1) { $mountDB = floatval($service_code_row[0]->services_amount); @@ -222,7 +229,8 @@ function gnfe_queue_nfe($invoice_id, $create_all = false) { return 'success'; } - function gnfe_issue_nfe($postfields) { + function gnfe_issue_nfe($postfields) + { $webhook_url = Addon::getCallBackPath(); $gnfe_webhook_id = $this->gnfe_config('webhook_id'); $_storageKey = Addon::I()->configuration()->storageKey; @@ -231,13 +239,11 @@ function gnfe_issue_nfe($postfields) { if ($gnfe_webhook_id) { $check_webhook = $this->gnfe_check_webhook($gnfe_webhook_id); - if ($check_webhook == null) - { + if ($check_webhook == null) { return (object) ['message' => 'Erro ao checar a existência de um webhook já cadastrado']; } - if ($check_webhook == "ERRO 400" || $check_webhook == "ERRO 404") - { + if ($check_webhook == "ERRO 400" || $check_webhook == "ERRO 404") { $gnfe_webhook_id = null; } } @@ -245,8 +251,7 @@ function gnfe_issue_nfe($postfields) { if ($gnfe_webhook_id and (string) $check_webhook['hooks']['url'] !== (string) $webhook_url) { $delete_webhook = $this->gnfe_delete_webhook($gnfe_webhook_id); - if ($delete_webhook == null) - { + if ($delete_webhook == null) { return (object) ['message' => 'Erro ao deletar webhook que estava com a url divergente']; } @@ -258,8 +263,7 @@ function gnfe_issue_nfe($postfields) { logModuleCall('NFEioServiceInvoices', 'gnfe_issue_nfe - gnfe_create_webhook', $create_webhook, $webhook_url); - if ($create_webhook == null) - { + if ($create_webhook == null) { return (object) ['message' => 'Erro ao criar novo webhook']; } @@ -299,9 +303,11 @@ function gnfe_issue_nfe($postfields) { * * @return array */ - function gnfe_get_company_info($set = false) { + function gnfe_get_company_info($set = false) + { $curl = curl_init(); - curl_setopt_array($curl, [ + curl_setopt_array( + $curl, [ CURLOPT_URL => 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id'), CURLOPT_TIMEOUT => 30, CURLOPT_RETURNTRANSFER => true, @@ -310,7 +316,8 @@ function gnfe_get_company_info($set = false) { 'Accept: application/json', 'Authorization: ' . $this->gnfe_config('api_key') ] - ]); + ] + ); $response = json_decode(curl_exec($curl), true); $response = $response['companies']; @@ -333,9 +340,11 @@ function gnfe_get_company_info($set = false) { /** * Testa a conexão com a API da NFE. + * * @return mixed */ - function gnfe_test_connection() { + function gnfe_test_connection() + { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices'); curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: text/json', 'Accept: application/json', 'Authorization: ' . $this->gnfe_config('api_key')]); @@ -350,7 +359,8 @@ function gnfe_test_connection() { return $info; } - function gnfe_delete_nfe($nf) { + function gnfe_delete_nfe($nf) + { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices/' . $nf); curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: text/json', 'Accept: application/json', 'Authorization: ' . $this->gnfe_config('api_key')]); @@ -363,7 +373,8 @@ function gnfe_delete_nfe($nf) { return json_decode($response); } - function gnfe_email_nfe($nf) { + function gnfe_email_nfe($nf) + { if ('on' == $this->gnfe_config('gnfe_email_nfe_config')) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices/' . $nf . '/sendemail'); @@ -378,7 +389,8 @@ function gnfe_email_nfe($nf) { } } - function gnfe_pdf_nfe($nf) { + function gnfe_pdf_nfe($nf) + { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices/' . $nf . '/pdf'); curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-type: text/json', 'Authorization: ' . $this->gnfe_config('api_key')]); @@ -396,7 +408,8 @@ function gnfe_pdf_nfe($nf) { echo $result; } - function gnfe_xml_nfe($nf) { + function gnfe_xml_nfe($nf) + { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/companies/' . $this->gnfe_config('company_id') . '/serviceinvoices/' . $nf . '/xml'); curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: text/json', 'Authorization: ' . $this->gnfe_config('api_key')]); @@ -415,7 +428,8 @@ function gnfe_xml_nfe($nf) { return $result; } - function gnfe_update_nfe($nfe, $user_id, $invoice_id, $pdf, $created_at, $updated_at, $id_gofasnfeio = false) { + function gnfe_update_nfe($nfe, $user_id, $invoice_id, $pdf, $created_at, $updated_at, $id_gofasnfeio = false) + { $data = [ 'invoice_id' => $invoice_id, 'user_id' => $user_id, @@ -453,11 +467,13 @@ function gnfe_update_nfe($nfe, $user_id, $invoice_id, $pdf, $created_at, $update /** * Returns the data of a invoice from the local WHMCS database. - * @var $invoice_id - * @var $values + * + * @var $invoice_id + * @var $values * @return string */ - function gnfe_get_local_nfe($invoice_id, $values) { + function gnfe_get_local_nfe($invoice_id, $values) + { $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); $_tableName = $serviceInvoicesRepo->tableName(); @@ -468,7 +484,8 @@ function gnfe_get_local_nfe($invoice_id, $values) { return $nfe_for_invoice['0']; } - function gnfe_check_webhook($id) { + function gnfe_check_webhook($id) + { try { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/hooks/' . $id); @@ -479,14 +496,11 @@ function gnfe_check_webhook($id) { $info = curl_getinfo($curl); curl_close($curl); - if(!curl_errno($curl)) - { - if ($info['http_code'] == 200) - { + if(!curl_errno($curl)) { + if ($info['http_code'] == 200) { return json_decode($response, true); } - elseif ($info['http_code'] == 400 || $info['http_code'] == 404) - { + elseif ($info['http_code'] == 400 || $info['http_code'] == 404) { logModuleCall('NFEioServiceInvoices', 'gnfe_check_webhook', $id, "ERRO " . $info['http_code']); return "ERRO " . $info['http_code']; } @@ -501,7 +515,8 @@ function gnfe_check_webhook($id) { return null; } - function gnfe_create_webhook($url) { + function gnfe_create_webhook($url) + { try { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/hooks'); @@ -514,10 +529,8 @@ function gnfe_create_webhook($url) { $info = curl_getinfo($curl); curl_close($curl); - if(!curl_errno($curl)) - { - if ($info['http_code'] == 201) - { + if(!curl_errno($curl)) { + if ($info['http_code'] == 201) { return json_decode($response, true); } else { @@ -531,7 +544,8 @@ function gnfe_create_webhook($url) { return null; } - function gnfe_delete_webhook($id) { + function gnfe_delete_webhook($id) + { try { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.nfe.io/v1/hooks/' . $id); @@ -543,10 +557,8 @@ function gnfe_delete_webhook($id) { $info = curl_getinfo($curl); curl_close($curl); - if(!curl_errno($curl)) - { - if ($info['http_code'] == 200) - { + if(!curl_errno($curl)) { + if ($info['http_code'] == 200) { return json_decode($response, true); } else { @@ -565,10 +577,11 @@ function gnfe_delete_webhook($id) { * Possible values: * CancelFailed, IssueFailed, Issued, Cancelled, PullFromCityHall, WaitingCalculateTaxes, * WaitingDefineRpsNumber, WaitingSend, WaitingSendCancel, WaitingReturn, WaitingDownload - * @param $flowStatus - * @return string + * @param $flowStatus + * @return string */ - function gnfe_nfe_flowStatus($flowStatus) { + function gnfe_nfe_flowStatus($flowStatus) + { if ($flowStatus === 'CancelFailed') { $status = 'Cancelado por Erro'; } @@ -606,7 +619,8 @@ function gnfe_nfe_flowStatus($flowStatus) { return $status; } - function get_product_invoice($invoice_id) { + function get_product_invoice($invoice_id) + { $query = 'SELECT tblinvoiceitems.invoiceid ,tblinvoiceitems.type ,tblinvoiceitems.relid, tblinvoiceitems.description,tblinvoiceitems.amount FROM tblinvoiceitems WHERE tblinvoiceitems.invoiceid = :INVOICEID'; @@ -656,13 +670,14 @@ function get_product_invoice($invoice_id) { return $products_details; } - function update_status_nfe($invoice_id,$status) { + function update_status_nfe($invoice_id,$status) + { $serviceInvoicesRepo = new \NFEioServiceInvoices\Models\ServiceInvoices\Repository(); $_tableName = $serviceInvoicesRepo->tableName(); try { - $return = Capsule::table($_tableName)->where('invoice_id','=',$invoice_id)->update(['status' => $status]); + $return = Capsule::table($_tableName)->where('invoice_id', '=', $invoice_id)->update(['status' => $status]); return $return; } catch (Exception $e) { return $e->getMessage(); @@ -671,10 +686,11 @@ function update_status_nfe($invoice_id,$status) { /** - * @var string $invoiceId vem do arquivo hooks.php. + * @var string $invoiceId vem do arquivo hooks.php. * @return string */ - function gnfe_get_client_issue_invoice_cond_from_invoice_id($invoiceId) { + function gnfe_get_client_issue_invoice_cond_from_invoice_id($invoiceId) + { $clientConfigurationRepo = new \NFEioServiceInvoices\Models\ClientConfiguration\Repository(); $_table = $clientConfigurationRepo->tableName(); @@ -698,10 +714,12 @@ function gnfe_get_client_issue_invoice_cond_from_invoice_id($invoiceId) { /** * Returns a