Commit Graph

8276 Commits

Author SHA1 Message Date
Pablo Zmdl
3a9ad6b3e3 Remove rcmail_html_page
The calling code replaced the $rcmail->output on the fly, which makes is
hardly testable.
Also that class was used only in the class `rcmail_action_mail_get`, and
it's a pretty thin layer on top of `rcmail_output_html`, which is not
necessary.
2025-04-24 15:12:49 +02:00
Pablo Zmdl
08dc83b918 Replace REMOTE_OBJECTS with an attribute on the body element
We need the information in the browser, because the
remote-objects-message is now rendered independently from the message
contents, and we need it for each message part.
2025-04-24 15:12:49 +02:00
Pablo Zmdl
1019b462d3 Render each mime part in an individual, sandboxed iframe
This includes a new "message loading" notice without meta refresh (which
requires unsafe-inline in a CSP, which we want to avoid)
2025-04-24 15:12:49 +02:00
Aleksander Machniak
1f89b52dc6 CS fix 2025-04-23 18:01:54 +02:00
Aleksander Machniak
58560f1f55 Cleanup 2025-04-23 17:58:08 +02:00
listumps
8bfa36caea Rework zoom and rotate of attached images (#9843, #7669)
Use CSS Grid with standard properties instead of Flexbox and transform()
2025-04-23 17:51:57 +02:00
Aleksander Machniak
582ca2b678 CS fix 2025-04-23 17:22:07 +02:00
Aleksander Machniak
ab08ade64a Use object-oriented style of Fileinfo functionality
finfo_close() is rudundant since PHP 8.1 and might get deprecated in PHP 8.5
2025-04-23 15:45:05 +02:00
Aleksander Machniak
8208b9f87d Fix bug in handling rcmail::format_date()'s $convert argument (#9666) 2025-04-21 12:28:14 +02:00
Aleksander Machniak
175e378ded Fix bug where a wrong SPECIAL-USE folder could have been detected, if there were more than one per-type (#9781) 2025-04-20 12:38:45 +02:00
Aleksander Machniak
0b38444c32 Fix removing/expiring redis/memcache records when using a key prefix 2025-04-18 14:41:25 +02:00
Aleksander Machniak
cfac0d6841 Remove apc cache driver 2025-04-06 15:52:06 +02:00
Dennis
edbfd1109b Add APCu cache driver (#9828) 2025-04-06 15:43:53 +02:00
Gianluca Giacometti
053ffaef6b Exclude inline base64 images from static.php (#9835) 2025-04-05 08:54:25 +02:00
Aleksander Machniak
835c10e39e Remove set_error_handler() use around mb_convert_encoding() (#9799)
It's redundant since PHP8
2025-03-30 18:16:45 +02:00
Aleksander Machniak
f7d8852d17 Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
Aleksander Machniak
9f4818fc29 Remove old @since params 2025-03-30 10:58:09 +02:00
Aleksander Machniak
62c092bf91 Fix static resources location on a page with PATH_INFO (#9814) 2025-03-30 10:55:48 +02:00
Aleksander Machniak
c7cf2af486 CI: Enable PHP 8.4 testing 2025-03-25 19:14:45 +01:00
Philip Weir
e37709c5e8 Add enable_autolink option for HTML editor (#9818, #9762) 2025-03-24 18:24:46 +01:00
Aleksander Machniak
f37a959197 Fix new phpstan errors 2025-03-24 18:14:40 +01:00
Aleksander Machniak
d03767b7f1 OAuth: improve token refresh - check token also in the keep-alive action 2025-03-18 13:58:54 +01:00
seb1k
0f2a907056 Add priority to local message object (#9795) 2025-03-16 19:34:10 +01:00
Aleksander Machniak
91f4e289b2 Merge branch 'master' of github.com:roundcube/roundcubemail 2025-03-16 13:33:38 +01:00
Aleksander Machniak
9afeb0174e Use PHPStan v2 2025-03-16 13:33:15 +01:00
Pablo Zmdl
99236f3be4 Fix washing html from rcube_attachment_handler (#9785)
This probably wasn't implemented previously because HTML-parts usually
didn't run through get.php.
2025-03-16 12:45:15 +01:00
Aleksander Machniak
29d0eba3db Add rcmail_oauth::is_token_valid() method 2025-03-14 12:12:56 +01:00
Aleksander Machniak
5eb44b70ba CS fix 2025-03-09 08:41:52 +01:00
Aleksander Machniak
699491fe82 Fix error in mailvelope_load() caused by undefined this.env.browser_capabilities 2025-03-09 08:19:27 +01:00
Aleksander Machniak
07fa590f25 Fix PHP warning (#9775) 2025-02-23 12:02:01 +01:00
Aleksander Machniak
94fd5a0f80 CS fixes (for the new fixer version rules) 2025-02-23 11:51:27 +01:00
Aleksander Machniak
e046b5e663 Remove redundant code 2025-02-23 11:38:43 +01:00
Aleksander Machniak
a9b1ca34f3 Update min PHP version check, cleanup outdated checks/comments 2025-02-23 11:18:50 +01:00
Pablo Zmdl
8bd1c93821 html class: Allow to pass array as content (#9782)
This allows for a little cleaner code
2025-02-19 18:01:49 +01:00
Pablo Zmdl
166636e2cd Allow 'sandbox' attribute for html::iframe (#9783) 2025-02-19 17:59:48 +01:00
Pablo Zmdl
6d51c21931 Exit through sendExit() (#9784)
That way it's testable.
2025-02-19 17:55:04 +01:00
Aleksander Machniak
781f006ed2 Fix PHP warning 2025-02-16 14:16:35 +01:00
Aleksander Machniak
44f0ac5b00 Fix folder list sorting when using personal namespace prefix of INBOX/ (#9452) 2025-02-16 12:40:37 +01:00
Aleksander Machniak
d4526968a8 Set minimum required PHP version to 8.1 (#9599) 2025-02-16 10:09:23 +01: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
Pablo Zmdl
752b152a23 Check if attachment is actually(!) referred to (#9585)
* Check if "inline" msg part is actually referred to

If there's no reference to it in a sibling HTML part then we handle it
as a classic attachment (which is shown as downloadable).

* Fetch all msg headers also for images to always get Content-Location

Previously all headers were only fetched for message/rfc822, or
if the Content-Type's "name" parameter was set, or if a Content-ID was
set.
The RFC doesn't require neither the "name" parameter nor a Content-ID
for using Content-Location, though, so we shouldn't depend on those.

Instead now all headers are also fetched if the main part of the
Content-Type is "image", to catch more cases.

* Parse HTML for references only on demand

* Typos and comment formatting

* Don't skip test anymore

We want it tested!

* More MR tests with images

* Remove early special handling for "inline" images

We decide later, which attachment is considered "inline" and which
isn't.

* Remove early resolving of references in TNEF parts

* Testing message rendering of TNEF emails

* Don't use image disposition, it's unreliable

* Split adding raw parts and attachments

* Fix renaming variable

* Rename file to make its test be run

* Remove outdated script

* Annotate test cases with GitHub issue numbers

* Fix test case class name

* remove comment

* Test inline image message rendering

* Rename test file to reflect cases better

* Reduce image used in test email

It doesn't change much, but there's also no sense in decoding big images
that we don't use.

* Remove unused variable initialisation
2025-02-09 09:56:43 +01:00
Aleksander Machniak
41eaff2839 Fix decoding of attachment names encoded using both RFC2231 and RFC2047 standards (#9725) 2025-02-02 13:58:39 +01:00
Edža
8cbce9491b Update lv_LV messages.inc fix mistake (#9744) 2025-01-26 13:51:45 +01:00
Philip Weir
ccede1f272 Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
Aleksander Machniak
2f051c0154 Add rcube_imap_generic::getUser() method
It's sometimes useful when all we have is the connection object
2025-01-17 13:22:47 +01:00
Aleksander Machniak
dbbde7584e Add missing @param 2025-01-16 10:58:20 +01:00
Pablo Zmdl
d877302e50 Fix displaying message/rfc822 parts (#9753)
* Fix displaying message/rfc822 parts

The previous code contained a simple error that assigned the body part
to the $headers variable (which then couldn't be parsed and got
discarded).

* Test rendering of attached message/rfc822 parts
2025-01-15 18:27:05 +01:00
Aleksander Machniak
a677d26a27 Properly attach fetched headers into message parts 2025-01-14 12:17:37 +01:00
Aleksander Machniak
6e216b588a Reset $cmd_num when connection is closed
We want command ID counter to start over when a new connection is being made
2025-01-08 11:33:56 +01:00