Commit Graph

51 Commits

Author SHA1 Message Date
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
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
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
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
845db4cc34 Fix various phpstan issues 2024-01-28 19:08:01 +01:00
Aleksander Machniak
1f6a9b8843 Fix phpstan errors regarding rcube_uploads trait methods 2024-01-27 19:17:41 +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
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
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
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
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
89e54718ca Migration to PHPUnit v9 2021-07-25 11:07:56 +02:00
Aleksander Machniak
9e2bc40213 Dropped support for PHP < 7.3 (#7976) 2021-07-25 09:16:33 +02:00
Aleksander Machniak
c268a6a240 Fix PHP8 warnings 2021-06-27 07:55:15 +02:00
Aleksander Machniak
ac8e067ae6 Use official GPL-3.0-or-later license identifier (#7901) 2021-02-24 15:39:36 +01:00
Aleksander Machniak
13e1455cd2 Bump PHP version requirement also for plugins
[skip ci]
2021-02-07 10:02:11 +01:00
Aleksander Machniak
e3416c9fc0 PHP8 fixes, CS fixes, short array syntax, tests 2020-12-06 11:43:56 +01:00
Aleksander Machniak
47d9ed6d0c Add support for PHPUnit 6 and 7 (#6870)
Fixes composer dependencies: Package phpunit/phpunit-mock-objects is abandoned

We cannot support v8 yet because of errors like:
Declaration of MailFunc::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void
It would require dropping PHP < 7.1 support.
2019-12-28 09:37:45 +01:00
Aleksander Machniak
cc1a1d95fe Correct property name 2019-10-16 12:40:41 +02:00
Aleksander Machniak
66fab8cdb2 CS fixes, Avoid usused variables, fixed minor bugs 2019-10-05 19:44:39 +02:00
Aleksander Machniak
45a6ad1ba7 Fix so an error is logged when more than one attachment plugin has been enabled, initialize the first one (#6735) 2019-05-01 21:51:22 +02:00
Rotzbua
f8b6493ecf Change http to https for plugins.roundcube.net (#6405) 2018-11-08 12:30:45 +01:00
PhilW
e024f133fa give all temp files a constant prefix 2018-11-06 07:11:04 +00:00
Aleksander Machniak
39e0b0e456 Fix so temp_dir misconfiguration prints an error to the log (#6045) 2017-11-20 18:02:25 +01:00
Aleksander Machniak
2a32f51c91 Fix file disclosure vulnerability caused by insuficient input validation in relation with attachment plugins (#6026) 2017-11-08 11:03:19 +01:00
ka7
9a35768c26 spelling fixes (#5690) 2017-03-12 12:14:19 +01:00
Aleksander Machniak
1c861df079 Fix some plugins for use without rcmail class 2015-06-19 06:57:54 -04:00
Aleksander Machniak
72b117feb1 Use consistent license identifiers, remove redundant package.xml files 2014-12-09 05:02:13 -05:00
Aleksander Machniak
0ea079d604 dirname(__FILE__) -> __DIR__ 2014-10-13 14:41:55 +02:00
Aleksander Machniak
d3883ddfbb Make sure attachment ID is really unique when uploading multiple files (#1489546) 2014-03-11 11:12:41 +01:00
Thomas Bruederli
38ab0be093 Created composer.json files for default plugins 2013-09-28 13:03:57 +02:00
Thomas Bruederli
07c6c69eca Make all bundled plugins the same license as Roundcube itself, which is GPLv3+ 2013-06-20 22:06:28 +02:00
Thomas Bruederli
64e1c2d406 Fix ticket reference 2013-04-11 10:13:08 +02:00
Thomas Bruederli
b413bb2b60 Set minimal permissions to temp files (#148899) 2013-04-10 23:38:50 +02:00
Aleksander Machniak
b005927f91 Add basic tests for plugins 2013-01-19 12:16:16 +01:00
thomascube
48e9c14ebd Move plugins repository into roundcubemail root folder; svn:externals are not defined anymore 2012-03-31 12:25:48 +00:00
till
63a3dc5fde moved plugins 2010-03-20 14:20:01 +00:00
alecpl
d079afd44f - use absolute paths to prevent errors when writing to logfiles from shutdown function 2009-12-02 10:48:06 +00:00
alecpl
ebf8726eea - Added attachment upload indicator with parallel upload (#1486058) 2009-10-03 19:12:27 +00:00
thomascube
7f37b879fd Cleanup temporary attachment files when killing session + fix indentation 2009-07-31 09:13:11 +00:00
alecpl
a640647edd - handle big attachments with file pointers to not exceed memory_limit in rcmail_save_attachment() 2009-07-19 09:28:30 +00:00