Dominik Schmidt
ce893b2e1d
Preserve requested url on oidc login ( #10033 )
...
* feat: preserve requested url on oidc login
* fix(oidc): redirect to idp when session timed out
2025-11-29 18:21:16 +01:00
Aleksander Machniak
1e55383302
Use symfony/polyfill-php85 for array_first() and array_last()
2025-10-03 14:27:05 +02:00
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
Aleksander Machniak
3139bff247
CS-Fixer: Enable modernize_strpos
2025-08-15 13:20:24 +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
ed7b459014
Validate timezone stored in session
2025-06-11 14:39:35 +02:00
Aleksander Machniak
8208b9f87d
Fix bug in handling rcmail::format_date()'s $convert argument ( #9666 )
2025-04-21 12:28:14 +02:00
Aleksander Machniak
f7d8852d17
Use str_starts_with() where applicable
2025-03-30 11:32:38 +02:00
Aleksander Machniak
64df318a73
Add static files server ( #9294 )
...
Make use of public_html mandatory
2025-02-09 14:10:50 +01:00
Philip Weir
ccede1f272
Update links in comments and config to https where available ( #9759 )
2025-01-26 13:34:57 +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
Aleksander Machniak
9ab47d94fa
Don't initialize OAuth handler in CLI
E2E / Linux / PHP ${{ matrix.php }} (8.1) (push) Waiting to run
E2E / Linux / PHP ${{ matrix.php }} (8.3) (push) Waiting to run
CI / Coding Style (push) Waiting to run
CI / Static Analysis (push) Waiting to run
Unit / Linux / PHP ${{ matrix.php }} (7.3) (push) Waiting to run
Unit / Linux / PHP ${{ matrix.php }} (7.4) (push) Waiting to run
Unit / Linux / PHP ${{ matrix.php }} (8.0) (push) Waiting to run
Unit / Linux / PHP ${{ matrix.php }} (8.1) (push) Waiting to run
Unit / Linux / PHP ${{ matrix.php }} (8.2) (push) Waiting to run
Unit / Linux / PHP ${{ matrix.php }} (8.3) (push) Waiting to run
Unit / Windows / PHP ${{ matrix.php }} (7.3) (push) Waiting to run
Unit / Windows / PHP ${{ matrix.php }} (7.4) (push) Waiting to run
Unit / Windows / PHP ${{ matrix.php }} (8.0) (push) Waiting to run
Unit / Windows / PHP ${{ matrix.php }} (8.1) (push) Waiting to run
Unit / Windows / PHP ${{ matrix.php }} (8.2) (push) Waiting to run
Unit / Windows / PHP ${{ matrix.php }} (8.3) (push) Waiting to run
2024-10-28 11:45:55 +01:00
Michael Voříšek
6a5f9ee7ce
Add override method attributes ( #9272 )
2024-06-02 15:57:56 +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
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
02e49ed236
Fix phpstan errors
2024-03-10 18:37:52 +01:00
Aleksander Machniak
a1f39f47b7
Fix phpstan errors
2024-02-10 19:20:04 +01:00
Michael Voříšek
332c165d28
Fix some basic JS CS ( #9328 )
...
* fix "nonblock-statement-body-position" (fixed already)
* fix "comma-dangle"
* fix "no-regex-spaces"
* fix "new-parens"
* fix "object-curly-newline"
* fix "object-property-newline"
* fix "spaced-comment" semimanually
* fix "no-constant-condition" manually
* fix "unicorn/no-hex-escape"
* fix "unicorn/escape-case"
* fix "quote-props"
* fix "no-whitespace-before-property" - fix bug/typo
* fix "unicorn/empty-brace-spaces"
* fix "keyword-spacing"
* fix "dot-notation"
* fix "no-return-assign" manually
* fix "padding-line-between-statements"
* fix "key-spacing"
* fix "no-else-return" semimanually
* fix some "no-undef"
* fix case cs
* Revert "fix "padding-line-between-statements""
* improve switch/case format I.
* improve switch/case format II.
regex: (^ *(break|return).*)\n *(\n)
* fix safe "eqeqeq"
* fix "radix"
* fix v3.49.0 CS (static providers)
* fix "string_implicit_backslashes" in php files
* fix comments align
* fix test static providers
* fix stan
* disable "final_internal_class" rule
2024-02-06 08:28:19 +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
34500a4fa4
Fix "missing return statement" phpstan errors
2024-01-27 19:07:52 +01:00
Aleksander Machniak
6f8fc03fe8
Solve some phpstan errors
2024-01-24 14:20:21 +01:00
Michael Voříšek
4ee79b9e84
fix "explicit_string_variable" ( #9315 )
2024-01-22 08:05:59 +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
Edouard Vanbelle
77aca18bd5
Refactorize request_access_token() returning a simple boolean ( #9299 )
2024-01-06 08:34:12 +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
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
Michael Voříšek
a9167a0d2f
Fix "static_lambda" CS ( #9276 )
2023-12-20 20:01:00 +01:00
Michael Voříšek
28c778b7a0
Modernize more CS III ( #9270 )
...
* fix "single_trait_insert_per_statement"
* fix "empty_loop_condition"
* fix "backtick_to_shell_exec"
* fix "phpdoc_to_comment"
* fix "no_empty_statement"
* fix "heredoc_to_nowdoc"
* fix "class_reference_name_casing"
* fix "align_multiline_comment"
* fix "heredoc_indentation"
* fix "constant_case"
* fix "single_line_comment_style"
* fix "no_null_property_initialization"
* fix "standardize_increment"
* fix "no_unneeded_control_parentheses"
* fix missing NL after "<?php"
* fix php in *.sh files too
* fix trailing spaces from all text files
* fix "explicit_indirect_variable"
* Revert "fix "align_multiline_comment""
This reverts commit 42e584f8e3 .
* fix "align_multiline_comment" properly
* Revert "fix trailing spaces from all text files" - diff files only
* Revert "Revert "fix trailing spaces from all text files" - diff files only"
This reverts commit 2101c2a3a3 .
* rm useless "setup-php" config
2023-12-18 07:46:51 +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
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
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
Michael Voříšek
f9a9ec49b0
Fix format_date with "x" format for Windows ( #9250 )
...
* Fix format_date with "x" format for Windows
* set default Intl locale and use it
* harden default test config
2023-12-10 15:30:22 +01:00
Aleksander Machniak
7c1665b08f
Fix PHP8 warning ( #9160 )
2023-10-08 09:51:37 +02:00
Aleksander Machniak
6f35b2cc5b
More fixes regarding rcmail::url() ( #9052 )
2023-07-10 18:27:56 +02:00
Aleksander Machniak
d2e8a889c4
Fix regression that broke use_secure_urls feature ( #9052 )
2023-07-09 11:23:44 +02:00
Aleksander Machniak
bac152444b
Fix listing subfolders of Trash in logout actions on servers with specific NAMESPACE definition
2023-05-10 21:34:19 +02:00
Aleksander Machniak
63f63e8f4d
Fix regression in OAuth request URI caused by use of REQUEST_URI instead of SCRIPT_NAME as a default ( #8878 )
2023-01-26 18:14:36 +01:00
Aleksander Machniak
6251d38ecd
Fix PHP warning
2023-01-08 11:45:44 +01:00
Aleksander Machniak
2d00d18e6c
Rename 'request_uri_field' to 'request_path' and allow a path in it ( #8738 , #8770 )
2023-01-08 09:54:19 +01:00
Aleksander Machniak
c65763f59b
Make rcmail::format_date() to work with DateTimeImmutable
2022-12-29 14:14:54 +01:00
Aleksander Machniak
631dc5a839
Fix get_address_book() issue for addressbooks that have a string identifier starting with a digit
2022-12-01 10:00:16 +01:00
Thomas B
409aee8b3c
Add config option for request uri field ( #8738 ) ( #8770 )
...
This can be used to read a custom header sent by a reverse proxy to resolve the absolute path to Roundcube
* add check against the proxy_whitelist option before using a HTTP header field value for the request uri composition.
* refactor the rcmail::url() method to also work when composing fully qualified urls.
* fix/adapt tests
2022-11-23 21:05:00 +01: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
Aleksander Machniak
aac9b696b8
Fix various PHP 8.2 warnings
2022-08-06 09:22:12 +02:00
Aleksander Machniak
f8b2afac0c
Update changelog and tests
2022-06-25 09:48:23 +02:00