Commit Graph

567 Commits

Author SHA1 Message Date
Aleksander Machniak
94fd5a0f80 CS fixes (for the new fixer version rules) 2025-02-23 11:51:27 +01:00
Aleksander Machniak
a9b1ca34f3 Update min PHP version check, cleanup outdated checks/comments 2025-02-23 11:18:50 +01:00
Aleksander Machniak
c8919660eb Fix PHP warnings - don't pass an array where a string is expected 2025-02-16 13:38:52 +01:00
Aleksander Machniak
1c8f6048a3 Fix match-type selector (remove unsupported options) in delete header action (#9610) 2025-02-16 13:23:22 +01:00
Philip Weir
ccede1f272 Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
Bennet Becker
353de7c9a9 Managesieve: Parse all time and timezone formatters in sieve_formattime() that PHP understands 2024-11-21 14:35:44 +01:00
Pablo Zmdl
ef76e6f37b Merge pull request #9688 from bennet0496/sieve_fix_timeformat
ManageSieve: Fix timeformat processing for frontend the time picker
2024-11-20 08:54:03 +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
Bennet Becker
4124db97e2 Managesieve: fix appended 's' when seconds are in time format in sieve_formattime() 2024-11-04 10:06:59 +01:00
Bennet Becker
5734dd935b Managesieve: fix 12h format in sieve_formattime() 2024-11-04 10:05:59 +01:00
Aleksander Machniak
a4e50e3961 Managesieve: Fix current script state after initial scripts creation in managesieve_kolab_master mode 2024-09-25 11:41:03 +02:00
Aleksander Machniak
9bf6ee3452 Managesieve: Fix default script name in the config file
It is "roundcube" not "managesieve"
2024-09-25 10:03:40 +02:00
Aleksander Machniak
20f3988a79 Fix infinite loop when parsing malformed Sieve script (#9562) 2024-07-31 18:11:31 +02:00
Aleksander Machniak
df057fa093 Managesieve: Protect special scripts in managesieve_kolab_master mode 2024-07-28 10:58:33 +02:00
Aleksander Machniak
b14a278c9f CS fix 2024-07-18 20:04:45 +02:00
Aleksander Machniak
cc72002e71 Fix invalid line break characters in multi-line text in Sieve scripts (#9543) 2024-07-18 19:46:25 +02:00
Aleksander Machniak
92624b62dd Fix new phpstan errors 2024-07-02 19:47:15 +02:00
Aleksander Machniak
247b5c37d1 Update localizations 2024-07-02 19:07:54 +02: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
Aleksander Machniak
4dc729ab7b Update changelog
[skip ci]
2024-05-19 15:12:31 +02:00
gerbert
a0b58f1677 Add managesieve_host array handler (#9447) 2024-05-19 15:11:06 +02:00
Aleksander Machniak
2aa7098224 Wording improvement
[skip ci]
2024-05-16 16:36:20 +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
Michael Voříšek
52d8172b0f Allow composer autoloading (to coexist) (#9407)
* Replace custom loader in favor of composer native

* Load plugins using composer

* finish debug_logger plugin

* finish markasjunk plugin

* finish password plugin

* finish enigma plugin

* finish managesieve plugin

* fix ExtensionInstaller run on first install

* fix phpstan "Implicit array creation" in plugin config files

* simplify composer.json

* keep non-composer autoloading relying on include_path set in plugins

* update minimal "roundcube/plugin-installer" version

* "plugins.roundcube.net" root-only package repo is not needed

* REVERT ALL

* fix phpstan "Implicit array creation" in plugin config files

* update minimal "roundcube/plugin-installer" version

* reland composer.json changes

* fix ExtensionInstaller run on first install

* Roundcube (non plugin) tests are fine to rely on composer autoload

* fix CS of master

* not needed until strict composer autoloading

* improve comment

* revert rcmail_oauth change - fixed in plugin installer

* require fixed plugin installer
2024-04-10 12:27:43 +02:00
Michael Voříšek
b5a3fd646b Fix "Implicit array creation" in plugin config files (#9406)
* fix phpstan "Implicit array creation" in plugin config files
* update minimal "roundcube/plugin-installer" version
2024-04-07 12:00:03 +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
49a40ea126 Code improvements 2024-03-23 13:48:51 +01: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
Michael Voříšek
ecd2796622 Fix JS whitespace CS (#9327)
* fix "no-extra-semi"

* fix "object-curly-spacing"

* fix "block-spacing"

* fix "padded-blocks"

* fix "space-before-blocks"

* fix "space-before-function-paren"

* fix "operator-linebreak"

* fix "space-unary-ops"

* fix "space-infix-ops"

* fix most "brace-style"

* fix "curly"

* fix most "brace-style" II

* fix "no-multi-spaces"

* search regex: (?<=\n)( +)(?! ).*\n(?!\1)( +)(&&|\|\||\()

* search regex: (?<=\n)( +)(?! |\*/).*(?<!;)\n(?!\1)( +)(?! |\}|\]|\)|\.)

* fix mostly "brace-style" /w allowSingleLine: false

* fix cs

* search regex: (//|/\*).*\n\s+\{
2024-01-30 07:50:02 +01:00
Aleksander Machniak
845db4cc34 Fix various phpstan issues 2024-01-28 19:08:01 +01:00
Aleksander Machniak
34500a4fa4 Fix "missing return statement" phpstan errors 2024-01-27 19:07:52 +01:00
Aleksander Machniak
d976801918 Fix phpstan errors regarding a mocked storage use 2024-01-27 12:08:26 +01:00
Aleksander Machniak
a73a53c8ef Replace deprecated methods use 2024-01-27 09:58:01 +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
86eda9f7ed Fix "increment_style" CS (#9296)
* Fix "increment_style" CS

* use "post" increment style
2024-01-01 12:23:21 +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
740267fac0 Lint JS files using eslint and normalize JS indentation (#9280)
* Lint JS using eslint

* Fix "comma-spacing"

* Fix "semi"

* Fix indent to unified 4 spaces as for PHP

* ignore symlinked public_html/* files
2023-12-23 17:08:32 +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