Vitaly Lavrov
613ccd7e05
BUG: get_variable for postgres never returns a value ( #9710 )
...
Because of this, the insert_or_update() method never uses the "INSERT INTO ... ON CONFLICT DO UPDATE SET ..." command, and the logs constantly show errors adding records to the message cache due to "duplicate key".
2024-11-24 14:18:06 +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
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
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
Michael Voříšek
a9167a0d2f
Fix "static_lambda" CS ( #9276 )
2023-12-20 20:01:00 +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
4ed6f65f94
Rename DNS option attr_emulate_prepares to emulate_prepares, update changelog
...
[skip ci]
2023-11-19 10:41:52 +01:00
Dominik Ulrich
d53db5e7e5
Add possibility to change ATTR_EMULATE_PREPARES via config file ( #9213 )
2023-11-19 10:37:35 +01:00
Aleksander Machniak
019801a430
Removed support for MS SQL Server and Oracle ( #7854 )
2022-09-11 11:01:03 +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
48fbf110af
SQLite: Use foreign keys, require SQLite >= 3.6.19 ( #8159 )
2021-10-03 12:10:14 +02:00
Aleksander Machniak
626332d42a
Don't use is_resource() where not needed
2021-10-02 08:40:56 +02:00
Aleksander Machniak
f2688ba492
Use ?? operator where applicable
2021-09-21 19:12:06 +02:00
Aleksander Machniak
8e8fe12082
Fix locked SQLite database for the CLI tools ( #8035 )
2021-08-01 11:27:06 +02:00
Aleksander Machniak
9faea49f82
Set PDO::ATTR_EMULATE_PREPARES=false for MySQL
2021-07-29 21:20:23 +02:00
Aleksander Machniak
5ac44fd4ed
PHPDoc fixes
2021-02-28 11:58:27 +01: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
f4ed1024dc
PHP8 fixes, CS fixes, short array syntax, tests
2020-12-02 20:15:00 +01:00
Aleksander Machniak
007f9b81cf
Lower SQLite version requirement
2020-11-28 16:05:19 +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
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
Michael Stilkerich
67825e6320
MySQL: Don't reissue query after deadlock error ( #7529 )
...
When a deadlock error occurs, MySQL rolls back the _entire_ ongoing
transaction. The application would have to restart the transaction from
the beginning to retry if wanted.
Now roundcube in that case simply retries the statement that raised the
deadlock error, even though everything else in the transaction was
rolled back. This breaks transaction isolation, leaves the database in a
potentially inconsistent state (from the application's data consistency
model point of view), and does not indicate to the application there was
a problem at all to it may even continue executing other potentially
remaining statements of a transaction that has already been rolled back.
-> Remove the retries from roundcube. Retries have to be initiated by
the application if desired, not only retrying the last statement but the
entire transaction from the beginning.
2020-09-25 12:32:25 +02:00
Aleksander Machniak
d30f039e5a
Use PDO::ATTR_CLIENT_VERSION when PDO::ATTR_DRIVER_VERSION does not exist ( #7564 )
2020-09-20 14:45:43 +02:00
Aleksander Machniak
77bc3f2427
Fix incorrect PDO::lastInsertId() use in sqlsrv driver ( #7564 )
2020-08-28 09:41:19 +02:00
Aleksander Machniak
a5c2b4360c
Fixes in context of undefined variables, and code style
2020-08-15 12:13:31 +02:00
Aleksander Machniak
b7410ffe89
Use mySQL charset in connection string instead of SET NAMES ( #7232 )
...
And switch to utf8mb4 as it is what we're using right now in db schema.
2020-02-23 19:29:45 +01:00
Aleksander Machniak
1613f3ab4c
INSERT OR REPLACE implementation ( #6771 )
...
For now with support in postgres and mysql databases.
For now used in rcube_cache, rcube_imap_cache and enigma plugin
2020-01-19 18:43:48 +01:00
Aleksander Machniak
545ea62dfc
Fix bug where listing tables in PostgreSQL database with db_prefix didn't work ( #7093 )
2019-12-13 21:04:12 +01:00
Aleksander Machniak
1afa46d28d
PHPDoc and CS fixes
2019-08-25 14:15:09 +02:00
Aleksander Machniak
a80c5569ab
Added flag to disable server certificate validation via Mysql DSN argument ( #6848 )
2019-07-15 09:12:18 +02:00
Aleksander Machniak
57c67db029
Remove year(s) from copyright headers + some cleanup
2019-04-16 10:42:45 +02:00
Aleksander Machniak
1058924e21
Move some framework classes to sub-directories
2018-03-03 17:46:59 +01:00