diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index f199537a13..c9d81a5056 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -19,7 +19,7 @@ jobs: name: Build Dockerfile PHP ${{ matrix.php }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build Dockerfile run: docker build docker/${{ matrix.php }} diff --git a/.github/workflows/compile-windows.yml b/.github/workflows/compile-windows.yml new file mode 100644 index 0000000000..8d009de398 --- /dev/null +++ b/.github/workflows/compile-windows.yml @@ -0,0 +1,108 @@ +name: "[Windows] Build Phalcon" +on: [push, pull_request] + +jobs: + windows: + runs-on: windows-latest + name: "Build Phalcon (PHP ${{matrix.php}}-${{matrix.ts}}-${{matrix.arch}})" + defaults: + run: + shell: cmd + strategy: + fail-fast: false + matrix: + php: ["8.0","8.1","8.2","8.3"] + arch: [x64,x86] + ts: [nts,ts] + experimental: [false] + steps: + - name: Checkout Phalcon + uses: actions/checkout@v4 + + - name: Extract Phalcon Version + shell: powershell + run: | + chcp 65001 + $r = Select-String -Path build/phalcon/php_phalcon.h -Pattern 'PHP_PHALCON_VERSION\s+"(.*)"' + $s = $r.Matches[0].Groups[1] + echo "$s" + $PhalconVersion = 'PHALCON_VERSION=' + $s + echo $PhalconVersion >> $env:GITHUB_ENV + + - name: Setup PHP + id: setup-php + uses: php/setup-php-sdk@v0.8 + with: + version: ${{matrix.php}} + arch: ${{matrix.arch}} + ts: ${{matrix.ts}} + deps: zlib + + - name: Generate build folder + run: | + cd build/ + php gen-build.php + + - name: Enable Developer Command Prompt + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{matrix.arch}} + toolset: ${{steps.setup-php.outputs.toolset}} + + - name: Phpize + run: | + cd build/phalcon/ + phpize + + - name: Configure + run: | + cd build/phalcon/ + ./configure --enable-phalcon --with-prefix=${{steps.setup-php.outputs.prefix}} + + - name: Make + run: | + cd build/phalcon/ + nmake + + - name: Define Phalcon Module Env + shell: powershell + run: | + chcp 65001 + + $dir = (Get-Location).Path + '\build\phalcon\' + if ('x64' -eq '${{matrix.arch}}') { $dir = $dir + 'x64\' } + $dir = $dir + 'Release' + if ('ts' -eq '${{matrix.ts}}') { $dir = $dir + '_TS' } + $phalconDllOpt = 'TEST_PHP_ARGS=-n -d zend_extension=' + $dir + '\php_phalcon.dll' + echo $phalconDllOpt >> $env:GITHUB_ENV + + $artifactName = 'php_phalcon-php${{matrix.php}}' + + if ('nts' -ne '${{matrix.ts}}') { $artifactName = $artifactName + '-ts' } + if ('nts' -eq '${{matrix.ts}}') { $artifactName = $artifactName + '-nts' } + + $artifactName = $artifactName + '-windows' + + if ('8.0' -eq '${{matrix.php}}') { $artifactName = $artifactName + '-vs16' } + if ('8.1' -eq '${{matrix.php}}') { $artifactName = $artifactName + '-vs16' } + if ('8.2' -eq '${{matrix.php}}') { $artifactName = $artifactName + '-vs16' } + if ('8.3' -eq '${{matrix.php}}') { $artifactName = $artifactName + '-vs16' } + + if ('x64' -eq '${{matrix.arch}}') { $artifactName = $artifactName + '-x64' } + + $phalconArtifactName = "ARTIFACT_NAME=" + $artifactName + echo $phalconArtifactName >> $env:GITHUB_ENV + + $from = $dir + '\php_phalcon.dll' + $to = '.\php_phalcon.dll' + Copy-Item $from -Destination $to + $phalconArtifact = "ARTIFACT=" + '.\php_phalcon.dll' + echo $phalconArtifact >> $env:GITHUB_ENV + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{env.ARTIFACT_NAME}} + path: | + ${{env.ARTIFACT}} + LICENSE.txt \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 17d956a2d3..ca831306cd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,7 +19,7 @@ on: env: # All versions should be declared here - PHALCON_VERSION: 5.6.1 + PHALCON_VERSION: 5.6.2 ZEPHIR_PARSER_VERSION: 1.6.0 # For tests @@ -113,7 +113,7 @@ jobs: #- { php: '8.2', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup platform specific environment shell: pwsh @@ -271,7 +271,7 @@ jobs: php: [ '8.0', '8.1', '8.2', '8.3' ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -381,7 +381,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Get the release version id: get-version diff --git a/CHANGELOG-5.0.md b/CHANGELOG-5.0.md index 2803c8984b..dbed6fe50b 100644 --- a/CHANGELOG-5.0.md +++ b/CHANGELOG-5.0.md @@ -1,5 +1,18 @@ # Changelog +## [5.6.2](https://github.com/phalcon/cphalcon/releases/tag/v5.6.1) (2024-03-14) + +### Changed + +- Changed `Phalcon\Mvc\View\Engine\Volt\Compiler::filter` to use the helper with `upper` and `lower` for UTF-8 characters [#16543](https://github.com/phalcon/cphalcon/issues/16543) +- Changed `Phalcon\Di\AbstractInjectionAware` to extend `stdClass` for PHP 8.2 deprecation warnings [#16543](https://github.com/phalcon/cphalcon/issues/16543) + +### Added + +### Fixed + +### Removed + ## [5.6.1](https://github.com/phalcon/cphalcon/releases/tag/v5.6.1) (2024-02-08) ### Changed diff --git a/build/phalcon/phalcon.zep.c b/build/phalcon/phalcon.zep.c index 9f7e1f5037..a513cf7b76 100644 --- a/build/phalcon/phalcon.zep.c +++ b/build/phalcon/phalcon.zep.c @@ -33142,7 +33142,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) if (Z_TYPE_P(&_50$$3) != IS_NULL) { zephir_array_fetch_long(&_51$$38, &field, 9, PH_NOISY | PH_READONLY, "phalcon/Db/Adapter/Pdo/Postgresql.zep", 507); ZEPHIR_INIT_NVAR(&_52$$38); - ZVAL_STRING(&_52$$38, "/^'|'?::[[:alnum:][:space:]]+(\\[\\])?$/"); + ZVAL_STRING(&_52$$38, "/^'|'?::[[:alnum:][:space:]]+$/"); ZEPHIR_INIT_NVAR(&_53$$38); ZVAL_STRING(&_53$$38, ""); ZEPHIR_CALL_FUNCTION(&_54$$38, "preg_replace", &_55, 41, &_52$$38, &_53$$38, &_51$$38); @@ -33440,7 +33440,7 @@ static PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) if (Z_TYPE_P(&_109$$41) != IS_NULL) { zephir_array_fetch_long(&_110$$76, &field, 9, PH_NOISY | PH_READONLY, "phalcon/Db/Adapter/Pdo/Postgresql.zep", 507); ZEPHIR_INIT_NVAR(&_111$$76); - ZVAL_STRING(&_111$$76, "/^'|'?::[[:alnum:][:space:]]+(\\[\\])?$/"); + ZVAL_STRING(&_111$$76, "/^'|'?::[[:alnum:][:space:]]+$/"); ZEPHIR_INIT_NVAR(&_112$$76); ZVAL_STRING(&_112$$76, ""); ZEPHIR_CALL_FUNCTION(&_113$$76, "preg_replace", &_55, 41, &_111$$76, &_112$$76, &_110$$76); @@ -72774,10 +72774,11 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, getFinalPath) static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) { + zend_bool _21$$30, _26$$41; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval left; - zval *filter_param = NULL, *left_param = NULL, code, type, functionName, name, file, line, extensions, filters, funcArguments, arguments, definition, _6, _20, _21, _22, _23, _0$$5, _1$$5, _2$$5, _3$$5, _8$$9, _10$$11, _11$$11, _12$$11, _13$$11, _14$$24, _15$$24, _16$$24, _17$$24, _18$$24, _19$$24; + zval *filter_param = NULL, *left_param = NULL, code, type, functionName, name, file, line, extensions, filters, funcArguments, arguments, definition, _6, _30, _31, _32, _33, _0$$5, _1$$5, _2$$5, _3$$5, _8$$9, _10$$11, _11$$11, _12$$11, _13$$11, _14$$24, _15$$24, _16$$24, _17$$24, _18$$24, _19$$24, _20$$30, _22$$30, _23$$30, _24$$30, _25$$41, _27$$41, _28$$41, _29$$41; zval filter, _4$$7, _5$$7, _7$$9, _9$$14; zval *this_ptr = getThis(); @@ -72798,10 +72799,10 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) ZVAL_UNDEF(&arguments); ZVAL_UNDEF(&definition); ZVAL_UNDEF(&_6); - ZVAL_UNDEF(&_20); - ZVAL_UNDEF(&_21); - ZVAL_UNDEF(&_22); - ZVAL_UNDEF(&_23); + ZVAL_UNDEF(&_30); + ZVAL_UNDEF(&_31); + ZVAL_UNDEF(&_32); + ZVAL_UNDEF(&_33); ZVAL_UNDEF(&_0$$5); ZVAL_UNDEF(&_1$$5); ZVAL_UNDEF(&_2$$5); @@ -72817,6 +72818,14 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) ZVAL_UNDEF(&_17$$24); ZVAL_UNDEF(&_18$$24); ZVAL_UNDEF(&_19$$24); + ZVAL_UNDEF(&_20$$30); + ZVAL_UNDEF(&_22$$30); + ZVAL_UNDEF(&_23$$30); + ZVAL_UNDEF(&_24$$30); + ZVAL_UNDEF(&_25$$41); + ZVAL_UNDEF(&_27$$41); + ZVAL_UNDEF(&_28$$41); + ZVAL_UNDEF(&_29$$41); ZVAL_UNDEF(&left); ZEND_PARSE_PARAMETERS_START(2, 2) Z_PARAM_ARRAY(filter) @@ -73000,8 +73009,23 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) RETURN_MM(); } if (ZEPHIR_IS_STRING(&name, "lower") || ZEPHIR_IS_STRING(&name, "lowercase")) { - ZEPHIR_CONCAT_SVS(return_value, "strtolower(", &arguments, ")"); - RETURN_MM(); + zephir_read_property(&_20$$30, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + _21$$30 = Z_TYPE_P(&_20$$30) != IS_NULL; + if (_21$$30) { + zephir_read_property(&_22$$30, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_INIT_VAR(&_24$$30); + ZVAL_STRING(&_24$$30, "helper"); + ZEPHIR_CALL_METHOD(&_23$$30, &_22$$30, "has", NULL, 0, &_24$$30); + zephir_check_call_status(); + _21$$30 = ZEPHIR_IS_TRUE_IDENTICAL(&_23$$30); + } + if (_21$$30) { + ZEPHIR_CONCAT_SVS(return_value, "$this->helper->lower(", &arguments, ")"); + RETURN_MM(); + } else { + ZEPHIR_CONCAT_SVS(return_value, "strtolower(", &arguments, ")"); + RETURN_MM(); + } } if (ZEPHIR_IS_STRING(&name, "right_trim")) { ZEPHIR_CONCAT_SVS(return_value, "rtrim(", &arguments, ")"); @@ -73036,8 +73060,23 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) RETURN_MM(); } if (ZEPHIR_IS_STRING(&name, "upper") || ZEPHIR_IS_STRING(&name, "uppercase")) { - ZEPHIR_CONCAT_SVS(return_value, "strtoupper(", &arguments, ")"); - RETURN_MM(); + zephir_read_property(&_25$$41, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + _26$$41 = Z_TYPE_P(&_25$$41) != IS_NULL; + if (_26$$41) { + zephir_read_property(&_27$$41, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_INIT_VAR(&_29$$41); + ZVAL_STRING(&_29$$41, "helper"); + ZEPHIR_CALL_METHOD(&_28$$41, &_27$$41, "has", NULL, 0, &_29$$41); + zephir_check_call_status(); + _26$$41 = ZEPHIR_IS_TRUE_IDENTICAL(&_28$$41); + } + if (_26$$41) { + ZEPHIR_CONCAT_SVS(return_value, "$this->helper->upper(", &arguments, ")"); + RETURN_MM(); + } else { + ZEPHIR_CONCAT_SVS(return_value, "strtoupper(", &arguments, ")"); + RETURN_MM(); + } } if (ZEPHIR_IS_STRING(&name, "url_encode")) { ZEPHIR_CONCAT_SVS(return_value, "urlencode(", &arguments, ")"); @@ -73045,15 +73084,15 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) } } while(0); - ZEPHIR_INIT_VAR(&_20); - object_init_ex(&_20, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_21, &filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2579); - zephir_array_fetch_string(&_22, &filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2580); - ZEPHIR_INIT_VAR(&_23); - ZEPHIR_CONCAT_SVSVSV(&_23, "Unknown filter \"", &name, "\" in ", &_21, " on line ", &_22); - ZEPHIR_CALL_METHOD(NULL, &_20, "__construct", NULL, 504, &_23); + ZEPHIR_INIT_VAR(&_30); + object_init_ex(&_30, phalcon_mvc_view_engine_volt_exception_ce); + zephir_array_fetch_string(&_31, &filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2587); + zephir_array_fetch_string(&_32, &filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2588); + ZEPHIR_INIT_VAR(&_33); + ZEPHIR_CONCAT_SVSVSV(&_33, "Unknown filter \"", &name, "\" in ", &_31, " on line ", &_32); + ZEPHIR_CALL_METHOD(NULL, &_30, "__construct", NULL, 504, &_33); zephir_check_call_status(); - zephir_throw_exception_debug(&_20, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2580); + zephir_throw_exception_debug(&_30, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2588); ZEPHIR_MM_RESTORE(); return; } @@ -73195,26 +73234,26 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) ZVAL_NULL(&compilation); zephir_read_property(&_0, this_ptr, ZEND_STRL("extensions"), PH_NOISY_CC | PH_READONLY); ZEPHIR_CPY_WRT(&extensions, &_0); - zephir_is_iterable(&statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); + zephir_is_iterable(&statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2874); if (Z_TYPE_P(&statements) == IS_ARRAY) { ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&statements), _2) { ZEPHIR_INIT_NVAR(&statement); ZVAL_COPY(&statement, _2); if (UNEXPECTED(Z_TYPE_P(&statement) != IS_ARRAY)) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2620); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); return; } if (UNEXPECTED(!(zephir_array_isset_string(&statement, SL("type"))))) { ZEPHIR_INIT_NVAR(&_4$$7); object_init_ex(&_4$$7, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_5$$7, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); - zephir_array_fetch_string(&_6$$7, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); + zephir_array_fetch_string(&_5$$7, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); + zephir_array_fetch_string(&_6$$7, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); ZEPHIR_INIT_NVAR(&_7$$7); ZEPHIR_CONCAT_SVSV(&_7$$7, "Invalid statement in ", &_5$$7, " on line ", &_6$$7); ZEPHIR_CALL_METHOD(NULL, &_4$$7, "__construct", &_8, 504, &_7$$7, &statement); zephir_check_call_status(); - zephir_throw_exception_debug(&_4$$7, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2630); + zephir_throw_exception_debug(&_4$$7, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2638); ZEPHIR_MM_RESTORE(); return; } @@ -73232,10 +73271,10 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } } ZEPHIR_OBS_NVAR(&type); - zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2656); + zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); do { if (ZEPHIR_IS_LONG(&type, 357)) { - zephir_array_fetch_string(&_12$$10, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); + zephir_array_fetch_string(&_12$$10, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2672); zephir_concat_self(&compilation, &_12$$10); break; } @@ -73305,7 +73344,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 307)) { ZEPHIR_OBS_NVAR(&blockName); - zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2711); + zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2719); ZEPHIR_OBS_NVAR(&blockStatements); zephir_array_isset_string_fetch(&blockStatements, &statement, SL("block_statements"), 0); zephir_read_property(&_32$$19, this_ptr, ZEND_STRL("blocks"), PH_NOISY_CC | PH_READONLY); @@ -73316,7 +73355,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) array_init(&blocks); } if (Z_TYPE_P(&compilation) != IS_NULL) { - zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2726); + zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2734); ZEPHIR_INIT_NVAR(&compilation); ZVAL_NULL(&compilation); } @@ -73338,8 +73377,8 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 310)) { ZEPHIR_OBS_NVAR(&path); - zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2751); - zephir_array_fetch_string(&_36$$25, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2755); + zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2759); + zephir_array_fetch_string(&_36$$25, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2763); ZEPHIR_CALL_METHOD(&finalPath, this_ptr, "getfinalpath", &_37, 0, &_36$$25); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&extended); @@ -73435,13 +73474,13 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } ZEPHIR_INIT_NVAR(&_56$$37); object_init_ex(&_56$$37, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_57$$37, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2857); - zephir_array_fetch_string(&_58$$37, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_array_fetch_string(&_57$$37, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2865); + zephir_array_fetch_string(&_58$$37, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_INIT_NVAR(&_59$$37); ZEPHIR_CONCAT_SVSVSV(&_59$$37, "Unknown statement ", &type, " in ", &_57$$37, " on line ", &_58$$37); ZEPHIR_CALL_METHOD(NULL, &_56$$37, "__construct", &_8, 504, &_59$$37); zephir_check_call_status(); - zephir_throw_exception_debug(&_56$$37, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_throw_exception_debug(&_56$$37, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_MM_RESTORE(); return; } while(0); @@ -73459,19 +73498,19 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) ZEPHIR_CALL_METHOD(&statement, &statements, "current", NULL, 0); zephir_check_call_status(); if (UNEXPECTED(Z_TYPE_P(&statement) != IS_ARRAY)) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2620); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); return; } if (UNEXPECTED(!(zephir_array_isset_string(&statement, SL("type"))))) { ZEPHIR_INIT_NVAR(&_60$$40); object_init_ex(&_60$$40, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_61$$40, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); - zephir_array_fetch_string(&_62$$40, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); + zephir_array_fetch_string(&_61$$40, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); + zephir_array_fetch_string(&_62$$40, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); ZEPHIR_INIT_NVAR(&_63$$40); ZEPHIR_CONCAT_SVSV(&_63$$40, "Invalid statement in ", &_61$$40, " on line ", &_62$$40); ZEPHIR_CALL_METHOD(NULL, &_60$$40, "__construct", &_8, 504, &_63$$40, &statement); zephir_check_call_status(); - zephir_throw_exception_debug(&_60$$40, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2630); + zephir_throw_exception_debug(&_60$$40, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2638); ZEPHIR_MM_RESTORE(); return; } @@ -73489,10 +73528,10 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } } ZEPHIR_OBS_NVAR(&type); - zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2656); + zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); do { if (ZEPHIR_IS_LONG(&type, 357)) { - zephir_array_fetch_string(&_66$$43, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); + zephir_array_fetch_string(&_66$$43, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2672); zephir_concat_self(&compilation, &_66$$43); break; } @@ -73562,7 +73601,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 307)) { ZEPHIR_OBS_NVAR(&blockName); - zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2711); + zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2719); ZEPHIR_OBS_NVAR(&blockStatements); zephir_array_isset_string_fetch(&blockStatements, &statement, SL("block_statements"), 0); zephir_read_property(&_79$$52, this_ptr, ZEND_STRL("blocks"), PH_NOISY_CC | PH_READONLY); @@ -73573,7 +73612,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) array_init(&blocks); } if (Z_TYPE_P(&compilation) != IS_NULL) { - zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2726); + zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2734); ZEPHIR_INIT_NVAR(&compilation); ZVAL_NULL(&compilation); } @@ -73595,8 +73634,8 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 310)) { ZEPHIR_OBS_NVAR(&path); - zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2751); - zephir_array_fetch_string(&_82$$58, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2755); + zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2759); + zephir_array_fetch_string(&_82$$58, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2763); ZEPHIR_CALL_METHOD(&finalPath, this_ptr, "getfinalpath", &_37, 0, &_82$$58); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&extended); @@ -73692,13 +73731,13 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } ZEPHIR_INIT_NVAR(&_94$$70); object_init_ex(&_94$$70, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_95$$70, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2857); - zephir_array_fetch_string(&_96$$70, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_array_fetch_string(&_95$$70, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2865); + zephir_array_fetch_string(&_96$$70, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_INIT_NVAR(&_97$$70); ZEPHIR_CONCAT_SVSVSV(&_97$$70, "Unknown statement ", &type, " in ", &_95$$70, " on line ", &_96$$70); ZEPHIR_CALL_METHOD(NULL, &_94$$70, "__construct", &_8, 504, &_97$$70); zephir_check_call_status(); - zephir_throw_exception_debug(&_94$$70, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_throw_exception_debug(&_94$$70, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_MM_RESTORE(); return; } while(0); @@ -73744,7 +73783,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementListOrExtends) } isStatementList = 1; if (!(zephir_array_isset_string(statements, SL("type")))) { - zephir_is_iterable(statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2915); + zephir_is_iterable(statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2923); if (Z_TYPE_P(statements) == IS_ARRAY) { ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(statements), _0$$4) { @@ -73817,7 +73856,7 @@ static PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, isTagFactory) _0$$6 = zephir_array_isset_string(&left, SL("name")); if (_0$$6) { zephir_memory_observe(&_1$$6); - zephir_array_fetch_string(&_1$$6, &left, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2952); + zephir_array_fetch_string(&_1$$6, &left, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2960); _0$$6 = Z_TYPE_P(&_1$$6) == IS_ARRAY; } if (_0$$6) { @@ -151017,7 +151056,7 @@ ZEPHIR_DOC_METHOD(Phalcon_Storage_Serializer_SerializerInterface, setData); ZEPHIR_INIT_CLASS(Phalcon_Di_AbstractInjectionAware) { - ZEPHIR_REGISTER_CLASS(Phalcon\\Di, AbstractInjectionAware, phalcon, di_abstractinjectionaware, phalcon_di_abstractinjectionaware_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, AbstractInjectionAware, phalcon, di_abstractinjectionaware, zend_standard_class_def, phalcon_di_abstractinjectionaware_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); zend_declare_property_null(phalcon_di_abstractinjectionaware_ce, SL("container"), ZEND_ACC_PROTECTED); zend_class_implements(phalcon_di_abstractinjectionaware_ce, 1, phalcon_di_injectionawareinterface_ce); @@ -183902,7 +183941,7 @@ static PHP_METHOD(Phalcon_Support_Version, getVersion) ZVAL_LONG(&_0, 6); zephir_array_fast_append(return_value, &_0); ZEPHIR_INIT_NVAR(&_0); - ZVAL_LONG(&_0, 1); + ZVAL_LONG(&_0, 2); zephir_array_fast_append(return_value, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_LONG(&_0, 4); diff --git a/build/phalcon/php_phalcon.h b/build/phalcon/php_phalcon.h index 3cc2ddee2b..7579e66879 100644 --- a/build/phalcon/php_phalcon.h +++ b/build/phalcon/php_phalcon.h @@ -103,7 +103,7 @@ typedef zend_function zephir_fcall_cache_entry; #define PHP_PHALCON_NAME "phalcon" -#define PHP_PHALCON_VERSION "5.6.1" +#define PHP_PHALCON_VERSION "5.6.2" #define PHP_PHALCON_EXTNAME "phalcon" #define PHP_PHALCON_AUTHOR "Phalcon Team and contributors" #define PHP_PHALCON_ZEPVERSION "0.18.0-$Id$" diff --git a/composer.lock b/composer.lock index c8a0895f07..51316f259c 100644 --- a/composer.lock +++ b/composer.lock @@ -1019,16 +1019,16 @@ }, { "name": "composer/pcre", - "version": "3.1.1", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" + "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace", + "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace", "shasum": "" }, "require": { @@ -1070,7 +1070,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.1" + "source": "https://github.com/composer/pcre/tree/3.1.2" }, "funding": [ { @@ -1086,7 +1086,7 @@ "type": "tidelift" } ], - "time": "2023-10-11T07:11:09+00:00" + "time": "2024-03-07T15:38:35+00:00" }, { "name": "composer/semver", @@ -1553,16 +1553,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.49.0", + "version": "v3.51.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "8742f7aa6f72a399688b65e4f58992c2d4681fc2" + "reference": "127fa74f010da99053e3f5b62672615b72dd6efd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/8742f7aa6f72a399688b65e4f58992c2d4681fc2", - "reference": "8742f7aa6f72a399688b65e4f58992c2d4681fc2", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/127fa74f010da99053e3f5b62672615b72dd6efd", + "reference": "127fa74f010da99053e3f5b62672615b72dd6efd", "shasum": "" }, "require": { @@ -1572,7 +1572,7 @@ "ext-json": "*", "ext-tokenizer": "*", "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0 || ^5.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0", "symfony/console": "^5.4 || ^6.0 || ^7.0", "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", @@ -1593,7 +1593,8 @@ "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4", - "phpunit/phpunit": "^9.6 || ^10.5.5", + "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2", + "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { @@ -1632,7 +1633,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.49.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.51.0" }, "funding": [ { @@ -1640,7 +1641,7 @@ "type": "github" } ], - "time": "2024-02-02T00:41:40+00:00" + "time": "2024-02-28T19:50:06+00:00" }, { "name": "graham-campbell/result-type", @@ -2349,16 +2350,16 @@ }, { "name": "phalcon/ide-stubs", - "version": "v5.6.0", + "version": "v5.6.1", "source": { "type": "git", "url": "https://github.com/phalcon/ide-stubs.git", - "reference": "0593372dcf90d311f5f861a67b0438cc44d29a23" + "reference": "59be72bc524967f522ad333f8b0d0017403395e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phalcon/ide-stubs/zipball/0593372dcf90d311f5f861a67b0438cc44d29a23", - "reference": "0593372dcf90d311f5f861a67b0438cc44d29a23", + "url": "https://api.github.com/repos/phalcon/ide-stubs/zipball/59be72bc524967f522ad333f8b0d0017403395e3", + "reference": "59be72bc524967f522ad333f8b0d0017403395e3", "shasum": "" }, "require": { @@ -2412,7 +2413,7 @@ "type": "open_collective" } ], - "time": "2024-01-09T23:54:03+00:00" + "time": "2024-02-08T18:31:12+00:00" }, { "name": "phalcon/zephir", @@ -2503,20 +2504,21 @@ }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -2557,9 +2559,15 @@ "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" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -2724,21 +2732,21 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.0", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc" + "reference": "153ae662783729388a584b4361f2545e4d841e3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fad452781b3d774e3337b0c0b245dd8e5a4455fc", - "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", + "reference": "153ae662783729388a584b4361f2545e4d841e3c", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", - "php": "^7.4 || ^8.0", + "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", "phpstan/phpdoc-parser": "^1.13" }, @@ -2776,9 +2784,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" }, - "time": "2024-01-11T11:49:22+00:00" + "time": "2024-02-23T11:10:43+00:00" }, { "name": "phpoption/phpoption", @@ -2857,16 +2865,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.25.0", + "version": "1.26.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240" + "reference": "231e3186624c03d7e7c890ec662b81e6b0405227" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240", - "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/231e3186624c03d7e7c890ec662b81e6b0405227", + "reference": "231e3186624c03d7e7c890ec662b81e6b0405227", "shasum": "" }, "require": { @@ -2898,22 +2906,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.26.0" }, - "time": "2024-01-04T17:06:16+00:00" + "time": "2024-02-23T16:05:55+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.30", + "version": "9.2.31", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089" + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089", - "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", "shasum": "" }, "require": { @@ -2970,7 +2978,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" }, "funding": [ { @@ -2978,7 +2986,7 @@ "type": "github" } ], - "time": "2023-12-22T06:47:57+00:00" + "time": "2024-03-02T06:37:42+00:00" }, { "name": "phpunit/php-file-iterator", @@ -3223,16 +3231,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.16", + "version": "9.6.17", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f" + "reference": "1a156980d78a6666721b7e8e8502fe210b587fcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3767b2c56ce02d01e3491046f33466a1ae60a37f", - "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1a156980d78a6666721b7e8e8502fe210b587fcd", + "reference": "1a156980d78a6666721b7e8e8502fe210b587fcd", "shasum": "" }, "require": { @@ -3306,7 +3314,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.16" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.17" }, "funding": [ { @@ -3322,7 +3330,7 @@ "type": "tidelift" } ], - "time": "2024-01-19T07:03:14+00:00" + "time": "2024-02-23T13:14:51+00:00" }, { "name": "predis/predis", @@ -3749,16 +3757,16 @@ }, { "name": "sebastian/cli-parser", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", "shasum": "" }, "require": { @@ -3793,7 +3801,7 @@ "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" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" }, "funding": [ { @@ -3801,7 +3809,7 @@ "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2024-03-02T06:27:43+00:00" }, { "name": "sebastian/code-unit", @@ -4047,16 +4055,16 @@ }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", "shasum": "" }, "require": { @@ -4101,7 +4109,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" }, "funding": [ { @@ -4109,7 +4117,7 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2024-03-02T06:30:58+00:00" }, { "name": "sebastian/environment", @@ -4176,16 +4184,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", "shasum": "" }, "require": { @@ -4241,7 +4249,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" }, "funding": [ { @@ -4249,20 +4257,20 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2024-03-02T06:33:00+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.6", + "version": "5.0.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bde739e7565280bda77be70044ac1047bc007e34" + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", - "reference": "bde739e7565280bda77be70044ac1047bc007e34", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", "shasum": "" }, "require": { @@ -4305,7 +4313,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" }, "funding": [ { @@ -4313,7 +4321,7 @@ "type": "github" } ], - "time": "2023-08-02T09:26:13+00:00" + "time": "2024-03-02T06:35:11+00:00" }, { "name": "sebastian/lines-of-code", @@ -4600,6 +4608,7 @@ "type": "github" } ], + "abandoned": true, "time": "2020-09-28T06:45:17+00:00" }, { @@ -4776,16 +4785,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.1", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" + "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b", + "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b", "shasum": "" }, "require": { @@ -4852,7 +4861,7 @@ "type": "open_collective" } ], - "time": "2024-01-11T20:47:48+00:00" + "time": "2024-02-16T15:06:51+00:00" }, { "name": "symfony/browser-kit", @@ -4928,16 +4937,16 @@ }, { "name": "symfony/console", - "version": "v5.4.35", + "version": "v5.4.36", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "dbdf6adcb88d5f83790e1efb57ef4074309d3931" + "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/dbdf6adcb88d5f83790e1efb57ef4074309d3931", - "reference": "dbdf6adcb88d5f83790e1efb57ef4074309d3931", + "url": "https://api.github.com/repos/symfony/console/zipball/39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", + "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", "shasum": "" }, "require": { @@ -5007,7 +5016,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.35" + "source": "https://github.com/symfony/console/tree/v5.4.36" }, "funding": [ { @@ -5023,7 +5032,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:28:09+00:00" + "time": "2024-02-20T16:33:57+00:00" }, { "name": "symfony/css-selector", @@ -6507,16 +6516,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -6545,7 +6554,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -6553,7 +6562,7 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" + "time": "2024-03-03T12:36:25+00:00" }, { "name": "twig/twig", @@ -6635,16 +6644,16 @@ }, { "name": "vimeo/psalm", - "version": "5.21.1", + "version": "5.23.1", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "8c473e2437be8b6a8fd8f630f0f11a16b114c494" + "reference": "8471a896ccea3526b26d082f4461eeea467f10a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/8c473e2437be8b6a8fd8f630f0f11a16b114c494", - "reference": "8c473e2437be8b6a8fd8f630f0f11a16b114c494", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/8471a896ccea3526b26d082f4461eeea467f10a4", + "reference": "8471a896ccea3526b26d082f4461eeea467f10a4", "shasum": "" }, "require": { @@ -6667,7 +6676,7 @@ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.16", "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", - "sebastian/diff": "^4.0 || ^5.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0", "spatie/array-to-xml": "^2.17.0 || ^3.0", "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0", "symfony/filesystem": "^5.4 || ^6.0 || ^7.0" @@ -6741,7 +6750,7 @@ "issues": "https://github.com/vimeo/psalm/issues", "source": "https://github.com/vimeo/psalm" }, - "time": "2024-02-01T01:04:32+00:00" + "time": "2024-03-11T20:33:46+00:00" }, { "name": "vlucas/phpdotenv", diff --git a/config.json b/config.json index d8bc1b075c..2e9d8db044 100644 --- a/config.json +++ b/config.json @@ -3,7 +3,7 @@ "name": "phalcon", "description": "Phalcon is a full stack PHP framework, delivered as a PHP extension, offering lower resource consumption and high performance.", "author": "Phalcon Team and contributors", - "version": "5.6.1", + "version": "5.6.2", "verbose": false, "stubs": { "path": "ide\/%version%\/%namespace%\/", diff --git a/ext/phalcon/db/adapter/pdo/postgresql.zep.c b/ext/phalcon/db/adapter/pdo/postgresql.zep.c index 3b1bb32e3b..c2130b76a2 100644 --- a/ext/phalcon/db/adapter/pdo/postgresql.zep.c +++ b/ext/phalcon/db/adapter/pdo/postgresql.zep.c @@ -739,7 +739,7 @@ PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) if (Z_TYPE_P(&_50$$3) != IS_NULL) { zephir_array_fetch_long(&_51$$38, &field, 9, PH_NOISY | PH_READONLY, "phalcon/Db/Adapter/Pdo/Postgresql.zep", 507); ZEPHIR_INIT_NVAR(&_52$$38); - ZVAL_STRING(&_52$$38, "/^'|'?::[[:alnum:][:space:]]+(\\[\\])?$/"); + ZVAL_STRING(&_52$$38, "/^'|'?::[[:alnum:][:space:]]+$/"); ZEPHIR_INIT_NVAR(&_53$$38); ZVAL_STRING(&_53$$38, ""); ZEPHIR_CALL_FUNCTION(&_54$$38, "preg_replace", &_55, 41, &_52$$38, &_53$$38, &_51$$38); @@ -1037,7 +1037,7 @@ PHP_METHOD(Phalcon_Db_Adapter_Pdo_Postgresql, describeColumns) if (Z_TYPE_P(&_109$$41) != IS_NULL) { zephir_array_fetch_long(&_110$$76, &field, 9, PH_NOISY | PH_READONLY, "phalcon/Db/Adapter/Pdo/Postgresql.zep", 507); ZEPHIR_INIT_NVAR(&_111$$76); - ZVAL_STRING(&_111$$76, "/^'|'?::[[:alnum:][:space:]]+(\\[\\])?$/"); + ZVAL_STRING(&_111$$76, "/^'|'?::[[:alnum:][:space:]]+$/"); ZEPHIR_INIT_NVAR(&_112$$76); ZVAL_STRING(&_112$$76, ""); ZEPHIR_CALL_FUNCTION(&_113$$76, "preg_replace", &_55, 41, &_111$$76, &_112$$76, &_110$$76); diff --git a/ext/phalcon/di/abstractinjectionaware.zep.c b/ext/phalcon/di/abstractinjectionaware.zep.c index 32833eff69..1e7240a785 100644 --- a/ext/phalcon/di/abstractinjectionaware.zep.c +++ b/ext/phalcon/di/abstractinjectionaware.zep.c @@ -29,7 +29,7 @@ */ ZEPHIR_INIT_CLASS(Phalcon_Di_AbstractInjectionAware) { - ZEPHIR_REGISTER_CLASS(Phalcon\\Di, AbstractInjectionAware, phalcon, di_abstractinjectionaware, phalcon_di_abstractinjectionaware_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + ZEPHIR_REGISTER_CLASS_EX(Phalcon\\Di, AbstractInjectionAware, phalcon, di_abstractinjectionaware, zend_standard_class_def, phalcon_di_abstractinjectionaware_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); /** * Dependency Injector diff --git a/ext/phalcon/mvc/view/engine/volt/compiler.zep.c b/ext/phalcon/mvc/view/engine/volt/compiler.zep.c index e1bf1ac70b..7f98fc664c 100644 --- a/ext/phalcon/mvc/view/engine/volt/compiler.zep.c +++ b/ext/phalcon/mvc/view/engine/volt/compiler.zep.c @@ -3781,10 +3781,11 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, getFinalPath) */ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) { + zend_bool _21$$30, _26$$41; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval left; - zval *filter_param = NULL, *left_param = NULL, code, type, functionName, name, file, line, extensions, filters, funcArguments, arguments, definition, _6, _20, _21, _22, _23, _0$$5, _1$$5, _2$$5, _3$$5, _8$$9, _10$$11, _11$$11, _12$$11, _13$$11, _14$$24, _15$$24, _16$$24, _17$$24, _18$$24, _19$$24; + zval *filter_param = NULL, *left_param = NULL, code, type, functionName, name, file, line, extensions, filters, funcArguments, arguments, definition, _6, _30, _31, _32, _33, _0$$5, _1$$5, _2$$5, _3$$5, _8$$9, _10$$11, _11$$11, _12$$11, _13$$11, _14$$24, _15$$24, _16$$24, _17$$24, _18$$24, _19$$24, _20$$30, _22$$30, _23$$30, _24$$30, _25$$41, _27$$41, _28$$41, _29$$41; zval filter, _4$$7, _5$$7, _7$$9, _9$$14; zval *this_ptr = getThis(); @@ -3805,10 +3806,10 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) ZVAL_UNDEF(&arguments); ZVAL_UNDEF(&definition); ZVAL_UNDEF(&_6); - ZVAL_UNDEF(&_20); - ZVAL_UNDEF(&_21); - ZVAL_UNDEF(&_22); - ZVAL_UNDEF(&_23); + ZVAL_UNDEF(&_30); + ZVAL_UNDEF(&_31); + ZVAL_UNDEF(&_32); + ZVAL_UNDEF(&_33); ZVAL_UNDEF(&_0$$5); ZVAL_UNDEF(&_1$$5); ZVAL_UNDEF(&_2$$5); @@ -3824,6 +3825,14 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) ZVAL_UNDEF(&_17$$24); ZVAL_UNDEF(&_18$$24); ZVAL_UNDEF(&_19$$24); + ZVAL_UNDEF(&_20$$30); + ZVAL_UNDEF(&_22$$30); + ZVAL_UNDEF(&_23$$30); + ZVAL_UNDEF(&_24$$30); + ZVAL_UNDEF(&_25$$41); + ZVAL_UNDEF(&_27$$41); + ZVAL_UNDEF(&_28$$41); + ZVAL_UNDEF(&_29$$41); ZVAL_UNDEF(&left); ZEND_PARSE_PARAMETERS_START(2, 2) Z_PARAM_ARRAY(filter) @@ -4007,8 +4016,23 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) RETURN_MM(); } if (ZEPHIR_IS_STRING(&name, "lower") || ZEPHIR_IS_STRING(&name, "lowercase")) { - ZEPHIR_CONCAT_SVS(return_value, "strtolower(", &arguments, ")"); - RETURN_MM(); + zephir_read_property(&_20$$30, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + _21$$30 = Z_TYPE_P(&_20$$30) != IS_NULL; + if (_21$$30) { + zephir_read_property(&_22$$30, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_INIT_VAR(&_24$$30); + ZVAL_STRING(&_24$$30, "helper"); + ZEPHIR_CALL_METHOD(&_23$$30, &_22$$30, "has", NULL, 0, &_24$$30); + zephir_check_call_status(); + _21$$30 = ZEPHIR_IS_TRUE_IDENTICAL(&_23$$30); + } + if (_21$$30) { + ZEPHIR_CONCAT_SVS(return_value, "$this->helper->lower(", &arguments, ")"); + RETURN_MM(); + } else { + ZEPHIR_CONCAT_SVS(return_value, "strtolower(", &arguments, ")"); + RETURN_MM(); + } } if (ZEPHIR_IS_STRING(&name, "right_trim")) { ZEPHIR_CONCAT_SVS(return_value, "rtrim(", &arguments, ")"); @@ -4043,8 +4067,23 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) RETURN_MM(); } if (ZEPHIR_IS_STRING(&name, "upper") || ZEPHIR_IS_STRING(&name, "uppercase")) { - ZEPHIR_CONCAT_SVS(return_value, "strtoupper(", &arguments, ")"); - RETURN_MM(); + zephir_read_property(&_25$$41, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + _26$$41 = Z_TYPE_P(&_25$$41) != IS_NULL; + if (_26$$41) { + zephir_read_property(&_27$$41, this_ptr, ZEND_STRL("container"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_INIT_VAR(&_29$$41); + ZVAL_STRING(&_29$$41, "helper"); + ZEPHIR_CALL_METHOD(&_28$$41, &_27$$41, "has", NULL, 0, &_29$$41); + zephir_check_call_status(); + _26$$41 = ZEPHIR_IS_TRUE_IDENTICAL(&_28$$41); + } + if (_26$$41) { + ZEPHIR_CONCAT_SVS(return_value, "$this->helper->upper(", &arguments, ")"); + RETURN_MM(); + } else { + ZEPHIR_CONCAT_SVS(return_value, "strtoupper(", &arguments, ")"); + RETURN_MM(); + } } if (ZEPHIR_IS_STRING(&name, "url_encode")) { ZEPHIR_CONCAT_SVS(return_value, "urlencode(", &arguments, ")"); @@ -4052,15 +4091,15 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, resolveFilter) } } while(0); - ZEPHIR_INIT_VAR(&_20); - object_init_ex(&_20, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_21, &filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2579); - zephir_array_fetch_string(&_22, &filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2580); - ZEPHIR_INIT_VAR(&_23); - ZEPHIR_CONCAT_SVSVSV(&_23, "Unknown filter \"", &name, "\" in ", &_21, " on line ", &_22); - ZEPHIR_CALL_METHOD(NULL, &_20, "__construct", NULL, 504, &_23); + ZEPHIR_INIT_VAR(&_30); + object_init_ex(&_30, phalcon_mvc_view_engine_volt_exception_ce); + zephir_array_fetch_string(&_31, &filter, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2587); + zephir_array_fetch_string(&_32, &filter, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2588); + ZEPHIR_INIT_VAR(&_33); + ZEPHIR_CONCAT_SVSVSV(&_33, "Unknown filter \"", &name, "\" in ", &_31, " on line ", &_32); + ZEPHIR_CALL_METHOD(NULL, &_30, "__construct", NULL, 504, &_33); zephir_check_call_status(); - zephir_throw_exception_debug(&_20, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2580); + zephir_throw_exception_debug(&_30, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2588); ZEPHIR_MM_RESTORE(); return; } @@ -4205,26 +4244,26 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) ZVAL_NULL(&compilation); zephir_read_property(&_0, this_ptr, ZEND_STRL("extensions"), PH_NOISY_CC | PH_READONLY); ZEPHIR_CPY_WRT(&extensions, &_0); - zephir_is_iterable(&statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); + zephir_is_iterable(&statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2874); if (Z_TYPE_P(&statements) == IS_ARRAY) { ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&statements), _2) { ZEPHIR_INIT_NVAR(&statement); ZVAL_COPY(&statement, _2); if (UNEXPECTED(Z_TYPE_P(&statement) != IS_ARRAY)) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2620); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); return; } if (UNEXPECTED(!(zephir_array_isset_string(&statement, SL("type"))))) { ZEPHIR_INIT_NVAR(&_4$$7); object_init_ex(&_4$$7, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_5$$7, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); - zephir_array_fetch_string(&_6$$7, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); + zephir_array_fetch_string(&_5$$7, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); + zephir_array_fetch_string(&_6$$7, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); ZEPHIR_INIT_NVAR(&_7$$7); ZEPHIR_CONCAT_SVSV(&_7$$7, "Invalid statement in ", &_5$$7, " on line ", &_6$$7); ZEPHIR_CALL_METHOD(NULL, &_4$$7, "__construct", &_8, 504, &_7$$7, &statement); zephir_check_call_status(); - zephir_throw_exception_debug(&_4$$7, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2630); + zephir_throw_exception_debug(&_4$$7, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2638); ZEPHIR_MM_RESTORE(); return; } @@ -4242,10 +4281,10 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } } ZEPHIR_OBS_NVAR(&type); - zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2656); + zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); do { if (ZEPHIR_IS_LONG(&type, 357)) { - zephir_array_fetch_string(&_12$$10, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); + zephir_array_fetch_string(&_12$$10, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2672); zephir_concat_self(&compilation, &_12$$10); break; } @@ -4315,7 +4354,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 307)) { ZEPHIR_OBS_NVAR(&blockName); - zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2711); + zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2719); ZEPHIR_OBS_NVAR(&blockStatements); zephir_array_isset_string_fetch(&blockStatements, &statement, SL("block_statements"), 0); zephir_read_property(&_32$$19, this_ptr, ZEND_STRL("blocks"), PH_NOISY_CC | PH_READONLY); @@ -4326,7 +4365,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) array_init(&blocks); } if (Z_TYPE_P(&compilation) != IS_NULL) { - zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2726); + zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2734); ZEPHIR_INIT_NVAR(&compilation); ZVAL_NULL(&compilation); } @@ -4348,8 +4387,8 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 310)) { ZEPHIR_OBS_NVAR(&path); - zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2751); - zephir_array_fetch_string(&_36$$25, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2755); + zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2759); + zephir_array_fetch_string(&_36$$25, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2763); ZEPHIR_CALL_METHOD(&finalPath, this_ptr, "getfinalpath", &_37, 0, &_36$$25); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&extended); @@ -4445,13 +4484,13 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } ZEPHIR_INIT_NVAR(&_56$$37); object_init_ex(&_56$$37, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_57$$37, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2857); - zephir_array_fetch_string(&_58$$37, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_array_fetch_string(&_57$$37, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2865); + zephir_array_fetch_string(&_58$$37, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_INIT_NVAR(&_59$$37); ZEPHIR_CONCAT_SVSVSV(&_59$$37, "Unknown statement ", &type, " in ", &_57$$37, " on line ", &_58$$37); ZEPHIR_CALL_METHOD(NULL, &_56$$37, "__construct", &_8, 504, &_59$$37); zephir_check_call_status(); - zephir_throw_exception_debug(&_56$$37, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_throw_exception_debug(&_56$$37, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_MM_RESTORE(); return; } while(0); @@ -4469,19 +4508,19 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) ZEPHIR_CALL_METHOD(&statement, &statements, "current", NULL, 0); zephir_check_call_status(); if (UNEXPECTED(Z_TYPE_P(&statement) != IS_ARRAY)) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2620); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_view_engine_volt_exception_ce, "Corrupted statement", "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); return; } if (UNEXPECTED(!(zephir_array_isset_string(&statement, SL("type"))))) { ZEPHIR_INIT_NVAR(&_60$$40); object_init_ex(&_60$$40, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_61$$40, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); - zephir_array_fetch_string(&_62$$40, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2628); + zephir_array_fetch_string(&_61$$40, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); + zephir_array_fetch_string(&_62$$40, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2636); ZEPHIR_INIT_NVAR(&_63$$40); ZEPHIR_CONCAT_SVSV(&_63$$40, "Invalid statement in ", &_61$$40, " on line ", &_62$$40); ZEPHIR_CALL_METHOD(NULL, &_60$$40, "__construct", &_8, 504, &_63$$40, &statement); zephir_check_call_status(); - zephir_throw_exception_debug(&_60$$40, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2630); + zephir_throw_exception_debug(&_60$$40, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2638); ZEPHIR_MM_RESTORE(); return; } @@ -4499,10 +4538,10 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } } ZEPHIR_OBS_NVAR(&type); - zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2656); + zephir_array_fetch_string(&type, &statement, SL("type"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); do { if (ZEPHIR_IS_LONG(&type, 357)) { - zephir_array_fetch_string(&_66$$43, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2664); + zephir_array_fetch_string(&_66$$43, &statement, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2672); zephir_concat_self(&compilation, &_66$$43); break; } @@ -4572,7 +4611,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 307)) { ZEPHIR_OBS_NVAR(&blockName); - zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2711); + zephir_array_fetch_string(&blockName, &statement, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2719); ZEPHIR_OBS_NVAR(&blockStatements); zephir_array_isset_string_fetch(&blockStatements, &statement, SL("block_statements"), 0); zephir_read_property(&_79$$52, this_ptr, ZEND_STRL("blocks"), PH_NOISY_CC | PH_READONLY); @@ -4583,7 +4622,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) array_init(&blocks); } if (Z_TYPE_P(&compilation) != IS_NULL) { - zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2726); + zephir_array_append(&blocks, &compilation, PH_SEPARATE, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2734); ZEPHIR_INIT_NVAR(&compilation); ZVAL_NULL(&compilation); } @@ -4605,8 +4644,8 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } if (ZEPHIR_IS_LONG(&type, 310)) { ZEPHIR_OBS_NVAR(&path); - zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2751); - zephir_array_fetch_string(&_82$$58, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2755); + zephir_array_fetch_string(&path, &statement, SL("path"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2759); + zephir_array_fetch_string(&_82$$58, &path, SL("value"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2763); ZEPHIR_CALL_METHOD(&finalPath, this_ptr, "getfinalpath", &_37, 0, &_82$$58); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&extended); @@ -4702,13 +4741,13 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementList) } ZEPHIR_INIT_NVAR(&_94$$70); object_init_ex(&_94$$70, phalcon_mvc_view_engine_volt_exception_ce); - zephir_array_fetch_string(&_95$$70, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2857); - zephir_array_fetch_string(&_96$$70, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_array_fetch_string(&_95$$70, &statement, SL("file"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2865); + zephir_array_fetch_string(&_96$$70, &statement, SL("line"), PH_NOISY | PH_READONLY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_INIT_NVAR(&_97$$70); ZEPHIR_CONCAT_SVSVSV(&_97$$70, "Unknown statement ", &type, " in ", &_95$$70, " on line ", &_96$$70); ZEPHIR_CALL_METHOD(NULL, &_94$$70, "__construct", &_8, 504, &_97$$70); zephir_check_call_status(); - zephir_throw_exception_debug(&_94$$70, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2858); + zephir_throw_exception_debug(&_94$$70, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2866); ZEPHIR_MM_RESTORE(); return; } while(0); @@ -4760,7 +4799,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, statementListOrExtends) } isStatementList = 1; if (!(zephir_array_isset_string(statements, SL("type")))) { - zephir_is_iterable(statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2915); + zephir_is_iterable(statements, 0, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2923); if (Z_TYPE_P(statements) == IS_ARRAY) { ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(statements), _0$$4) { @@ -4833,7 +4872,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, isTagFactory) _0$$6 = zephir_array_isset_string(&left, SL("name")); if (_0$$6) { zephir_memory_observe(&_1$$6); - zephir_array_fetch_string(&_1$$6, &left, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2952); + zephir_array_fetch_string(&_1$$6, &left, SL("name"), PH_NOISY, "phalcon/Mvc/View/Engine/Volt/Compiler.zep", 2960); _0$$6 = Z_TYPE_P(&_1$$6) == IS_ARRAY; } if (_0$$6) { diff --git a/ext/phalcon/support/helperfactory.zep.c b/ext/phalcon/support/helperfactory.zep.c index 2a726b086a..ad3117cc12 100644 --- a/ext/phalcon/support/helperfactory.zep.c +++ b/ext/phalcon/support/helperfactory.zep.c @@ -43,8 +43,10 @@ * @method string decrement(string $text, string $separator = '_') * @method string dirFromFile(string $file) * @method string dirSeparator(string $directory) + * @method string dynamic(string $text, string $leftDelimiter = "{", string $rightDelimiter = "}", string $separator = "|") * @method string encode($data, int $options = 0, int $depth = 512) * @method bool endsWith(string $haystack, string $needle, bool $ignoreCase = true) + * @method mixed filter(array $collection, callable|null $method) * @method mixed first(array $collection, callable $method = null) * @method string firstBetween(string $text, string $start, string $end) * @method mixed firstKey(array $collection, callable $method = null) @@ -56,6 +58,7 @@ * @method string humanize(string $text) * @method bool includes(string $haystack, string $needle) * @method string increment(string $text, string $separator = '_') + * @method string interpolate(string $message, array $context = [], string $leftToken = "%", string $rightToken = "%") * @method bool isAnagram(string $first, string $second) * @method bool isBetween(int $value, int $start, int $end) * @method bool isLower(string $text, string $encoding = 'UTF-8') diff --git a/ext/phalcon/support/version.zep.c b/ext/phalcon/support/version.zep.c index a1876dd028..03672625a3 100644 --- a/ext/phalcon/support/version.zep.c +++ b/ext/phalcon/support/version.zep.c @@ -115,7 +115,7 @@ PHP_METHOD(Phalcon_Support_Version, getVersion) ZVAL_LONG(&_0, 6); zephir_array_fast_append(return_value, &_0); ZEPHIR_INIT_NVAR(&_0); - ZVAL_LONG(&_0, 1); + ZVAL_LONG(&_0, 2); zephir_array_fast_append(return_value, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_LONG(&_0, 4); diff --git a/ext/php_phalcon.h b/ext/php_phalcon.h index a70d261233..898500a98b 100644 --- a/ext/php_phalcon.h +++ b/ext/php_phalcon.h @@ -11,7 +11,7 @@ #include "kernel/globals.h" #define PHP_PHALCON_NAME "phalcon" -#define PHP_PHALCON_VERSION "5.6.1" +#define PHP_PHALCON_VERSION "5.6.2" #define PHP_PHALCON_EXTNAME "phalcon" #define PHP_PHALCON_AUTHOR "Phalcon Team and contributors" #define PHP_PHALCON_ZEPVERSION "0.18.0-$Id$" diff --git a/package.xml b/package.xml index be1d63e946..b774a39590 100644 --- a/package.xml +++ b/package.xml @@ -22,11 +22,11 @@ nikos@phalcon.io yes - 2024-02-08 + 2024-03-14 - 5.6.1 - 5.6.1 + 5.6.2 + 5.6.2 stable @@ -38,15 +38,8 @@ ### Changed - - Changed `Phalcon\Cli\Router::setDefaultAction` and `Phalcon\Cli\Router::setDefaultModule` to return the object back for a fluent interface [#16328](https://github.com/phalcon/cphalcon/issues/16328) - - ### Fixed - - - Fixed `Phalcon\Db\Adapter\Pdo\Postgresql::describeColumns()` to return the correct string back [#16371](https://github.com/phalcon/cphalcon/issues/16371) - - Fixed `Phalcon/Filter/Validation::validate()` and `Phalcon/Filter/Validation/ValidationInterface::validate()` to return also `bool` [#16337](https://github.com/phalcon/cphalcon/issues/16337) - - Fixed `Phalcon\Mvc\Model::toArray` to ignore getters when the field name is `source`. [#16514](https://github.com/phalcon/cphalcon/issues/16514) - - Fixed `Phalcon\Http\Request::getPut` to correctly get form encoded data [#16519](https://github.com/phalcon/cphalcon/issues/16519) - - Fixed deprecation warning in callables `Use of "static" in callables is deprecated` for PHP 8.2+ [#16263](https://github.com/phalcon/cphalcon/issues/16263) + - Changed `Phalcon\Mvc\View\Engine\Volt\Compiler::filter` to use the helper with `upper` and `lower` for UTF-8 characters [#16543](https://github.com/phalcon/cphalcon/issues/16543) + - Changed `Phalcon\Di\AbstractInjectionAware` to extend `stdClass` for PHP 8.2 deprecation warnings [#16543](https://github.com/phalcon/cphalcon/issues/16543) diff --git a/phalcon/Di/AbstractInjectionAware.zep b/phalcon/Di/AbstractInjectionAware.zep index dbd41f2ef8..868bb39cd0 100644 --- a/phalcon/Di/AbstractInjectionAware.zep +++ b/phalcon/Di/AbstractInjectionAware.zep @@ -10,10 +10,12 @@ namespace Phalcon\Di; +use stdClass; + /** * This abstract class offers common access to the DI in a class */ -abstract class AbstractInjectionAware implements InjectionAwareInterface +abstract class AbstractInjectionAware extends stdClass implements InjectionAwareInterface { /** * Dependency Injector diff --git a/phalcon/Mvc/View/Engine/Volt/Compiler.zep b/phalcon/Mvc/View/Engine/Volt/Compiler.zep index 68f140c0b5..2939a79d86 100644 --- a/phalcon/Mvc/View/Engine/Volt/Compiler.zep +++ b/phalcon/Mvc/View/Engine/Volt/Compiler.zep @@ -2550,7 +2550,11 @@ class Compiler implements InjectionAwareInterface return "$this->length(" . arguments . ")"; case "lower": case "lowercase": - return "strtolower(" . arguments . ")"; + if this->container !== null && true === this->container->has("helper") { + return "$this->helper->lower(" . arguments . ")"; + } else { + return "strtolower(" . arguments . ")"; + } case "right_trim": return "rtrim(" . arguments . ")"; case "nl2br": @@ -2569,7 +2573,11 @@ class Compiler implements InjectionAwareInterface return "trim(" . arguments . ")"; case "upper": case "uppercase": - return "strtoupper(" . arguments . ")"; + if this->container !== null && true === this->container->has("helper") { + return "$this->helper->upper(" . arguments . ")"; + } else { + return "strtoupper(" . arguments . ")"; + } case "url_encode": return "urlencode(" . arguments . ")"; } diff --git a/phalcon/Support/HelperFactory.zep b/phalcon/Support/HelperFactory.zep index d50eca28db..5ccadc7b38 100644 --- a/phalcon/Support/HelperFactory.zep +++ b/phalcon/Support/HelperFactory.zep @@ -26,8 +26,10 @@ use Phalcon\Factory\AbstractFactory; * @method string decrement(string $text, string $separator = '_') * @method string dirFromFile(string $file) * @method string dirSeparator(string $directory) + * @method string dynamic(string $text, string $leftDelimiter = "{", string $rightDelimiter = "}", string $separator = "|") * @method string encode($data, int $options = 0, int $depth = 512) * @method bool endsWith(string $haystack, string $needle, bool $ignoreCase = true) + * @method mixed filter(array $collection, callable|null $method) * @method mixed first(array $collection, callable $method = null) * @method string firstBetween(string $text, string $start, string $end) * @method mixed firstKey(array $collection, callable $method = null) @@ -39,6 +41,7 @@ use Phalcon\Factory\AbstractFactory; * @method string humanize(string $text) * @method bool includes(string $haystack, string $needle) * @method string increment(string $text, string $separator = '_') + * @method string interpolate(string $message, array $context = [], string $leftToken = "%", string $rightToken = "%") * @method bool isAnagram(string $first, string $second) * @method bool isBetween(int $value, int $start, int $end) * @method bool isLower(string $text, string $encoding = 'UTF-8') diff --git a/phalcon/Support/Version.zep b/phalcon/Support/Version.zep index b7f1a0f85c..bda665f28f 100644 --- a/phalcon/Support/Version.zep +++ b/phalcon/Support/Version.zep @@ -77,7 +77,7 @@ class Version */ protected function getVersion() -> array { - return [5, 6, 1, 4, 0]; + return [5, 6, 2, 4, 0]; } /** diff --git a/tests/integration/Mvc/View/Engine/Volt/Compiler/CompileStringCest.php b/tests/integration/Mvc/View/Engine/Volt/Compiler/CompileStringCest.php index b5b5836bf6..35b3936297 100644 --- a/tests/integration/Mvc/View/Engine/Volt/Compiler/CompileStringCest.php +++ b/tests/integration/Mvc/View/Engine/Volt/Compiler/CompileStringCest.php @@ -24,6 +24,7 @@ use function ob_end_clean; use function ob_get_clean; use function ob_start; +use function str_replace; use function substr; use const PHP_EOL; @@ -452,11 +453,11 @@ private function getVoltCompileString(): array ], [ '{{ "hello"|uppercase }}', - '', + "helper->upper('hello') ?>", ], [ '{{ "hello"|lowercase }}', - '', + "helper->lower('hello') ?>", ], [ '{{ ("hello" ~ "lol")|e|length }}', diff --git a/tests/integration/Mvc/View/Engine/Volt/Compiler/FunctionCallCest.php b/tests/integration/Mvc/View/Engine/Volt/Compiler/FunctionCallCest.php index 7d52f93828..bc51f3aa40 100644 --- a/tests/integration/Mvc/View/Engine/Volt/Compiler/FunctionCallCest.php +++ b/tests/integration/Mvc/View/Engine/Volt/Compiler/FunctionCallCest.php @@ -299,22 +299,22 @@ private function getExamples(): array [ 'label' => 'lower', 'source' => '{{ "abc" | lower }}', - 'expected' => '', + 'expected' => 'helper->lower(\'abc\') ?>', ], [ 'label' => 'lowercase', 'source' => '{{ "abc" | lowercase }}', - 'expected' => '', + 'expected' => 'helper->lower(\'abc\') ?>', ], [ 'label' => 'upper', 'source' => '{{ "abc" | upper }}', - 'expected' => '', + 'expected' => 'helper->upper(\'abc\') ?>', ], [ 'label' => 'uppercase', 'source' => '{{ "abc" | uppercase }}', - 'expected' => '', + 'expected' => 'helper->upper(\'abc\') ?>', ], [ 'label' => 'capitalize',