Commit Graph

7348 Commits (f9c84e26465a097c4d5ffd30c5730c335c0f54b4)

Author SHA1 Message Date
Aleksander Machniak 17296b39cb Fix infinite loading message on iframe loading errors
The loading message was not stopped on "hard" errors, i.e. when
the page was blank, e.g. on 500 error.
5 years ago
Aleksander Machniak c6de97c5a8 Redis: Improve error handling and phpredis 5.X support (#6888) 5 years ago
Aleksander Machniak 70d342a436 Fix language selection for spellchecker in html mode (#6915)
Also fix so the language is not reset when switching from html to plain
text and vice-versa.
5 years ago
Aleksander Machniak 5040009f9c Fix array offset access syntax with curly braces 5 years ago
Aleksander Machniak de4a6068e6 Mention Masterminds/HTML5 in INSTALL/README 5 years ago
Aleksander Machniak b10a0dbb7e Reset internal $skins property is set_skin() 5 years ago
Aleksander Machniak 5373f1839d Fix googiespell popup in all skins 5 years ago
Aleksander Machniak bdd1b94d78 Fix PHP 7.4 warning: "Creating default object from empty value" 5 years ago
Aleksander Machniak 27bfd0884e Drop rcube_browser::$lang property
You should use Accept-Language header instead, as we do in other place
5 years ago
Aleksander Machniak 1a10074b85 Add Edge browser detection 5 years ago
Aleksander Machniak f5d6a242a8 Remove useless properties from rcube_browser 5 years ago
Aleksander Machniak 0786ab8187 Update localization 5 years ago
Aleksander Machniak 4096739322 Fix including assets that exist only in minified version 5 years ago
Aleksander Machniak 21ebf3ff5a Fix bug where it was possible to bypass href URI check with data:application/xhtml+xml URIs (#6896) 5 years ago
Aleksander Machniak 63730cf842 Fix security issue where it was possible to bypass the CSS jail in HTML messages using :root pseudo-class (#6897) 5 years ago
Aleksander Machniak 057fb69bb9 Fix bug where some strict remote URIs in url() style were unintentionally blocked (#6899) 5 years ago
Aleksander Machniak 7bf868767e Fix security issue where it was possible to bypass the position:fixed CSS check in received messages (#6898) 5 years ago
Aleksander Machniak 3b4d9f3fb5 PHPDoc updates 5 years ago
Aleksander Machniak 1afa46d28d PHPDoc and CS fixes 5 years ago
Aleksander Machniak b35c9c1fdc Apply image preview centering styles only if there's an image
For cases when we display a security warning about the image attachment
the image centering styles would make the warning centered, which
we do not want.
5 years ago
Aleksander Machniak f7832a1a26 Removed 'delete_always' option (#6782) 5 years ago
johndoh 3a40f6cd91 Add expand_all/collapse_all treelist methods (#6860)
* add expand_all()/collapse_all() treelist methods
* prevent possible race condition in rcmail.folder_collapsed()
5 years ago
Aleksander Machniak 04ff1feec3 Improve wording: record -> list entry 5 years ago
Aleksander Machniak 902c264cf0 PHPRedis 5 compat. fix in session handler 5 years ago
Jack Cherng 198585d8a0 Fix implode() wrong parameter order (#6866)
It has been deprecated in PHP 7.4.

Such as PHP deprecated:  implode(): Passing glue string after array is deprecated. Swap the parameters in /var/www/roundcubemail/program/lib/Roundcube/rcube_db.php on line 917

Signed-off-by: Jack Cherng <jfcherng@gmail.com>
5 years ago
Sandor Takacs adcfa53532 Redis::delete() is deprecated in phpredis 5.0.0 (#6883)
Redis::delete() is deprecated in phpredis 5.0.0
5 years ago
Jack Cherng 17d8423299 Fix PHP 7.4 deprecation: array/string curly braces access (#6884)
Signed-off-by: Jack Cherng <jfcherng@gmail.com>
5 years ago
Aleksander Machniak 9a225bd3fe Use Left/Right Arrow keys to faster move over threaded messages list (#6399)
Fixed some inconsistencies in list widget expand/collapse code.

Made the arrow keys behavior like in Thunderbird, i.e.:
- Right Arrow expands thread or selects closest child if already expanded,
- Left Arrow collapses thread or jumps to closest parent,
- Left Arrow + Ctrl selects top-most parent,
- Up/Down Arrow keys behavior didn't change.
5 years ago
Aleksander Machniak dc5be05a5f Select all records on the current list page with CTRL + A (#6813) 5 years ago
Aleksander Machniak 7e8f9da64b Elastic: Add "Show unread messages" button to the search bar (#6587) 5 years ago
Aleksander Machniak 9b88e9e5c2 Correct vendor string for GMail is 'gimap' 5 years ago
johndoh 91398c858a Add KOI8-R to charset_selector (#6861) 5 years ago
Aleksander Machniak a80c5569ab Added flag to disable server certificate validation via Mysql DSN argument (#6848) 5 years ago
Aleksander Machniak 786bde62f2 Fix wrong messages order after returning to a multi-folder search result (#6836) 5 years ago
Aleksander Machniak 0e4bf6fda8 Fix bug where unread count wasn't updated after moving multi-folder result (#6846) 5 years ago
Aleksander Machniak d9e3218025 Fix bug where handling multiple messages from multi-folder search result could not work (#6845) 5 years ago
Aleksander Machniak d39d49b7a6 Fix keyboard navigation (tabindex) on attachments list in compose 5 years ago
Aleksander Machniak 14849be400 Merge branch 'pr-elastic-attachments' of https://github.com/thomascube/roundcubemail into thomascube-pr-elastic-attachments 5 years ago
Thomas Bruederli 00a867a05f Make attachment list :empty selector work 5 years ago
Aleksander Machniak 44bdca4ab9 Enigma: Fix bug where signature verification could have been skipped for some message structures (#6838) 5 years ago
Aleksander Machniak c1344643a1 Fix bug in miemetype name comparator
The code was removing the first matching prefix (x- or x-ms-), which
caused 'x-ms-bmp' to end up as 'ms-bmp'. It should be 'bmp'. Fixed by
reverting the order of tokens in the regexp.
5 years ago
Aleksander Machniak bfe2bc17d7 Fix css styles leak from replied/forwarded message to the rest of the composed text (#6831)
Generally do the same with styles what we do on message preview.

This also fixes small bugs in handling styles:
- fix so <style> tag on the start of the HTML content is not ignored
- fix so body's background/bgcolor attributes are applied to the container (regression)
5 years ago
Aleksander Machniak 8f895cb17f Replace function alias: getallheaders() -> apache_request_headers() 5 years ago
Jack Cherng 20bf625733 Remove a unused variable in rcube_plugin::include_stylesheet() (#6832)
Signed-off-by: Jack Cherng <jfcherng@gmail.com>
5 years ago
Aleksander Machniak b7b2ce7b91 Small code improvement 5 years ago
Aleksander Machniak 446ff50c57 Merge branch 'dev/display_next' of https://github.com/alecpl/roundcubemail into alecpl-dev/display_next 5 years ago
Aleksander Machniak a991e3181c Put charset meta specification before a title tag, add page title automatically (#6811)
I.e. templates should not specify <title>
5 years ago
Aleksander Machniak 84c4d062c6 Unified and simplified keypress event handling on a list widget 5 years ago
Jack Cherng e449f30eff Simplify jQuery DOM ready at the footer (#6825)
https://api.jquery.com/ready/#entry-longdesc

Signed-off-by: Jack Cherng <jfcherng@gmail.com>
5 years ago
Aleksander Machniak 0869f02b7c Fix bug in converting multi-page Tiff images into Jpeg (#6824)
When using 'convert' binary we have to use -flatten argument (the same
as we do with thumbnails) otherwise it will produce multiple output files
with -0, -1, etc. suffix. This way we make sure to generate only one image
until we support multi-page Tiff properly.
5 years ago
Aleksander Machniak 2d8c396b6e Fix bug where selection of columns on messages list wasn't working 5 years ago
Aleksander Machniak 6196278869 Fix bug where title text on a treelist record (folder) could include unread count number
Add skip-content class to unreadcount elements
5 years ago
Aleksander Machniak 7846505fa4 Don't expand groups without id
Skipping redundant request for cases like ACL plugin where we may deal
with groups that may have no mail, id nor source assigned in acl identifier
autocompletion.
5 years ago
Aleksander Machniak 0a0ad2c9b7 Switch to IDNA2008 variant (#6806)
After switching IDNA_NONTRANSITIONAL_TO_ASCII on, switch to
IDNA2008 variant in Net_LDAP2. Add test, update changelog.
5 years ago
Max Bosse f1d3f9ee44 Fix: Use IDNA_NONTRANSITIONAL_TO_UNICODE for idn_to_utf8 call 5 years ago
Max Boße 70c20740e7
Set 'IDNA_NONTRANSITIONAL_TO_ASCII' idn-option 5 years ago
Aleksander Machniak 89a342a03a Elastic: Fix visual issue with long buttons in .boxwarning (#6797) 5 years ago
Aleksander Machniak f6807bcc4c Added 'keyservers' option to define list of HKP servers for Enigma/Mailvelope (#6326) 5 years ago
Aleksander Machniak 1423536ce0 Plugin API: Add 'render_folder_selector' hook 5 years ago
Aleksander Machniak 22a47cced6 Changes in `display_next` setting (#6795)
- Move it to Preferences > User Interface > Main Options
- Make it apply to Contacts interface too
- Make it apply only if deleting/moving a previewed message/contact
6 years ago
Aleksander Machniak 940e500c1f Enigma: For verified signatures, display the user id associated with the sender address (#5958) 6 years ago
Aleksander Machniak 0e4156ea83 Fix bug where Next/Prev button in mail view didn't work with multi-folder search result (#6793) 6 years ago
Aleksander Machniak c8bec34f8f Properly apply assets_path to contact photo placeholder 6 years ago
Aleksander Machniak 8932abd2e7 CS fixes 6 years ago
Aleksander Machniak 24913e51d3 Mention Kolab/Net_LDAP3 as a dependency 6 years ago
Aleksander Machniak ed9da6cb7f Memcached: Don't add the same server to the pool many times when using persistent connections 6 years ago
Aleksander Machniak e0792c3287 Skip RSET after authentication failure and QUIT 6 years ago
Aleksander Machniak fdac30e544 Support PECL memcached extension as a session and cache storage driver (experimental) 6 years ago
Aleksander Machniak 4ef87fe856 Support $HasAttachment/$HasNoAttachment keywords (#6201)
We use these only to display the attachment icon on the messages list.
6 years ago
Aleksander Machniak f8ca8d1b63 Fix invalid path to "add contact" icon when using assets_path setting
This and a few other icons
6 years ago
Aleksander Machniak 6e5027ba24 Fix so userlogins and sendmail logs are never put into the per_user_logging folder 6 years ago
Aleksander Machniak d646a10217 Add in_selection() to rcube_treelist_widget
So code working on all lists doesn't have to check widget type
to work with selection.
6 years ago
Aleksander Machniak c287dad54e Add dialog-open event (#6748) 6 years ago
Aleksander Machniak 2dccbf2879 Redis: Support connection to unix socket
Also handle exceptions thrown on connection and remove support for
specifying hosts with redis:// scheme.
6 years ago
Amir Caspi 6b5fa52ec1 Update rcube_utils::parse_host, fixes #6746
Updated regexps used in parse_host to ensure that %t, %d, %z do not cut off domain and return only tld when underlying host has no subdomain (i.e., is just domain.tld rather than mail.domain.tld).  Update fixes #6746, now returns nothing shorter than domain.tld.

Also removed backslash from character class, period does not need to be escaped within character class.
6 years ago
Aleksander Machniak 7c8ce07e8c Fix bug where bold/strong text was converted to upper-case on html-to-text conversion (6758) 6 years ago
Aleksander Machniak 0feb46574c Update languages list 6 years ago
Aleksander Machniak a1301a78d6 Localization update 6 years ago
Aleksander Machniak 910505a361 Fix regression where drafts were not deleted after sending the message (#6756) 6 years ago
Aleksander Machniak 0c4d78aa11 Remove language code from charset name as per the RFC2231.5 6 years ago
Aleksander Machniak 86a9788083 Fix invalid path to blocked.gif when using assets_path setting (#6752) 6 years ago
Aleksander Machniak 9391a531ff Fix regexp 6 years ago
Aleksander Machniak fe90903fa1 Fix bug in parsing vCard data using PHP 7.3 due to an invalid regexp (#6744)
Looks like \R is not allowed in character class, but \r\n is fine.
On PHP 7.3.5 it throws warnings and empty result from preg_replace(),
though I couldn't reproduce.
6 years ago
Aleksander Machniak f3d16240f2 Fix bug where bmp images couldn't be displayed on some systems (#6728) 6 years ago
Aleksander Machniak e3014de2ce Simplify code around detected mimetype string 6 years ago
Aleksander Machniak cf51aead63 Larry: Fix regression where menu actions didn't work with keyboard (#6740)
For Elastic remove Space/Enter key handler on menus, so we use
default browser behaviour. Triggering a onclick programatically
causes popup window warning sometimes.
6 years ago
Aleksander Machniak 3719ce0653 Don't use :has selector 6 years ago
Aleksander Machniak 2c38460b09 Make sure an event triggered by Enter key press on a link is treated as a keyboard event 6 years ago
Aleksander Machniak 8c471478f7 Merge branch 'dev/elastic' 6 years ago
Aleksander Machniak f76d9e0c09 Small fix 6 years ago
Aleksander Machniak 67f9f504a3 key ring -> keyring
...for consistence with other places
6 years ago
Aleksander Machniak f3c9699817 Fix so advanced search dialog is not automatically displayed on searchonly addressbooks (#6679) 6 years ago
Aleksander Machniak 45a6ad1ba7 Fix so an error is logged when more than one attachment plugin has been enabled, initialize the first one (#6735) 6 years ago
Aleksander Machniak 593188559a Fix regression where non-terminating errors were sent to the browser 6 years ago
Aleksander Machniak e67765b863 Fix bug where flag change could have been passed to a preview frame when not expected 6 years ago
Aleksander Machniak 55cca61134 Workaround more invalid HTML cases parsed incorrectly by Mastermind/HTML5 (#6713) 6 years ago
Aleksander Machniak 00ef5d05ef Merge branch 'master' into dev/elastic 6 years ago
Aleksander Machniak ce9c52e65a Merge branch 'master' into dev/elastic 6 years ago
Aleksander Machniak 00f94a47bb Rephrase cookiesmismatch text 6 years ago
Aleksander Machniak 850d414443 Don't allow dragging .custom-control elements on folders list 6 years ago
Aleksander Machniak 187b51fd82 Fix bug where parent entry could be selected when clicking on a virtual entry 6 years ago
Aleksander Machniak 70a0976be1 Remove redundant error message 6 years ago
Aleksander Machniak fbb5a5bc4f Small code simplification in raise_error() 6 years ago
Aleksander Machniak 02dc6ce41c Don't init the session in CLI mode
This prevents from PHP warnings when using CLI scripts e.g. installto.sh.
6 years ago
Aleksander Machniak 72ad567db6 Add new line at the end of error message in CLI mode 6 years ago
Aleksander Machniak 00173a7622 Update some code documentation 6 years ago
Aleksander Machniak d8470c6c2b Remove useless "..." suffix 6 years ago
Aleksander Machniak 9c4e2eacab Don't log full session identifiers in userlogins log (#6625)
Log only 16-char prefix.
6 years ago
Aleksander Machniak 32612f0b8f Log some more info with session_debug 6 years ago
Aleksander Machniak c87ac075ae Renamed 'log_session' option to 'session_debug' 6 years ago
Aleksander Machniak f1a83f923d Added cookie mismatch detection, display an error message informing the user to clear cookies 6 years ago
Aleksander Machniak 5218b0193a Clarified 'address_book_type' option behavior (#6680) 6 years ago
Aleksander Machniak 57c67db029 Remove year(s) from copyright headers + some cleanup 6 years ago
Aleksander Machniak 69080457b1 Code simplification 6 years ago
Aleksander Machniak 92ed0154d5 Followup fix on handling HTML content w/o html/head/body tag (#6713) 6 years ago
Aleksander Machniak 03d56926d8 Fix bug in HTML parser that could cause missing text fragments when there was no head/body tag (#6713) 6 years ago
Aleksander Machniak 711e46a018 Force HIGHESTMODSEQ use on dovecot
This may fix some messages cache issues. Dovecot does not return
HIGHESTMODSEQ nor NOMODSEQ metadata on SELECT until it is "forced"
to switch to "permanent mod-seq mode". It can be done either by
ENABLE QRESYNC/CONDSTORE or by requesting the metadata explicitely
on SELECT/STATUS. We'll use STATUS for that.
6 years ago
Aleksander Machniak f0811f6f50 DOn't use deprecated (and slow) selectors 6 years ago
Aleksander Machniak 8036bfafab Fix setting button state when registering it after onload
Also get rid of uibutton support, it's not used anymore.
6 years ago
Aleksander Machniak 6f479096d5 Merge branch 'wash-xml-namespace' of https://github.com/dsoares/roundcubemail into dsoares-wash-xml-namespace 6 years ago
Aleksander Machniak b304782cbc Elastic: Various cross-browser fixes and improvements 6 years ago
Aleksander Machniak a35699637d Fix PHP error when using Net_LDAP3 from master
get_entry() method signature has changed. We don't really needed
that override in rcube_ldap_generic, so it's now removed.
6 years ago
dsoares 00cc13a1b9 Fix bug where HTML messages with a xml:namespace tag were not rendered. 6 years ago
Aleksander Machniak f1e911ec03 Elastic: Toolbar/menus/layout refactoring
Refactoring for better consistency and simplicity.

5KB less in size of (minified) styles.css file.

Layout changes:
- body > #layout > .menu       -> #layout-menu
- body > #layout > .list       -> #layout-list
- body > #layout > .sidebar    -> #layout-sidebar
- body > #layout > .content    -> #layout-content

Toolbar/menu changes:
- .toolbar           -> .toolbar.menu
- .toolbarmenu       -> .menu.listing
- .menu-button       -> .task-menu-button
- .pagenav.toolbar   -> .pagenav.menu
- #taskmenu          -> #taskmenu.menu.toolbar
- .image-tools .menu -> .image-tools .menu.toolbar
- required .disabled class to de-activate menu items
- .button class is not required on .menu children
- merge toolbar.less and taskmenu.less into menu.less
- @color-toolbarmenu-hover            -> @color-menu-hover
- @color-toolbarmenu-hover-background -> @color-menu-hover-background

Also cleaned/removed some code in spellchecker.js. Made .googie_list a list not table.
6 years ago
Aleksander Machniak dbf6e0a81d Improve display_message() for sophisticated 'loading' messages
So it's possible to display more than one message of type 'loading'
at a time and define custom timeout.
6 years ago
Aleksander Machniak f1c40c8aa9 Fix bug where attachment preview didn't work with x_frame_options=deny (#6688) 6 years ago
Aleksander Machniak 27408182b9 Expect skin thumbnails to be in assets 6 years ago
Aleksander Machniak ab7eeb3daa CS fixes 6 years ago
Aleksander Machniak d8488aae32 Disable spellcheker (hide button) if the list of languages is empty
Better handling of uninitialized (not installed) spellchecker engine.
Also prevent from PHP fatal error if enchant ext is not installed.
6 years ago
Aleksander Machniak c827925051 Fix so "Open in new window" consistently displays "external window" interface (#6659)
Both 'show' and 'extwin' will use _extwin=1 argument.
6 years ago
Aleksander Machniak 982919582c Add zh_MO and zh_HK as aliases of zh_TW (#6666)
with CS fixes
6 years ago
Aleksander Machniak 53c37a1321 WS and CS fixes 6 years ago
Boris Rybalkin 2d85dad0cc Support ROUNDCUBE_CONFIG_DIR env variable (#6112) 6 years ago
Aleksander Machniak ab28c4ae26 Fix bug where external content (e.g. mail body) was passed to templates parsing code (#6640)
It should have been part of "Fix so templating system does not mess with external (e.g. email)
content (#5499)" (d02e6ea45e), but it wasn't.
6 years ago
Aleksander Machniak b232886488 Properly cleanup on drag end in treelist widget 6 years ago
Aleksander Machniak 743794f1d8 Treelist: Add possibility to not reset selection on reset() 6 years ago
Aleksander Machniak 5058d36581 Fix bug where next row wasn't selected after deleting a collapsed thread (#6655) 6 years ago
Aleksander Machniak e3e9573391 Fix small issue when quota object does not specify 'title' 6 years ago
Aleksander Machniak cc20de329d Elastic: Use Bootstrap's custom file input
... with localization and some js logic to display selected file(s) in the input.
6 years ago
Aleksander Machniak bca1397927 Fix links to Identities/Responses 6 years ago
Aleksander Machniak e7816ccd36 Elastic: Keep original line wrapping in Message headers dialog 6 years ago
Aleksander Machniak 9b553aa2e0 Elastic: Improve "Mark all as read" dialog style (use .proplist) 6 years ago
Aleksander Machniak 147a2c8611 Elastic: Use appropriate icon for Mark button in "Mark all as read" dialog 6 years ago
Aleksander Machniak 26bce22bff Fix bug when aborting dragging with ESC key didn't stop the move action (#6623)
+ small code improvements
+ focus the list on drag start to make sure it's focused state is up-to-date
  which is needed for proper keypress handling (e.g. ESC key on drag action)
6 years ago
Aleksander Machniak 2373aea95c Elastic: Add style for .part-notice elements (like e.g. .boxwarning) 6 years ago
Aleksander Machniak 7a4aed8320 Move common code to a function 6 years ago
Mario Harjac 136175e445 Fix missing CSRF token in message download (#6621) 6 years ago
Aleksander Machniak 641a67fe75 Elastic: Fix unintentional layout preference overwrite (#6613)
This is actually skin-independent mechanism that prevents overwriting
of skin-specific preferences by ajax requests (that until now were
not aware of skin config).
6 years ago
Aleksander Machniak 43499432a5 Elastic: Fix height of select elements inside of composite fields
also make them pretty when added programatically.
6 years ago
Aleksander Machniak 9d51e40f9e Code cleanup 6 years ago