Aleksander Machniak
09f163960c
Fix PHP 8.5 deprecation about PDO driver specific constants
2025-10-16 15:03:34 +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
70e4e86148
Support IPv6 in database DSN ( #9937 )
2025-07-25 18:55:21 +02:00
Aleksander Machniak
f7d8852d17
Use str_starts_with() where applicable
2025-03-30 11:32:38 +02: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
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
15659d7815
PHPCS: phpdoc_annotation_without_dot=true (default)
2024-04-14 10:32:35 +02:00
Aleksander Machniak
8133acba68
Code improvements (and fixes to recent commits)
2024-03-24 12:06:39 +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
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
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
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
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
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
Aleksander Machniak
d2e020ae62
Add rcube_db::error_info()
2023-07-20 10:29:19 +02:00
Aleksander Machniak
98fa870a98
Fix possible PHP warning ( #8793 )
2022-12-04 10:39:56 +01:00
Michael Steininger
e717bedc10
Fix php 8.0 warning if db_dsnr is used ( #8779 )
2022-11-11 11:38:25 +01:00
Philip Weir
901b1bb8f1
Remove remaining references to dropped db engines ( #8767 )
2022-10-29 17:06:21 +02:00
Aleksander Machniak
019801a430
Removed support for MS SQL Server and Oracle ( #7854 )
2022-09-11 11:01:03 +02:00
Aleksander Machniak
d03668e39a
Fix regression in rcube_db::encode()
...
We use mb_convert_encoding() instead of utf8_encode() and utf8_decode().
2022-08-09 18:56:24 +02:00
Aleksander Machniak
1389e573d3
Remove use of utf8_encode() and utf8_decode() functions deprecated in PHP 8.2
2022-08-06 18:58:23 +02:00
Aleksander Machniak
1e5d87c97c
Fix support for DSN specification without host e.g. pgsql:///dbname ( #8558 )
2022-06-18 14:11:35 +02:00
Aleksander Machniak
fa65a68389
Use ... oprator instead of func_get_args() for variadic functions
2022-04-27 19:21:00 +02:00
Aleksander Machniak
a9e096e87f
Fix database initialization if db_prefix is a schema prefix ( #8221 )
2021-10-24 12:07:54 +02:00
Aleksander Machniak
f2688ba492
Use ?? operator where applicable
2021-09-21 19:12:06 +02:00
Aleksander Machniak
b28dc5a667
PHP 8.1: Enable PDO::ATTR_STRINGIFY_FETCHES
2021-07-29 19:13:52 +02:00
Josh Soref
203f456620
Spelling ( #8001 )
2021-04-18 08:43:18 +02:00
Aleksander Machniak
747bcd2ff4
Fix handling of table prefix and quoting in insert_or_update()
...
In all places we use this function the $table argument has already
been passed through table_name() method, i.e. it contains the prefix
and is quoted. So, we should not do this again.
2021-02-15 11:31:06 +01:00
Aleksander Machniak
a03a1db73c
Tabs to spaces
...
[skip ci]
2021-02-06 16:59:05 +01:00
Michael Stilkerich
ae3f9c215e
Improve preciseness of some PHPdoc annotations ( #7809 )
2021-01-09 10:05:46 +01:00
Aleksander Machniak
f4ed1024dc
PHP8 fixes, CS fixes, short array syntax, tests
2020-12-02 20:15:00 +01:00
Aleksander Machniak
066faa1485
CS fixes, short array syntax, PHP8 fixes, tests
...
also fixed listing of table columns on SQLite database
2020-11-28 10:06:41 +01:00
Aleksander Machniak
97991b59be
Add more tests for contact actions, fix various code issues
2020-11-05 11:59:02 +01:00
Aleksander Machniak
545a1569f1
Steps -> Actions refactoring ( #7688 )
...
* Move action handling code to rcmail class
* Add rcmail_action class
* Add action aliases
* Get rid of $OUTPUT global
* Move some methods from rcmail to rcmail_action
* PHP8 compat. fixes
* Add framework for testing actions
* Fix obvious code mistakes
2020-11-01 11:25:38 +01:00
Aleksander Machniak
f95212d626
PHP8: More warnings fixed
2020-10-11 15:24:30 +02:00
Aleksander Machniak
bde383d051
PHP8: Fix various issues
...
for now only these I found by running our unit tests, there will be much more
2020-10-11 10:32:41 +02:00
Aleksander Machniak
a5c2b4360c
Fixes in context of undefined variables, and code style
2020-08-15 12:13:31 +02:00
Michael Stilkerich
25e42439d2
Fix inconsistencies in phpdoc type annotations ( #7474 )
2020-07-25 09:59:01 +02:00
Aleksander Machniak
bb3975adbe
Fix insert_or_update() broken on SQLite/MSSQL/Oracle ( #7465 )
2020-07-02 08:41:50 +02:00
Aleksander Machniak
60c8dd2e23
Fix regression where using an absolute path to SQLite database file on Windows didn't work ( #7196 )
2020-01-31 16:13:28 +01:00