Commit Graph

7719 Commits

Author SHA1 Message Date
Aleksander Machniak
bd6d7645d7 Update localization 2016-05-02 14:33:55 +02:00
Aleksander Machniak
667ed37f77 Fix bug where Encrypt button appears when switching editor to HTML (#5235) 2016-05-01 16:39:10 +02:00
Aleksander Machniak
013aaeb895 CS improvements/fixes 2016-05-01 10:56:57 +02:00
Aleksander Machniak
0eece8222b Fix autoloading of 'html' class and improve autoloader performance 2016-04-30 07:56:09 +02:00
Aleksander Machniak
5d08d57005 Don't log ajax requests/responses, browser development tools already can show this information 2016-04-27 10:46:20 +02:00
Aleksander Machniak
5e406f7b7e Disable links list when converting html2text for spellchecking 2016-04-25 20:56:04 +02:00
Aleksander Machniak
1da8ffd52b Use "email" over "e-mail" consistently (#5212) 2016-04-25 08:57:52 +02:00
Aleksander Machniak
7abfe41ab7 Fix bug where getting HTML editor content could steal focus from other form controls (#5223) 2016-04-24 11:12:38 +02:00
Aleksander Machniak
7dad859ffa Fix message list multi-select/deselect issue (#5219) 2016-04-21 08:30:42 +02:00
Aleksander Machniak
52106ffd39 Fix bug where rcube_contacts::get_record() could return cached result when requested record wasn't found (#5218) 2016-04-20 20:25:23 +02:00
Bostjan Skufca
12756e2297 Autocomplete: store last searched-for string into separate variable for later consumption
Reason:
Autocompleting person contacts works as expected - ksearch_value is available and passed to triggerEvent.
But with group autocomplete, ksearch_value is reset (to null) and triggerEvent call lacks necessary data.
2016-04-15 04:27:26 +02:00
Bostjan Skufca
f919e8ffa6 Autocomplete: change type from 'contact' to 'person' to sync with what is expected from LDAP.
Explanation:
Alternative would be to leave type empty, as it is when contact comes form SQL source.
But this feels overly ambiguous and may cause problems in the future.
2016-04-15 02:22:19 +02:00
Bostjan Skufca
1791c3e3d7 Autocomplete/frontend: provide functions that hook into 'autocomplete_insert' actual search and result data
Reason:
In order to enable development of sophisticated autocomplete algorithms, they will need
to process all the data relevant to autocomplete - what was the search string and which
result was the correct one.

Example to illustrate the need:
Say we are talking about these two people of interest, who are in the address book, among others:
- person 1: Bostjan Skufca <bostjan@a2o.si>
- person 2: Bostjan SkuBIC <bostjan@otherdomain.com>

Our user is used to think about the first person by the first name, "Bostjan", as he is an old friend.
The second one is a colleague at work where people call themselves mostly by surnames, "Skubic" in this case.

Without this data provided to 'autocomplete_insert', there is no way for RC to learn that when our user
enters "bos" in the To: field he thinks about person #1 (Bostjan SkuFCA), and when he starts typing "sku"
he means person #2 (Bostjan SkuBIC).
2016-04-14 02:57:21 +02:00
Bostjan Skufca
05c7d49a37 Autocomplete search: add id and source (addressbook) into resulting contact data array
Two reasons:
- provide it to plugin backend functions that use 'contacts_autocomplete_after' hook
- provide it to frontend

Why to frontend?
If plugin JS adds an 'autocomplete_insert' hook we need to provide it with exact
autocomplete data. Providing it with name and email address only, without pinpointing
exact origin of this autocomplete result, will severely limit learning capabilities of
potential future autocomplete implementations.
2016-04-14 02:45:21 +02:00
Bostjan Skufca
a15b2d5998 Autocomplete refactoring: replace variable name '$id' with '$abook_id'
Reason:
Having genericly named variable $id in nested loops makes code unreadable.
Replacing generic name '$id' with '$ENTITIY_id' format removes all ambiguity.
2016-04-14 02:39:54 +02:00
Bostjan Skufca
ed55af4aa9 Autocomplete: trigger "contacts_autocomplete_after" hook processing
Provide existing list of contact suggestions as an argument - it might be unclear
now what logic plugin developers decide to implement, but data for that logic
should be provided upfront, and that includes list of suggestions that RC
itself comes up with.

Plugin logic might then replace the list entirely, or just rearrange its entries, or use
part of the list when it runs out of own ideas, or do something entirely different.
2016-04-14 02:28:19 +02:00
Bostjan Skufca
865230e420 Autocomplete: fix undefined variable notice if no addressbook is configured for autocomplete 2016-04-14 02:28:09 +02:00
Aleksander Machniak
e2e56261b9 Fix handling of long script/style tags when converting to text 2016-04-13 13:08:43 +02:00
Aleksander Machniak
a0f38f5fd8 Small code style improvements 2016-04-12 13:46:30 +02:00
Aleksander Machniak
e8ab3d96bd Fix converting mail addresses with @www. into mailto links (#5197) 2016-04-12 11:53:04 +02:00
Aleksander Machniak
d01c06eded CS fixes 2016-04-10 10:47:35 +02:00
Bostjan Skufca
70a8236cd5 mailbox/listing: Make server response for large mailbox listing faster when using threaded view
Symptom
=======
When using roundcube with mailboxes with over 60k messages, list
view was way faster than viewing in threaded view.

Mailbox index view timing:    ~360 ms
Mailbox threaded view timing: ~800 ms

Resolution
==========
Use native PHP array manipulation functions instead of rolling custom
string data reversal implementation using strpos() and substr() in a
'while' loop.

This optimization is already present in index view handler, but was missing
from threaded view.

Results after optimization
==========================
Both average out around ~360 ms response time.
2016-04-09 15:20:28 +02:00
Aleksander Machniak
4fdcd8c9d1 Remove redundant code 2016-04-08 13:34:00 +02:00
Bernardo Silva
c72446a8fc Allow pattern attribute in input
"pattern" included in the list of allowed attributes in the input tag
2016-04-05 11:30:22 -03:00
Aleksander Machniak
6f2c007d1b CS fixes: Replace use of "bool ? true : false" with just "bool" 2016-04-02 13:02:55 +02:00
Aleksander Machniak
5c253dd59e Fix so SPECIAL-USE assignments are forced only until user sets special folders (#4782)
The old behaviour where SPECIAL-USE has always a prio can be bringed back
by setting lock_special_folders=false and adding it to dont_override.
2016-04-02 09:09:43 +02:00
Aleksander Machniak
aba88576ef Update localizations 2016-03-28 18:36:56 +02:00
Aleksander Machniak
7462095f60 Small code improvements 2016-03-28 14:29:35 +02:00
Aleksander Machniak
46f7b70964 Enable reply/reply-all/forward buttons also in preview frame of message/rfc822 2016-03-28 12:51:43 +02:00
Aleksander Machniak
e8b6e726f6 Add message menu with viewsource and edit actions in message/rfc822 preview 2016-03-26 14:02:57 +01:00
Aleksander Machniak
d125f864ea Message/rfc822 previewer compatibility with Enigma 2016-03-25 13:41:11 +01:00
Aleksander Machniak
640e5e265d Enigma: Handle encrypted/signed content inside message/rfc822 attachments 2016-03-25 13:26:29 +01:00
Aleksander Machniak
4e6f3019f5 Enigma: Handle encrypted/signed content inside message/rfc822 attachments 2016-03-25 13:25:44 +01:00
Aleksander Machniak
ce3105c58f Reply/Reply-All/Forward/Change-format buttons for message/rfc822 preview 2016-03-24 17:07:31 +01:00
Aleksander Machniak
323fa20bc8 Message/rfc822 attachment preview (#5054) 2016-03-23 16:54:31 +01:00
Danilo
1db4c05078 Fix: Set long email addresses
The changes permit to set long email address up to the maximum permissible length.
2016-03-22 10:56:09 +01:00
Aleksander Machniak
05972d7b33 Refer to Github issues instead of Trac 2016-03-21 08:14:11 +01:00
Aleksander Machniak
791ee65d2e Fix so contactlist_fields option can be set via config file 2016-03-18 12:29:29 +01:00
Aleksander Machniak
348ec70f12 Export vCard PHOTO with "ENCODING=b" (instead of "ENCODING=B") as specified in RFC2426 2016-03-15 15:18:09 +01:00
Aleksander Machniak
3a13b5dab8 CS fixes 2016-03-14 09:18:53 +01:00
Aleksander Machniak
0c9e55b0c9 Fix PHP warning when defaults.inc.php is not readable 2016-03-14 08:41:28 +01:00
Aleksander Machniak
bf91666621 Revert "Update to jQuery 2.2.1"
This reverts commit 940b966fac.

There are issues with jQuery-UI 1.10 we use and it's actually
too late for such a change now when we want 1.2 release soon.
2016-03-09 09:07:52 +01:00
Thomas Bruederli
4a408843b0 Protect download urls against CSRF using unique request tokens (#1490642)
Send X-Frame-Options headers with every HTTP response
2016-03-06 14:31:07 +01:00
Aleksander Machniak
d4df3748cf Require Net_Socket >= 1.0.12 (because of timeout=0 bugfix) 2016-03-04 15:34:51 +01:00
Aleksander Machniak
ca34ba139e CS fixes 2016-03-03 12:51:34 +01:00
Aleksander Machniak
940b966fac Update to jQuery 2.2.1 2016-02-29 12:27:25 +01:00
Aleksander Machniak
b0a8e36930 Fix handling of body parameter in mail compose request 2016-02-24 11:18:09 +01:00
Aleksander Machniak
faeeebdc55 Hide DSN option in Preferences when smtp_server is not used (#1490666) 2016-02-23 09:02:58 +01:00
Aleksander Machniak
9ae41d906e Fix unicode-awareness of Base64 encoding implementation in javascript 2016-02-22 18:35:14 +01:00
Aleksander Machniak
8bbb454524 Fix list row selection when provided uid is number not a string 2016-02-14 12:47:30 +01:00