Pablo Zmdl
a03221041e
Run test with PHP 8.5-rc ( #9970 )
...
* Allow to inject composer arguments into testing scripts
* Run unit tests with PHP v8.5, too
* Run browser tests with PHP 8.5, too
* Depend on php-cs-fixer v3.8, which supports PHP v8.4
* Run code style checks in CI on PHP v8.4
* Check for vars being set and not null before using them as array keys
* Use generic tag name in container image build script
The script is meant for locally building images (the CI workflow runs
other code), so we now use localhost/ as namespace.
* Check that variable is usable before using it as array key
This includes proper type declarations for the method arguments and its return value.
* Ensure that the input to chr() is between 0 and 255.
* Require guzzle v7.10.0, which supports PHP 8.5
* Update phpunit a little to decide when to fail on deprecations
PHPUnit 10.5.47 and later know the flag `--do-not-fail-on-deprecation`, which allows us to make it not exit with code 1
in case of deprecations on the second run of the script. That second run uses the lowest valid dependencies, which might
contain deprecations when used with newer versions of PHP, but still are acceptable versions, and should not make our
tests fail.
* Run message rendering tests with PHP v8.4 and v8.5, too
* Check explicitly for null-ness
0 would be a valid value here.
* Replace chr() by mb_chr() and remove the workaround
2025-09-14 11:33:38 +02:00
Michael Voříšek
026eb8c801
Enforce leading backslash for non-namespaced non-Roundcube uses ( #9935 )
2025-08-15 10:27:00 +02:00
Aleksander Machniak
8e458b536e
Fix new phpstan errors
2025-05-20 15:30:06 +02:00
Aleksander Machniak
0b38444c32
Fix removing/expiring redis/memcache records when using a key prefix
2025-04-18 14:41:25 +02:00
Aleksander Machniak
cfac0d6841
Remove apc cache driver
2025-04-06 15:52:06 +02:00
Dennis
edbfd1109b
Add APCu cache driver ( #9828 )
2025-04-06 15:43:53 +02:00
Aleksander Machniak
f7d8852d17
Use str_starts_with() where applicable
2025-03-30 11:32:38 +02:00
Aleksander Machniak
e046b5e663
Remove redundant code
2025-02-23 11:38:43 +01:00
Pablo Zmdl
3577d52cbb
Merge pull request #6138 from noobish/php-log
2024-12-02 08:06:01 +01:00
Michael Voříšek
efcdce84ba
Keep phpstan strict rules testing ( #9424 )
...
* Revert "Get rid of phpstan/phpstan-strict-rules"
This reverts commit ff59ade31a .
* drop phpstan baseline
* fix foreach phpstan issue
* adjust for rebase
* fix method call case
* ignore one phpstan error even after isset
2024-11-20 08:13:16 +01:00
Ian Freeman
9183d37cfb
Add 'php' log_driver, passing log entries off to php's configured
...
error_log facility.
2024-11-10 14:55:35 -08:00
Aleksander Machniak
4ca198440a
Fix PHP deprecation warnings ( #9616 )
2024-09-07 08:47:08 +02:00
Aleksander Machniak
cfd108399e
Simplify use of rcube::raise_error()
2024-05-17 15:43:17 +02:00
Michael Voříšek
a30e0ad438
Infer file/line location in rcube::raise_error() from backtrace ( #9422 )
...
* \n\s+'file' => __FILE__,
* \n\s+'line' => __LINE__,
* 'line' => __LINE__, 'file' => __FILE__,
* 'file' => __FILE__, 'line' => __LINE__,
* rest
* more
* improve cs
* more cs
* revert rcube_utils::preg_error changes
* impl file/line from backtrace
* Revert "revert rcube_utils::preg_error changes"
2024-04-21 11:48:35 +02:00
Aleksander Machniak
ff59ade31a
Get rid of phpstan/phpstan-strict-rules
2024-04-21 11:33:51 +02:00
Aleksander Machniak
15659d7815
PHPCS: phpdoc_annotation_without_dot=true (default)
2024-04-14 10:32:35 +02:00
Michael Voříšek
1e360999b2
Use composer autoloader for bundled plugins testing ( #9412 )
...
* use fixed "roundcube/plugin-installer"
* Use composer autoloader for plugins testing
* cherrypick remaining from 9241 related with testing
* minor legacy autoload improvements
2024-04-11 18:28:46 +02:00
Aleksander Machniak
5c603344fe
Code improvements
2024-04-01 11:50:56 +02:00
Aleksander Machniak
20d9edce04
Code improvements
2024-03-31 19:22:56 +02:00
Aleksander Machniak
3a76c9b3b6
Code improvements
2024-03-23 18:28:22 +01:00
Aleksander Machniak
b978a55060
Fix fatal error when http_client option is undefined ( #9358 )
2024-02-25 10:05:23 +01:00
Aleksander Machniak
a1f39f47b7
Fix phpstan errors
2024-02-10 19:20:04 +01:00
Michael Voříšek
d18406a8bd
Fix binary operator spaces CS ( #9330 )
...
* align_single_space_minimal for assign
* assign operators grouping is not supported by PHP CS Fixer
* binary_operator_spaces = single_space
* fix anonymous function on single line
* align comments manually
2024-02-02 07:53:34 +01:00
Aleksander Machniak
9e5c019936
Fix some phpstan errors
2024-01-28 14:44:28 +01:00
Aleksander Machniak
21dc4f2667
Small code improvements
2024-01-26 15:57:53 +01:00
Michael Voříšek
ff2d721680
Fix more CS whitespace ( #9318 )
...
* fix "no_useless_else" manually
* fix some "blank_line_before_statement"
* two manual changes
* Revert "fix some "blank_line_before_statement""
This reverts commit 2cc857c00e .
* fix some "blank_line_before_statement" using patched fixer (after "}" only)
* fix continue/break too
2024-01-25 19:17:29 +01:00
Michael Voříšek
4ee79b9e84
fix "explicit_string_variable" ( #9315 )
2024-01-22 08:05:59 +01:00
Michael Voříšek
54f4aa33f9
Fix CS - imports ( #9316 )
...
* fix Tests\Browser\TestCase imports
* fix remaining imports
* fix PHPUnit\Framework\TestCase imports
* import GuzzleHttp\Client
* fix remaining
* "php_unit_method_casing" is not todo
* fix "single_line_comment_spacing"
* fix 2nd commit done using older fixer
2024-01-21 19:13:31 +01:00
Michael Voříšek
b1a0067e5d
Fix more CS ( #9303 )
...
* fix "class_attributes_separation"
* fix "ternary_to_null_coalescing"
* fix "no_extra_blank_lines"
* fix "php_unit_data_provider_name" - use snake_case
* fix remaining "function data_" manually
* move "php_unit_test_case_static_method_calls" to a better place in cnf
* fix 3.47.1 CS
2024-01-20 08:22:32 +01:00
Michael Voříšek
6a53a1d853
Fix CS (whitespace, visibility) ( #9297 )
...
* Fix "method_argument_space"
* Fix "control_structure_continuation_position"
* Fix "new_with_parentheses"
* Fix "blank_line_before_statement"
* Fix "visibility_required"
* Fix some "array_indentation"
* Fix some "array_indentation" - unify all "rcube::raise_error" calls
* rm useless eslint ignores and add rules counts
* sort eslint ignores
* fix eslint ignores grammar
* Revert "Fix "blank_line_before_statement""
* fix CS 3.46.0
2024-01-04 14:26:35 +01:00
Michael Voříšek
2643be3eaa
Fix single quotes CS ( #9283 )
...
* Fix "single_quote"
* fix "escape_implicit_backslashes"
* fix typo from f363481c
* fix single quotes in JS
* fix some minor JS CS
* fix CS v3.45.0
2023-12-31 16:36:55 +01:00
Edouard Vanbelle
c5a84f7d73
fix: correct language_prop() to support language like es_419 from user agent ( #9292 )
2023-12-29 18:48:50 +01:00
Edouard Vanbelle
0e4c35797d
core: correct coding style warning ( #9284 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-26 09:04:54 +01:00
Michael Voříšek
3e458fa5fd
Refer native constants unambiguously ( #9275 )
...
* Fix "native_constant_invocation" CS
* "self_accessor" was fixed in 9269 PR
* "php_unit_strict" was fixed in 9268 PR
2023-12-23 17:02:19 +01:00
Aleksander Machniak
a689d4cda0
Fix potential "undefined index" warning
2023-12-19 10:44:47 +01:00
Michael Voříšek
e7d7e62146
Modernize more basic CS II ( #9254 )
...
* fix "integer_literal_case"
* fix "phpdoc_separation"
* fix "phpdoc_var_without_name"
* fix "operator_linebreak"
* fix "no_alias_language_construct_call"
* fix "list_syntax"
* fix "concat_space"
* fix "array_syntax"
* fix "binary_operator_spaces"
* fix "binary_operator_spaces" relaxed
* fix "phpdoc_types_order"
* fix "phpdoc_trim"
* fix "native_type_declaration_casing"
* fix "method_chaining_indentation"
* fix "phpdoc_no_package"
* fix "elseif"
* fix PHP CS Fixer config itself too
* fix "native_type_declaration_casing"
2023-12-17 13:14:45 +01:00
Michael Voříšek
ca8b17d191
Modernize more basic CS ( #9258 )
...
* fix "yoda_style"
* fix "is_null"
* rm useless rule ignores
* add full "PhpCsFixer:risky" ruleset
* fix "implode_call"
* fix "no_alias_functions"
* fix "array_push"
* fix "long_to_shorthand_operator"
* fix "ternary_to_elvis_operator"
* fix "logical_operators"
* fix "fopen_flags"
* rename "returns" phpdoc tags to "return"
* fix "php_unit_construct"
* fix "function_to_constant"
* fix "php_unit_data_provider_return_type"
* fix "php_unit_set_up_tear_down_visibility"
* some safe "string_length_to_empty"
* fix "phpdoc_align"
* fix "phpdoc_no_alias_tag"
* fix "trailing_comma_in_multiline"
---------
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-17 09:51:11 +01:00
Michael Voříšek
93946f4ca7
Fix "self_accessor" PHP CS Fixer rule ( #9269 )
2023-12-17 09:44:43 +01:00
Michael Voříšek
1aef271290
Fix class/method names case typos ( #9261 )
...
* fix Mail_Mime case
* fix StdErrMock case
* fix method calls case
2023-12-16 15:39:59 +01:00
Michael Voříšek
a8707ae220
Fix and assert basic CS using CI ( #9246 )
...
* Assert CS using CI
* fix "single_blank_line_at_eof"
* fix "statement_indentation"
* fix "switch_case_semicolon_to_colon"
* fix "control_structure_braces"
* fix "statement_indentation"
* fix "no_whitespace_in_blank_line"
* fix "no_trailing_whitespace_in_comment"
* fix "no_trailing_whitespace"
* fix "single_space_around_construct"
* fix "spaces_inside_parentheses"
* fix "ternary_operator_spaces"
* fix "trim_array_spaces"
* fix "whitespace_after_comma_in_array"
* fix "cast_spaces"
* fix "unary_operator_spaces"
* fix "no_trailing_comma_in_singleline"
* fix "ordered_imports"
* fix "no_unused_imports"
* Check composer.json format
* fix CI job name
* file header comments are not phpdoc
* fix "phpdoc_indent"
* fix "braces_position"
* fix "phpdoc_types"
* fix "no_blank_lines_after_class_opening"
* fix "no_multiple_statements_per_line"
* fix "multiline_comment_opening_closing"
* fix "single_line_empty_body"
* fix "non_printable_character"
* fix "phpdoc_trim_consecutive_blank_line_separation"
* fix "include"
* fix "no_mixed_echo_print"
---------
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-16 15:37:43 +01:00
Michael Voříšek
a2b5bb8f05
Fix rcube::decrypt() ( #9264 )
...
* do not skip test_encrypt_and_decrypt test
* Fix rcube::decrypt()
2023-12-13 08:27:39 +01:00
Michael Voříšek
5425d1a84a
Fix invalid phpdocs ( #9252 )
...
* fix missing return type in phpdoc
* fix "phpdoc_scalar"
* Fix phpdoc variable names typos
* fix wrong phpdoc tags
2023-12-10 16:20:50 +01:00
Aleksander Machniak
9f044f004c
Don't log anything if per_user_logging=true and user is not authenticated yet
2023-11-27 13:12:01 +01:00
Aleksander Machniak
efad759e80
Fix PHP8 warning
2023-08-03 11:54:04 +02:00
Aleksander Machniak
94c78b350e
Fix so install/update scripts do not require PEAR ( #9037 )
2023-07-15 18:43:00 +02:00
Aleksander Machniak
a20445fcc5
Fix potential HTTP protocol version mismatch ( #8982 )
2023-05-07 16:37:17 +02:00
Aleksander Machniak
ff96e7724a
Set timeout=30, connect_timeout=5, read_timeout=120 as defaults for HTTP client ( #8865 )
2023-04-10 09:46:54 +02:00
Aleksander Machniak
32ddb7b8d1
Use precise session lifetime for garbage collector ( #8671 )
2022-10-09 17:13:41 +02:00
Aleksander Machniak
80404a8674
Store uploads metadata in a separate sql database table instead of a session ( #8415 )
2022-10-09 11:35:14 +02:00
Stuart Henderson
ba5ea75f46
Don't return undefined $_SESSION['secure_token'] ( #8705 )
...
Avoid `PHP Warning: Undefined array key "secure_token" in /roundcubemail/program/lib/Roundcube/rcube.php on line 1002` seen with PHP 8 and secure_urls enabled.
2022-09-24 09:10:18 +02:00