diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index ede5b6d06c5..8171810e8c8 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '7.4', '8.0', '8.1' ] + php: [ '7.4', '8.0', '8.1', '8.2' ] name: Build Dockerfile PHP ${{ matrix.php }} steps: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 80559059dfd..e57ef5eee9a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,8 +20,8 @@ on: env: # All versions should be declared here PHALCON_VERSION: 5.1.4 - ZEPHIR_PARSER_VERSION: 1.5.1 - ZEPHIR_VERSION: 0.16.3 + ZEPHIR_PARSER_VERSION: 1.5.3 + ZEPHIR_VERSION: 0.17.0 # For tests LANG: en_US.UTF-8 @@ -85,8 +85,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '7.4', '8.0', '8.1' ] -# php: [ '7.4', '8.0', '8.1', '8.2' ] + php: [ '7.4', '8.0', '8.1', '8.2' ] ts: [ 'nts', 'ts' ] arch: [ 'x64' ] @@ -108,8 +107,11 @@ jobs: - { php: '8.0', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } - { php: '8.1', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } - { php: '8.1', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } -# - { php: '8.2', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } -# - { php: '8.2', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } + # Most of the extensions wasn't compiled for PHP 8.2. + # So it is not possible to test in this version, inside Windows OS. + # List of .dlls - https://windows.php.net/downloads/pecl/releases/ + #- { php: '8.2', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } + #- { php: '8.2', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } steps: - uses: actions/checkout@v3 @@ -265,8 +267,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '7.4', '8.0', '8.1' ] -# php: [ '7.4', '8.0', '8.1', '8.2' ] + php: [ '7.4', '8.0', '8.1', '8.2' ] steps: - uses: actions/checkout@v3 diff --git a/composer.lock b/composer.lock index fa005306448..d75d0455e8a 100644 --- a/composer.lock +++ b/composer.lock @@ -1347,32 +1347,35 @@ }, { "name": "doctrine/annotations", - "version": "1.13.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "648b0343343565c4a056bfc8392201385e8d89f0" + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/648b0343343565c4a056bfc8392201385e8d89f0", - "reference": "648b0343343565c4a056bfc8392201385e8d89f0", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", "shasum": "" }, "require": { - "doctrine/lexer": "1.*", + "doctrine/lexer": "^2 || ^3", "ext-tokenizer": "*", - "php": "^7.1 || ^8.0", + "php": "^7.2 || ^8.0", "psr/cache": "^1 || ^2 || ^3" }, "require-dev": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^6.0 || ^8.1", - "phpstan/phpstan": "^1.4.10 || ^1.8.0", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", - "symfony/cache": "^4.4 || ^5.2", + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^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": { @@ -1414,36 +1417,79 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.3" + "source": "https://github.com/doctrine/annotations/tree/2.0.1" + }, + "time": "2023-02-02T22:02:53+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" + } }, - "time": "2022-07-02T10:48:51+00:00" + "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/instantiator", - "version": "1.4.1", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", + "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", + "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.22" + "vimeo/psalm": "^4.30 || ^5.4" }, "type": "library", "autoload": { @@ -1470,7 +1516,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.1" + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" }, "funding": [ { @@ -1486,35 +1532,37 @@ "type": "tidelift" } ], - "time": "2022-03-03T08:28:38+00:00" + "time": "2022-12-30T00:15:36+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.3", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "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.0", + "doctrine/coding-standard": "^9 || ^10", "phpstan/phpstan": "^1.3", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.11" + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^4.11 || ^5.0" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1546,7 +1594,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.3" + "source": "https://github.com/doctrine/lexer/tree/2.1.0" }, "funding": [ { @@ -1562,7 +1610,7 @@ "type": "tidelift" } ], - "time": "2022-02-28T11:07:21+00:00" + "time": "2022-12-14T08:49:07+00:00" }, { "name": "felixfbecker/advanced-json-rpc", @@ -1667,51 +1715,52 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.13.0", + "version": "v3.14.4", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "a6232229a8309e8811dc751c28b91cb34b2943e1" + "reference": "1b3d9dba63d93b8a202c31e824748218781eae6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a6232229a8309e8811dc751c28b91cb34b2943e1", - "reference": "a6232229a8309e8811dc751c28b91cb34b2943e1", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/1b3d9dba63d93b8a202c31e824748218781eae6b", + "reference": "1b3d9dba63d93b8a202c31e824748218781eae6b", "shasum": "" }, "require": { - "composer/semver": "^3.2", + "composer/semver": "^3.3", "composer/xdebug-handler": "^3.0.3", - "doctrine/annotations": "^1.13", + "doctrine/annotations": "^2", + "doctrine/lexer": "^2 || ^3", "ext-json": "*", "ext-tokenizer": "*", "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0", + "sebastian/diff": "^4.0 || ^5.0", "symfony/console": "^5.4 || ^6.0", "symfony/event-dispatcher": "^5.4 || ^6.0", "symfony/filesystem": "^5.4 || ^6.0", "symfony/finder": "^5.4 || ^6.0", "symfony/options-resolver": "^5.4 || ^6.0", - "symfony/polyfill-mbstring": "^1.23", - "symfony/polyfill-php80": "^1.25", - "symfony/polyfill-php81": "^1.25", + "symfony/polyfill-mbstring": "^1.27", + "symfony/polyfill-php80": "^1.27", + "symfony/polyfill-php81": "^1.27", "symfony/process": "^5.4 || ^6.0", "symfony/stopwatch": "^5.4 || ^6.0" }, "require-dev": { "justinrainbow/json-schema": "^5.2", "keradus/cli-executor": "^2.0", - "mikey179/vfsstream": "^1.6.10", - "php-coveralls/php-coveralls": "^2.5.2", + "mikey179/vfsstream": "^1.6.11", + "php-coveralls/php-coveralls": "^2.5.3", "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", - "phpspec/prophecy": "^1.15", + "phpspec/prophecy": "^1.16", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", "phpunitgoodpractices/polyfill": "^1.6", "phpunitgoodpractices/traits": "^1.9.2", - "symfony/phpunit-bridge": "^6.0", + "symfony/phpunit-bridge": "^6.2.3", "symfony/yaml": "^5.4 || ^6.0" }, "suggest": { @@ -1744,7 +1793,7 @@ "description": "A tool to automatically fix PHP code style", "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.13.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.14.4" }, "funding": [ { @@ -1752,7 +1801,7 @@ "type": "github" } ], - "time": "2022-10-31T19:28:50+00:00" + "time": "2023-02-09T21:49:13+00:00" }, { "name": "graham-campbell/result-type", @@ -2149,16 +2198,16 @@ }, { "name": "monolog/monolog", - "version": "2.8.0", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50" + "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1", + "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1", "shasum": "" }, "require": { @@ -2173,7 +2222,7 @@ "doctrine/couchdb": "~1.0@dev", "elasticsearch/elasticsearch": "^7 || ^8", "ext-json": "*", - "graylog2/gelf-php": "^1.4.2", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", "guzzlehttp/guzzle": "^7.4", "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", @@ -2235,7 +2284,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.8.0" + "source": "https://github.com/Seldaek/monolog/tree/2.9.1" }, "funding": [ { @@ -2247,7 +2296,7 @@ "type": "tidelift" } ], - "time": "2022-07-24T11:55:47+00:00" + "time": "2023-02-06T13:44:46+00:00" }, { "name": "mustache/mustache", @@ -2360,16 +2409,16 @@ }, { "name": "netresearch/jsonmapper", - "version": "v4.0.0", + "version": "v4.1.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d" + "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", - "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", + "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", "shasum": "" }, "require": { @@ -2405,22 +2454,22 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0" + "source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0" }, - "time": "2020-12-01T19:48:11+00:00" + "time": "2022-12-08T20:46:14+00:00" }, { "name": "nikic/php-parser", - "version": "v4.15.2", + "version": "v4.15.3", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" + "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", - "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039", + "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039", "shasum": "" }, "require": { @@ -2461,9 +2510,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3" }, - "time": "2022-11-12T15:38:23+00:00" + "time": "2023-01-16T22:05:37+00:00" }, { "name": "openlss/lib-array2xml", @@ -3026,16 +3075,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.19", + "version": "9.2.24", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "c77b56b63e3d2031bd8997fcec43c1925ae46559" + "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c77b56b63e3d2031bd8997fcec43c1925ae46559", - "reference": "c77b56b63e3d2031bd8997fcec43c1925ae46559", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed", + "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed", "shasum": "" }, "require": { @@ -3091,7 +3140,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.19" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24" }, "funding": [ { @@ -3099,7 +3148,7 @@ "type": "github" } ], - "time": "2022-11-18T07:47:47+00:00" + "time": "2023-01-26T08:26:55+00:00" }, { "name": "phpunit/php-file-iterator", @@ -3344,20 +3393,20 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.26", + "version": "9.6.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + "reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555", + "reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1", + "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -3395,7 +3444,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.5-dev" + "dev-master": "9.6-dev" } }, "autoload": { @@ -3426,7 +3475,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3" }, "funding": [ { @@ -3442,7 +3491,7 @@ "type": "tidelift" } ], - "time": "2022-10-28T06:00:21+00:00" + "time": "2023-02-04T13:37:15+00:00" }, { "name": "predis/predis", @@ -4277,16 +4326,16 @@ }, { "name": "sebastian/environment", - "version": "5.1.4", + "version": "5.1.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", "shasum": "" }, "require": { @@ -4328,7 +4377,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" }, "funding": [ { @@ -4336,7 +4385,7 @@ "type": "github" } ], - "time": "2022-04-03T09:37:03+00:00" + "time": "2023-02-03T06:03:51+00:00" }, { "name": "sebastian/exporter", @@ -4650,16 +4699,16 @@ }, { "name": "sebastian/recursion-context", - "version": "4.0.4", + "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", "shasum": "" }, "require": { @@ -4698,10 +4747,10 @@ } ], "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "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.4" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" }, "funding": [ { @@ -4709,7 +4758,7 @@ "type": "github" } ], - "time": "2020-10-26T13:17:30+00:00" + "time": "2023-02-03T06:07:39+00:00" }, { "name": "sebastian/resource-operations", @@ -4768,16 +4817,16 @@ }, { "name": "sebastian/type", - "version": "3.2.0", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e" + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", "shasum": "" }, "require": { @@ -4812,7 +4861,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" }, "funding": [ { @@ -4820,7 +4869,7 @@ "type": "github" } ], - "time": "2022-09-12T14:47:03+00:00" + "time": "2023-02-03T06:13:03+00:00" }, { "name": "sebastian/version", @@ -4933,16 +4982,16 @@ }, { "name": "symfony/browser-kit", - "version": "v5.4.11", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "081fe28a26b6bd671dea85ef3a4b5003f3c88027" + "reference": "572b9e03741051b97c316f65f8c361eed08fdb14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/081fe28a26b6bd671dea85ef3a4b5003f3c88027", - "reference": "081fe28a26b6bd671dea85ef3a4b5003f3c88027", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/572b9e03741051b97c316f65f8c361eed08fdb14", + "reference": "572b9e03741051b97c316f65f8c361eed08fdb14", "shasum": "" }, "require": { @@ -4985,7 +5034,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v5.4.11" + "source": "https://github.com/symfony/browser-kit/tree/v5.4.19" }, "funding": [ { @@ -5001,20 +5050,20 @@ "type": "tidelift" } ], - "time": "2022-07-27T15:50:05+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/console", - "version": "v5.4.16", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" + "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef", - "reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef", + "url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740", + "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740", "shasum": "" }, "require": { @@ -5084,7 +5133,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.16" + "source": "https://github.com/symfony/console/tree/v5.4.19" }, "funding": [ { @@ -5100,20 +5149,20 @@ "type": "tidelift" } ], - "time": "2022-11-25T14:09:27+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.11", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "c1681789f059ab756001052164726ae88512ae3d" + "reference": "f4a7d150f5b9e8f974f6f127d8167e420d11fc62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d", - "reference": "c1681789f059ab756001052164726ae88512ae3d", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f4a7d150f5b9e8f974f6f127d8167e420d11fc62", + "reference": "f4a7d150f5b9e8f974f6f127d8167e420d11fc62", "shasum": "" }, "require": { @@ -5150,7 +5199,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.11" + "source": "https://github.com/symfony/css-selector/tree/v5.4.19" }, "funding": [ { @@ -5166,7 +5215,7 @@ "type": "tidelift" } ], - "time": "2022-06-27T16:58:25+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5237,16 +5286,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v5.4.15", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "b8fd0ff9a0f00d944f1534f6d21e84f92eda7258" + "reference": "224a1820e7669babdd85970230ed72bd6e342ad4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b8fd0ff9a0f00d944f1534f6d21e84f92eda7258", - "reference": "b8fd0ff9a0f00d944f1534f6d21e84f92eda7258", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/224a1820e7669babdd85970230ed72bd6e342ad4", + "reference": "224a1820e7669babdd85970230ed72bd6e342ad4", "shasum": "" }, "require": { @@ -5292,7 +5341,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v5.4.15" + "source": "https://github.com/symfony/dom-crawler/tree/v5.4.19" }, "funding": [ { @@ -5308,20 +5357,20 @@ "type": "tidelift" } ], - "time": "2022-10-27T08:04:35+00:00" + "time": "2023-01-14T19:14:44+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.9", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" + "reference": "abf49cc084c087d94b4cb939c3f3672971784e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", - "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/abf49cc084c087d94b4cb939c3f3672971784e0c", + "reference": "abf49cc084c087d94b4cb939c3f3672971784e0c", "shasum": "" }, "require": { @@ -5377,7 +5426,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.9" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.19" }, "funding": [ { @@ -5393,7 +5442,7 @@ "type": "tidelift" } ], - "time": "2022-05-05T16:45:39+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -5476,16 +5525,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.13", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "ac09569844a9109a5966b9438fc29113ce77cf51" + "reference": "648bfaca6a494f3e22378123bcee2894045dc9d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/ac09569844a9109a5966b9438fc29113ce77cf51", - "reference": "ac09569844a9109a5966b9438fc29113ce77cf51", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/648bfaca6a494f3e22378123bcee2894045dc9d8", + "reference": "648bfaca6a494f3e22378123bcee2894045dc9d8", "shasum": "" }, "require": { @@ -5520,7 +5569,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.13" + "source": "https://github.com/symfony/filesystem/tree/v5.4.19" }, "funding": [ { @@ -5536,20 +5585,20 @@ "type": "tidelift" } ], - "time": "2022-09-21T19:53:16+00:00" + "time": "2023-01-14T19:14:44+00:00" }, { "name": "symfony/finder", - "version": "v5.4.11", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c" + "reference": "6071aebf810ad13fe8200c224f36103abb37cf1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c", + "url": "https://api.github.com/repos/symfony/finder/zipball/6071aebf810ad13fe8200c224f36103abb37cf1f", + "reference": "6071aebf810ad13fe8200c224f36103abb37cf1f", "shasum": "" }, "require": { @@ -5583,7 +5632,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.11" + "source": "https://github.com/symfony/finder/tree/v5.4.19" }, "funding": [ { @@ -5599,20 +5648,20 @@ "type": "tidelift" } ], - "time": "2022-07-29T07:37:50+00:00" + "time": "2023-01-14T19:14:44+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.11", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690" + "reference": "b03c99236445492f20c61666e8f7e5d388b078e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/54f14e36aa73cb8f7261d7686691fd4d75ea2690", - "reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b03c99236445492f20c61666e8f7e5d388b078e5", + "reference": "b03c99236445492f20c61666e8f7e5d388b078e5", "shasum": "" }, "require": { @@ -5652,7 +5701,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.11" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.19" }, "funding": [ { @@ -5668,7 +5717,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:00:38+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/polyfill-ctype", @@ -6243,16 +6292,16 @@ }, { "name": "symfony/process", - "version": "v5.4.11", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1" + "reference": "c5ba874c9b636dbccf761e22ce750e88ec3f55e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1", - "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1", + "url": "https://api.github.com/repos/symfony/process/zipball/c5ba874c9b636dbccf761e22ce750e88ec3f55e1", + "reference": "c5ba874c9b636dbccf761e22ce750e88ec3f55e1", "shasum": "" }, "require": { @@ -6285,7 +6334,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.11" + "source": "https://github.com/symfony/process/tree/v5.4.19" }, "funding": [ { @@ -6301,7 +6350,7 @@ "type": "tidelift" } ], - "time": "2022-06-27T16:58:25+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/service-contracts", @@ -6388,16 +6437,16 @@ }, { "name": "symfony/stopwatch", - "version": "v5.4.13", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "6df7a3effde34d81717bbef4591e5ffe32226d69" + "reference": "bd2b066090fd6a67039371098fa25a84cb2679ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/6df7a3effde34d81717bbef4591e5ffe32226d69", - "reference": "6df7a3effde34d81717bbef4591e5ffe32226d69", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/bd2b066090fd6a67039371098fa25a84cb2679ec", + "reference": "bd2b066090fd6a67039371098fa25a84cb2679ec", "shasum": "" }, "require": { @@ -6430,7 +6479,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.4.13" + "source": "https://github.com/symfony/stopwatch/tree/v5.4.19" }, "funding": [ { @@ -6446,20 +6495,20 @@ "type": "tidelift" } ], - "time": "2022-09-28T13:19:49+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/string", - "version": "v5.4.15", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" + "reference": "0a01071610fd861cc160dfb7e2682ceec66064cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed", - "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed", + "url": "https://api.github.com/repos/symfony/string/zipball/0a01071610fd861cc160dfb7e2682ceec66064cb", + "reference": "0a01071610fd861cc160dfb7e2682ceec66064cb", "shasum": "" }, "require": { @@ -6516,7 +6565,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.15" + "source": "https://github.com/symfony/string/tree/v5.4.19" }, "funding": [ { @@ -6532,20 +6581,20 @@ "type": "tidelift" } ], - "time": "2022-10-05T15:16:54+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.16", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "ebd37c71f62d5ec5f6e27de3e06fee492d4c6298" + "reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/ebd37c71f62d5ec5f6e27de3e06fee492d4c6298", - "reference": "ebd37c71f62d5ec5f6e27de3e06fee492d4c6298", + "url": "https://api.github.com/repos/symfony/yaml/zipball/71c05db20cb9b54d381a28255f17580e2b7e36a5", + "reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5", "shasum": "" }, "require": { @@ -6591,7 +6640,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.16" + "source": "https://github.com/symfony/yaml/tree/v5.4.19" }, "funding": [ { @@ -6607,7 +6656,7 @@ "type": "tidelift" } ], - "time": "2022-11-25T16:04:03+00:00" + "time": "2023-01-10T18:51:14+00:00" }, { "name": "theseer/tokenizer", diff --git a/ext/kernel/backtrace.c b/ext/kernel/backtrace.c index 994d9fcee9d..3278b32eece 100644 --- a/ext/kernel/backtrace.c +++ b/ext/kernel/backtrace.c @@ -10,7 +10,7 @@ */ #ifndef ZEPHIR_RELEASE -#if defined(linux) || defined(DARWIN) || defined(__APPLE__) +#if defined(linux) && !defined(ALPINE_LINUX) || defined(DARWIN) || defined(__APPLE__) #include #include diff --git a/ext/kernel/fcall.c b/ext/kernel/fcall.c index 447d2810440..d017ec4db33 100644 --- a/ext/kernel/fcall.c +++ b/ext/kernel/fcall.c @@ -693,15 +693,19 @@ void zephir_eval_php(zval *str, zval *retval_ptr, char *context) original_compiler_options = CG(compiler_options); CG(compiler_options) = ZEND_COMPILE_DEFAULT_FOR_EVAL; -#if PHP_VERSION_ID < 80000 - new_op_array = zend_compile_string(str, context); +#if PHP_VERSION_ID >= 80200 + new_op_array = zend_compile_string(Z_STR_P(str), context, ZEND_COMPILE_POSITION_AFTER_OPEN_TAG); #else +#if PHP_VERSION_ID >= 80000 new_op_array = zend_compile_string(Z_STR_P(str), context); +#else + new_op_array = zend_compile_string(str, context); +#endif #endif + CG(compiler_options) = original_compiler_options; - if (new_op_array) - { + if (new_op_array) { EG(no_extensions) = 1; zend_try { zend_execute(new_op_array, &local_retval); diff --git a/ext/kernel/main.c b/ext/kernel/main.c index 95eba881d15..1bbd149639d 100644 --- a/ext/kernel/main.c +++ b/ext/kernel/main.c @@ -568,9 +568,15 @@ void zephir_get_arg(zval *return_value, zend_long idx) } arg_count = ZEND_CALL_NUM_ARGS(ex); - if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { - RETURN_FALSE; - } +#if PHP_VERSION_ID >= 80200 + if (zend_forbid_dynamic_call() == FAILURE) { + RETURN_FALSE; + } +#else + if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { + RETURN_FALSE; + } +#endif if (UNEXPECTED((zend_ulong)idx >= arg_count)) { zend_error(E_WARNING, "func_get_arg(): Argument " ZEND_LONG_FMT " not passed to function", idx); diff --git a/ext/kernel/math.c b/ext/kernel/math.c index 437a2596c73..50b17e179f5 100644 --- a/ext/kernel/math.c +++ b/ext/kernel/math.c @@ -181,20 +181,6 @@ void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3) } } -zend_long zephir_mt_rand(zend_long min, zend_long max) -{ - if (max < min) { - php_error_docref(NULL, E_WARNING, "max(" ZEND_LONG_FMT ") is smaller than min(" ZEND_LONG_FMT ")", max, min); - return 0; - } - - if (!BG(mt_rand_is_seeded)) { - php_mt_srand(GENERATE_SEED()); - } - - return php_mt_rand_range(min, max); -} - double zephir_ldexp(zval *value, zval *expval) { int exp = (int) zephir_get_numberval(expval); diff --git a/ext/kernel/math.h b/ext/kernel/math.h index ba4c4016646..606c088ab6c 100644 --- a/ext/kernel/math.h +++ b/ext/kernel/math.h @@ -23,7 +23,6 @@ double zephir_acos(zval *op1); double zephir_sqrt(zval *op1); double zephir_floor(zval *op1); -zend_long zephir_mt_rand(zend_long min, zend_long max); double zephir_ceil(zval *op1); void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3); diff --git a/ext/phalcon/filter/validation/validator/date.zep.c b/ext/phalcon/filter/validation/validator/date.zep.c index 0b5e2b5e282..f3e08c0de4a 100644 --- a/ext/phalcon/filter/validation/validator/date.zep.c +++ b/ext/phalcon/filter/validation/validator/date.zep.c @@ -185,19 +185,19 @@ PHP_METHOD(Phalcon_Filter_Validation_Validator_Date, validate) PHP_METHOD(Phalcon_Filter_Validation_Validator_Date, checkDate) { - zend_bool _3; + zend_bool _2, _4; zend_class_entry *_0, *_1; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; - zval *value, value_sub, *format, format_sub, date, errors, _2, _4; + zval *value, value_sub, *format, format_sub, date, errors, _3, _5; zval *this_ptr = getThis(); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&format_sub); ZVAL_UNDEF(&date); ZVAL_UNDEF(&errors); - ZVAL_UNDEF(&_2); - ZVAL_UNDEF(&_4); + ZVAL_UNDEF(&_3); + ZVAL_UNDEF(&_5); #if PHP_VERSION_ID >= 80000 bool is_null_true = 1; ZEND_PARSE_PARAMETERS_START(2, 2) @@ -220,12 +220,16 @@ PHP_METHOD(Phalcon_Filter_Validation_Validator_Date, checkDate) _1 = zephir_fetch_class_str_ex(SL("DateTime"), ZEND_FETCH_CLASS_AUTO); ZEPHIR_CALL_CE_STATIC(&errors, _1, "getlasterrors", NULL, 0); zephir_check_call_status(); - zephir_array_fetch_string(&_2, &errors, SL("warning_count"), PH_NOISY | PH_READONLY, "phalcon/Filter/Validation/Validator/Date.zep", 119); - _3 = ZEPHIR_IS_LONG(&_2, 0); - if (_3) { - zephir_array_fetch_string(&_4, &errors, SL("error_count"), PH_NOISY | PH_READONLY, "phalcon/Filter/Validation/Validator/Date.zep", 119); - _3 = ZEPHIR_IS_LONG(&_4, 0); + _2 = ZEPHIR_IS_FALSE_IDENTICAL(&errors); + if (!(_2)) { + zephir_array_fetch_string(&_3, &errors, SL("warning_count"), PH_NOISY | PH_READONLY, "phalcon/Filter/Validation/Validator/Date.zep", 119); + _4 = ZEPHIR_IS_LONG(&_3, 0); + if (_4) { + zephir_array_fetch_string(&_5, &errors, SL("error_count"), PH_NOISY | PH_READONLY, "phalcon/Filter/Validation/Validator/Date.zep", 119); + _4 = ZEPHIR_IS_LONG(&_5, 0); + } + _2 = _4; } - RETURN_MM_BOOL(_3); + RETURN_MM_BOOL(_2); } diff --git a/ext/phalcon/mvc/micro.zep.c b/ext/phalcon/mvc/micro.zep.c index fef4e96bbf2..2d3cc543a98 100644 --- a/ext/phalcon/mvc/micro.zep.c +++ b/ext/phalcon/mvc/micro.zep.c @@ -162,7 +162,7 @@ PHP_METHOD(Phalcon_Mvc_Micro, __construct) /** * Appends an 'after' middleware to be called after execute the route * - * @param callable handler + * @param callable|MiddlewareInterface handler */ PHP_METHOD(Phalcon_Mvc_Micro, after) { @@ -214,7 +214,7 @@ PHP_METHOD(Phalcon_Mvc_Micro, afterBinding) /** * Appends a before middleware to be called before execute the route * - * @param callable handler + * @param callable|MiddlewareInterface handler */ PHP_METHOD(Phalcon_Mvc_Micro, before) { diff --git a/ext/phalcon/support/helper/str/random.zep.c b/ext/phalcon/support/helper/str/random.zep.c index fc0fdacd2c4..cb9d1ad09d6 100644 --- a/ext/phalcon/support/helper/str/random.zep.c +++ b/ext/phalcon/support/helper/str/random.zep.c @@ -17,7 +17,6 @@ #include "kernel/array.h" #include "kernel/fcall.h" #include "kernel/string.h" -#include "kernel/math.h" #include "kernel/object.h" @@ -62,7 +61,8 @@ PHP_METHOD(Phalcon_Support_Helper_Str_Random, __invoke) { zend_bool _1; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; - zval *type_param = NULL, *length_param = NULL, end, pools, text, _0, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16$$3, _17$$3, _18$$3; + zephir_fcall_cache_entry *_20 = NULL; + zval *type_param = NULL, *length_param = NULL, end, pools, text, _0, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16$$3, _17$$3, _18$$3, _19$$3; zend_long type, length, ZEPHIR_LAST_CALL_STATUS; zval *this_ptr = getThis(); @@ -87,6 +87,7 @@ PHP_METHOD(Phalcon_Support_Helper_Str_Random, __invoke) ZVAL_UNDEF(&_16$$3); ZVAL_UNDEF(&_17$$3); ZVAL_UNDEF(&_18$$3); + ZVAL_UNDEF(&_19$$3); #if PHP_VERSION_ID >= 80000 bool is_null_true = 1; ZEND_PARSE_PARAMETERS_START(0, 2) @@ -199,7 +200,9 @@ PHP_METHOD(Phalcon_Support_Helper_Str_Random, __invoke) } zephir_array_fetch_long(&_16$$3, &pools, type, PH_NOISY | PH_READONLY, "phalcon/Support/Helper/Str/Random.zep", 69); ZVAL_LONG(&_18$$3, 0); - zephir_array_fetch_long(&_17$$3, &_16$$3, zephir_mt_rand(zephir_get_intval(&_18$$3), zephir_get_intval(&end)), PH_NOISY | PH_READONLY, "phalcon/Support/Helper/Str/Random.zep", 69); + ZEPHIR_CALL_FUNCTION(&_19$$3, "mt_rand", &_20, 0, &_18$$3, &end); + zephir_check_call_status(); + zephir_array_fetch(&_17$$3, &_16$$3, &_19$$3, PH_NOISY | PH_READONLY, "phalcon/Support/Helper/Str/Random.zep", 69); zephir_concat_self(&text, &_17$$3); } RETURN_CCTOR(&text); diff --git a/ext/php_phalcon.h b/ext/php_phalcon.h index b7d45eb788b..391706f9237 100644 --- a/ext/php_phalcon.h +++ b/ext/php_phalcon.h @@ -14,7 +14,7 @@ #define PHP_PHALCON_VERSION "5.1.4" #define PHP_PHALCON_EXTNAME "phalcon" #define PHP_PHALCON_AUTHOR "Phalcon Team and contributors" -#define PHP_PHALCON_ZEPVERSION "0.16.3-5099f34" +#define PHP_PHALCON_ZEPVERSION "0.17.0-9f99da6" #define PHP_PHALCON_DESCRIPTION "Phalcon is a full stack PHP framework, delivered as a PHP extension, offering lower resource consumption and high performance." typedef struct _zephir_struct_db { diff --git a/package.xml b/package.xml index 8dedf789758..07b93df44b2 100644 --- a/package.xml +++ b/package.xml @@ -57,7 +57,7 @@ 7.4.1 - 8.1.99 + 8.2.99 1.10 diff --git a/phalcon/Filter/Validation/Validator/Date.zep b/phalcon/Filter/Validation/Validator/Date.zep index 2d29c134b2b..e5f151c69f7 100644 --- a/phalcon/Filter/Validation/Validator/Date.zep +++ b/phalcon/Filter/Validation/Validator/Date.zep @@ -116,6 +116,6 @@ class Date extends AbstractValidator let date = DateTime::createFromFormat(format, value); let errors = DateTime::getLastErrors(); - return errors["warning_count"] == 0 && errors["error_count"] == 0; + return errors === false || (errors["warning_count"] == 0 && errors["error_count"] == 0); } } diff --git a/tests/_support/Helper/_PhalconCacheFile.php b/tests/_support/Helper/_PhalconCacheFile.php deleted file mode 100644 index c1e8929a078..00000000000 --- a/tests/_support/Helper/_PhalconCacheFile.php +++ /dev/null @@ -1,355 +0,0 @@ - Data::class, - 'backend' => FileBackend::class, - 'prefix' => 'data_', - 'lifetime' => 10, - 'cache_dir' => cacheDir(), - ]; - - $this->projectPath = Configuration::projectDir(); - - $this->config = array_merge($defaults, $config); - - parent::__construct($container); - } - - /** - * ```php - * haveFrontendAdapter(Data::class); - * $I->haveFrontendAdapter(Data::class, ['prefix' => 'my_prefix_']); - * ?> - * ``` - * - * @param string $className - * @param array $config - */ - public function haveFrontendAdapter($className, array $config = null) - { - $defaults = [ - 'frontend' => $className, - 'backend' => $this->config['backend'], - ]; - - $config = array_merge($defaults, $config); - - $this->_reconfigure($config); - - $this->debugSection( - 'Frontend', - get_class($this->frontend) - ); - } - - public function dontSeeCacheStarted() - { - $this->assertFalse( - $this->backend->isStarted() - ); - } - - public function seeCacheStarted() - { - $this->assertTrue( - $this->backend->isStarted() - ); - } - - /** - * Stores an item `$value` with `$key` on the cache backend. - * - * @param string $key - * @param string $content - * @param int $lifetime - * @param bool $stopBuffer - */ - public function haveInCacheStorage($key, $content = null, $lifetime = null, $stopBuffer = true) - { - $this->assertTrue( - $this->backend->save($key, $content, $lifetime, $stopBuffer) - ); - } - - /** - * @param int|string $keyName - */ - public function deleteCacheData($keyName) - { - $this->assertTrue( - $this->backend->delete($keyName) - ); - } - - /** - * {@inheritdoc} - * - * @param string $filename - * @param string $path - */ - public function dontSeeCacheFound($filename, $path = '') - { - $filename = $this->config['prefix'] . $this->backend->getKey($filename); - - parent::dontSeeFileFound($filename, $path); - } - - /** - * Checks item in the cache backend exists and the same as expected. - * - * Examples: - * - * ``` php - * seeInCacheStorage('users_count'); - * - * // Checks a 'users_count' exists and has the value 200 - * $I->seeInCacheStorage('users_count', 200); - * ?> - * ``` - * - * @param string $key - * @param int $lifetime - */ - public function seeInCacheStorage($key, $value = null, $lifetime = null) - { - $this->assertTrue( - $this->backend->exists($key, $lifetime) - ); - - $this->amInPath( - $this->config['cache_dir'] - ); - - $this->seeFileFound( - $this->config['prefix'] . $this->backend->getKey($key) - ); - - $actual = $this->backend->get($key, $lifetime); - - $this->debugSection('Value', $actual); - - $serializeCallback = $this->serializeCallback; - - if (null === $value || !is_callable($serializeCallback)) { - return; - } - - $serialized = call_user_func_array($serializeCallback, [$value]); - - $this->assertSame( - $serialized, - $this->file - ); - - $this->assertSame( - $serialized, - $this->frontend->beforeStore($value) - ); - } - - /** - * {@inheritdoc} - * - * @throws ModuleConfigException - */ - protected function onReconfigure() - { - $this->_initialize(); - } - - /** - * {@inheritdoc} - */ - public function _initialize() - { - $this->initializeCachePath( - $this->config['cache_dir'] - ); - - $this->initializeFrontend( - $this->config['frontend'] - ); - - $this->initializeBackend( - $this->config['backend'] - ); - } - - /** - * @throws ModuleConfigException - */ - protected function initializeCachePath(string $dir) - { - $cacheDir = $this->absolutizePath($dir); - - if (is_file($cacheDir) || !is_dir($cacheDir) || !is_writable($cacheDir)) { - throw new ModuleConfigException( - __CLASS__, - "The 'cache_dir' parameter should be a writable path to the cache directory." - ); - } - - $this->config['cache_dir'] = $cacheDir; - } - - /** - * @throws ModuleConfigException - */ - protected function initializeFrontend(string $className) - { - if (!class_exists($className)) { - throw new ModuleConfigException( - __CLASS__, - "The 'frontend' parameter should be a fully qualified class name of the frontend adapter." - ); - } - - $supportedFrontends = $this->getSupportedFrontends(); - - $this->assertArrayHasKey($className, $supportedFrontends); - - if (isset($supportedFrontends[$className]['validate_cb'])) { - call_user_func( - $supportedFrontends[$className]['validate_cb'] - ); - } - - if (isset($supportedFrontends[$className]['serialize_cb'])) { - $this->serializeCallback = $supportedFrontends[$className]['serialize_cb']; - } - - if (isset($supportedFrontends[$className]['unserialize_cb'])) { - $this->unserializeCallback = $supportedFrontends[$className]['unserialize_cb']; - } - - $adapter = new $className( - [ - 'lifetime' => $this->config['lifetime'], - ] - ); - - $this->config['frontend'] = $className; - $this->frontend = $adapter; - } - - protected function getSupportedFrontends() - { - return [ - Data::class => [ - 'validate_cb' => function () { - return true; - }, - 'serialize_cb' => function ($data) { - return serialize($data); - }, - 'unserialize_cb' => function ($data) { - return unserialize($data); - }, - ], - Igbinary::class => [ - 'validate_cb' => function () { - if (!extension_loaded('igbinary')) { - throw new SkippedTestError( - "The 'igbinary' extension is not loaded." - ); - } - }, - 'serialize_cb' => function ($data) { - return igbinary_serialize($data); - }, - 'unserialize_cb' => function ($data) { - return is_numeric($data) ? $data : igbinary_unserialize($data); - }, - ], - ]; - } - - protected function initializeBackend($className) - { - $adapter = new FileBackend( - $this->frontend, - [ - 'cacheDir' => $this->config['cache_dir'], - 'prefix' => $this->config['prefix'], - ] - ); - - $this->config['backend'] = $className; - $this->backend = $adapter; - } -}