Pablo Zmdl
ce56fd9b1e
Session lifetime extension
...
aka Persisted Login plugin functionality in core code.
Allows admins to set `$config['session_lifetime_extension_days']`, which
allows users to switch on an extended session lifetime in the login form.
In effect, these user sessions are valid for the configured number of days
after the last activity, even across network outages, closed browsers (as long
as they keep their cookies), etc.
2025-12-12 10:47:57 +01:00
Pablo Zmdl
fd8ac88643
Allow additional attributes for included scripts
2025-10-27 15:34:19 +01:00
Aleksander Machniak
0abdccaf55
Get rid of IE related code
2025-10-08 11:13:26 +02:00
Aleksander Machniak
1e55383302
Use symfony/polyfill-php85 for array_first() and array_last()
2025-10-03 14:27:05 +02:00
Philip Weir
7fd9bf05e3
Only apply fix_path for href attrib in <link>s ( #9943 )
2025-09-18 07:36:36 +02:00
Aleksander Machniak
05d39bc406
Fix PHP Fatal error: Uncaught TypeError: html::quote(): Argument #1 ($str) must be of type string, null given ( #9957 )
2025-08-23 09:17:59 +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
ded28db823
Installer: Move logon warning code into rcmail_install, change colors, fix link
2025-06-15 07:53:47 +02:00
Gianluca Giacometti
053ffaef6b
Exclude inline base64 images from static.php ( #9835 )
2025-04-05 08:54:25 +02:00
Aleksander Machniak
f7d8852d17
Use str_starts_with() where applicable
2025-03-30 11:32:38 +02:00
Aleksander Machniak
62c092bf91
Fix static resources location on a page with PATH_INFO ( #9814 )
2025-03-30 10:55:48 +02:00
Philip Weir
5e57ef83bd
Add asset url to additional logo paths ( #9768 )
2025-02-11 18:10:48 +01:00
Aleksander Machniak
64df318a73
Add static files server ( #9294 )
...
Make use of public_html mandatory
2025-02-09 14:10:50 +01: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
6a5f9ee7ce
Add override method attributes ( #9272 )
2024-06-02 15:57:56 +02:00
Philip Weir
24ae59b05f
Add skin_extends JS env var containing name(s) of base skins extended by current skin ( #9440 )
2024-06-01 09:02:49 +02:00
Aleksander Machniak
cfd108399e
Simplify use of rcube::raise_error()
2024-05-17 15:43:17 +02:00
Philip Weir
0c0f9fe8cf
Add skin info to about dialog ( #9441 )
2024-05-16 16:53:27 +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
47172b4bfc
Fix regression
2024-04-01 12:28:57 +02:00
Aleksander Machniak
5c603344fe
Code improvements
2024-04-01 11:50:56 +02:00
Aleksander Machniak
966274d835
Fix phpstan errors
2024-02-09 21:11:50 +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
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
a797873ef5
Fix "phpdoc_no_empty_return" CS ( #9302 )
...
* replace void with never return type
* replace "return void" phpdoc with native type in tests
* replace "return void" phpdoc with native type in rcube_addressbook
* replace "return void" phpdoc with native type in rcmail_oauth
* fix remaining
2024-01-05 19:03:58 +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
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
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
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
ef9d345441
Drop dependency on JsTimeZoneDetect ( #8965 )
2023-04-09 16:06:00 +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
Oliver Rahner
f7b8b14df8
Check if shell_exec() exists and work around if it doesn't ( #8814 )
2022-12-31 10:31:22 +01:00
Aleksander Machniak
3b16cbf371
Fix bug where "about:blank" page could trigger "load error" ( #8554 )
...
Use javascript:false; instead
2022-08-15 09:58:56 +02:00
Aleksander Machniak
aac9b696b8
Fix various PHP 8.2 warnings
2022-08-06 09:22:12 +02:00
Aleksander Machniak
fa65a68389
Use ... oprator instead of func_get_args() for variadic functions
2022-04-27 19:21:00 +02:00
Github-Citizen
0e2858da97
Added link to logo image using $config['skin_logo'] ( #8509 )
...
Added ability to define a link URL for the logo image using $config['skin_logo'].
Works by defining the `logo type` for $config['skin_logo'] as `[link]` for example:
$config['skin_logo'] = ['elastic:*[link]' => 'https://www.example.com '];
$config['skin_logo'] = ['[link]' => 'https://www.example.com '];
Same relative path rules apply as when you define location of logo image file.
Starting with `http://` or `https://` is absolute.
Starting with a slash `/page.html` is relative to the skin directory ie `example.com/skins/elastic/page.html`
Starting without a slash `page.html` is relative to the website root directory ie `example.com/page.html`
2022-04-24 09:37:35 +02:00
Aleksander Machniak
893216cb29
Unified and simplified services connection options ( #8310 )
2021-12-07 15:07:54 +01:00
Thomas Bruederli
0c7c9e7ccb
Fix relative path to assets if /index.php/foo/bar url is used ( #8144 )
2021-12-02 21:25:20 +01:00
Aleksander Machniak
a9f51ced21
CS fixes, update changelog
2021-11-28 08:39:12 +01:00
Philip Weir
e2a9d36f5e
Add loginform_content plugin hook ( #8273 )
2021-11-28 08:32:50 +01:00