Aleksander Machniak
94fd5a0f80
CS fixes (for the new fixer version rules)
2025-02-23 11:51:27 +01:00
Aleksander Machniak
64df318a73
Add static files server ( #9294 )
...
Make use of public_html mandatory
2025-02-09 14:10:50 +01:00
Michael Voříšek
6377477eb2
Add PHPUnit 10.x and 11.x support ( #9480 )
...
* Add PHPUnit 10.x and 11.x support
* fix undefined TestCase::getName() for PHPUnit 10+
* Add PHPUnit attributes but keep annotations
2024-06-13 18:40:29 +02:00
Michael Voříšek
f4272804d6
Rename test files for PHPUnit 10+ ( #9477 )
2024-06-05 07:46:51 +02:00
Michael Voříšek
6a5f9ee7ce
Add override method attributes ( #9272 )
2024-06-02 15:57:56 +02:00
Michael Voříšek
736795326c
Fix plugins composer.json format ( #9405 )
...
* Check plugins composer.json using CI
* Add "require-dev" and "config.allow-plugins" to plugins
* fix composer.json format - rm invalid email
* fix composer.json format - fix ext require
* fix composer.json format - fix plugin name
* tmp
* Revert "tmp"
* fix ext in ext install
* disable plugin in plugin install until Roundcube is fully autoloadable
* fix composer.json format - fix non-canonical license name
* Revert "Add "require-dev" and "config.allow-plugins" to plugins"
* no composer install for plugins needed
* Revert "fix ext in ext install"
* add standard "Test" suffix to phpunit files
* rm unneeded "suffix" in phpunit config
* simplify phpunit config
* fix default "xhtml" doctype in unit testing
* fix test_format_date test to not rely on other tests
* even more phpunit config simplify
* stricter/unify phpunit params for E2E tests
* run E2E tests on maximal php version too with lowest deps
* "repositories" in bundled plugins are useless as for root package only
* add/unify missing plugin test
2024-04-05 17:55:46 +02:00
Aleksander Machniak
3b159a1c25
Code improvements in the spellchecker classes
2024-03-17 10:19:25 +01:00
Aleksander Machniak
4e7d5c601e
Code improvements
2024-03-17 08:47:00 +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
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
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
Aleksander Machniak
7a07ce57f5
Test but do not output (while testing) some OAuth errors
2024-01-01 10:36:48 +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
ffa298d41c
OAuth: feat: use OIDC claims on user creation ( #9286 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-29 19:10:37 +01:00
Edouard Vanbelle
14f092c7af
OAuth: security: add support of nonce ( #9288 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-29 19:05:14 +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
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
8c82b29baf
Assert expected data types in tests ( #9268 )
...
* fix test skips for local testing
* fix Actions_Mail_Search tests when run /w non-UTC default TZ
* improve tests before PHP CS Fixer is run
* fix "php_unit_strict"
2023-12-17 15:03:08 +01:00
Aleksander Machniak
04671ba197
Fix a couple of phpstan errors
2023-12-17 13:23:20 +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
Aleksander Machniak
622cc8d555
CS fixes
2023-12-17 11:11:00 +01:00
Aleksander Machniak
f363481ca1
CS improvements, fix unwanted output in tests
2023-12-17 10:08:21 +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
Edouard Vanbelle
588a879107
OAuth improvements ( #9217 )
...
- OAuth: Add `oauth_config_uri` - support OAuth/OpenIDC discovery (#8201 )
- OAuth: Add `oauth_logout_uri` - allow invalidating the OAUTH-Session on logout (#8057 )
- OAuth: Support for OpenID Connect RP-Initiated Logout (#9109 )
- OAuth: Add support of OAUTHBEARER (#9217 )
- OAuth: Add `oauth_debug` option (#9217 )
- OAuth: Fix: missing config `oauth_provider_name` in rcmail_oauth's constructor (#9217 )
- OAuth: Refactor: move display to the rcmail_oauth class and use `loginform_content` hook (#9217 )
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-17 09:13:07 +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
600bbf608e
Run unit tests in CI on Windows too ( #9251 )
...
* Run unit tests in CI on Windows too
* Install::test_check_mime_extensions() has no mime.types on Windows
* Fix sqlite test DB path and unlink for Windows
* Fix rcube::exec() testing for Windows
* Prevent git EOL conversion for tests/
* Fix test_rtf2text test for text with CRLF
* run E2E tests on one php version only
2023-12-10 16:18:04 +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
Philip Weir
89ce052242
Unify HTML editor font settings ( #9177 )
2023-11-25 14:23:17 +01:00
Aleksander Machniak
57b161111f
Fix bug where installto.sh/update.sh scripts were removing some essential options from the config file ( #9051 )
...
Plus small code improvements
2023-07-08 09:10:45 +02:00
Aleksander Machniak
156e480a26
Fix invalid onclick handler on the logo image when using non-array skin_logo setting ( #8933 )
2023-02-26 10:14:38 +01:00
bandali0
5d99ffb766
Fix broken short date test with ICU >= 72.1 ( #8904 )
...
* tests/Rcmail/Rcmail.php (test_format_date): Starting with ICU 72.1,
a NARROW NO-BREAK SPACE (NNBSP) is used instead of an ASCII space
before the meridian. So, check for an NNBSP when using ICU >= 72.1.
References:
* https://icu.unicode.org/download/72
* https://cldr.unicode.org/index/downloads/cldr-42
* https://github.com/unicode-org/icu/pull/2103
2023-01-31 19:01:22 +01: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
2d00d18e6c
Rename 'request_uri_field' to 'request_path' and allow a path in it ( #8738 , #8770 )
2023-01-08 09:54:19 +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
aac9b696b8
Fix various PHP 8.2 warnings
2022-08-06 09:22:12 +02:00
Aleksander Machniak
01e42cfe57
Fix bug where config creation in Installer did ignore options in the form ( #8634 )
2022-07-31 12:41:05 +02:00
Aleksander Machniak
f8b2afac0c
Update changelog and tests
2022-06-25 09:48:23 +02:00
Aleksander Machniak
83bc6289f5
Fix bug where a recipient address containing UTF-8 characters was ignored when sending an email ( #8493 , #8546 )
2022-06-25 09:01:09 +02:00
Aleksander Machniak
ab91416599
Fix mail headers injection via the subject field on mail compose ( #8404 )
2022-01-22 08:28:21 +01:00
Aleksander Machniak
5e2f7042ec
Fix test regression
2021-11-14 11:11:46 +01:00
Aleksander Machniak
28b6351750
Fix compatibility with Referrer-Policy: "strict-origin" ( #8170 )
2021-11-13 10:02:24 +01:00
Aleksander Machniak
59913fd586
Relax some test assertions
2021-11-06 09:12:58 +01:00
Aleksander Machniak
1aa52f89cb
Dropped support for strftime-like format (with % sign) in date and time format configuration
2021-08-01 10:11:26 +02:00
Aleksander Machniak
89e54718ca
Migration to PHPUnit v9
2021-07-25 11:07:56 +02:00
Sebastian Brückner
1d2ad936a7
Fix parsing aud jwt claim ( #8096 )
2021-06-11 09:58:06 +02:00
Aleksander Machniak
24fc958f03
Improve template conditionals parsing
...
The old method with big regexps was buggy as described in #8065 .
2021-05-19 19:49:57 +02:00